Publicado el 7 de Abril del 2019
464 visualizaciones desde el 7 de Abril del 2019
464,9 KB
23 paginas
Creado hace 10a (22/10/2013)
Jderobot 5.1
Maikel González Baile
Jderobot 5.1
Índice:
● Introducción
● Componentes
● Cmake
● Paquetes debian
● Dudas o preguntas
Introducción
● ¿Qúe es un robot?
RAE: “Máquina o ingenio electrónico programable
capaz de manipular objetos y realizar operaciones
antes reservadas solo a las personas.
● Ingredientes:
– Sensores
– Actuadores
– Procesadores
La inteligencia reside en su software.
● Robótica.
Software para robots
● Software → determina comportamiento del robot.
● Coordinación entre percepción y actuación.
● Requisitos específicos: agilidad, multitarea,
distribuido, hw heterogéneo.
● Plataformas de programación de robots:
– HAL
– APIs
– Orientado a componentes
– Reutilización de código
● ROS, Player/Stage, ORCA
Jderobot
● Orientado a componentes, Linux, C++
● Distribuido, ICE
● Mucho software externo: Gazebo, OpenCV, ICE,
PCL, OpenNi
● Librerías propias.
● Más de 60.000 líneas!!!
● Comunidad, listas, wiki, http://jderobot.org
● Evolución: jde.c, jdeneo.c, jde+, jderobot 4.3,
Jderobot 5.0 y … Jderobot 5.1
● Docencia, investigación, aplicaciones
Jderobot 5.1
Índice:
● Introducción
● Componentes
● Cmake
● Paquetes debian
● Dudas o preguntas
Componentes
● Unidad mínima de Jderobot.
● Funcionalidad propia.
● Proceso independiente.
● Combinación de varios, comportamientos más
complejos.
● Varios tipos, entre ellos:
– Componentes-driver (HAL).
– Componentes-herramienta.
Basic Component
● ¿Qué hace?
● ¿Qué aporta?
– Nuevo esqueleto.
– Base para nuevas aplicaciones
– Ejemplo para nuevos desarrolladores de Jderobot.
Introrob
● ¿Qué hace?
– Herramienta docente
– Gazebo 1.5
– GUI
– MyAlgorithms.cpp
– API:
● SetV(5)
● GetLaser()
● drawSphere(x,y,z)
● ¿Novedades?
– Nueva GUI
– Nuevo esqueleto
– Mejora API (local)
Reconstrucción 3D
Gazeboserver
● ¿Qué hace?
– Driver que se comunica con Gazebo y componentes.
● ¿Diferencias con versión antigua?
– Proceso independiente → Conjunto de librerías (plugins).
– Nuevos mundos donde se define qué plugins cargar.
● ¿Mejoras?
– Flexibilidad del código.
– Más configurable.
– Soporte nueva versión Gazebo 1.5
TELEOPERATOR
● ¿Qué hace?
● ¿Cambios?
– Nuevo esqueleto.
– Interfaces dinámicas.
WiimoteClient &
WiimoteServer
● ¿Qué hacen?
● ¿Cambios?
– C → C++
– Memoria compartida →
ICE
– Nueva interfaz Wiimote
– GUI para WiimoteClient
– Nuevo esqueleto
Jderobot 5.1
Índice:
● Introducción
● Componentes
● CMake
● Paquetes debian
● Dudas o preguntas
CMake
● Herramientas de construcción de software:
– Construyen el código fuente: Ejecutables, librerías,
dependencias...
– Autotools, CMake, SCons, Boost bjam …
● ¿Qué aportan?
– Facilidad al usuario
● Más información de qué ocurre.
● Simples comandos → gran potencia.
– Facilidad al desarrollador
● Integrar nuevos aportes más rápido.
● Reutilizar configuraciones.
Jerarquía de directorios Jderobot
CMake
● Sustituye Autotools:
– Uso más sencillo.
– Acogido por gran cantidad de proyectos: OpenCV, Ogre,
Gazebo …
● CMakeLists.txt: nombre del proyecto, dependencias,
ficheros fuente, librerías a enlazar y reglas para
instalar/desinstalar.
● ¿Cómo funciona?
– CMakeLists.txt raíz llama a otro/s. (ver esquema)
● Funcionalidad:
– Compilación desde trunk/
– Compilación por componentes.
– Compilación independiente.
Jderobot 5.1
Índice:
● Introducción
● Componentes
● Cmake
● Paquetes debian
● Dudas o preguntas
Paquetes debian
● Colección de ficheros que incluyen todos los archivos
necesarios que componen un software
● Información de cómo instalar el software
● Dependencias de paquetes
● Formato de los paquetes:
– Deb (Debian, Ubuntu, Mint)
– RPM (Red Hat, Fedora, OpenSuse)
● Herramientas utilizadas:
– Dpkg: Empaquetar software.
– Gestores de paquete: apt/aptitude, yum, Zypper
– CMake
– Repositorios
Paquetes debian en Jderobot
● Aporta mayor usabilidad al proyecto
● Fácil instalación de todo el software
● Ubuntu 12.04 y Debian Testing (Wheezy)
● Jderobot 5.0 un paquete
● Jderobot 5.1 paquetes atómicos
● Software externo paquetizado (no oficial)
● Metapaquetes o paquetes virtuales
Jderobot 5.1
Índice:
● Introducción
● Componentes
● Cmake
● Paquetes debian
● Dudas o preguntas
Comentarios de: Jderobot 5.1 (0)
No hay comentarios