Tamaño: 2324
Comentario:
|
← Versión 6 con fecha 2020-02-10 18:48:01 ⇥
Tamaño: 3268
Comentario:
|
Los textos eliminados se marcan así. | Los textos añadidos se marcan así. |
Línea 1: | Línea 1: |
ROS ofrece Herramientas y librerias para el desarrollo de sistemas roboticos. Es un framework de desarrollo para robotica. | #acl BecariosGrupo:read,write,revert All:read #acl Default All:read |
Línea 3: | Línea 4: |
Las metas de ROS son: | = ROS - Robot Operating System = <<TableOfContents()>> |
Línea 5: | Línea 7: |
Sistema Distribuido: Conexion punto a punto entre los diferentes modulos desarrollados. - Servicios Sincronos (XML-RPC) - Servicios Asincronos (Sockets - Publish/Suscribe) |
== Introducción == |
Línea 9: | Línea 9: |
Delgado: ROS esta orientado para que el desarrollo de los drivers y algoritmos no tengan dependencias en ROS. Esto produce abstraccion de hardware. Se encapsulan los dispositivos tras interfaces y diferenciandolos en archivos de configuracion |
ROS ofrece herramientas y librerias para el desarrollo de sistemas roboticos. Es un framework de desarrollo para robotica. |
Línea 12: | Línea 11: |
Multilenguaje: soporta c++, Python, Octave y LISP. Las especificaciones de ROS son en la capa de mensajes. | == Caracteristicas == |
Línea 14: | Línea 13: |
Basado en herramientas: Se ha basado por un diseño de microkernel, donde un gran número de pequeñas herramientas se utilizan para generar y ejecutar los diversos componentes, en lugar de construir un desarrollo monolítico y el entorno de ejecución. |
''' Sistema Distribuido: ''' Conexion punto a punto entre los diferentes modulos desarrollados. * Servicios Sincronos (XML-RPC) * Servicios Asincronos (Sockets - Publish/Suscribe) |
Línea 17: | Línea 17: |
Opensource bajo licencia BSD. | ''' Delgado: ''' ROS esta orientado para que el desarrollo de los drivers y algoritmos no tengan dependencias en ROS. Esto produce abstraccion de hardware. Se encapsulan los dispositivos tras interfaces y diferenciandolos en archivos de configuracion |
Línea 19: | Línea 19: |
Nodos. Son procesos que llevan a cabo algun computo. Un sistema esta compuesto por muchos nodos. En este contexto, el termino "nodo" es equivalente a "modulo de software". El termino "nodo" surge de la forma de visualizar cuando se esta ejecutando. | ''' Multilenguaje: ''' Soporta c++, Python, Octave y LISP. Las especificaciones de ROS son en la capa de mensajes. ''' Basado en herramientas: ''' Se ha basado por un diseño de microkernel, donde un gran número de pequeñas herramientas se utilizan para generar y ejecutar los diversos componentes, en lugar de construir un desarrollo monolítico y el entorno de ejecución. ''' Opensource bajo licencia BSD ''' == Nomenclatura == === Nodos === Son procesos que llevan a cabo algun computo. Un sistema esta compuesto por muchos nodos. En este contexto, el termino "nodo" es equivalente a "modulo de software". El termino "nodo" surge de la forma de visualizar cuando se esta ejecutando. |
Línea 22: | Línea 31: |
Mensajes: Se llama a la comunicacion entre los nodos. Es estrictamente una estructura con tipos de datos. Los mensajes tambien pueden ser otros mensajes o arrays de mensajes. | === Mensajes === Se llama a la comunicacion entre los nodos. Es estrictamente una estructura con tipos de datos. Los mensajes tambien pueden ser otros mensajes o arrays de mensajes. |
Línea 24: | Línea 34: |
topicos: Los nodos envian mensajes publicando a un topico dado, el cual es un string como "odometria" o "map". un nodo que este interesado en un cierto tipo de datos, se suscribe al topico apropiado. Puede haber varios publicadores y subscriptores a un topico apropiado y un solo nodo pude publicar o subscribir a varios topicos. | === Topicos === Los nodos envian mensajes publicando a un topico dado, el cual es un string como "odometria" o "map". un nodo que este interesado en un cierto tipo de datos, se suscribe al topico apropiado. Puede haber varios publicadores y subscriptores a un topico apropiado y un solo nodo pude publicar o subscribir a varios topicos. |
Línea 26: | Línea 37: |
Servicios: Aunque el modelo de publish-service es un paradigma de comunicacion flexible, el esquema "broadcast" no es apropidado. Los servicios son definididos con un nombre y una par de mensajes extrictos: Uno para la peticion y otro para los documentos de respuesta (analogo a los servicios web) | === Servicios === Aunque el modelo de publish-service es un paradigma de comunicacion flexible, el esquema "broadcast" no es apropidado. Los servicios son definididos con un nombre y una par de mensajes extrictos: Uno para la peticion y otro para los documentos de respuesta (analogo a los servicios web) |
Línea 28: | Línea 40: |
=== Master === Almacena informacion de registro de topicos y servicios para los nodos. Los nodos se comunican con el Master para reportar su informacion de registro. A medida que los nodos se comunican con el Master, pueden recibir informacion sobre otros nodos registrados y hacer las coneccions apropiadas. Cuando la informacion de registro cambia, el Master avisa a los nodos. Los nodos se conectan directamente. El master funciona como un servidos DNS. Los nodos que se suscriben a un topico requeriran conecciones de nodos que estan publicando un topico. El protocolo mas comun utilizado en ROS es TCPROS. {{attachment:ArquitecturaROS.png | "ArquitecturaROS.png" | width="60%" }} |
ROS - Robot Operating System
Tabla de Contenidos
Introducción
ROS ofrece herramientas y librerias para el desarrollo de sistemas roboticos. Es un framework de desarrollo para robotica.
Caracteristicas
Sistema Distribuido: Conexion punto a punto entre los diferentes modulos desarrollados.
- Servicios Sincronos (XML-RPC)
- Servicios Asincronos (Sockets - Publish/Suscribe)
Delgado: ROS esta orientado para que el desarrollo de los drivers y algoritmos no tengan dependencias en ROS. Esto produce abstraccion de hardware. Se encapsulan los dispositivos tras interfaces y diferenciandolos en archivos de configuracion
Multilenguaje: Soporta c++, Python, Octave y LISP. Las especificaciones de ROS son en la capa de mensajes.
Basado en herramientas: Se ha basado por un diseño de microkernel, donde un gran número de pequeñas herramientas se utilizan para generar y ejecutar los diversos componentes, en lugar de construir un desarrollo monolítico y el entorno de ejecución.
Opensource bajo licencia BSD
Nomenclatura
Nodos
Son procesos que llevan a cabo algun computo. Un sistema esta compuesto por muchos nodos. En este contexto, el termino "nodo" es equivalente a "modulo de software". El termino "nodo" surge de la forma de visualizar cuando se esta ejecutando. Cuando varios nodos se estan ejecutando es conveniente ver la comunicacion punto a punto como un grafico, con los procesos como nodos y la comunicacion como arcos.
Mensajes
Se llama a la comunicacion entre los nodos. Es estrictamente una estructura con tipos de datos. Los mensajes tambien pueden ser otros mensajes o arrays de mensajes.
Topicos
Los nodos envian mensajes publicando a un topico dado, el cual es un string como "odometria" o "map". un nodo que este interesado en un cierto tipo de datos, se suscribe al topico apropiado. Puede haber varios publicadores y subscriptores a un topico apropiado y un solo nodo pude publicar o subscribir a varios topicos.
Servicios
Aunque el modelo de publish-service es un paradigma de comunicacion flexible, el esquema "broadcast" no es apropidado. Los servicios son definididos con un nombre y una par de mensajes extrictos: Uno para la peticion y otro para los documentos de respuesta (analogo a los servicios web) A diferencia de los topicos, solo un nodo puede anunciar un servicio. No s pueden repetir los nombres de los servicios.
Master
Almacena informacion de registro de topicos y servicios para los nodos. Los nodos se comunican con el Master para reportar su informacion de registro. A medida que los nodos se comunican con el Master, pueden recibir informacion sobre otros nodos registrados y hacer las coneccions apropiadas. Cuando la informacion de registro cambia, el Master avisa a los nodos.
Los nodos se conectan directamente. El master funciona como un servidos DNS. Los nodos que se suscriben a un topico requeriran conecciones de nodos que estan publicando un topico. El protocolo mas comun utilizado en ROS es TCPROS.