SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Osciloscopio
OsciloscopioOsciloscopio
Osciloscopioitueii
 
Transistor jfet
Transistor jfetTransistor jfet
Transistor jfetjoselin33
 
Amplificador diferencial
Amplificador diferencialAmplificador diferencial
Amplificador diferencialLucia Meza
 
Transmision de cadenas
Transmision de cadenas Transmision de cadenas
Transmision de cadenas josein1308
 
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés RivasTipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivascrls821
 
Circuitos en serie y paralelo y fuentes de tension
Circuitos en serie y paralelo y fuentes de tensionCircuitos en serie y paralelo y fuentes de tension
Circuitos en serie y paralelo y fuentes de tensionMónica centeno
 
Modulacion y frecuenca comunicacion analogicas 3
Modulacion y frecuenca  comunicacion analogicas 3Modulacion y frecuenca  comunicacion analogicas 3
Modulacion y frecuenca comunicacion analogicas 3Velmuz Buzz
 
Diseño de circuito impreso con proteus
Diseño de circuito impreso con proteusDiseño de circuito impreso con proteus
Diseño de circuito impreso con proteusJesusSimonAtencioPar
 
Red telefónica de conmutación pública pstn
Red telefónica de conmutación pública pstnRed telefónica de conmutación pública pstn
Red telefónica de conmutación pública pstnChristopher Rodriguez
 
Amplificadores multiplicadores
Amplificadores multiplicadoresAmplificadores multiplicadores
Amplificadores multiplicadoresZaiida Lozano
 
Regulador de voltaje
Regulador de voltajeRegulador de voltaje
Regulador de voltajerseclen_b
 
Amplificador en Base Comun y Colector Comun
Amplificador en Base Comun y Colector ComunAmplificador en Base Comun y Colector Comun
Amplificador en Base Comun y Colector Comuniscped
 

What's hot (20)

Osciloscopio
OsciloscopioOsciloscopio
Osciloscopio
 
Líneas de transmisión
Líneas de transmisiónLíneas de transmisión
Líneas de transmisión
 
Transistor jfet
Transistor jfetTransistor jfet
Transistor jfet
 
Diodos semiconductores
Diodos semiconductoresDiodos semiconductores
Diodos semiconductores
 
Amplificador diferencial
Amplificador diferencialAmplificador diferencial
Amplificador diferencial
 
Transmision de cadenas
Transmision de cadenas Transmision de cadenas
Transmision de cadenas
 
Exposicion del multimetro
Exposicion del multimetroExposicion del multimetro
Exposicion del multimetro
 
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés RivasTipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
 
Amplificador Operacional Lab Nº4
Amplificador Operacional Lab Nº4Amplificador Operacional Lab Nº4
Amplificador Operacional Lab Nº4
 
Circuitos en serie y paralelo y fuentes de tension
Circuitos en serie y paralelo y fuentes de tensionCircuitos en serie y paralelo y fuentes de tension
Circuitos en serie y paralelo y fuentes de tension
 
Conexión darlington transistor
Conexión darlington transistorConexión darlington transistor
Conexión darlington transistor
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
 
Modulacion y frecuenca comunicacion analogicas 3
Modulacion y frecuenca  comunicacion analogicas 3Modulacion y frecuenca  comunicacion analogicas 3
Modulacion y frecuenca comunicacion analogicas 3
 
Presentación de Diodos
Presentación de DiodosPresentación de Diodos
Presentación de Diodos
 
Diseño de circuito impreso con proteus
Diseño de circuito impreso con proteusDiseño de circuito impreso con proteus
Diseño de circuito impreso con proteus
 
Red telefónica de conmutación pública pstn
Red telefónica de conmutación pública pstnRed telefónica de conmutación pública pstn
Red telefónica de conmutación pública pstn
 
Amplificadores multiplicadores
Amplificadores multiplicadoresAmplificadores multiplicadores
Amplificadores multiplicadores
 
Regulador de voltaje
Regulador de voltajeRegulador de voltaje
Regulador de voltaje
 
Amplificador en Base Comun y Colector Comun
Amplificador en Base Comun y Colector ComunAmplificador en Base Comun y Colector Comun
Amplificador en Base Comun y Colector Comun
 
Guia de ondas
Guia de ondasGuia de ondas
Guia de ondas
 

Viewers also liked

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
 

Viewers also liked (20)

Introducción a ROS
Introducción a ROSIntroducción a ROS
Introducción a ROS
 
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
 

Similar to 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 to 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
 

Recently uploaded

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Recently uploaded (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

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