SlideShare una empresa de Scribd logo
1 de 31
Control de robot móvil basado en Arduino y
Raspberry PI
Integración de ROS (Robot Operating
System) con Arduino y Raspberry PI
Álvaro Ángel Romero Gandul
Jesús Vico Serrano
ÍNDICE
1. INTRODUCCIÓN
2. ESTADO DEL ARTE
1. ESTADO DEL ARTE
2. ESTADO DEL ARTE II : CONCLUSIONES
3. ESTADO DEL ARTE III : SOLUCIÓN ADOPTADA
3. PLATAFORMAS : CARACTERÍSTICAS
4. ROS
1. ROS : INTRODUCCIÓN
2. ROS II : FEATURES
3. ROS III : CONCEPTOS BASICOS
4. ROS IV: ESQUEMA DE FUNCIONAMIENTO
5. INSTALACIÓN
6. ROBOT OBJETIVO
7. MODELO 1
8. MODELO 2
9. CONCLUSIONES
INTRODUCCIÓN
Plataformas
Instalación
de entorno
de trabajo
Integración
de sistemas
y
plataformas
Diseño y
Aplicación
Estudio del
estado del
arte
Objetivos
ESTADO DEL ARTE
Control mediante
Microcontroladores
Ejemplos :
PIC
PLC
Motorola HC8000
Ventajas
•Control de tiempo de
ejecución
•Mayor especialización
•Integración
•Recursos dedicados
Inconvenientes
•Mayor coste
•No placas de propósito
general
•Software privativo
Control basado en
Arduino
Arduino Mega ADK:
hardware y software libre
Ventajas
•Numerosos pines I/O
•Pines digitales y analógicos
•Facilidad de
programación
•Placa de propósito general
Inconvenientes
•Frecuencia de reloj
•Versatilidad en lenguajes
•Control de tiempo de
ejecución
•Memoria de programa
Control Raspberry Pi
Placa de propósito
general con
arquitectura ARM6.
S.O GNU/Linux
Ventajas
•Control total a bajo nivel
de cada pin I/O
•Lenguaje de
programación sencillo y
orientado a objetos
•Simplicidad de desarrollo
•Entorno amigable
Inconvenientes
•Pines de propósito general
reducidos
•Nivel digital de 3,3V
•Requisitos de alimentación
•Robustez
•Capacidad de
procesamiento
Control basado en
Rasp. Pi + Arduino
Se compensan
limitaciones de ambas
plataformas por
separado
Ventajas
•Multiples y variadas
interfaces
•Comunicación entre
placas
•Entorno amigable
•Posibilidad de instalación
de SO especializado
 Alternativas estudiadas en cuanto a plataformas de control y
programación de robots
ESTADO DEL ARTE II : CONCLUSIONES
 La solución adoptada, basada en las plataformas Arduino + Raspberry Pi,
ofrece un marco de desarrollo de bajo coste , propósito general y gran
flexibilidad.
 Problemas
 Comunicación entre ambas placas
 Niveles lógicos diferentes en puertos serie y pines digitales ( 3,3V vs 5V)
 Riesgo real de inutilización de pines dedicados en Raspberry Pi
 Solución
Arquitectura
basada en Linux
SO libres
especializados
en control de
robots
Middleware
para
comunicaciones
ESTADO DEL ARTE III : SOLUCIÓN ADOPTADA
Librerías RosArduino
PLATAFORMAS : CARACTERÍSTICAS
 Sistema Operativo: Linux
ARM Raspbian wheezy (
basado en Debian)
 Alimentación : 5V 3.5W
 CPU: ARM1176JZF-S
700Mhz
 GPU: Broadcom
VideoCore IV
 Memoria RAM: 512 MB
compartidos con GPU
 Almacenamiento:
Tarjeta de memoria SD
de 8 GB
 Interfaces
 1 puerto Ethernet RJ-45
100Mbps.
 2 puertos USB 2.0
 Microcontrolador: ATmega2560
 Alimentación: 5V
 Entrada: 7-12V
 Límites (max): 5.5-16V
 Pines digitales: 54 (14 con PWM)
 Pines analógicos: 16
 Corriente por pin: 40 mA
 Corriente sobre pin 3,3V: 50 mA
 Memoria Flash (programa): 256 KB (8 KB
usados para el bootloader)
 SRAM: 8 KB
 EEPROM: 4 KB
 Reloj: 16 MHz
 1 micro USB
 1 puerto HDMI
 1 puerto 3.5MM Audio
(Jack)
 1 interfaz RCA video
 Conector CSI para
cámara
 1 cabecera JTAG
 1 puerto DSI para
display digital.
 8 pines de propósito
general.
 Interfaz SPI
 Interfaz I2C
 Interfaz UART
Raspberry
PI
Arduino
MEGA ADK
ROS : INTRODUCCIÓN
•ROS (en inglés Robot Operating System, ROS) o Sistema
Operativo Robótico, es un framework para el desarrollo de
software para robots que provee la funcionalidad de un
sistema operativo en un clúster heterogéneo
¿Qué es?
•ROS provee los servicios estándar de un sistema operativo tales
como abstracción del hardware, control de dispositivos de bajo
nivel, implementación de funcionalidad de uso común, paso
de mensajes entre procesos y mantenimiento de paquetes
•ROS proporciona librerías y herramientas para ayudar a los
desarrolladores de software a crear aplicaciones robóticas,
abstracción de hardware, los controladores de dispositivo,
bibliotecas, visualizadores, paso de mensajes, gestión de
paquetes y más, bajo licencia de código abierto BSD
¿Para qué sirve?
ROS II (FEATURES)
Middleware de
comunicaciones
Abstracción a
alto nivel
Publicador/
subscriptor
Rviz
Rqt
Herramientas Shell
Rosbag
Rosserial
Tutoriales
Navegación
Lenguaje de
descripción de
robot
Diagnóstico
HerramientasComunicación
Paquetes
específicos
Características
especiales
ROS III (CONCEPTOS BÁSICOS)
 Roscore
 El servicio roscore está constituido por una serie de nodos y programas que son
