PDF de programación - Open-R: un enfoque práctico

Imágen de pdf Open-R: un enfoque práctico

Open-R: un enfoque prácticográfica de visualizaciones

Publicado el 07 de Diciembre del 2018
65 visualizaciones desde el 07 de Diciembre del 2018
878,7 KB
85 paginas
Creado hace 10a (30/10/2008)
VOLUME V, NUMBER 1

REPORTS ON SYSTEMS AND COMMUNICATIONS

Open-R: un enfoque práctico
FRANCISCO MARTÍN RICO

Móstoles (Madrid), Spain, Dic. 2004
Depósito Legal: 50653-2004
ISSN: 1698-7489

Autor:

Francisco Martín Rico - fmartin@gsyc.escet.urjc.es

Se autoriza la copia y distribución, sin ánimo de
lucro de este libro. Así mismo las copias deberán
citar expresamente el nombre de los autores y de la
obra que forme parte,e incluir esta nota. No se
autoriza a ninguna forma de modificación o
transformación de texto, sin consentimiento de los autores.

Licencia Creative Commons

2

Francisco Martín Rico

Índice general

.

.

.

.

.

1. Helloworld: Mi primer programa con Open-R
.
.
.
.
.

.
1.1. Aplicaciones Open-R . . . .
.
.
1.2. Obteniendo los fuentes de HelloWorld .
.
1.3. Entendiendo HelloWorld . .
.
.
.
1.3.1. Código del objeto . .
1.3.2.
.
.
1.3.3. Compilando, instalando y ejecutando .

.
.
.
.
.
.
1.4. Ejercicio: Compilación e instalación de Helloworld en el robot AIBO .
.
.

.
.
Iniciando el Memory Stick .

1.4.1. Enunciado . . . . .
1.4.2. Cuestiones
. . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

2. Comunicaciones entre objetos Open-R
.

.

.

.

.

.

.

.

.

.
.

.
.

2.2.1.
2.2.2.

stub.cfg del SampleSubject
stub.cfg del SampleObserver

2.1. Sujetos y observadores . . .
.
2.2. Definiendo los manejadores de los mensajes .
.
.

.
.
.
.
.
.
.
.
.
2.3. Declarando las comunicaciones en la cabecera .
.
2.4.
.
.
.
2.5. Enviando y recibiendo datos
.
.
2.5.1. Envío de datos
. . .
.
2.5.2. Recepción de datos .
.
2.6. Comunicando objetos . . . .
.
.
2.7. Ejercicio: Comunicación entre objetos Open-R .
.
.

Iniciando y parando la comunicación .
.
.
.
.

2.7.1. Enunciado . . . . .
. . . . .
2.7.2. Cuestiones

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

3. Sensores

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

3.3. Seleccionando el sensor . . . .
.
3.4. Ejemplo de lectura de sensores .

3.2.1. OSensorFrameInfo .
3.2.2. OSensorFrameData .
.
.
3.4.1. SensorObserver7.h .
3.4.2. SensorObserver7.cc .

3.1. Seleccionando el subject
.
3.2. El formato de datos OSensorFrameVectorData .
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
3.5. Ejercicio: Lectura de los valores de los sensores .
.
.

3.5.1. Enunciado . . . . .
3.5.2. Cuestiones
. . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

7
7
7
8
9
10
11
12
12
12

13
13
14
15
16
16
17
18
18
19
20
20
20
20

21
21
21
22
22
22
23
23
25
30
30
30

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

ÍNDICE GENERAL

4. Actuadores

.

.

.

.

.

.

.

.

.

.

.
.

.
.
.

.
.
.

.
.
.

. .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

4.3.

.
.
.
.
.
.

.
.
.
.
.
.

OCommadInfo . .
OCommandData .

4.1. Seleccionando el subject
.
4.2. El formato de datos OCommandVectorData .
.
.
.
.

.
.
.
.
.
4.2.1.
.
.
4.2.2.
.
.
Inicialización de los actuadores .
.
4.3.1. Conseguir los ID de primitivas .
.
4.3.2. Configurar las ganancias de las articulaciones .
.
4.3.3. Calibrar las articulaciones
.
.
4.3.4. RCRegions . . . . .
4.4. Dándole valor a un actuador
.
.
.
.
4.5. Poniendo todo junto . . . . .
.
.
.
.
.

.
.
.
.
.
.
.
.
4.5.1. MovinLegs7.h completo .
.
4.5.2. MovinLegs7.cc completo .
4.6. Ejercicio: Movimiento de actuadores .
.
.

4.6.1. Enunciado . . . . .
4.6.2. Cuestiones
. . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.

.
.
.

.
.

.
.

.
.

.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5. Visión en AIBO

.
.

.
.

.
.

.
.

.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
5.1. Configuración de la cámara .
5.2. Principios básicos . . . . . .
.
5.3. Obtención de información de la cámara

.
.
.
5.3.1. El tipo de datos OFbkImageVectorData .
.

.
.
.
.
.
5.4.1. Obteniendo una imagen completa a resolución máxima .
.
.
.

.
5.5.1. Configurando un canal de color
.

5.4. Accediendo a las bandas de color .

5.6. OpenCV en el aibo . . . . .

5.5. detección de color . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6. Programación de red con Open-R

6.1. Conceptos básicos para usar la pila de protocolos en Open-R .
.
.
.
.

.
6.1.1. Creación de enpoints .
6.1.2. Creación de los buffer de memoria compartida .
.
6.1.3. Solicitud de servicios de red .
.
.

6.2. Conectándose con TCP . . . .

.
.
.
.

.
.
.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.
.
.
.
.

7. Remote Processing

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

7.1. Creación de una aplicación con TCP Gateway .
7.1.1. Creación de la estructura de directorios
.
7.1.2. Compilando de manera separada .
.
7.1.3. Configuración de TCP Gateway .
7.1.4. Ejecución de la aplicación .
.
.

.
.
.
.
.
.
.
.
.
.
7.2. Depurar un proceso Open-R ejecutándose en el PC con Gdb .
.
7.3. Crear una interfaz GTK+ a un proceso Open-R ejecutándose en el PC .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.

.

.

33
33
33
34
34
34
34
35
36
36
38
39
40
42
46
46
46

47
47
48
48
48
49
51
52
53
55

59
60
60
61
62
63

69
71
71
72
74
76
76
80

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

4

Francisco Martín Rico

Índice de figuras

2.1. Los objetos se comunican entre sí por paso de mensajes .
.
2.2. Flujo de comunicación entre objetos .
2.3. Comunicaciones en una core class .
.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

3.1. Formato de datos OSensorFrameVectorData .

4.1. Formato de datos OCommandVectorData .

.

.

.

.

.

.

.

.

.

.

.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.
.
.

.

.

.

.

luminosidad . . . . . . . . .

5.1. Cada 4 píxeles comparten las mismas características de color, pero no las de
.
.
.
.
Imagen salvada en rgb, en escala de grises, filtrada con un filtro de Canny y
filtrada con un filtro Laplaciano .
.

.
.
5.2. Formato de datos OFbkImageVectorData
.
5.3. Representación en 3D de los rectángulos en el espacio (Y, Cr, Cb)
5.4. Estructura de datos OCdtVectorData .
.
5.5.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6.1. Los objetos crean endpoint dentro del objeto ANT .
.
6.2. El buffer de memoria compartida es mapeada en los espacios de direcciones del
.

objeto de usuario y de la pila de protocolos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7.1. Comunicación entre objetos con Open-R .
.
7.2. Esquema de comunicación correcta .
7.3. Esquema de comunicación erroneo .
.

.
.

.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.

.

.
.
.
.

.

.

.

.
.
.

13
14
14

22

33

48
49
53
54

57

61

62

69
75
75

ÍNDICE DE FIGURAS

6

Francisco Martín Rico

Capítulo 1

Helloworld: Mi primer programa con
Open-R

Como en todos los libros en los que se aprende a programar en cualquier lenguaje de progra-
mación, para realizar un “rápido desembarco” en el nuevo entorno vamos a explicar un ejemplo
sencillo, que será el típico “Hello World”.

Daremos por supuesto que tenemos instalado el entorno Open-R, cuyo proceso de configu-

ración está detallado en [2].

1.1. Aplicaciones Open-R

Las aplicaciones Open-R esta formado por uno o varios objetos Open-R. Cada objeto Open-
R es un único proceso mono-hilo, que se ejecuta concurrentemente con otros objetos Open-R
.

Normalmente se organiza el código de los programas en distintos subdirectorios, uno para

cada objeto Open-R . Esto hace que sea mucho más limpio el desarrollo de aplicaciones.

Dicho esto, comenzaremos paso a paso con nuestro ejemplo.

1.2. Obteniendo los fuentes de HelloWorld

En la página de Open-R podemos descargarnos una paquete llamado samples que contie-
ne códigos de ejemplo.
  • Links de descarga
http://lwp-l.com/pdf14457  

Comentarios de: Open-R: un enfoque práctico (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad