SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
Robot Operative System
Departamento de Arquitectura y Tecnología de Computadores
                 Universidad de Sevilla




                                   Pablo Iñigo Blasco
                                       Diciembre – 2010
Gracias por los contenidos Creative Commons de la web de ROS y de las
transparencias creadas por "Radu Bogdan Rusu" para el evento: "
CoTeSys-ROS Fall School on Cognition-enabled Mobile Manipulation".


Este documento en sí es Creative Commons.
Cuestiones/Objetivos Seminario
●   ¿Qué es ROS?
●   ¿Qué ofrece ROS respecto a otras
    alternativas?
●   ¿Por qué presenta un buen enfoque para
    abordar problemas de Robótica?
●   ¿Cómo ROS puede ayudar a mejorar las
    tareas de investigación en Robótica?
●   ¿Cómo comenzar con ROS?
Contenidos: Parte I

●   Contexto
●   ROS Overview
●   Arquitectura Distribuida de ROS
●   Herramientas
●   Ejemplos Áreas de la robótica abordados
●   Mas Software existente
Contenidos: Parte II

●   Aspectos técnicos
●   Ejemplos
●   Demos
●   Tutoriales
●   Interacción
Contenidos: Parte II
●   Parte II (Utilizando ROS)
    ●   Demostraciones
    ●

                              PARTE I
    ●   Grupo de Trabajo CARLUS-ROS-PKG
                      ROS Overview
    ●   DEMO:
        –   Simulator PR2 – Open Doors
Contexto: Enfoque

●   ROS
    ●   Robots autónomos e inteligentes
    ●   Sociedad robotizada
    ●   Robots en hogares y tareas domésticas
●   ATC
    ●   Tecnologías de la Rehabilitación
    ●   Cuidado de Mayores
    ●   Inteligencia ambiental/Arquitecturas distribuidas
    ●   Interacción hombre/máquina
Contexto: Futuro de la Robótica

●   Robots autónomos e inteligentes
●   Entornos desesctructurados
●   Interacción con el ser humano
●   Tareas Domésticas
●   Trabajadores Robots
●   Sociedad Robotizada
●   Inteligencia Ambiental
Contexto: Problemas en mercado

●   Mercado robots industriales maduro
●   Mercado robots autónomos muy pequeño
    ●   Excepción Nipona
●   Necesidades desapercividas por el consumidor
●   Falta de detonantes (ej: Iphone)
●   Situación de bloqueo
Contexto: Industria (robots
                autónomos)
●   Investigación es privada
●   Complejidad en la creación de productos
    ●   Necesidad de no empezar de cero
●   Carencia de ecosistema de proveedores
●   Riesgo
●   Alta inversión y poco retorno
●   Resistencia al cambio
●   ¿Todavía demasiado pronto?
Contexto: Investigación académica

●   Adelantada respecto la industria y mercado
●   Pruebas de concepto
●   Poco feedback Universidad ↔ Empresa
●   Perdida tiempo en infraestructura →
    Soluciones teóricas o simuladas
●   Problemas de reutilización → problemas en la
    colaboración (cada uno hace lo que cree)
Problemas Fundamentales

●   El tamaño del proyecto

●   El conocimiento
Contexto: Necesidades proyectos
           medios y grandes
●   Explosión de requerimientos software
    ●   Ubicuidad
    ●   Herramientas: desarrollo, configuración, debugging
    ●   Arquitecturas mas robustas y flexibles


●   Procedimientos de ingeniería del software
●   Trabajo en equipo
●   Reutilización del software
●   Reutilización del conocimiento
Contexto: Robótica Distribuida y
                RSFs
●   Solución: Orientación a Servicios y
    Componentes
●   Programación Distribuida propósito general
    ●   TCP/IP, CORBA, ACE, etc.
●   Robotic software frameworks
    ●   Player, Orca, YARP, OROCOS, CARMEN,
        OpenRTM-AIST, JADE, MSRS, Open-RTM, JDE+,
        JADE
●   Mejora la situación. Pero se necesitan mas
    mejoras.
Contexto: Player
       SO                                 SO

              laser   map   amcl motors


                      Player Server
                                                   Config




Interfaces estables
Patrón proxy



     Client                               Client

                      ¿comunicación?
ROS Overview: ¿Qué es?

●   Meta-Sistema Operativo

●   (RSF) Framework para el desarrollo de
    sistemas robótocos

●   Arquitectura robótica desplegada en múltiples
    máquinas
ROS Overview: ¿Qué es?
A simple vista:
●   Software robótico enlatado Building Blocks
    (librerías, aplicaciones,...)
●   Herramientas de desarrollo
●   Herramientas de inspección y depuración
●   Sistema de paquetería
Va mas allá:
●   Procesos, metodología
●   Comunidad, Investigación: Democratización de la
    robótica
ROS Overview: Meta-Sistema
       Oeperativo
ROS Overview: Filosofía

●   Reusabilidad
●   Ubicuidad
●   Escalabilidad
●   Integración del software existente y futuro!!!
●   Software libre
●   Enfoque científico pero aplicado
    ●   Papers, libros, referencias, etc.