pre-requisitos del sistema base ROS. Se ha de tener una instancia de roscore
funcionando para que los nodos de ROS puedan comunicarse
 Nodos
 Un nodo es un proceso que realiza la computación.
 Son entidades ejecutadas en el sistema que implementan la rutina de control
del robot
 Topics
 Son buses a través de los cuales se intercambian mensajes entre los nodos.
 Si un nodo está interesado en un tipo de dato en concreto se subscribe al topic
en cuestión
ROS IV: ESQUEMA DE FUNCIONAMIENTO
Topic A
NODO A
Topic B
Topic C
Topic A
Topic B
Topic C
NODO B
Nodo
Publicador/suscriptor
Topic
Basado en Debian
Wheezy
Raspi Config
Configuración de
interfaz de red WLAN y
XDRP
Actualización de
paquetes
Tipos de instalación:
•Desde fuente (svn)
•Desde repositorio (binary
packages)
Rosserial Arduino
Inexistencia de
retrocompatibilidad
entre versiones
Repositorios
desactualizados
Soporte limitado para
versiones no recientes
INSTALACIÓN
Gestión mediante
SSH
Gestión mediante
escritorio remoto
ROBOT OBJETIVO
 Cebekit C-8090
Robot móvil de 6
ruedas
Dos motores DC
con 170rpm de
velocidad
nominal
Alimentación
mediante baterías
(6V por motor)
Grupo reductor
independiente
MODELO 1
 Diseño de aplicaciones móviles robot utilizando las características y
funcionalidades de la asociación Raspberry PI + Arduino + ROS
 Aspectos principales
Sensores
Android
Sensores i2c
Sensores
genéricos
Integración
de cámara
on-board
Control PWM
Nodo Ras.Pi
• Rutinas de control
• Publicación y
subscripción
Nodo Arduino
• Publicación datos
sensores
• Rutinas de
actuación
• Migración de paquetes del
núcleo a Github
• Nuevo sistema de construcción
de paquetes Catkin (sustituye a
rosbuild)
• Nuevas herramientas: GUI-rqt
• Resideño de rviz
• Reescritura de librerías pluginlib y
class_loader
• Pluggins c++
• Herramientas que no usan
Catkin
• Transición del entorno Wt a Qt
MODELO 1.1 : DESCRIPCIÓN
 Estacion meteorológica móvil geolocalizada
 Sistema controlado en entorno WLAN
 Sensores que usan el bus i2c
 Temperatura
 Humedad
 Presión
 Localización GPS facilitada por Smartphone Android
 El usuario indica coordenadas GPS a las que desea enviar la estación
 Funcionamiento controlado por sensor lumínico de Smartphone Android
 Cámara On-Board
 Funcionalidad de Streaming y captura de imágenes
Integración
Android Sensor
Driver
Creación
paquete ROS
•Custome message
•Integración Raspberry
PI Camera
•Librerías Arduino
Programación
C++ Nodo
Arduino
•Publicadores para los
datos de sensores i2c
•Subscriptores al nodo
controlador
•Actuación PWM
Programación
C++ Nodo
Rasperry PI
•Publicadores y
subscriptores
•Algoritmos de alcance de
posición GPS
Wheater Shield
Raspberry PI Camera
MODELO 1.1: ESQUEMA DE FUNCIONAMIENTO
Publicación Tópic Android/Illuminance (Sensor lumínico)
Publicación Tópic Android/NavSatFix (GPS)
Subscriptor a
Android/Imu
Publicación Tópic Android/Imu (Acelerómetro)
Subscriptor a
Android/Illuminance
Subscriptor a
Android/NavSatFix
Publicador
Topic
Opcion
Publicador
Topic
Velocidad
Subscriptor
Topic Opcion
Subscriptor Topic
velocidad
Publicador Topic
i2c
NODO
RASPBERRY PI
Raspberry
Camera
NODO
ARDUINO
Custom Message
• 3 Float32
• Temperatura
• Humedad
• Presión
Float32
Velocidad PWM
Giro de los motores
MODELO 1.1: RQT_GRAPH
MODELO 1.2 : DESCRIPCIÓN
 Estación meteorológica móvil
 Funcionamiento autónomo
 Implementación de algoritmo de evitación de obstáculos en
el sentido de la marcha
 5 sensores de ultrasonido HC-SR04
 Funcionamiento controlado por sensor lumínico de Smartphone Android
 Las condiciones de baja luminosidad determinarán su
funcionamiento
 Cámara On-Board
 Funcionalidad de Streaming y captura de imágenes
Medida y
publicación de
distancias
Subscripción y
ejecución de
algoritmo de
control
•NODO Raspberry Pi
•Algoritmo de evitación
de obstáculos
•Publicación de señal
PWM
•Captura de imágenes
•NODO Arduino
NODO Arduino
•Actuación PWM
•Actuación sobre el
sentido de la marcha
•Publicación datos
meteorológicos
Raspberry PI Camera
MODELO 1.2 : ESQUEMA DE FUNCIONAMIENTO
Publicación Tópic
Android/Illuminance
(Sensor lumínico)
Subscriptor
Topic Opcion
Subscriptor Topic
velocidad
Publicador Topic
i2c
Subscriptor a
Android/Illuminance
Publicador
Topic
Opcion
Publicador
Topic
Velocidad
NODO
RASPBERRY PI
Raspberry
Camera
Subscriptor
Topic
Distancias
Publicador
Topic
Distancias
NODO
ARDUINO
Float32
Velocidad PWM
Giro de los motores
Trigger + echo x5 ( digital)
010101101
101010101
MODELO 1.2 : RQT_GRAPH
MODELO 2
 Se basa en el control de un robot móvil haciendo uso de la plataforma
Ras.Pi +Arduino y las posibilidades que ROS ofrece.
 Aspectos a tener en cuenta:
Control PWM
Uso de sensores
integrados en
smartphone
Sensores
integrados en PCB
customizada
Nodo A Rasp.Pi
• Ejecución de rutina de control en
función de datos de nodos
remotos
• Publicación de señales para
actuadores
• Frecuencia de ejecución de rutina
: 5 Hz
Nodo B Arduino Mega ADK
• Gestión de señales de control
para actuadores
• Tratamiento de señales de
sensores y publicación de las
mismas
ROS Fuerte
Instalación de
aplicación ROS
Android
Publicación de
datos de
sensores
Procesamiento
por parte de
Nodo A de datos
de acelerómetro
Publicación de
señales PWM
Gestión de
señales por parte
de Arduino y
activación de
actuadores
MODELO 2.1 : DESCRIPCIÓN
 Control de robot móvil desde smartphone Android.
MODELO 2.1 : ESQUEMA DE FUNCIONAMIENTO
 Esquema de funcionamiento
Publicación Tópic
Android/IMU
(acelerómetro)
Hacia IP 192.168.1.X IP 192.168.1.X
Suscriptor a Topic
Android/IMU
Aceleración lineal X, Y, Z
Publicación Topic Opción Publicación Topic Velocidad PWM
Motor izqd IN/ Motor der IN
Velocidad PWM
Suscriptor Topic Opción Suscriptor Topic Velocidad PWM
0101010101
0101010101
Float32Float32
MODELO 2.1: MONTAJE REALIZADO
 Montaje realizado y establecimiento de escenario
 Puente H como driver para los motores
 Batería de 12 voltios para alimentación
MODELO 2.2: DESCRIPCIÓN
 Robot evitador de obstáculos
Arduino Arduino Rasp.Pi Rasp.Pi Arduino
5 sensores HC-SR04
2 sensores LDR
Medida de
distancia a
obstáculos y
luminosidad
Publicación de
datos hacia
nodo A
Ejecución de
algoritmo de
control
Publicación de
señales PWM
Gestión de
señales por parte
de Arduino y
activación de
actuadores
 El control implementado dota al
robot de la capacidad de
evitación de obstáculos en su
marcha hacia delante.
 La activación del mismo se
puede configurar para
establecerse en condiciones de
alta y baja luminosidad
MODELO 2.2 : ESQUEMA DE FUNCIONAMIENTO
Suscriptor
Topic
Distances
Motor izqd IN/ Motor der IN
Trigger + echo x5 ( digital)
Publicador Topic Opción
010101101
101010101
Float32
LDR, Luminosidad x2 (analógico)
Float32
Publicador
Topic
Distances
Mensaje
distances
Suscriptor Topic Opción
Suscriptor Topic Velocidad
PublicadorTopic
Velocidad
Generación
de mensaje
customizado
5xFloat 32 para la
distancia a objetos de
cada sensor
2 x Float 32 para la
luminosidad captada
por cada LDR
MODELO 2.2 : PLACA PCB
 Para el rutado de las señales provenientes de sensores y hacia los
actuadores se ha diseñado un shield para Arduino customizado para este
propósito en el que se ha incluido toda la cirucuitería necesaria para el
funcionamiento del modelo en una placa de circuito impreso (PCB)
Diseño de
schematic
Diseño del Layout
Impresión de PCB
y montaje de
componentes
MODELO 2.2 : RESULTADO FINAL
 Montaje final  Funcionamiento
CONCLUSIONES
 En la programación de Robots móviles, encontramos en ROS una herramienta de gran potencia
en cuanto nos ofrece un framework de programación de alto nivel para ciertas funciones las
cuales suponen una complejidad añadida, y pasan a ser transparentes para al programador.
Todo esto, haciendo uso de una plataforma libre instalable sobre cualquier máquina capaz de
correr un sistema operativo GNU/Linux.
 ROS consta de herramientas muy útiles a la hora de programar funciones clave como la
comunicación entre procesos, la encapsulación y la reconstrucción de mensajes, así como la
posibilidad de generación de librerías para poder construir fácilmente mensajes customizados
de información a intercambiar entre los diferentes nodos del robot
 En cualquier caso la finalización de este proyecto, más que representar un final como tal, va
mucho más allá y abre las puertas a unas más que interesantes líneas de investigación y
desarrollo que podrían llegar a ser muy útiles de cara a interés personal pero sobre todo abre un
sinfín de posibilidades de cara a su continuación y/o trabajo sobre las bases establecidas para la
Universidad:
 Realización de laboratorios en el ámbito del control y programación de robots.
 Líneas de desarrollo y programación de aplicaciones robot.
 Investigación y desarrollo de aplicaciones más complejas y completas.
 Impartición y aprendizaje de nuevos conocimientos a nivel de software y hardware
GRACIAS POR SU ATENCIÓN

Más contenido relacionado

La actualidad más candente

End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...Vikas Shokeen
 
4G e LTE (Long Term Evolution)
4G e LTE (Long Term Evolution)4G e LTE (Long Term Evolution)
4G e LTE (Long Term Evolution)Lucas Sabadini
 
Call flow and MS attach in LTE
Call flow and MS attach in LTECall flow and MS attach in LTE
Call flow and MS attach in LTEShashank Asthana
 
Ericsson documents.mx ericsson-field-guide-for-utran
Ericsson documents.mx ericsson-field-guide-for-utranEricsson documents.mx ericsson-field-guide-for-utran
Ericsson documents.mx ericsson-field-guide-for-utranThananan numatti
 
Chap 2. lte channel structure .eng
Chap 2. lte  channel structure .engChap 2. lte  channel structure .eng
Chap 2. lte channel structure .engsivakumar D
 
CUADRO COMPARATIVO TIPOS DE SERVIDORES Y EL MANEJO DE SUS DATOS
CUADRO COMPARATIVO TIPOS DE SERVIDORES Y EL MANEJO DE SUS DATOS CUADRO COMPARATIVO TIPOS DE SERVIDORES Y EL MANEJO DE SUS DATOS
CUADRO COMPARATIVO TIPOS DE SERVIDORES Y EL MANEJO DE SUS DATOS Lina Chavez
 
Voice in 4G: CSFB, VoIP & VoLTE
Voice in 4G: CSFB, VoIP & VoLTEVoice in 4G: CSFB, VoIP & VoLTE
Voice in 4G: CSFB, VoIP & VoLTE3G4G
 
LTE Attach Call Flow_Vi.pptx
LTE Attach Call Flow_Vi.pptxLTE Attach Call Flow_Vi.pptx
LTE Attach Call Flow_Vi.pptxGaganVerma62
 
LTE Architecture and LTE Attach
LTE Architecture and LTE AttachLTE Architecture and LTE Attach
LTE Architecture and LTE Attachaliirfan04
 
NR_Frame_Structure_and_Air_Interface_Resources.pptx
NR_Frame_Structure_and_Air_Interface_Resources.pptxNR_Frame_Structure_and_Air_Interface_Resources.pptx
NR_Frame_Structure_and_Air_Interface_Resources.pptxBijoy Banerjee
 
Modul 5 bss parameter
Modul 5   bss parameterModul 5   bss parameter
Modul 5 bss parameterWijaya Kusuma
 

La actualidad más candente (20)

End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
 
Présentation GSM
Présentation GSMPrésentation GSM
Présentation GSM
 
4G e LTE (Long Term Evolution)
4G e LTE (Long Term Evolution)4G e LTE (Long Term Evolution)
4G e LTE (Long Term Evolution)
 
3G basic
3G basic3G basic
3G basic
 
Ospf
OspfOspf
Ospf
 
Call flow and MS attach in LTE
Call flow and MS attach in LTECall flow and MS attach in LTE
Call flow and MS attach in LTE
 
Ericsson documents.mx ericsson-field-guide-for-utran
Ericsson documents.mx ericsson-field-guide-for-utranEricsson documents.mx ericsson-field-guide-for-utran
Ericsson documents.mx ericsson-field-guide-for-utran
 
Chap 2. lte channel structure .eng
Chap 2. lte  channel structure .engChap 2. lte  channel structure .eng
Chap 2. lte channel structure .eng
 
Telefonía
TelefoníaTelefonía
Telefonía
 
VoLTE flows - basics
VoLTE flows - basicsVoLTE flows - basics
VoLTE flows - basics
 
IMS ENUM & DNS Mechanism
IMS ENUM & DNS MechanismIMS ENUM & DNS Mechanism
IMS ENUM & DNS Mechanism
 
CUADRO COMPARATIVO TIPOS DE SERVIDORES Y EL MANEJO DE SUS DATOS
CUADRO COMPARATIVO TIPOS DE SERVIDORES Y EL MANEJO DE SUS DATOS CUADRO COMPARATIVO TIPOS DE SERVIDORES Y EL MANEJO DE SUS DATOS
CUADRO COMPARATIVO TIPOS DE SERVIDORES Y EL MANEJO DE SUS DATOS
 
Estandares protocolo 802.11
Estandares protocolo 802.11Estandares protocolo 802.11
Estandares protocolo 802.11
 
Voice in 4G: CSFB, VoIP & VoLTE
Voice in 4G: CSFB, VoIP & VoLTEVoice in 4G: CSFB, VoIP & VoLTE
Voice in 4G: CSFB, VoIP & VoLTE
 
LTE Attach Call Flow_Vi.pptx
LTE Attach Call Flow_Vi.pptxLTE Attach Call Flow_Vi.pptx
LTE Attach Call Flow_Vi.pptx
 
LTE Architecture and LTE Attach
LTE Architecture and LTE AttachLTE Architecture and LTE Attach
LTE Architecture and LTE Attach
 
NR_Frame_Structure_and_Air_Interface_Resources.pptx
NR_Frame_Structure_and_Air_Interface_Resources.pptxNR_Frame_Structure_and_Air_Interface_Resources.pptx
NR_Frame_Structure_and_Air_Interface_Resources.pptx
 
Umts Kpi
Umts KpiUmts Kpi
Umts Kpi
 
IPv6 Modulo1
IPv6 Modulo1IPv6 Modulo1
IPv6 Modulo1
 
Modul 5 bss parameter
Modul 5   bss parameterModul 5   bss parameter
Modul 5 bss parameter
 

Destacado

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
 
Morfología del robot
Morfología del robotMorfología del robot
Morfología del robotFelix Rivas
 
APRESENTACAO FUTURE ROBOT
APRESENTACAO FUTURE ROBOTAPRESENTACAO FUTURE ROBOT
APRESENTACAO FUTURE ROBOTFuture Robot
 
Armando Un Brazo Robot
Armando Un Brazo RobotArmando Un Brazo Robot
Armando Un Brazo Robotmarinarr
 
Implementação de um robot móvel
Implementação de um robot móvelImplementação de um robot móvel
Implementação de um robot móvelpjclima
 
Robot Shoter Bot. Mindstorm. El Pital
Robot Shoter Bot. Mindstorm. El Pital Robot Shoter Bot. Mindstorm. El Pital
Robot Shoter Bot. Mindstorm. El Pital yuliana2003
 
Coaprendizagem robot humanos
Coaprendizagem robot humanosCoaprendizagem robot humanos
Coaprendizagem robot humanosGolem Company
 
Bob, o explorador
Bob, o explorador Bob, o explorador
Bob, o explorador DJM Projecto
 
1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt Br
1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt Br1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt Br
1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt BrThiago Richter
 
BRAÇO ROBÓTICO - TCC ARM ROBOT
BRAÇO ROBÓTICO - TCC ARM ROBOT BRAÇO ROBÓTICO - TCC ARM ROBOT
BRAÇO ROBÓTICO - TCC ARM ROBOT Márcio Claudino
 
5 reflexiones sobre Robots
5 reflexiones sobre Robots5 reflexiones sobre Robots
5 reflexiones sobre RobotsCero23
 
Robot submarinos
Robot submarinosRobot submarinos
Robot submarinosJuan Markz
 
How to create Forex Robot for Fix Api Trading
How to create Forex Robot for Fix Api Trading How to create Forex Robot for Fix Api Trading
How to create Forex Robot for Fix Api Trading Edwin12Gentner
 
Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.
Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.
Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.Joii Halford
 

Destacado (20)

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
 
Mr robot
Mr robotMr robot
Mr robot
 
Morfología del robot
Morfología del robotMorfología del robot
Morfología del robot
 
APRESENTACAO FUTURE ROBOT
APRESENTACAO FUTURE ROBOTAPRESENTACAO FUTURE ROBOT
APRESENTACAO FUTURE ROBOT
 
Armando Un Brazo Robot
Armando Un Brazo RobotArmando Un Brazo Robot
Armando Un Brazo Robot
 
Implementação de um robot móvel
Implementação de um robot móvelImplementação de um robot móvel
Implementação de um robot móvel
 
Robot Shoter Bot. Mindstorm. El Pital
Robot Shoter Bot. Mindstorm. El Pital Robot Shoter Bot. Mindstorm. El Pital
Robot Shoter Bot. Mindstorm. El Pital
 
Coaprendizagem robot humanos
Coaprendizagem robot humanosCoaprendizagem robot humanos
Coaprendizagem robot humanos
 
v
vv
v
 
Bob, o explorador
Bob, o explorador Bob, o explorador
Bob, o explorador
 
1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt Br
1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt Br1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt Br
1G1 Futebol de Robôs - Thiago Richter & Ivan Santos - Graduação 2005 Pt Br
 
ROBOTS DE PISCINAS
ROBOTS DE PISCINASROBOTS DE PISCINAS
ROBOTS DE PISCINAS
 
Intro RobóTica
Intro RobóTicaIntro RobóTica
Intro RobóTica
 
BRAÇO ROBÓTICO - TCC ARM ROBOT
BRAÇO ROBÓTICO - TCC ARM ROBOT BRAÇO ROBÓTICO - TCC ARM ROBOT
BRAÇO ROBÓTICO - TCC ARM ROBOT
 
5 reflexiones sobre Robots
5 reflexiones sobre Robots5 reflexiones sobre Robots
5 reflexiones sobre Robots
 
Robotica ppt
Robotica pptRobotica ppt
Robotica ppt
 
Robot submarinos
Robot submarinosRobot submarinos
Robot submarinos
 
How to create Forex Robot for Fix Api Trading
How to create Forex Robot for Fix Api Trading How to create Forex Robot for Fix Api Trading
How to create Forex Robot for Fix Api Trading
 
Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.
Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.
Robótica y Tecnología: Breve análisis de Wall-E y Yo, Robot.
 

Similar a Integración de ROS (Robot Operating System) con las plataformas Arduino y Raspberry PI y Diseño de Control para Robot móvil

Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsSofia2 Smart Platform
 
Introduccion a los Sistemas Embebidos
Introduccion a los Sistemas EmbebidosIntroduccion a los Sistemas Embebidos
Introduccion a los Sistemas Embebidosjkovima
 
Trabajo IOS de CISCO
Trabajo IOS de CISCOTrabajo IOS de CISCO
Trabajo IOS de CISCOcyberleon95
 
Diapositiva de Estudio: ppt - IoT Fácil con ESP8266.pdf
Diapositiva de Estudio: ppt - IoT Fácil con ESP8266.pdfDiapositiva de Estudio: ppt - IoT Fácil con ESP8266.pdf
Diapositiva de Estudio: ppt - IoT Fácil con ESP8266.pdfjorgejvc777
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...Victor Asanza
 
Tema1 intro routers
Tema1 intro routersTema1 intro routers
Tema1 intro routersJAV_999
 
Proyecto invequipo#4progr5b
Proyecto invequipo#4progr5bProyecto invequipo#4progr5b
Proyecto invequipo#4progr5bCecilia Becerra
 
Plataformas Android de Intel
Plataformas Android de Intel Plataformas Android de Intel
Plataformas Android de Intel videos
 
T3ch fest leganes_final
T3ch fest leganes_finalT3ch fest leganes_final
T3ch fest leganes_finalRober Garamo
 

Similar a Integración de ROS (Robot Operating System) con las plataformas Arduino y Raspberry PI y Diseño de Control para Robot móvil (20)

Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
 
Trabajo plus (1)
Trabajo plus (1)Trabajo plus (1)
Trabajo plus (1)
 
Introduccion a los Sistemas Embebidos
Introduccion a los Sistemas EmbebidosIntroduccion a los Sistemas Embebidos
Introduccion a los Sistemas Embebidos
 
16.10.24 robots jus intro ros s4-5
16.10.24 robots jus intro ros s4-516.10.24 robots jus intro ros s4-5
16.10.24 robots jus intro ros s4-5
 
