Sistema operativo Raspberry Pi para robótica

11

¿Existe un sistema operativo para Raspberry Pi específicamente diseñado para ejecutar aplicaciones de robótica? ¿O un sistema operativo cuyo propósito es optimizar solo para ejecutar algunos programas específicos?

He estado trabajando con un Arduino por un tiempo ahora. En lo que respecta a la eficiencia, tiene sentido para mí simplemente cargar un conjunto específico de comandos y tener el hardware que solo necesite manejar eso, y no tener que preocuparme por ejecutar un sistema operativo completo. ¿Es posible hacer algo como esto en una Raspberry Pi?

Golmschenk
fuente

Respuestas:

7

Estás preguntando dos cosas diferentes. 1) ¿Existe un sistema operativo específico para robótica? Y 2) ¿Es posible hacer un control a nivel de hardware en un R-Pi sin perder el tiempo con un sistema operativo? Esto es una especie de falsa dicotomía, ya que un sistema operativo es un beneficio, no un costo, a menos que esté severamente limitado por la potencia de procesamiento.

Los microcontroladores (Arduino) están diseñados para manejar cosas críticas de tiempo, y generalmente solo una o dos veces críticas. Son excelentes para hacer girar ruedas, etc. Cuando se trata de planificación de alto nivel, un lenguaje / bibliotecas de alto nivel son muy útiles. Al igual que las aplicaciones de subprocesos múltiples, etc. Aquí es donde entra su sistema operativo. Sin más detalles sobre su proyecto, no puedo ayudarlo a decidir cuál es la mejor opción: Arduino o R-Pi.

Para responder 1: Sí, solo busca en Google.

Para responder 2: Sí, las interfaces de hardware IO están disponibles para codificar API. Pero necesitarás (querrás) algo como esto:

Usted -> SO -> microcontrolador -> hardware.

Ver esta excelente respuesta

Josh Vander Hook
fuente
Hola Josh, si desea vincular a una respuesta (o pregunta), es mejor hacer clic en el enlace para compartir debajo de esa respuesta (o pregunta) ya que estos enlaces son permanentes. La url que usó en su enlace "Esta excelente respuesta" es a la página de preguntas y no es portátil, por lo que puede romperse si cambia el título de la pregunta. Supongo que te refieres a esta respuesta en su lugar.
Mark Booth
4

A partir de su pregunta, lo que podría interesarle es un RTOS para microcontroladores. Uno muy popular es FreeRTOS , que aparentemente fue portado a Raspberry Pi .

georgebrindeiro
fuente
0

Podría usar un Linux simplificado (sin X-Windowing y otras utilidades gráficas que un robot puede no necesitar). Raspian-Lite es uno de esos sistemas operativos.

Luego hay una serie de marcos de robot que se ejecutarán en Raspberry Pi. Se ejecutan bajo el sistema operativo Linux.

ROS (el sistema operativo del robot) es uno de los marcos más populares, pero también el más complicado de aprender. Como Peter Parker aprendió: Con gran poder viene una gran curva de aprendizaje. :)

ROS está escrito en C ++, pero se puede acceder a él en varios idiomas, incluidos Java y Python.

Gobot . Este es un marco escrito en el lenguaje Go. Tiene una serie de sensores y placas que el marco conoce. Puede poner la inteligencia principal en una computadora grande y usar una placa más pequeña con una conexión inalámbrica en el robot. Gobot tiene proyectos hermanos (Artoo - usa Ruby, y Cylon.js - usa JavaScript).

Go es un lenguaje tipo C que es bastante fácil de usar, creado por Google. Lo considero como BASIC de C (Ir es a C como BASIC es a Fortran). Se compila muy rápido.

Estoy pensando en iniciar un puerto Rust de Gobot (Rust es otro lenguaje similar a C similar a Go, pero fue diseñado para ser lo más seguro posible. El compilador Rust detecta muchos errores de puntero comunes a C / C ++). .

NomadMaker
fuente