Trabajo en una empresa de robótica y contesto preguntas
-
ForoParalelo: Miembro
Trabajo en una empresa de robótica y contesto preguntas
Estoy con un convenio de prácticas de mi uni en una empresa de robótica (llevo ya unos meses) y he considerado que puede resultar interesante.
De momento voy comentando un poco esto:
Los robots que vendemos funcionan bajo arquitectura ROS (Robotic Operating System), un middleware (software intermedio que se ocupa de ciertas tareas y que el programador no tenga que implementar) de código abierto y que se apoya en una gran comunidad, actualmente está muy extendido en el mundo de la robótica.
ROS funciona bajo Linux, de hecho está desarrollado usando Ubuntu como SO sobre el que va a correr (hay versiones de ROS que corren en otras distros, pero no incluyen todas las herramientas y no están oficialmente soportadas).
En ROS tenemos una serie de componentes software llamados nodos que se comunican entre sí mediante hilos (no de ejecución, sino en plan chat) conocidos como topics. La arquitectura es centralizada, hay un nodo principal (o master) que es encargado de gestionar a los demás nodos y mantener los topics. Cuando lanzamos un nodo este se anuncia ante el master y (opcionalmete) indica a qué topics se va a suscribir y en cuáles va a publicar, así como si ofrece algún servicio (funciones a las que se les puede llamar para que realicen una determinada acción). El master se encargará de hacer llegar a los suscriptores la información que emitan los que publican.
En un robot tenemos un PC corriendo una versión de Ubuntu con una versión de ROS, luego por cada componente hardware suele haber un nodo asociado (uno para los motores, otro para el GPS, otro para el mando, otro para la cámara, etc) y finalmente una serie de nodos para la lógica del robot (uno para la planificación de la trayectoria, otro para el procesado de los datos recibidos de los sensores, otro para enviar información por ethernet, etc).
Un ejemplo de funcionamiento sería que el nodo del mando lee los botones que hay pulsados y la posición del joystick, entonces genera un mensaje de movimiento que contiene la velocidad lineal y angular que debe seguir el robot, lo publica en el topic de control. El nodo que gestiona el movimiento recibe el mensaje publicado, lo procesa y accede al hardware de los drivers del motor y dá las órdenes correspondientes sobre qué potencia emplear en cada rueda.
ROS permite centrarse en la programación de cada nodo de forma independiente, él ya se encarga de la gestión de la comunicación. También ofrece un nivel de abstracción en el cuál te da igual cómo funcionan los sensores (hasta cierto sentido claro) porque tienen una salida estándar a la que se tienen que atener y que tú sabes cómo será (un láser 2D funcione como funcione publicará un mensaje del tipo LaserScan).
Siento el mini tocho, he intentado ser lo más conciso posible.
Intentaré responder tan rápido como pueda.
-
El último Canisi
¿Conocimientos previos para poder desenvolverse en la empresa?
A parte de los atajos de ROS, ¿puedes tocar y hacer tus cosas a pelo? En caso afirmativo, ¿En qué lenguaje/tecnología? En caso de que sea el mismo ROS, ¿A qué lenguaje se asemejaría?
-
ForoParalelo: Miembro
Para cuándo un robot que haga pajas?
Siento decirte que todo lo que ha triunfado tecnológicamente es porque se puede usar para el pajerío, yo mismo me hago zumos de semen con la thermomix y controlo mi dildo con el mando del garaje.
pensad o fracasaréis
-
ForoParalelo: Miembro
Iniciado por
evolution
¿Conocimientos previos para poder desenvolverse en la empresa?
A parte de los atajos de ROS, ¿puedes tocar y hacer tus cosas a pelo? En caso afirmativo, ¿En qué lenguaje/tecnología? En caso de que sea el mismo ROS, ¿A qué lenguaje se asemejaría?
Conocimientos previos: Pues de ROS no tenía ni papa, tampoco era requisito, cuando me hicieron la entrevista me dijeron que fuese mirando tutoriales. En general saber programar.
¿A qué te refieres a hacer las cosas a pelo? ¿Te refieres a leer de un sensor sin pasar por su paquete de ROS? Pues no lo he probado, principalmente porque no tengo nidea de comunicarme con ellos xD A ver, los sensores como el GPS o el IMU van por USB y aparecen en /dev como ttyUSBX, creo que el IMU funciona a base de comandos que envías y recibes, si te pones en paralelo al nodo a mandar órdenes no sé que pasaría.
Si te refieres a desarrollar un nodo que utilice un sensor a pelo, pues si, de hecho de eso se trata en algunas ocasiones en las que no se ha desarrollado software en ROS para ese hardware y toca hacerlo (de momento a mí no me ha tocado).
Realmente pocas veces interesa tocar nada a pelo salvo que no haya nada decente que lo haga.
ROS es un middleware, no es un lenguaje de programación, es decir, es un conjunto de librerías que tienes a tu disposición. Dichas librerías están para C++ y para Python. Incluyes la librería de ros.h (y las que necesites) y haces tu nodo como te dé la gana, accediendo al hardware si lo que quieres es hacer un driver o leyendo y publicando en topics si es más de procesado de información.
-
ForoParalelo: Miembro
Iniciado por
Lefy
Para cuándo un robot que haga pajas?
Siento decirte que todo lo que ha triunfado tecnológicamente es porque se puede usar para el pajerío, yo mismo me hago zumos de semen con la thermomix y controlo mi dildo con el mando del garaje.
pensad o fracasaréis
Este es cliente premium:
Hay brazos robóticos (no nuestros, sino de terceros que comercializamos) y no es que tengan pinta de dar mucho placer que digamos.
Yo ya he comentado que tenemos que sacar robopilinguis.
-
El último Canisi
Iniciado por
karurosu
Conocimientos previos: Pues de ROS no tenía ni papa, tampoco era requisito, cuando me hicieron la entrevista me dijeron que fuese mirando tutoriales. En general saber programar.
¿A qué te refieres a hacer las cosas a pelo? ¿Te refieres a leer de un sensor sin pasar por su paquete de ROS? Pues no lo he probado, principalmente porque no tengo nidea de comunicarme con ellos xD A ver, los sensores como el GPS o el IMU van por USB y aparecen en /dev como ttyUSBX, creo que el IMU funciona a base de comandos que envías y recibes, si te pones en paralelo al nodo a mandar órdenes no sé que pasaría.
Si te refieres a desarrollar un nodo que utilice un sensor a pelo, pues si, de hecho de eso se trata en algunas ocasiones en las que no se ha desarrollado software en ROS para ese hardware y toca hacerlo (de momento a mí no me ha tocado).
Realmente pocas veces interesa tocar nada a pelo salvo que no haya nada decente que lo haga.
ROS es un middleware, no es un lenguaje de programación, es decir, es un conjunto de librerías que tienes a tu disposición. Dichas librerías están para C++ y para Python. Incluyes la librería de ros.h (y las que necesites) y haces tu nodo como te dé la gana, accediendo al hardware si lo que quieres es hacer un driver o leyendo y publicando en topics si es más de procesado de información.
Gracias por la repuesta. Si. Me refería a lo primero que has dicho.
Y sobre middleware. Tenía otro concepto . El que se usa en Express http://expressjs.com/es/guide/using-middleware.html
Pero ya me he informado de su significado real
-
ForoParalelo: Miembro
Cuando se van a rebelar los robots, me gustaria tu opinion
-
ForoParalelo: Miembro
Iniciado por
evolution
En la uni el concepto de middleware es el de una capa intermedia en la topología de ejecución, un conjunto de librerías que evitan tener que tener que programar toda una infraestructura para X. En el caso de express (por lo que he visto) se encarga de toda la faena de establecer conexión con un servidor http y la transmisión de info.
Un ejemplo de middleware sería OpenMP, tú estableces el código a paralelizar y el ya se encarga luego de repartir la información entre los hilos y en juntar la información.
Iniciado por
Neuro Demonio
Cuando se van a rebelar los robots, me gustaria tu opinion
Desde mi punto de vista aún falta mucho, pero no te preocupes, nuestros robots tienen una seta de emergencia.
-
Botarate
Iniciado por
karurosu
Este es cliente premium:
Hay brazos robóticos (no nuestros, sino de terceros que comercializamos) y no es que tengan pinta de dar mucho placer que digamos.
Yo ya he comentado que tenemos que sacar robopilinguis.
tenias el gif preparado antes de hacer el hilo cierto?
-
ForoParalelo: Miembro
En tu opinión, ¿las tres leyes de la robótica de Asimov son los padres?
¿Vas a echar el curriculum vitae en Westworld?
Buen trabajo el tuyo.
-
El último Canisi
Iniciado por
karurosu
En la uni el concepto de middleware es el de una capa intermedia en la topología de ejecución, un conjunto de librerías que evitan tener que tener que programar toda una infraestructura para X. En el caso de express (por lo que he visto) se encarga de toda la faena de establecer conexión con un servidor http y la transmisión de info.
Un ejemplo de middleware sería OpenMP, tú estableces el código a paralelizar y el ya se encarga luego de repartir la información entre los hilos y en juntar la información.
Desde mi punto de vista aún falta mucho, pero no te preocupes, nuestros robots tienen una seta de emergencia.
Lo sé lo sé. Si ese concepto ya lo tenía. Era siemplemente que al utilizar algo en un lenguaje específico con el mismo nombre.... Uno se lía.
-
ForoParalelo: Miembro
Iniciado por
SrGadgetosalami
tenias el gif preparado antes de hacer el hilo cierto?
Lo tenía en mente, en el grupo de Telegram de la uni es asíduo este tío, al igual que otros fails robóticos.
-
ForoParalelo: Miembro
Iniciado por
Die Katze
En tu opinión, ¿las tres leyes de la robótica de Asimov son los padres?
¿Vas a echar el
curriculum vitae en Westworld?
Buen trabajo el tuyo.
Sí, son los padres, nada te obliga a imponer las leyes, aunque claro, si hacemos un robot que no pare cuando detecte un obstáculo pues no lo comemos con patatas.
Por cierto, de Yo Robot mi cuento favorito es el del que tenía una de las leyes modificadas y puede matar a alguien por inactividad.
No he visto la serie.
Gracias
-
ForoParalelo: Miembro
alguien te ha hecho la broma de robotica de txumari?
-
ForoParalelo: Miembro
Iniciado por
gerluthi
alguien te ha hecho la broma de robotica de txumari?
No la conozco, aunque el grupo de wassap del curro son más de memes de rita barberá, caranchoa o lo que toque de moda + negro del wassap.
Permisos de publicación
- No puedes crear nuevos temas
- No puedes responder temas
- No puedes subir archivos adjuntos
- No puedes editar tus mensajes
-
Reglas del foro
▲
▼
Atajos de Navegación Disponibles