software libre en rob otica: ros y jderobot · ingenier a software: orientaci on a objetos,...
TRANSCRIPT
![Page 2: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/2.jpg)
2
Contenidos
La robotica es util (y mola!)
Software en robotica
Un caso de (mucho) exito: ROS
JdeRobot
c©2019 RoboticsLabURJC
![Page 3: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/3.jpg)
La robotica es util (y mola!) (cont.) 3
La robotica es util (y mola!)
Robotica ficcion vs Robotica real
Dull, Dirty, Dangerous
La robotica ha salido de los laboratorios
Aplicaciones reales, masivas
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 4: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/4.jpg)
La robotica es util (y mola!) (cont.) 4
Industria automovilıstica
Coches autonomos
Gestion de almacenes
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 5: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/5.jpg)
La robotica es util (y mola!) (cont.) 5
Hogar: aspiradoras
Medicina
Envasado de alimentos
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 6: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/6.jpg)
La robotica es util (y mola!) (cont.) 6
¿Que es un robot? Componentes
Sistema informatico con:
Sensores
Actuadores
Computador
Hay que programarlo para que consiga sus
objetivos y sea sensible a la situacion.
La inteligencia reside en su software
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 7: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/7.jpg)
La robotica es util (y mola!) 7
Sensores
Camaras, RGBD
US, Laser, LIDAR
Encoders
Actuadores
Motores electricos
Locomocion
Manipulacion
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 8: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/8.jpg)
Software para robots 8
Software para robots
Determina el comportamiento del robot
Establece como se coordinan la percepcion y la actuacion
No hay una manera universalmente aceptada de programarlos
Lenguajes: ensamblador, C/C++, python...
Los sistemas roboticos son sistemas complejos (el tamano importa)
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 9: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/9.jpg)
Software para robots 9
Requisitos especıficos
Vivacidad, agilidad (tiempo real)
Multitarea (concurrencia, multiples fuentes de actividad)
Distribuido, comunicaciones
Interfaz grafica, depuracion
Expandible
Conectado a la realidad fısica
Heterogeneidad dispositivos hardware
Encapsular funcionalidad o comportamientos es difıcil
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 10: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/10.jpg)
Software para robots 10
Tendencias
Antes: cada robot su entorno de programacion
Ingenierıa software: orientacion a objetos, distribucion
Software orientado a componentes
Interfaces explıcitos
Reutilizar software es difıcil, pero muy ventajoso
Plataformas software robotico
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 11: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/11.jpg)
Software para robots 11
Plataformas de software robotico
Hardware del robot
Drivers
Aplicación
Hardware del robot
Aplicación
Plataforma
Sistema Operativo
Desarrollo
Procesadores empotrados (robots pequenos) o PC (medianos-grandes).
Sistemas operativos: dedicados o generalistas
Middleware para simplificar la creacion de aplicaciones roboticas
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 12: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/12.jpg)
Software para robots 12
¿Que proporciona una plataforma?
Abstraccion hardware (HAL)
Arquitectura software
Funcionalidades de uso comun
Herramientas
Comerciales, investigacion, software libre
ROS, Urbi, YARP, Orca, OROCOS, Player/Stage, Claraty, MSRS
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 13: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/13.jpg)
Software para robots 13
Simuladores
Madurar algoritmos
Comodidad trabajar sin robot
Las caıdas no duelen
Mundo, sensores y actuadores
Motor fısico: ODE
Gazebo, V-REP, Stage, Webots, MORSE
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 14: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/14.jpg)
Software para robots 14
Ejemplos
drivers
Aplicación C
BrickOS
OPEN−R
Aplicación C++
APERTOS
ARIA
Aplicación C++
P2OS / AROS
Linux / MS−WindowsNaoqi
Linux
Aplicación C++/Python
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 15: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/15.jpg)
Robot Operating System (ROS) 15
Robot Operating System (ROS)
Middleware para software robotico
Evitar la reinvencion de la rueda: comunicaciones, drivers...
Gratis y software libre: https://ros.org
Coleccion de paquetes
C/C++, Python
Comunidad enorme (usuarios, desarrolladores, soporte...)
Standard de facto en robotica de servicios
Sobre Linux principalmente
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 16: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/16.jpg)
Robot Operating System (ROS) 16
Un poco de historia (2006-2019)
Stanford (-2008)
Personal Robotics Program
WillowGarage (-2014)
Gazebo, Turtlebot
OSRF (-2017)
OpenRobotics (-today)
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 17: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/17.jpg)
Robot Operating System (ROS) 17
Caracterısticas
Aplicaciones roboticas distribuidas en nodos que se comunican
Standard robot messages
Drivers
Herramientas
Capacidades
Aumenta la interoperacion y reutilizacion de sw robotico
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 18: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/18.jpg)
Robot Operating System (ROS) 18
Comunicaciones
Topics: publicacion-suscripcion, asıncronos y anonimos
Services: RPC, bloqueantes
Actions: interrumpibles
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 19: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/19.jpg)
Robot Operating System (ROS) 19
Herramientas
ROSbags, recording and playback
RViz, visualizador 3D
Rqt-graph, grafo de computo
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 20: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/20.jpg)
Robot Operating System (ROS) 20
Capacidades
Nodos (stacks) con implementacion de algoritmos punteros
Localizacion
Construccion de mapas
Navegacion
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 21: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/21.jpg)
Robot Operating System (ROS) 21
Tendencias
ROS-Industrial
ROS2: DDS
• security
• real-time
• no single point of failure (roscore)
Ignition simulator
• cloud
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 22: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/22.jpg)
JdeRobot 22
JdeRobot
Gratis y software libre: https://jderobot.org
Nacio en la URJC
C/C++, Python, JavaScript
Linux
De plataforma a toolkit
Adaptacion a ROS, de drivers ICE a drivers ROS
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 23: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/23.jpg)
JdeRobot 23
Proyectos
Herramientas de programacion de robots
DeepLearning, redes neuronales
percepcion y comportamientos
FPGAs en robotica
VisualSLAM
Educacion en robotica
RoboticsAcademy, Unibotics
Drones
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 24: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/24.jpg)
JdeRobot 24
Algunos productos
VisualStates
Unibotics
Conduccion autonoma
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 25: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/25.jpg)
JdeRobot 25
Actividades
RoboticsClub
Competiciones: IROS 2018
Google Summer of Code 2015,2017,2018,2019
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot
![Page 26: Software libre en rob otica: ROS y JdeRobot · Ingenier a software: orientaci on a objetos, distribuci on Software orientado a componentes Interfaces expl citos Reutilizar software](https://reader034.vdocumenti.com/reader034/viewer/2022051604/5ffaf9a086eb7b15d7297531/html5/thumbnails/26.jpg)
JdeRobot 26
Infraestructura de desarrollo
Muuuuchas lıneas de codigo (https://github.com/JdeRobot)
De svn a gitlab y github: incidencias y parches
Documentacion: de mediawiki a github pages
CI-CD, jenkins...
Slack, Hangouts
YouTube channel
Twitter @JdeRobot
c©2019 RoboticsLabURJC Software libre en robotica: ROS y JdeRobot