Software libre en Robótica: proyecto JdeRobot
http://jderobot.org
[email protected]
2016-01-20
Contenidos
2
Contenidos
Introducción
Entorno JdeRobot
• componentes distribuidos, ICE
• drivers, HAL
• tools
Ejemplos de uso
Proyecto de software libre
Trabajos recientes
Oferta actual
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Introducción
3
Introducción
Cada vez hay más robots que re-
suelven tareas. La robótica es una
profesión de futuro (y presente!).
Aspiradoras robóticas
Coches autónomos
Drones
Logística, almacenes
Envasado
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
¿Qué es un robot? Componentes
4
¿Qué es un robot? Componentes
Sistema informático con:
Sensores
Actuadores
Computador
Hay que programarlo para que consiga sus
objetivos y sea sensible a la situación.
La inteligencia reside en su software
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Software para robots
5
Software para robots
Determina el comportamiento del robot
Establece cómo se coordinan la percepción y la actuación
No hay una manera universalmente aceptada de programarlos
Lenguajes: ensamblador, C, C++ (de bajo y alto nivel)
Heterogeneidad
• Dispositivos hardware
• Encapsular funcionalidad
Requisitos específicos
Sistemas operativos y plataformas
Simuladores
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Software para robots
6
Requisitos específicos
Vivacidad, agilidad (tiempo real)
Multitarea (concurrencia, múltiples fuentes de actividad)
Distribuido, comunicaciones
Interfaz gráfica, depuración
Expandible
Conectado a la realidad física
Hardware heterogéneo
Reutilizar software es difícil
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Software para robots
7
Sistemas operativos y plataformas
Procesadores empotrados (robots pequeños) o PC (medianos-grandes).
Sistemas operativos: dedicados o generalistas
Middleware para simplificar la creación de aplicaciones robóticas
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Hardware del robotDriversAplicaciónHardware del robotAplicaciónPlataformaSistema OperativoDesarrollo Software para robots
8
Empezar de cero con cada robot, cada uno su entorno de programa-
ción
Reutilizar software es difícil
Encapsular funcionalidad o comportamientos es difícil
Tendencia a software orientado a componentes
Tendencia a interfaces explícitos
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Software para robots
9
¿Qué proporciona una plataforma sw para robots?
Abstracción
(HAL)
del
hardware
Arquitectura software
Funcionalidades de uso común
Arquitectura cognitiva
Comerciales, investigación, software libre
Ingeniería software: orientación a objetos, distribución
ROS, Orca, Carmen, OROCOS, ERSP, Player/Stage, Claraty, etc.
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Entorno JdeRobot
10
Entorno JdeRobot
Plataforma para aplicaciones en robótica, visión artificial y domótica
Componentes distribuidos
Middleware ICE de comunicaciones
Multiplataforma, multilenguaje
Drivers, HAL
Tools, Libs
Simulador Gazebo
Usa bibliotecas estándard:
OpenCV, PCL...
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Entorno JdeRobot
11
Drivers
Cámaras
Sensores RBGD
(Kinect1,Kinect2, Xtion...)
Robot Pioneer
Robot Kobuki
Sensores láser
Drones: ArDrone de Parrot
Humanoide Nao
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Entorno JdeRobot
12
Tools
Visores y teleoperadores
OpenCVdemo
ColorTuner
CameraCalibrator
VisualHFSM
Recorder-Replayer
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Proyecto de software libre
13
Proyecto de software libre
HAL estabilizado
Nuevas herramientas internas
GSoC-2015
Instalación más fácil
Curso de drones
VisualHFSM
Tecnologías web, browsers
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Proyecto de software libre
14
Estabilización de acceso al hardware
ArDrone2 GPS
(y 3DR Solo viniendo)
Kinect simulado y volador
Kobuki
Interfaz cámara, compresión
Kinect2
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Proyecto de software libre
15
Nuevas herramientas internas
Github y GitLab
Issues y PullRequests
Inglés correo, web
Jenkins
CMake asentándose
Backups
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Proyecto de software libre
16
GSoC-2015
Andrei
Lihang
Satyaki
Viaje a Google
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Proyecto de software libre
17
Instalación más sencilla
apt-get install jderobot-core
jderobot-deps
manual mejorando
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Proyecto de software libre
18
Cursos de drones
2 básicos
http://jderobot.org/Programacion-de-drones
1 avanzado
http://jderobot.org/Programacion-avanzada-de-drones
63 estudiantes
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Proyecto de software libre
19
Prioridades 2016
Mejorar manual web
Tecnologías web
ROS: compatibilidad, ficheros Bag
Asentar VisualHFSM
Campeonato de programación drones
GSoC-2016: proyectos y mentores
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Trabajos recientes
20
Trabajos recientes
http://jderobot.org/Students
Tecnologías web (Aitor)
Drone aterrizando encima de un coche (Andrés)
Sistema domótico con Ruby sobre Rails (Edgar)
Realidad Aumentada (Yazmin y Daniel)
Localización visual en 3D con balizas (Alberto)
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Oferta actual
21
Oferta actual
Autocontenidos, reuniones semanales
Repositorio y mediawiki propios
Todos son “de programar”
Drones
Sensores RGBD
Teaching Robotics
VisualSLAM
Gazebo
ROS
c2016 GSyC
Software libre en Robótica: proyecto JdeRobot
Comentarios de: Software libre en Robótica: proyecto JdeRobot (0)
No hay comentarios