PDF de programación - Programación de aplicaciones en robótica, visión artificial y domótica

Imágen de pdf Programación de aplicaciones en robótica, visión artificial y domótica

Programación de aplicaciones en robótica, visión artificial y domóticagráfica de visualizaciones

Publicado el 22 de Septiembre del 2018
1.228 visualizaciones desde el 22 de Septiembre del 2018
28,2 MB
68 paginas
Creado hace 12a (28/11/2011)
Programación de aplicaciones en robótica,

visión artificial y domótica

José María Cañas Plaza

http://gsyc.es/jmplaza

Politécnico Colombiano JIC
Medellín, 21 noviembre 2011

Contenidos

1

Contenidos

1. Introducción

2. Software para robots

3. Plataforma jderobot

4. Aplicaciones robóticas

5. Aplicaciones de visión computacional

6. Aplicaciones domóticas

7. Conclusiones

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

1. Introducción

2

1. Introducción

Robótica ficción vs Robótica real

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

1. Introducción

3

Aplicaciones reales

Dull, Dirty, Dangerous

Industria automovilística: brazos para pintar, soldar, mover piezas...

Gestión de almacenes: KIVA, Cofares

Espacio: Spirit, Opportunity

Entretenimiento: Aibo, NXT

Usos militares, desactivación explosivos: PackBot

Medicina: DaVinci

Hogar: Roomba

Prestige, limpieza centrales nucleares

Envasado de alimentos

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

1. Introducción

4

Investigación en robótica

Generar comportamiento autónomo (inteligencia) en robots móviles

A más autonomía más aplicaciones

Multidisciplinar: electrónica, informática, psicología, etología...

Un robot en cada casa, paralelismo con PC

Los deseos (y las películas) van por delante de la realidad, pero hay
progreso real

Humanoides

RoboCup (liga estandard), UrbanChallenge, etc.

Mapas, localización y navegación

Interacción con personas

Prototipos, robustez

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

1. Introducción

5

¿Qué es un robot?

Sistema informático con:

Sensores

Actuadores

Computador

Hay que programarlo para que consiga sus
objetivos y sea sensible a la situación.
La inteligencia reside en su software

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

2. Software para robots

6

2. Software para robots

Determina el comportamiento del robot

No hay una manera universalmente aceptada de programarlos

Lenguajes: ensamblador, C, C++

Heterogeneidad
• Dispositivos hardware
• Encapsular funcionalidad
Empezar de cero con cada robot

Requisitos específicos

Sistemas operativos y plataformas

Simuladores

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

2. Software para robots

7

Requisitos específicos

Vivacidad, agilidad (tiempo real)

Multitarea (concurrencia, múltiples fuentes de actividad)

Distribuido, comunicaciones

Interfaz gráfica, depuración

Expandible

Hardware heterogéneo

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

2. Software para robots

8

Sistemas operativos y plataformas

Procesadores empotrados (robots pequeños) o PC (medianos-grandes).

Sistemas operativos: dedicados o generalistas

Middleware para simplificar la creación de aplicaciones robóticas

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

Hardware del robotdriversAplicaciónHardware del robotAplicaciónPlataformadesarrolloSistema Operativo 2. Software para robots

9

¿Qué proporciona una plataforma sw para robots?

Abstracción
(HAL)

del

hardware

Arquitectura software

Funcionalidades de uso común

Arquitectura cognitiva

Comerciales, investigación, software libre

Ingeniería software: orientación a objetos, distribución

ROS, Orca, Carmen, OROCOS, ERSP, Player/Stage, Miro, etc.

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

2. Software para robots

10

Simuladores

Madurar algoritmos

Comodidad trabajar sin robot

Las caídas no duelen

Mundo, sensores y actuadores

OpenGl (OGRE) para imágenes

Motor físico: ODE (Open Dynamics
Engine)

Gazebo, Stage, Webots, Microsoft Robotics Studio

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

2. Software para robots

11

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

2. Software para robots

12

Programación del robot LEGO NXT

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

driversLeJOSAplicación Java 2. Software para robots

13

Programación del robot Aibo

MIPS 450Mhz

Objetos monohilo

Se comunican vía mensajes

Objetos básicos, OPEN-R
• OVirtualRobotComm:

Effector, Sensor,
OFbkImageSensor

• OVirtualAudioComm:

Mic, Speaker

• ANT Aibo Network Tool

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

2. Software para robots

14

Programación del robot B21

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