ROS Overview: Meta Systema
        Operativo
ROS Overview: Ejemplos de
          “Aplicaciones finales”
●   Robot PR2
    ●   Repartir Cerveza
    ●   Enchufarse
    ●   Recojer la basura de la casa en un carrito
    ●   Jugar a las torres de Hanoi
    ●   Abrir puertas
Capabilities

●   Cinemática
●   Vision & Object Recognition
●   Localization
●   Motion Planning/Navigation
●   Mapping
●   Grasping
●   Object manipulation
●   Machine Learning
ROS Overview: Meta-Sistema
        Operativo
ROS Overview: Organización de
          Software
¿Por qué escoger ROS?
●   Llegar mas allá en nuestros proyectos

●   Una metodología y unos convenios definidos
    para el desarrollo de software en robótica.

●   Fomentará la interacción con otros grupos de
    investigación
ROS Overview: Organización de
          Software

           PACKAGE
     - Nodos
     - Herramientas
     - Librerías
     - Definición de Mensajes
     - Definición de Servicios
     - Configuraciones despliegue
ROS Overview: Comunidad

    Federación de repositorios con software para
    robots. En 2010:
    •   Casi 200 Stacks
    •   Mas de 100 Packages
    •   Unos 50 Repositorios Federados
•   ROS: Wiki unificada y uniforme
•   Importancia de la integración sobre el
    desarrollo
ROS.org




DEMO WIKI
ROS Overview: Historia
ROS Overview: Objetivo
ROS Overview: Robots
ROS Overview: Otras
               características
●   Multi Lenguaje
    ●   C++, python, Java, Octave, Lisp, RxLab
●   Plataformas
    ●   Linux, MacOS
    ●   X86 y ARM
ROS Overview: Origen Stanford

●   Stanford IA Lab
●   Stanfor Research Institute


●   Gary Bradski (OpenCV)
●   Brian Gerkley (Player)


●   Oussama Khatib (Potential Fields)
●   Jean-Claude Latobme (Robot Motion Planning)
●   Sebastian Thrun (Probabilistic Robotics)


●   Proyectos
    ●   STAIR, OpenCV, Player/Stage, Darpa Grand Challenge, etc.
                                 http://www.stanford.edu/class/cs294b/teamMembers.html
PARTE I

Arquitectura ROS
ROS vs Player
●   Player
    ●   Arquitectura cliente/servidor
    ●   Mecanismo de desacoplamiento
        –   Servicios
    ●   Uso de ficheros de configuración
●   ROS
    ●   Arquitectura Distribuida P2P/Híbrida
    ●   Mecanismo de desacoplamiento
        –   Servicios
        –   Mensajes
             ●   Ej: Nube de puntos kinect, vs videre, vs hyokoyu
ROS: Arquitectura
Mecanismos de reusabilidad
●   Servicios estandarizados
●   Mensajes estandarizados
●   Facilidad para la composición
●   Múltiples procesos
●   Interacción mediante capa de transporte
    agnóstica
●   Independencia del Lenguaje
Arquitectura P2P Híbrida

                          Machine 1                    HW    Machine 2

 properties
                 Node


                                         Node   SO


                                                Node
                   Node
Ros Master                                                  config




         topic                                              Launch File
                                 topic
Arquitectura: P2P Híbrida
Nodos
 ●   Primitiva de funcionalida
 ●   Sincronos                         Properties (*)

 ●   Simple hilos
 ●   Proceso
     (convenio)

 ●   Dinámicos                        Services




Topics
                  msg

                        msg
                                       Config.yaml
Ejemplo de “Driver”
      Properties
                                                                                                               Services
         Usb= “dev /ttyUSB3”
              Freq= 30                                                                                On/Off
       Coordinate_frame=”head”
                                                                                                      Change Units
                                                     Sensor Fussion
                                                          IMU
                                                                       #inclue <ros/ros.h>
                                                                       #include <common_msgs/Pose.h>”
  Topics                                                               #include <stdio.h>

                                                                       Void Main ()
                                                                       {
    Robot Pose                                                           //create Node
                                                                          ....
                                                                         //create service On_Off
                                                                         ....
                                                                         //advertise topic RobotPose

                                                                           Open(..) //usb to read drivers
                                                                       }

*En realidad las properties se almacenan en el rosmaster no en
los nodos, aunque conceptualmente Puede verse como parámetros
de configuración de uno o varios nodos. De ahí la representación propuesta.
Ejemplo de “capacidad”
          Localización mediante EKF
●   robot_pose_efk


            /odom
                                   robot_pose_ekf
                                                    /odom_combined
    /imu_data




                sensor_timeout=1
                Freq=30
                ...
Ejemplo de “capacidad”: SLAM
●   Librería OpenSlam
●   Paquete slam_gmapping
●   Nodo como una capacidad
       (framework)
                                    openslam.lib                /dynamic_map
                  /tf
                                                                   /gmapping/tf_frames
                                    gmapping

    /clock
                                                          /map_metadata

    /laser_scan
                                                            /map
                        ---------
                        ---------
                        ---------                  /gmapping_entropy
                        ---------
DEMO explore_stage
Composición de funcionalidad:
             Launch Files
●   Componentes de alto nivel (capacidades)
●   Aplicaciones (finales)
●   Configuración inicial pero evolución dinámica
                                                             Launch
●   Posibilidad de distintas máquinas, etc.

                             Launch




                                                             Ros Master
                                                    Launch
Arquitectura ROS: Ros Master


●   Servicios de nombres
●   Servicios de páginas
    amarillas
●   Almacén de propiedades
●   Singleton
Mecanismos de Interacción de alto
            Nivel
●   Action
●   State Machines/ Workflows
●   Ejemplo paper toallas
Eficiencia en el Transporte
●   También existen paquetes con librerias
    ●   Funcionalidad extra para traducción a tipos de
        mensaje, servicios, etc.
    ●   Ejemplo KDL, OpenCV, PCL
●   Nodelets
    ●   Nodos en el mismo proceso
●   ros_realtime
●   Comprueben experimentalmente la frecuencia
    de los topics
PARTE I

Herramientas
Herramientas

●   Desarrollo
    ●   Rosmake, rxdeps, genmsg, roslocate, rosmsg, rosrv, gtests, cmake,
        rosbag, roscd
●   Inspección y Monitorización
    ●   Rviz, rostopic, rosconsole,rxgraph, rosnode, rxplot
●   Despliegue y Configuración
    ●   Rosrun, roslaunch, yaml
●   Documentación: Ros.org, code.ros.org
●   Simulación
●   Otras herramientas (no core)
    ●   (parte II)
DEMO PR2 - GAZEBO
PARTE I

Paradigmas Abordados
Cinemática y Sistemas de
                Referencia
●   TF
●   KDL
●   URDF
●   Robot State Publisher
●   Joint State
    Publisher
●   Arm Kinematics
TF
●   Dónde estaba el frame de la cabeza relativo al
    frame del mundo hace 5 segundos?

●   Cúal es la pose del frame del objeto respecto a
    las garras de mi brazo robótico?

●   Cúal es la pose actual de la base actual del
    robot respecto a la baase de otro robot?


                                       http://www.ros.org/wiki/tf
DEMO Brazo Robótico
SLAM

●   VSlam
    ●   Presentación
    ●   Paper
    ●
        Tutorial
●   gmapping
●   kartoMapping
●   graphmapping
Motion Planning
●   Sampling Based Planning Methods (ompl)
    ●   RRT, EST, SBL
●   Métodos discretos (sbpl)
    ●   AD*, D*, ARA*
●   Métodos con consideraciones dinámicas y
    cinemáticas
    ●   CHOMP, STOMP
PARTE I

Mas Software
Drivers Útiles ATC
●   Kinect
●   Cámara Stereo Vídere
●   Laser Hokuyo
●   Erratic
●   Cámaras
●   IMU
●   Arduino?
●   Joysticks
ROS y sistemas multi agentes
●   Infrestructura necesaria para su desarrollo
●   Arquitectura distribuida híbrida
●   Sistemas de páginas amarillas
●   Interacción: servicios, topics, parámetros
UAVs
●   UAVs Using ROS
Desventajas de ROS
●   Objetivos muy ambiciosos
    ●   Tratar con software muy varirado (librerías hechas a imagen y semejanza del
        autor)
●   Integrar aplicaciones no es inmediato
    ●   Leer documentación
    ●   Revisar código hecho
    ●   Depurar
●   Curva de aprendizaje relativamente costosa
●   Exponer una librería en ROS tampoco es gratis
●   Continuos cambios y evolución (software obsoleto)
●   No soporte (por ahora) para Windows u otros sistemas empotrados
●   Desesperante cantidad de sotware (también hay paja)
Ventajas
●   Inumerables
●   Reducir el tiempo invertido en infraestructura y
    centrate en la investigación
●   Abordar en problemas de alto nivel
●   Te permite acelerar el aprendizaje
    ●   Viendo código de otros
    ●   Viendo documentación de otros
●   Fomenta el trabajo en equipo y establece
    convenios, procesos y metologías para hacer
    software reusable.
GRACIAS

Mais conteúdo relacionado

Mais procurados

01. Introducción a la Analítica de Datos.pptx
01. Introducción a la Analítica de Datos.pptx01. Introducción a la Analítica de Datos.pptx
01. Introducción a la Analítica de Datos.pptxJuanCarlosRomanPerez1
 
Presentacion xml
Presentacion xmlPresentacion xml
Presentacion xmlitsl
 
Transmisiones y reducciones utilizadas en robótica
Transmisiones y reducciones utilizadas en robóticaTransmisiones y reducciones utilizadas en robótica
Transmisiones y reducciones utilizadas en robóticaVinicio Acuña
 
Informe 1 robotica industrial
Informe 1 robotica industrialInforme 1 robotica industrial
Informe 1 robotica industrialJose Toro
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos BasicosEmilio Aviles Avila
 
Lenguaje de programación JAVA
Lenguaje de programación JAVALenguaje de programación JAVA
Lenguaje de programación JAVAjosehpxxx
 
Layouts - Java
Layouts - JavaLayouts - Java
Layouts - Javanjca01
 
