Software libre en Rob´ otica: proyecto JdeRobot http://jderobot.org
[email protected]
2016-01-20
Contenidos
2
Contenidos Introducci´on Entorno JdeRobot • componentes distribuidos, ICE • drivers, HAL • tools Ejemplos de uso Proyecto de software libre Trabajos recientes Oferta actual
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Introducci´ on
3
Introducci´ on
Cada vez hay m´as robots que resuelven tareas. La rob´ otica es una profesi´on de futuro (y presente!). Aspiradoras rob´ oticas Coches aut´onomos Drones Log´ıstica, almacenes Envasado
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
¿Qu´ e es un robot? Componentes
4
¿Qu´ e es un robot? Componentes Sistema inform´atico con: Sensores Actuadores Computador Hay que programarlo para que consiga sus objetivos y sea sensible a la situaci´on. La inteligencia reside en su software
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Software para robots
5
Software para robots Determina el comportamiento del robot Establece c´omo se coordinan la percepci´ on y la actuaci´on 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 c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Software para robots
6
Requisitos espec´ıficos Vivacidad, agilidad (tiempo real) Multitarea (concurrencia, m´ ultiples fuentes de actividad) Distribuido, comunicaciones Interfaz gr´afica, depuraci´ on Expandible Conectado a la realidad f´ısica Hardware heterog´eneo Reutilizar software es dif´ıcil
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Software para robots
7
Sistemas operativos y plataformas Aplicación Aplicación Drivers
Hardware del robot
Plataforma Desarrollo Sistema Operativo
Hardware del robot
Procesadores empotrados (robots peque˜ nos) o PC (medianos-grandes). Sistemas operativos: dedicados o generalistas Middleware para simplificar la creaci´ on de aplicaciones rob´oticas
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Software para robots
8
Empezar de cero con cada robot, cada uno su entorno de programaci´on Reutilizar software es dif´ıcil Encapsular funcionalidad o comportamientos es dif´ıcil Tendencia a software orientado a componentes Tendencia a interfaces expl´ıcitos
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Software para robots
9
¿Qu´ e proporciona una plataforma sw para robots?
Abstracci´on (HAL)
del
hardware
Arquitectura software Funcionalidades de uso com´ un Arquitectura cognitiva Comerciales, investigaci´ on, software libre Ingenier´ıa software: orientaci´ on a objetos, distribuci´on ROS, Orca, Carmen, OROCOS, ERSP, Player/Stage, Claraty, etc.
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Entorno JdeRobot
10
Entorno JdeRobot Plataforma para aplicaciones en rob´ otica, visi´ on artificial y dom´otica Componentes distribuidos Middleware ICE de comunicaciones Multiplataforma, multilenguaje Drivers, HAL Tools, Libs Simulador Gazebo Usa bibliotecas est´andard: OpenCV, PCL...
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Entorno JdeRobot
11
Drivers
C´amaras Sensores RBGD (Kinect1,Kinect2, Xtion...) Robot Pioneer Robot Kobuki Sensores l´aser Drones: ArDrone de Parrot Humanoide Nao
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Entorno JdeRobot
12
Tools
Visores y teleoperadores OpenCVdemo ColorTuner CameraCalibrator VisualHFSM Recorder-Replayer
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Proyecto de software libre
13
Proyecto de software libre HAL estabilizado Nuevas herramientas internas GSoC-2015 Instalaci´on m´as f´acil Curso de drones VisualHFSM Tecnolog´ıas web, browsers
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Proyecto de software libre
14
Estabilizaci´ on de acceso al hardware ArDrone2 GPS (y 3DR Solo viniendo) Kinect simulado y volador Kobuki Interfaz c´amara, compresi´ on Kinect2
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Proyecto de software libre
15
Nuevas herramientas internas Github y GitLab Issues y PullRequests Ingl´es correo, web Jenkins CMake asent´andose Backups
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Proyecto de software libre
16
GSoC-2015
Andrei Lihang Satyaki Viaje a Google
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Proyecto de software libre
17
Instalaci´ on m´ as sencilla apt-get install jderobot-core jderobot-deps manual mejorando
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Proyecto de software libre
18
Cursos de drones 2 b´asicos http://jderobot.org/Programacion-de-drones 1 avanzado http://jderobot.org/Programacion-avanzada-de-drones 63 estudiantes
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Proyecto de software libre
19
Prioridades 2016 Mejorar manual web Tecnolog´ıas web ROS: compatibilidad, ficheros Bag Asentar VisualHFSM Campeonato de programaci´ on drones GSoC-2016: proyectos y mentores
c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot
Trabajos recientes
20
Trabajos recientes http://jderobot.org/Students Tecnolog´ıas web (Aitor) Drone aterrizando encima de un coche (Andr´es) Sistema dom´otico con Ruby sobre Rails (Edgar) Realidad Aumentada (Yazmin y Daniel) Localizaci´on visual en 3D con balizas (Alberto)
c
2016 GSyC
Software libre en Rob´ otica: 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 c
2016 GSyC
Software libre en Rob´ otica: proyecto JdeRobot