sónarespantiltLinux Aplicación C/C++infrarrojosmotores ruedasRAI/Beesoft/Mobility 2. Software para robots

15

Programación del robot Pioneer

Acceso a los sensores y actuadores

Librerías, objetos

ActivMedia: Saphira, ARIA (C++)

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

ComandosDirectosde MovimientoConnectDisconnectCallbacksArResolverSensoresArActionsArRobot PacketReceiverArRobot Device ConnectRobot(Simulado o Real)SenderArRobot PacketArRobotARIAAplicación C++P2OS / AROSLinux / MS−Windows 2. Software para robots

16

Programación del robot Nao

AMD Geode 500Mhz

invocación de

Objetos distribuidos,
métodos remotos
• ALMotion
• ALVision
• ...
Naoqi: Módulos, brokers

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

NaoqiLinux Aplicación C++/Python 3. Plataforma software Jderobot

17

3. Plataforma software Jderobot

Nace como implementación de arquitectura cognitiva, tesis doctoral

Evolucionó a una plataforma de programación para aplicaciones robóti-
cas, domóticas y de visión computacional (sensores, actuadores, inte-
ligencia)

Orientada a componentes distribuidos y multilenguaje

La mantiene un grupo de desarrolladores, es abierta

http://jderobot.org, manuales, descarga, ejemplos

Software libre (licencia GPLv3), paquete debian

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

3. Plataforma software Jderobot

18

Arquitectura cognitiva JDE

Comportamiento = percepción y control

Fragmentación en unidades asíncronas concurrentes (esquemas)

- de percepción elaboran estímulos

- de actuación toman decisiones

La colección de esquemas se organiza en jerarquía dinámica (JDE)

Sigue el paradigma basado en comportamientos

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

3. Plataforma software Jderobot

19

Arquitectura cognitiva: Esquemas

Un esquema es un flujo de ejecución independiente, con un objetivo

Funcionamiento continuo

Se puede activar y desactivar a voluntad

Modulable a través de parámetros

Su funcionalidad se usa despertándolo y modulándolo

Perceptivos: producen estímulos (piezas de información) y los man-
tienen actualizados. Lecturas sensoriales, transformaciones más ela-
boradas

Actuación: toman decisiones para conseguir o mantener un objetivo,
comandos a los actuadores o la activación y modulación de otros

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

3. Plataforma software Jderobot

20

Modelo de programación: Componente

Cada esquema se materializa en un componente software

El funcionamiento continuo como ejecución iterativa, iteraciones pe-
riódicas a cierto ritmo para percibir o para actuar

Ofrece funcionalidad y usa la de otros a través de interfaces explícitos

Aplicación = conjunto de componentes concurrentes que interoperan

Multimáquina y multilenguaje: C, C++, python, Java...

Usa el middleware de comunicaciones ICE (zeroC)

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

3. Plataforma software Jderobot

21

Ejecución iterativa

Iteración de control o de percepción

component cycle

gettimeofday

usleep

Espera condicional

Patrón de diseño Algoritmo iterativo

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

3. Plataforma software Jderobot

22

Interfaces tipados

Comunicación entre componentes, conexión con otros

Fijan la estructura de los datos que el componente ofrece o necesita

Cada componente puede necesitar y ofrecer uno o varios interfaces

Se definen con slice

Generación de código para múltiples lenguajes (C++, Java, Python...)

Mecanismos de transmisión de datos eficientes
• transmisión síncrona o asíncrona
• publicación/subscripción

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

3. Plataforma software Jderobot

23

Visualización

Modular y opcional: cada componente tiene (o no) su propio GUI

Cada componente incluye el código de su interfaz gráfica

Mostrar e interacción con humano

Depuración, útil en desarrollo

GTK, XForms, OpenGL

Patrón de diseño Modelo Vista Controlador

Se materializa en una hebra adicional

c2011 URJC-Robótica

Programación de aplicaciones en robótica, visión artificial y domótica

3. Plataforma software Jderobot

24

Acceso a los dispositivos hardware

Se da a través de componentes drivers

Acceden localmente al sensor/actuador y ofrecen acceso (local o re-
moto) a otros a través de interfaces ICE

No suelen tener GUI

El mismo interfaz de datos lo puede proporcionar varios drivers
• Mismo programa funciona sobr
  • Links de descarga
http://lwp-l.com/pdf13573

Comentarios de: Programación de aplicaciones en robótica, visión artificial y domótica (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad