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
82 visualizaciones desde el 07 de Diciembre del 2018. Una media de 14 por semana
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