Informe1 alvaro morales
Informe1 alvaro moralesInforme1 alvaro morales
Informe1 alvaro morales
 
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
 
NS 2 (network simulator)
NS 2 (network simulator)NS 2 (network simulator)
NS 2 (network simulator)
 
Trabajo IOS de CISCO
Trabajo IOS de CISCOTrabajo IOS de CISCO
Trabajo IOS de CISCO
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Diapositiva de Estudio: ppt - IoT Fácil con ESP8266.pdf
Diapositiva de Estudio: ppt - IoT Fácil con ESP8266.pdfDiapositiva de Estudio: ppt - IoT Fácil con ESP8266.pdf
Diapositiva de Estudio: ppt - IoT Fácil con ESP8266.pdf
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Ipco ppre
Ipco ppreIpco ppre
Ipco ppre
 
Tema1 intro routers
Tema1 intro routersTema1 intro routers
Tema1 intro routers
 
Proyecto invequipo#4progr5b
Proyecto invequipo#4progr5bProyecto invequipo#4progr5b
Proyecto invequipo#4progr5b
 
Plataformas Android de Intel
Plataformas Android de Intel Plataformas Android de Intel
Plataformas Android de Intel
 
Elvis ii
Elvis iiElvis ii
Elvis ii
 
T3ch fest leganes_final
T3ch fest leganes_finalT3ch fest leganes_final
T3ch fest leganes_final
 
Sx embebidos
Sx embebidosSx embebidos
Sx embebidos
 
Rip2
Rip2Rip2
Rip2
 
SBC semana01
SBC semana01SBC semana01
SBC semana01
 