Ejercicio rent a car (1)
Ejercicio rent a car (1)Ejercicio rent a car (1)
Ejercicio rent a car (1)Benjacgi
 
Articulaciones del robot
Articulaciones del robotArticulaciones del robot
Articulaciones del robotJULIO REVILLA
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2Velmuz Buzz
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosAngel Morocho
 
Autonomous car(driver less car) (self driving car)
Autonomous car(driver less car) (self driving car)Autonomous car(driver less car) (self driving car)
Autonomous car(driver less car) (self driving car)basawanna
 
Introduccion a prolog
Introduccion a prologIntroduccion a prolog
Introduccion a prologJeffoG92
 

Mais procurados (20)

01. Introducción a la Analítica de Datos.pptx
01. Introducción a la Analítica de Datos.pptx01. Introducción a la Analítica de Datos.pptx
01. Introducción a la Analítica de Datos.pptx
 
Presentacion xml
Presentacion xmlPresentacion xml
Presentacion xml
 
Componentes en-poo
Componentes en-pooComponentes en-poo
Componentes en-poo
 
Transmisiones y reducciones utilizadas en robótica
Transmisiones y reducciones utilizadas en robóticaTransmisiones y reducciones utilizadas en robótica
Transmisiones y reducciones utilizadas en robótica
 
Informe 1 robotica industrial
Informe 1 robotica industrialInforme 1 robotica industrial
Informe 1 robotica industrial
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
 
Lenguaje de programación JAVA
Lenguaje de programación JAVALenguaje de programación JAVA
Lenguaje de programación JAVA
 
Layouts - Java
Layouts - JavaLayouts - Java
Layouts - Java
 
Html5
Html5Html5
Html5
 
Ejercicio rent a car (1)
Ejercicio rent a car (1)Ejercicio rent a car (1)
Ejercicio rent a car (1)
 
Articulaciones del robot
Articulaciones del robotArticulaciones del robot
Articulaciones del robot
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Java swing y awt
Java swing y awtJava swing y awt
Java swing y awt
 
JAVA DATABASE CONNECTIVITY (JDBC)
  JAVA DATABASE CONNECTIVITY (JDBC)  JAVA DATABASE CONNECTIVITY (JDBC)
JAVA DATABASE CONNECTIVITY (JDBC)
 
Autonomous car(driver less car) (self driving car)
Autonomous car(driver less car) (self driving car)Autonomous car(driver less car) (self driving car)
Autonomous car(driver less car) (self driving car)
 
Introduccion a prolog
Introduccion a prologIntroduccion a prolog
Introduccion a prolog
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 

Destaque

Desarrollo robótico - Robot Operating System (ROS)
Desarrollo robótico - Robot Operating System (ROS)Desarrollo robótico - Robot Operating System (ROS)
Desarrollo robótico - Robot Operating System (ROS)Vicente García Díaz
 
Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...
Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...
Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...Alvaro Angel Romero Gandul
 
Presentación Taller ROS - Robotic Operating System
Presentación Taller ROS - Robotic Operating SystemPresentación Taller ROS - Robotic Operating System
Presentación Taller ROS - Robotic Operating SystemBruno Faúndez
 
Pros Y Contras
Pros Y ContrasPros Y Contras
Pros Y Contrasbastii
 
An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-IndustrialClay Flannigan
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊Po-Jen Lai
 
Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) hvcoup
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascadahome
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrolloHermes Romero
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiraljuanksi28
 

Destaque (13)

Desarrollo robótico - Robot Operating System (ROS)
Desarrollo robótico - Robot Operating System (ROS)Desarrollo robótico - Robot Operating System (ROS)
Desarrollo robótico - Robot Operating System (ROS)
 
Sistemas operativos para robots
Sistemas operativos para robotsSistemas operativos para robots
Sistemas operativos para robots
 
Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...
Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...
Integración de ROS (Robot Operating System) con las plataformas Arduino y Ras...
 
Presentación Taller ROS - Robotic Operating System
Presentación Taller ROS - Robotic Operating SystemPresentación Taller ROS - Robotic Operating System
Presentación Taller ROS - Robotic Operating System
 
Pros Y Contras
Pros Y ContrasPros Y Contras
Pros Y Contras
 
An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-Industrial
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
 
Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System)
 
Modelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiralModelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiral
 
ROS distributed architecture
ROS  distributed architectureROS  distributed architecture
ROS distributed architecture
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
 

Semelhante a Introducción a ROS

ROS - Jornadas de la ingeniería cádiz-2011
ROS - Jornadas de la ingeniería cádiz-2011ROS - Jornadas de la ingeniería cádiz-2011
ROS - Jornadas de la ingeniería cádiz-2011Pablo Iñigo Blasco
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel Carrasco Moñino
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasCarlos Camacho
 
FADIXON R
FADIXON RFADIXON R
FADIXON Rfadixon
 
03 Infraestructura Caja Guadalajara Neurowork Why Floss
03   Infraestructura Caja Guadalajara   Neurowork   Why Floss03   Infraestructura Caja Guadalajara   Neurowork   Why Floss
03 Infraestructura Caja Guadalajara Neurowork Why FlossNeurowork
 
