Trabajo en una empresa de robótica y contesto preguntas

  1. #1
    ForoParalelo: Miembro Avatar de karurosu
    Registro
    12 Dec, 16
    Ubicación
    Valencia
    Mensajes
    329
    Me gusta (Dados)
    155
    Me gusta (Recibidos)
    88

    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.

  2. #2
    El último Canisi Avatar de evolution
    Registro
    05 Apr, 13
    Ubicación
    Españistán
    Mensajes
    3,408
    Me gusta (Dados)
    1037
    Me gusta (Recibidos)
    708
    ¿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?

  3. #3
    ForoParalelo: Miembro Avatar de Lefy
    Registro
    27 Sep, 15
    Ubicación
    Lefy House
    Mensajes
    4,141
    Me gusta (Dados)
    740
    Me gusta (Recibidos)
    1146
    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

  4. #4
    ForoParalelo: Miembro Avatar de karurosu
    Registro
    12 Dec, 16
    Ubicación
    Valencia
    Mensajes
    329
    Me gusta (Dados)
    155
    Me gusta (Recibidos)
    88
    Cita Iniciado por evolution Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    ¿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.

  5. #5
    ForoParalelo: Miembro Avatar de karurosu
    Registro
    12 Dec, 16
    Ubicación
    Valencia
    Mensajes
    329
    Me gusta (Dados)
    155
    Me gusta (Recibidos)
    88
    Cita Iniciado por Lefy Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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.

  6. #6
    El último Canisi Avatar de evolution
    Registro
    05 Apr, 13
    Ubicación
    Españistán
    Mensajes
    3,408
    Me gusta (Dados)
    1037
    Me gusta (Recibidos)
    708
    Cita Iniciado por karurosu Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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

  7. #7
    ForoParalelo: Miembro Avatar de Neuro Demonio
    Registro
    24 Nov, 14
    Mensajes
    1,657
    Me gusta (Dados)
    353
    Me gusta (Recibidos)
    837
    Cuando se van a rebelar los robots, me gustaria tu opinion

  8. #8
    ForoParalelo: Miembro Avatar de karurosu
    Registro
    12 Dec, 16
    Ubicación
    Valencia
    Mensajes
    329
    Me gusta (Dados)
    155
    Me gusta (Recibidos)
    88
    Cita Iniciado por evolution Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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
    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.

    Cita Iniciado por Neuro Demonio Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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.

  9. #9
    Botarate Avatar de SrGadgetosalami
    Registro
    26 Nov, 14
    Ubicación
    tus muertos
    Mensajes
    11,845
    Me gusta (Dados)
    3949
    Me gusta (Recibidos)
    3802
    Cita Iniciado por karurosu Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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?

  10. #10
    ForoParalelo: Miembro Avatar de Die Katze
    Registro
    13 Dec, 16
    Ubicación
    Castilla la Vieja
    Mensajes
    244
    Me gusta (Dados)
    31
    Me gusta (Recibidos)
    110
    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.

  11. #11
    El último Canisi Avatar de evolution
    Registro
    05 Apr, 13
    Ubicación
    Españistán
    Mensajes
    3,408
    Me gusta (Dados)
    1037
    Me gusta (Recibidos)
    708
    Cita Iniciado por karurosu Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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.

  12. #12
    ForoParalelo: Miembro Avatar de karurosu
    Registro
    12 Dec, 16
    Ubicación
    Valencia
    Mensajes
    329
    Me gusta (Dados)
    155
    Me gusta (Recibidos)
    88
    Cita Iniciado por SrGadgetosalami Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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.

  13. #13
    ForoParalelo: Miembro Avatar de karurosu
    Registro
    12 Dec, 16
    Ubicación
    Valencia
    Mensajes
    329
    Me gusta (Dados)
    155
    Me gusta (Recibidos)
    88
    Cita Iniciado por Die Katze Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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

  14. #14
    ForoParalelo: Miembro Avatar de gerluthi
    Registro
    08 Nov, 15
    Mensajes
    1,830
    Me gusta (Dados)
    77
    Me gusta (Recibidos)
    405
    alguien te ha hecho la broma de robotica de txumari?

  15. #15
    ForoParalelo: Miembro Avatar de karurosu
    Registro
    12 Dec, 16
    Ubicación
    Valencia
    Mensajes
    329
    Me gusta (Dados)
    155
    Me gusta (Recibidos)
    88
    Cita Iniciado por gerluthi Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    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
  •