Último

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Integración de ROS (Robot Operating System) con las plataformas Arduino y Raspberry PI y Diseño de Control para Robot móvil

  • 1. Control de robot móvil basado en Arduino y Raspberry PI Integración de ROS (Robot Operating System) con Arduino y Raspberry PI Álvaro Ángel Romero Gandul Jesús Vico Serrano
  • 2. ÍNDICE 1. INTRODUCCIÓN 2. ESTADO DEL ARTE 1. ESTADO DEL ARTE 2. ESTADO DEL ARTE II : CONCLUSIONES 3. ESTADO DEL ARTE III : SOLUCIÓN ADOPTADA 3. PLATAFORMAS : CARACTERÍSTICAS 4. ROS 1. ROS : INTRODUCCIÓN 2. ROS II : FEATURES 3. ROS III : CONCEPTOS BASICOS 4. ROS IV: ESQUEMA DE FUNCIONAMIENTO 5. INSTALACIÓN 6. ROBOT OBJETIVO 7. MODELO 1 8. MODELO 2 9. CONCLUSIONES
  • 3. INTRODUCCIÓN Plataformas Instalación de entorno de trabajo Integración de sistemas y plataformas Diseño y Aplicación Estudio del estado del arte Objetivos
  • 4. ESTADO DEL ARTE Control mediante Microcontroladores Ejemplos : PIC PLC Motorola HC8000 Ventajas •Control de tiempo de ejecución •Mayor especialización •Integración •Recursos dedicados Inconvenientes •Mayor coste •No placas de propósito general •Software privativo Control basado en Arduino Arduino Mega ADK: hardware y software libre Ventajas •Numerosos pines I/O •Pines digitales y analógicos •Facilidad de programación •Placa de propósito general Inconvenientes •Frecuencia de reloj •Versatilidad en lenguajes •Control de tiempo de ejecución •Memoria de programa Control Raspberry Pi Placa de propósito general con arquitectura ARM6. S.O GNU/Linux Ventajas •Control total a bajo nivel de cada pin I/O •Lenguaje de programación sencillo y orientado a objetos •Simplicidad de desarrollo •Entorno amigable Inconvenientes •Pines de propósito general reducidos •Nivel digital de 3,3V •Requisitos de alimentación •Robustez •Capacidad de procesamiento Control basado en Rasp. Pi + Arduino Se compensan limitaciones de ambas plataformas por separado Ventajas •Multiples y variadas interfaces •Comunicación entre placas •Entorno amigable •Posibilidad de instalación de SO especializado  Alternativas estudiadas en cuanto a plataformas de control y programación de robots
  • 5. ESTADO DEL ARTE II : CONCLUSIONES  La solución adoptada, basada en las plataformas Arduino + Raspberry Pi, ofrece un marco de desarrollo de bajo coste , propósito general y gran flexibilidad.  Problemas  Comunicación entre ambas placas  Niveles lógicos diferentes en puertos serie y pines digitales ( 3,3V vs 5V)  Riesgo real de inutilización de pines dedicados en Raspberry Pi  Solución Arquitectura basada en Linux SO libres especializados en control de robots Middleware para comunicaciones
  • 6. ESTADO DEL ARTE III : SOLUCIÓN ADOPTADA Librerías RosArduino
  • 7. PLATAFORMAS : CARACTERÍSTICAS  Sistema Operativo: Linux ARM Raspbian wheezy ( basado en Debian)  Alimentación : 5V 3.5W  CPU: ARM1176JZF-S 700Mhz  GPU: Broadcom VideoCore IV  Memoria RAM: 512 MB compartidos con GPU  Almacenamiento: Tarjeta de memoria SD de 8 GB  Interfaces  1 puerto Ethernet RJ-45 100Mbps.  2 puertos USB 2.0  Microcontrolador: ATmega2560  Alimentación: 5V  Entrada: 7-12V  Límites (max): 5.5-16V  Pines digitales: 54 (14 con PWM)  Pines analógicos: 16  Corriente por pin: 40 mA  Corriente sobre pin 3,3V: 50 mA  Memoria Flash (programa): 256 KB (8 KB usados para el bootloader)  SRAM: 8 KB  EEPROM: 4 KB  Reloj: 16 MHz  1 micro USB  1 puerto HDMI  1 puerto 3.5MM Audio (Jack)  1 interfaz RCA video  Conector CSI para cámara  1 cabecera JTAG  1 puerto DSI para display digital.  8 pines de propósito general.  Interfaz SPI  Interfaz I2C  Interfaz UART Raspberry PI Arduino MEGA ADK
  • 8. ROS : INTRODUCCIÓN •ROS (en inglés Robot Operating System, ROS) o Sistema Operativo Robótico, es un framework para el desarrollo de software para robots que provee la funcionalidad de un sistema operativo en un clúster heterogéneo ¿Qué es? •ROS provee los servicios estándar de un sistema operativo tales como abstracción del hardware, control de dispositivos de bajo nivel, implementación de funcionalidad de uso común, paso de mensajes entre procesos y mantenimiento de paquetes •ROS proporciona librerías y herramientas para ayudar a los desarrolladores de software a crear aplicaciones robóticas, abstracción de hardware, los controladores de dispositivo, bibliotecas, visualizadores, paso de mensajes, gestión de paquetes y más, bajo licencia de código abierto BSD ¿Para qué sirve?
  • 9. ROS II (FEATURES) Middleware de comunicaciones Abstracción a alto nivel Publicador/ subscriptor Rviz Rqt Herramientas Shell Rosbag Rosserial Tutoriales Navegación Lenguaje de descripción de robot Diagnóstico HerramientasComunicación Paquetes específicos Características especiales
  • 10. ROS III (CONCEPTOS BÁSICOS)  Roscore  El servicio roscore está constituido por una serie de nodos y programas que son pre-requisitos del sistema base ROS. Se ha de tener una instancia de roscore funcionando para que los nodos de ROS puedan comunicarse  Nodos  Un nodo es un proceso que realiza la computación.  Son entidades ejecutadas en el sistema que implementan la rutina de control del robot  Topics  Son buses a través de los cuales se intercambian mensajes entre los nodos.  Si un nodo está interesado en un tipo de dato en concreto se subscribe al topic en cuestión
  • 11. ROS IV: ESQUEMA DE FUNCIONAMIENTO Topic A NODO A Topic B Topic C Topic A Topic B Topic C NODO B Nodo Publicador/suscriptor Topic
  • 12. Basado en Debian Wheezy Raspi Config Configuración de interfaz de red WLAN y XDRP Actualización de paquetes Tipos de instalación: •Desde fuente (svn) •Desde repositorio (binary packages) Rosserial Arduino Inexistencia de retrocompatibilidad entre versiones Repositorios desactualizados Soporte limitado para versiones no recientes INSTALACIÓN Gestión mediante SSH Gestión mediante escritorio remoto
  • 13. ROBOT OBJETIVO  Cebekit C-8090 Robot móvil de 6 ruedas Dos motores DC con 170rpm de velocidad nominal Alimentación mediante baterías (6V por motor) Grupo reductor independiente
  • 14. MODELO 1  Diseño de aplicaciones móviles robot utilizando las características y funcionalidades de la asociación Raspberry PI + Arduino + ROS  Aspectos principales Sensores Android Sensores i2c Sensores genéricos Integración de cámara on-board Control PWM Nodo Ras.Pi • Rutinas de control • Publicación y subscripción Nodo Arduino • Publicación datos sensores • Rutinas de actuación • Migración de paquetes del núcleo a Github • Nuevo sistema de construcción de paquetes Catkin (sustituye a rosbuild) • Nuevas herramientas: GUI-rqt • Resideño de rviz • Reescritura de librerías pluginlib y class_loader • Pluggins c++ • Herramientas que no usan Catkin • Transición del entorno Wt a Qt
  • 15. MODELO 1.1 : DESCRIPCIÓN  Estacion meteorológica móvil geolocalizada  Sistema controlado en entorno WLAN  Sensores que usan el bus i2c  Temperatura  Humedad  Presión  Localización GPS facilitada por Smartphone Android  El usuario indica coordenadas GPS a las que desea enviar la estación  Funcionamiento controlado por sensor lumínico de Smartphone Android  Cámara On-Board  Funcionalidad de Streaming y captura de imágenes Integración Android Sensor Driver Creación paquete ROS •Custome message •Integración Raspberry PI Camera •Librerías Arduino Programación C++ Nodo Arduino •Publicadores para los datos de sensores i2c •Subscriptores al nodo controlador •Actuación PWM Programación C++ Nodo Rasperry PI •Publicadores y subscriptores •Algoritmos de alcance de posición GPS Wheater Shield Raspberry PI Camera
  • 16. MODELO 1.1: ESQUEMA DE FUNCIONAMIENTO Publicación Tópic Android/Illuminance (Sensor lumínico) Publicación Tópic Android/NavSatFix (GPS) Subscriptor a Android/Imu Publicación Tópic Android/Imu (Acelerómetro) Subscriptor a Android/Illuminance Subscriptor a Android/NavSatFix Publicador Topic Opcion Publicador Topic Velocidad Subscriptor Topic Opcion Subscriptor Topic velocidad Publicador Topic i2c NODO RASPBERRY PI Raspberry Camera NODO ARDUINO Custom Message • 3 Float32 • Temperatura • Humedad • Presión Float32 Velocidad PWM Giro de los motores
  • 18. MODELO 1.2 : DESCRIPCIÓN  Estación meteorológica móvil  Funcionamiento autónomo  Implementación de algoritmo de evitación de obstáculos en el sentido de la marcha  5 sensores de ultrasonido HC-SR04  Funcionamiento controlado por sensor lumínico de Smartphone Android  Las condiciones de baja luminosidad determinarán su funcionamiento  Cámara On-Board  Funcionalidad de Streaming y captura de imágenes Medida y publicación de distancias Subscripción y ejecución de algoritmo de control •NODO Raspberry Pi •Algoritmo de evitación de obstáculos •Publicación de señal PWM •Captura de imágenes •NODO Arduino NODO Arduino •Actuación PWM •Actuación sobre el sentido de la marcha •Publicación datos meteorológicos Raspberry PI Camera
  • 19. MODELO 1.2 : ESQUEMA DE FUNCIONAMIENTO Publicación Tópic Android/Illuminance (Sensor lumínico) Subscriptor Topic Opcion Subscriptor Topic velocidad Publicador Topic i2c Subscriptor a Android/Illuminance Publicador Topic Opcion Publicador Topic Velocidad NODO RASPBERRY PI Raspberry Camera Subscriptor Topic Distancias Publicador Topic Distancias NODO ARDUINO Float32 Velocidad PWM Giro de los motores Trigger + echo x5 ( digital) 010101101 101010101
  • 20. MODELO 1.2 : RQT_GRAPH
  • 21. MODELO 2  Se basa en el control de un robot móvil haciendo uso de la plataforma Ras.Pi +Arduino y las posibilidades que ROS ofrece.  Aspectos a tener en cuenta: Control PWM Uso de sensores integrados en smartphone Sensores integrados en PCB customizada Nodo A Rasp.Pi • Ejecución de rutina de control en función de datos de nodos remotos • Publicación de señales para actuadores • Frecuencia de ejecución de rutina : 5 Hz Nodo B Arduino Mega ADK • Gestión de señales de control para actuadores • Tratamiento de señales de sensores y publicación de las mismas ROS Fuerte
  • 22. Instalación de aplicación ROS Android Publicación de datos de sensores Procesamiento por parte de Nodo A de datos de acelerómetro Publicación de señales PWM Gestión de señales por parte de Arduino y activación de actuadores MODELO 2.1 : DESCRIPCIÓN  Control de robot móvil desde smartphone Android.
  • 23. MODELO 2.1 : ESQUEMA DE FUNCIONAMIENTO  Esquema de funcionamiento Publicación Tópic Android/IMU (acelerómetro) Hacia IP 192.168.1.X IP 192.168.1.X Suscriptor a Topic Android/IMU Aceleración lineal X, Y, Z Publicación Topic Opción Publicación Topic Velocidad PWM Motor izqd IN/ Motor der IN Velocidad PWM Suscriptor Topic Opción Suscriptor Topic Velocidad PWM 0101010101 0101010101 Float32Float32
  • 24. MODELO 2.1: MONTAJE REALIZADO  Montaje realizado y establecimiento de escenario  Puente H como driver para los motores  Batería de 12 voltios para alimentación
  • 25. MODELO 2.2: DESCRIPCIÓN  Robot evitador de obstáculos Arduino Arduino Rasp.Pi Rasp.Pi Arduino 5 sensores HC-SR04 2 sensores LDR Medida de distancia a obstáculos y luminosidad Publicación de datos hacia nodo A Ejecución de algoritmo de control Publicación de señales PWM Gestión de señales por parte de Arduino y activación de actuadores  El control implementado dota al robot de la capacidad de evitación de obstáculos en su marcha hacia delante.  La activación del mismo se puede configurar para establecerse en condiciones de alta y baja luminosidad
  • 26. MODELO 2.2 : ESQUEMA DE FUNCIONAMIENTO Suscriptor Topic Distances Motor izqd IN/ Motor der IN Trigger + echo x5 ( digital) Publicador Topic Opción 010101101 101010101 Float32 LDR, Luminosidad x2 (analógico) Float32 Publicador Topic Distances Mensaje distances Suscriptor Topic Opción Suscriptor Topic Velocidad PublicadorTopic Velocidad Generación de mensaje customizado 5xFloat 32 para la distancia a objetos de cada sensor 2 x Float 32 para la luminosidad captada por cada LDR
  • 27. MODELO 2.2 : PLACA PCB  Para el rutado de las señales provenientes de sensores y hacia los actuadores se ha diseñado un shield para Arduino customizado para este propósito en el que se ha incluido toda la cirucuitería necesaria para el funcionamiento del modelo en una placa de circuito impreso (PCB) Diseño de schematic Diseño del Layout Impresión de PCB y montaje de componentes
  • 28. MODELO 2.2 : RESULTADO FINAL  Montaje final  Funcionamiento
  • 29. CONCLUSIONES  En la programación de Robots móviles, encontramos en ROS una herramienta de gran potencia en cuanto nos ofrece un framework de programación de alto nivel para ciertas funciones las cuales suponen una complejidad añadida, y pasan a ser transparentes para al programador. Todo esto, haciendo uso de una plataforma libre instalable sobre cualquier máquina capaz de correr un sistema operativo GNU/Linux.  ROS consta de herramientas muy útiles a la hora de programar funciones clave como la comunicación entre procesos, la encapsulación y la reconstrucción de mensajes, así como la posibilidad de generación de librerías para poder construir fácilmente mensajes customizados de información a intercambiar entre los diferentes nodos del robot  En cualquier caso la finalización de este proyecto, más que representar un final como tal, va mucho más allá y abre las puertas a unas más que interesantes líneas de investigación y desarrollo que podrían llegar a ser muy útiles de cara a interés personal pero sobre todo abre un sinfín de posibilidades de cara a su continuación y/o trabajo sobre las bases establecidas para la Universidad:  Realización de laboratorios en el ámbito del control y programación de robots.  Líneas de desarrollo y programación de aplicaciones robot.  Investigación y desarrollo de aplicaciones más complejas y completas.  Impartición y aprendizaje de nuevos conocimientos a nivel de software y hardware
  • 30.
  • 31. GRACIAS POR SU ATENCIÓN