jBPM: Implementando Procesos con Software Libre
jBPM: Implementando Procesos con Software LibrejBPM: Implementando Procesos con Software Libre
jBPM: Implementando Procesos con Software LibrePablo Sepulveda P.
 
Aprende Robótica con ROS y Turtlebot (nivel iniciación)
Aprende Robótica con ROS y Turtlebot (nivel iniciación)Aprende Robótica con ROS y Turtlebot (nivel iniciación)
Aprende Robótica con ROS y Turtlebot (nivel iniciación)RobotAcademy
 
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Pilmee Gates
 
03 Infraestructura Caja Guadalajara Neurowork Why Floss
03   Infraestructura Caja Guadalajara   Neurowork   Why Floss03   Infraestructura Caja Guadalajara   Neurowork   Why Floss
03 Infraestructura Caja Guadalajara Neurowork Why FlossNeurowork
 
03 Infraestructura Caja Guadalajara Neurowork Why Floss
03   Infraestructura Caja Guadalajara   Neurowork   Why Floss03   Infraestructura Caja Guadalajara   Neurowork   Why Floss
03 Infraestructura Caja Guadalajara Neurowork Why FlossNeurowork
 
03 Infraestructura Caja Guadalajara Neurowork Why Floss
03   Infraestructura Caja Guadalajara   Neurowork   Why Floss03   Infraestructura Caja Guadalajara   Neurowork   Why Floss
03 Infraestructura Caja Guadalajara Neurowork Why FlossNeurowork
 

Semelhante a Introducción a ROS (20)

ROS - Jornadas de la ingeniería cádiz-2011
ROS - Jornadas de la ingeniería cádiz-2011ROS - Jornadas de la ingeniería cádiz-2011
ROS - Jornadas de la ingeniería cádiz-2011
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Java 2010: presente, límites y futuro
Java 2010: presente, límites y futuroJava 2010: presente, límites y futuro
Java 2010: presente, límites y futuro
 
Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
 
Paralela9
Paralela9Paralela9
Paralela9
 
Gwt I - entendiendo gwt
Gwt I - entendiendo gwtGwt I - entendiendo gwt
Gwt I - entendiendo gwt
 
200405 - Aplicaciones Web
200405 - Aplicaciones Web200405 - Aplicaciones Web
200405 - Aplicaciones Web
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
SIMUNROBOT
SIMUNROBOTSIMUNROBOT
SIMUNROBOT
 
FADIXON R
FADIXON RFADIXON R
FADIXON R
 
Ros y sistemas multi agentes
Ros y sistemas multi agentesRos y sistemas multi agentes
Ros y sistemas multi agentes
 
03 Infraestructura Caja Guadalajara Neurowork Why Floss
03   Infraestructura Caja Guadalajara   Neurowork   Why Floss03   Infraestructura Caja Guadalajara   Neurowork   Why Floss
03 Infraestructura Caja Guadalajara Neurowork Why Floss
 
jBPM: Implementando Procesos con Software Libre
jBPM: Implementando Procesos con Software LibrejBPM: Implementando Procesos con Software Libre
jBPM: Implementando Procesos con Software Libre
 
Aprende Robótica con ROS y Turtlebot (nivel iniciación)
Aprende Robótica con ROS y Turtlebot (nivel iniciación)Aprende Robótica con ROS y Turtlebot (nivel iniciación)
Aprende Robótica con ROS y Turtlebot (nivel iniciación)
 
Planificación en inteligencia artificial aplicada a la robótica
Planificación en inteligencia artificial aplicada a la robóticaPlanificación en inteligencia artificial aplicada a la robótica
Planificación en inteligencia artificial aplicada a la robótica
 
1poo
1poo1poo
1poo
 
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
 
03 Infraestructura Caja Guadalajara Neurowork Why Floss
03   Infraestructura Caja Guadalajara   Neurowork   Why Floss03   Infraestructura Caja Guadalajara   Neurowork   Why Floss
03 Infraestructura Caja Guadalajara Neurowork Why Floss
 
03 Infraestructura Caja Guadalajara Neurowork Why Floss
03   Infraestructura Caja Guadalajara   Neurowork   Why Floss03   Infraestructura Caja Guadalajara   Neurowork   Why Floss
03 Infraestructura Caja Guadalajara Neurowork Why Floss
 
03 Infraestructura Caja Guadalajara Neurowork Why Floss
03   Infraestructura Caja Guadalajara   Neurowork   Why Floss03   Infraestructura Caja Guadalajara   Neurowork   Why Floss
03 Infraestructura Caja Guadalajara Neurowork Why Floss
 

Último

sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre terceroCEIP TIERRA DE PINARES
 
Tecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxTecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxJulioSantin2
 
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...Unidad de Espiritualidad Eudista
 
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa
 
Presentación: Actividad de Diálogos adolescentes.pptx
Presentación: Actividad de  Diálogos adolescentes.pptxPresentación: Actividad de  Diálogos adolescentes.pptx
Presentación: Actividad de Diálogos adolescentes.pptxNabel Paulino Guerra Huaranca
 
Tema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónTema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónIES Vicent Andres Estelles
 
plan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaplan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaElizabeth252489
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdfNELLYKATTY
 
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREASEjemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREASJavier Sanchez
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docxJhordanBenitesSanche1
 
explicacionsobrelasemanasanta-190411100653.ppt
explicacionsobrelasemanasanta-190411100653.pptexplicacionsobrelasemanasanta-190411100653.ppt
explicacionsobrelasemanasanta-190411100653.pptjosemanuelcremades
 
SECUENCIA DIDÁCTICA Matemática 1er grado
SECUENCIA  DIDÁCTICA Matemática 1er gradoSECUENCIA  DIDÁCTICA Matemática 1er grado
SECUENCIA DIDÁCTICA Matemática 1er gradoAnaMara883998
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCEIP TIERRA DE PINARES
 
Presentación del tema: tecnología educativa
Presentación del tema: tecnología educativaPresentación del tema: tecnología educativa
Presentación del tema: tecnología educativaricardoruizaleman
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaTatiTerlecky1
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCEIP TIERRA DE PINARES
 
Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Ivie
 

Último (20)

sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercero
 
Tecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxTecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptx
 
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
 
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
 
Presentación: Actividad de Diálogos adolescentes.pptx
Presentación: Actividad de  Diálogos adolescentes.pptxPresentación: Actividad de  Diálogos adolescentes.pptx
Presentación: Actividad de Diálogos adolescentes.pptx
 
Sesión de clase ES: Adoración sin fin...
Sesión de clase ES: Adoración sin fin...Sesión de clase ES: Adoración sin fin...
Sesión de clase ES: Adoración sin fin...
 
Tema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónTema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificación
 
plan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaplan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primaria
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
 
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREASEjemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docx
 
explicacionsobrelasemanasanta-190411100653.ppt
explicacionsobrelasemanasanta-190411100653.pptexplicacionsobrelasemanasanta-190411100653.ppt
explicacionsobrelasemanasanta-190411100653.ppt
 
SECUENCIA DIDÁCTICA Matemática 1er grado
SECUENCIA  DIDÁCTICA Matemática 1er gradoSECUENCIA  DIDÁCTICA Matemática 1er grado
SECUENCIA DIDÁCTICA Matemática 1er grado
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
 
Presentación del tema: tecnología educativa
Presentación del tema: tecnología educativaPresentación del tema: tecnología educativa
Presentación del tema: tecnología educativa
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección ediba
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
 
Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023
 
Tema 6.- La identidad visual corporativa y el naming.pdf
Tema 6.- La identidad visual corporativa y el naming.pdfTema 6.- La identidad visual corporativa y el naming.pdf
Tema 6.- La identidad visual corporativa y el naming.pdf
 
VISITA DE ESTUDO À CRUZ VERMELHA _
VISITA DE ESTUDO À CRUZ VERMELHA                   _VISITA DE ESTUDO À CRUZ VERMELHA                   _
VISITA DE ESTUDO À CRUZ VERMELHA _
 

Introducción a ROS

  • 1. Robot Operative System Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla Pablo Iñigo Blasco Diciembre – 2010
  • 2. Gracias por los contenidos Creative Commons de la web de ROS y de las transparencias creadas por "Radu Bogdan Rusu" para el evento: " CoTeSys-ROS Fall School on Cognition-enabled Mobile Manipulation". Este documento en sí es Creative Commons.
  • 3. Cuestiones/Objetivos Seminario ● ¿Qué es ROS? ● ¿Qué ofrece ROS respecto a otras alternativas? ● ¿Por qué presenta un buen enfoque para abordar problemas de Robótica? ● ¿Cómo ROS puede ayudar a mejorar las tareas de investigación en Robótica? ● ¿Cómo comenzar con ROS?
  • 4. Contenidos: Parte I ● Contexto ● ROS Overview ● Arquitectura Distribuida de ROS ● Herramientas ● Ejemplos Áreas de la robótica abordados ● Mas Software existente
  • 5. Contenidos: Parte II ● Aspectos técnicos ● Ejemplos ● Demos ● Tutoriales ● Interacción
  • 6. Contenidos: Parte II ● Parte II (Utilizando ROS) ● Demostraciones ● PARTE I ● Grupo de Trabajo CARLUS-ROS-PKG ROS Overview ● DEMO: – Simulator PR2 – Open Doors
  • 7. Contexto: Enfoque ● ROS ● Robots autónomos e inteligentes ● Sociedad robotizada ● Robots en hogares y tareas domésticas ● ATC ● Tecnologías de la Rehabilitación ● Cuidado de Mayores ● Inteligencia ambiental/Arquitecturas distribuidas ● Interacción hombre/máquina
  • 8. Contexto: Futuro de la Robótica ● Robots autónomos e inteligentes ● Entornos desesctructurados ● Interacción con el ser humano ● Tareas Domésticas ● Trabajadores Robots ● Sociedad Robotizada ● Inteligencia Ambiental
  • 9. Contexto: Problemas en mercado ● Mercado robots industriales maduro ● Mercado robots autónomos muy pequeño ● Excepción Nipona ● Necesidades desapercividas por el consumidor ● Falta de detonantes (ej: Iphone) ● Situación de bloqueo
  • 10. Contexto: Industria (robots autónomos) ● Investigación es privada ● Complejidad en la creación de productos ● Necesidad de no empezar de cero ● Carencia de ecosistema de proveedores ● Riesgo ● Alta inversión y poco retorno ● Resistencia al cambio ● ¿Todavía demasiado pronto?
  • 11. Contexto: Investigación académica ● Adelantada respecto la industria y mercado ● Pruebas de concepto ● Poco feedback Universidad ↔ Empresa ● Perdida tiempo en infraestructura → Soluciones teóricas o simuladas ● Problemas de reutilización → problemas en la colaboración (cada uno hace lo que cree)
  • 12. Problemas Fundamentales ● El tamaño del proyecto ● El conocimiento
  • 13. Contexto: Necesidades proyectos medios y grandes ● Explosión de requerimientos software ● Ubicuidad ● Herramientas: desarrollo, configuración, debugging ● Arquitecturas mas robustas y flexibles ● Procedimientos de ingeniería del software ● Trabajo en equipo ● Reutilización del software ● Reutilización del conocimiento
  • 14. Contexto: Robótica Distribuida y RSFs ● Solución: Orientación a Servicios y Componentes ● Programación Distribuida propósito general ● TCP/IP, CORBA, ACE, etc. ● Robotic software frameworks ● Player, Orca, YARP, OROCOS, CARMEN, OpenRTM-AIST, JADE, MSRS, Open-RTM, JDE+, JADE ● Mejora la situación. Pero se necesitan mas mejoras.
  • 15. Contexto: Player SO SO laser map amcl motors Player Server Config Interfaces estables Patrón proxy Client Client ¿comunicación?
  • 16. ROS Overview: ¿Qué es? ● Meta-Sistema Operativo ● (RSF) Framework para el desarrollo de sistemas robótocos ● Arquitectura robótica desplegada en múltiples máquinas
  • 17. ROS Overview: ¿Qué es? A simple vista: ● Software robótico enlatado Building Blocks (librerías, aplicaciones,...) ● Herramientas de desarrollo ● Herramientas de inspección y depuración ● Sistema de paquetería Va mas allá: ● Procesos, metodología ● Comunidad, Investigación: Democratización de la robótica
  • 19. ROS Overview: Filosofía ● Reusabilidad ● Ubicuidad ● Escalabilidad ● Integración del software existente y futuro!!! ● Software libre ● Enfoque científico pero aplicado ● Papers, libros, referencias, etc.
  • 20. ROS Overview: Meta Systema Operativo
  • 21. ROS Overview: Ejemplos de “Aplicaciones finales” ● Robot PR2 ● Repartir Cerveza ● Enchufarse ● Recojer la basura de la casa en un carrito ● Jugar a las torres de Hanoi ● Abrir puertas
  • 22. Capabilities ● Cinemática ● Vision & Object Recognition ● Localization ● Motion Planning/Navigation ● Mapping ● Grasping ● Object manipulation ● Machine Learning
  • 25. ¿Por qué escoger ROS? ● Llegar mas allá en nuestros proyectos ● Una metodología y unos convenios definidos para el desarrollo de software en robótica. ● Fomentará la interacción con otros grupos de investigación
  • 26. ROS Overview: Organización de Software PACKAGE - Nodos - Herramientas - Librerías - Definición de Mensajes - Definición de Servicios - Configuraciones despliegue
  • 27. ROS Overview: Comunidad Federación de repositorios con software para robots. En 2010: • Casi 200 Stacks • Mas de 100 Packages • Unos 50 Repositorios Federados • ROS: Wiki unificada y uniforme • Importancia de la integración sobre el desarrollo
  • 32. ROS Overview: Otras características ● Multi Lenguaje ● C++, python, Java, Octave, Lisp, RxLab ● Plataformas ● Linux, MacOS ● X86 y ARM
  • 33. ROS Overview: Origen Stanford ● Stanford IA Lab ● Stanfor Research Institute ● Gary Bradski (OpenCV) ● Brian Gerkley (Player) ● Oussama Khatib (Potential Fields) ● Jean-Claude Latobme (Robot Motion Planning) ● Sebastian Thrun (Probabilistic Robotics) ● Proyectos ● STAIR, OpenCV, Player/Stage, Darpa Grand Challenge, etc. http://www.stanford.edu/class/cs294b/teamMembers.html
  • 35. ROS vs Player ● Player ● Arquitectura cliente/servidor ● Mecanismo de desacoplamiento – Servicios ● Uso de ficheros de configuración ● ROS ● Arquitectura Distribuida P2P/Híbrida ● Mecanismo de desacoplamiento – Servicios – Mensajes ● Ej: Nube de puntos kinect, vs videre, vs hyokoyu
  • 37. Mecanismos de reusabilidad ● Servicios estandarizados ● Mensajes estandarizados ● Facilidad para la composición ● Múltiples procesos ● Interacción mediante capa de transporte agnóstica ● Independencia del Lenguaje
  • 38. Arquitectura P2P Híbrida Machine 1 HW Machine 2 properties Node Node SO Node Node Ros Master config topic Launch File topic
  • 40. Nodos ● Primitiva de funcionalida ● Sincronos Properties (*) ● Simple hilos ● Proceso (convenio) ● Dinámicos Services Topics msg msg Config.yaml
  • 41. Ejemplo de “Driver” Properties Services Usb= “dev /ttyUSB3” Freq= 30 On/Off Coordinate_frame=”head” Change Units Sensor Fussion IMU #inclue <ros/ros.h> #include <common_msgs/Pose.h>” Topics #include <stdio.h> Void Main () { Robot Pose //create Node .... //create service On_Off .... //advertise topic RobotPose Open(..) //usb to read drivers } *En realidad las properties se almacenan en el rosmaster no en los nodos, aunque conceptualmente Puede verse como parámetros de configuración de uno o varios nodos. De ahí la representación propuesta.
  • 42. Ejemplo de “capacidad” Localización mediante EKF ● robot_pose_efk /odom robot_pose_ekf /odom_combined /imu_data sensor_timeout=1 Freq=30 ...
  • 43. Ejemplo de “capacidad”: SLAM ● Librería OpenSlam ● Paquete slam_gmapping ● Nodo como una capacidad (framework) openslam.lib /dynamic_map /tf /gmapping/tf_frames gmapping /clock /map_metadata /laser_scan /map --------- --------- --------- /gmapping_entropy ---------
  • 45. Composición de funcionalidad: Launch Files ● Componentes de alto nivel (capacidades) ● Aplicaciones (finales) ● Configuración inicial pero evolución dinámica Launch ● Posibilidad de distintas máquinas, etc. Launch Ros Master Launch
  • 46. Arquitectura ROS: Ros Master ● Servicios de nombres ● Servicios de páginas amarillas ● Almacén de propiedades ● Singleton
  • 47. Mecanismos de Interacción de alto Nivel ● Action ● State Machines/ Workflows ● Ejemplo paper toallas
  • 48. Eficiencia en el Transporte ● También existen paquetes con librerias ● Funcionalidad extra para traducción a tipos de mensaje, servicios, etc. ● Ejemplo KDL, OpenCV, PCL ● Nodelets ● Nodos en el mismo proceso ● ros_realtime ● Comprueben experimentalmente la frecuencia de los topics
  • 50. Herramientas ● Desarrollo ● Rosmake, rxdeps, genmsg, roslocate, rosmsg, rosrv, gtests, cmake, rosbag, roscd ● Inspección y Monitorización ● Rviz, rostopic, rosconsole,rxgraph, rosnode, rxplot ● Despliegue y Configuración ● Rosrun, roslaunch, yaml ● Documentación: Ros.org, code.ros.org ● Simulación ● Otras herramientas (no core) ● (parte II)
  • 51. DEMO PR2 - GAZEBO
  • 53. Cinemática y Sistemas de Referencia ● TF ● KDL ● URDF ● Robot State Publisher ● Joint State Publisher ● Arm Kinematics
  • 54. TF ● Dónde estaba el frame de la cabeza relativo al frame del mundo hace 5 segundos? ● Cúal es la pose del frame del objeto respecto a las garras de mi brazo robótico? ● Cúal es la pose actual de la base actual del robot respecto a la baase de otro robot? http://www.ros.org/wiki/tf
  • 56. SLAM ● VSlam ● Presentación ● Paper ● Tutorial ● gmapping ● kartoMapping ● graphmapping
  • 57. Motion Planning ● Sampling Based Planning Methods (ompl) ● RRT, EST, SBL ● Métodos discretos (sbpl) ● AD*, D*, ARA* ● Métodos con consideraciones dinámicas y cinemáticas ● CHOMP, STOMP
  • 59. Drivers Útiles ATC ● Kinect ● Cámara Stereo Vídere ● Laser Hokuyo ● Erratic ● Cámaras ● IMU ● Arduino? ● Joysticks
  • 60. ROS y sistemas multi agentes ● Infrestructura necesaria para su desarrollo ● Arquitectura distribuida híbrida ● Sistemas de páginas amarillas ● Interacción: servicios, topics, parámetros
  • 61. UAVs ● UAVs Using ROS
  • 62. Desventajas de ROS ● Objetivos muy ambiciosos ● Tratar con software muy varirado (librerías hechas a imagen y semejanza del autor) ● Integrar aplicaciones no es inmediato ● Leer documentación ● Revisar código hecho ● Depurar ● Curva de aprendizaje relativamente costosa ● Exponer una librería en ROS tampoco es gratis ● Continuos cambios y evolución (software obsoleto) ● No soporte (por ahora) para Windows u otros sistemas empotrados ● Desesperante cantidad de sotware (también hay paja)
  • 63. Ventajas ● Inumerables ● Reducir el tiempo invertido en infraestructura y centrate en la investigación ● Abordar en problemas de alto nivel ● Te permite acelerar el aprendizaje ● Viendo código de otros ● Viendo documentación de otros ● Fomenta el trabajo en equipo y establece convenios, procesos y metologías para hacer software reusable.