Sistema operacional Raspberry Pi para robótica

11

Existe um sistema operacional para o Raspberry Pi desenvolvido especificamente para a execução de aplicativos de robótica? Ou um sistema operacional cujo objetivo é otimizar apenas para executar alguns programas específicos?

Estou trabalhando com um Arduino há um tempo. Quanto à eficiência, faz sentido para mim apenas enviar um conjunto específico de comandos e ter o hardware apenas para lidar com isso, e não ter que me preocupar em executar um sistema operacional completo. É possível fazer algo assim em um Raspberry Pi?

golmschenk
fonte

Respostas:

7

Você está perguntando duas coisas diferentes. 1) Existe um sistema operacional específico para robótica e 2) É possível executar o controle no nível de hardware em um R-Pi sem mexer com um sistema operacional. Essa é uma espécie de falsa dicotomia, pois um sistema operacional é um benefício, não um custo, a menos que você esteja severamente limitado ao poder de processamento.

Os microcontroladores (Arduino) são projetados para lidar com coisas críticas em termos de tempo e, geralmente, apenas uma ou duas vezes críticas. Eles são ótimos para girar as rodas, etc. Quando se trata de planejamento de alto nível, uma linguagem / bibliotecas de alto nível são muito úteis. Assim como os aplicativos multithread, etc. É aqui que o seu sistema operacional entra. Sem mais detalhes sobre o seu projeto, não posso ajudá-lo a decidir qual é o melhor ajuste: Arduino ou R-Pi.

Para responder 1: Sim, basta pesquisar no Google.

Para responder 2: Sim, as interfaces de hardware IO estão disponíveis para codificar APIs. Mas você precisará (quer) algo como isto:

Você -> SO -> microcontrolador -> hardware.

Veja esta excelente resposta

Josh Vander Hook
fonte
Olá Josh, se você deseja vincular a uma resposta (ou pergunta), é melhor clicar no link de compartilhamento abaixo dessa resposta (ou pergunta), pois esses links são permanentes. O URL que você usou no link "Esta excelente resposta" é para a página de perguntas e não é portátil, portanto, pode ser interrompido se o título da pergunta mudar. Presumo que você estava se referindo a esta resposta .
Mark Booth
4

Da sua pergunta, o que você poderia estar interessado é um RTOS para microcontroladores. Um muito popular é o FreeRTOS , que aparentemente foi portado para o Raspberry Pi .

georgebrindeiro
fonte
0

Você pode usar um Linux simplificado (sem o X-Windowing e outros utilitários gráficos que um robô pode não precisar). Raspian-Lite é um desses sistemas operacionais.

Existem várias estruturas de robô que serão executadas no Raspberry Pi. Eles são executados no sistema operacional Linux.

O ROS (o sistema operacional do robô) é uma das estruturas mais populares, mas também a mais complicada de aprender. Como Peter Parker aprendeu: Com grande poder vem uma grande curva de aprendizado. :)

O ROS é escrito em C ++, mas pode ser acessado em várias linguagens, incluindo Java e Python.

Gobot . Esta é uma estrutura escrita na linguagem Go. Ele possui vários sensores e placas que a estrutura conhece. Você pode colocar a inteligência principal em um computador grande e usar uma placa menor com uma conexão sem fio no robô. O Gobot tem projetos irmãos (Artoo - usa Ruby e Cylon.js - usa JavaScript).

Go é uma linguagem semelhante ao C, fácil de usar, criada pelo Google. Penso nisso como o BASIC de C (Go é C como BASIC é Fortran). Compila muito rapidamente.

Estou pensando em iniciar uma porta Rust do Gobot (Rust é outra linguagem semelhante ao C semelhante ao Go, mas foi projetada para ser o mais segura possível ao tipo. Muitos erros de ponteiro comuns ao C / C ++ são capturados pelo compilador Rust .

NomadMaker
fonte