Sie sind auf Seite 1von 29

ESCUELA DE INGENIERÍA ELÉCTRICA Y

ELECTRÓNICA

ROBÓTICA MÓVIL – 710075


PRÁCTICA DE LABORATORIO No. 1

MODELOS CINEMÁTICOS DE ROBOTS MÓVILES

TABLA DE CONTENIDOS
1. OBJETIVOS .......................................................................................................................................................... 1
2. INTRODUCCIÓN .................................................................................................................................................. 2
2.1. LEGO MINDSTORMS EV3 ............................................................................................................................................... 2
2.2. COMUNICACIONES INALÁMBRICAS EN EL LEGO MIDNSTORMS EV3 ......................................................................................... 4
2.3. EMPAREJAMIENTO CON EL EV3 USANDO BLUETOOTH ........................................................................................................... 4
2.4. COMUNICACIÓN USANDO SOCKETS ................................................................................................................................... 5
2.5. MODELO CINEMÁTICO DIFERENCIAL ................................................................................................................................. 6
2.6. MODELO CINEMÁTICO ACKERMAN ................................................................................................................................... 7
3. LEJOS .................................................................................................................................................................. 7
3.1. INSTALACIÓN ................................................................................................................................................................ 8
3.2. JAVA........................................................................................................................................................................... 8
3.3. LEJOS ......................................................................................................................................................................... 8
3.4. VARIABLES DE ENTORNO – OPCIONAL ............................................................................................................................. 11
3.5. COMPILAR Y CORRER UN PROGRAMA EN EL ROBOT ........................................................................................................... 12
3.6. DESCARGAR Y EJECUTAR PROGRAMAS EN EL BLOQUE EV3 .................................................................................................. 13
4. PROCEDIMIENTO ...............................................................................................................................................14
4.1. PROCEDIMIENTO PARA ARMAR EL ROBOT EXPLORER.......................................................................................................... 14
4.2. ROBOT MÓVIL DIFERENCIAL.......................................................................................................................................... 28
4.3. ROBOT MÓVIL ACKERMAN ........................................................................................................................................... 29
5. BIBLIOGRAFÍA ....................................................................................................................................................29

1. OBJETIVOS
 Experimentar con la API de LeJos para la programación de robots usando el Kit Lego
Mindstorms.
 Experimentar con el modelo de movimiento de un robot diferencial.
 Experimentar con el modelo de movimiento de un robot con configuración Ackerman.

1
2. INTRODUCCIÓN
2.1. LEGO MINDSTORMS EV3
Los productos Lego fueron diseñados con el propósito de ofrecer recursos de aprendizaje
manipulables que permitieran construir conocimiento. La plataforma Mindstorm EV3 es un
conjunto de piezas listas para ensamblarse, que nos permite crear objetos libremente o
siguiendo los modelos incluidos. Además nos brinda la posibilidad de animarlos a través de la
utilización de motores y de tener contacto con el ambiente por medio de los sensores que son
controlados por el bloque EV3 y así desarrollar una acción. En la Figura 2.1 se muestran las
piezas más importantes del kit:

 Dos motores grandes.


 Una pila recargable para alimentar el bloque EV3, los sensores y motores
 Dos sensores de contacto
 Un giróscopo de 1 eje.
 Un sensor de color o luz.
 Un sensor de ultrasonido.

Figura 2.1 Kit LEGO MINDSTORMS EV3.


Como se observa en la Figura 2.1, los conectores inferiores del bloque EV3 son usados para
conectar los sensores, y los conectores superiores para los actuadores o motores. La Figura 2.2
muestra el bloque EV3, el cual posee una pantalla LCD que contiene las opciones que el usuario
selecciona usando los botones arriba, abajo, izquierda, derecha y central; el botón de retroceder
le permite cancelar cualquier acción, entre ellas parar la ejecución de un programa o apagar el
bloque EV3; en la pantalla LCD también existen una serie de indicadores que muestran el estado
del bloque en relación a la conexión inalámbrica, la conexión USB, el nivel de batería y el nombre
del bloque EV3.

2
Figura 2.2 Bloque EV3
El área de los botones de navegación se ilumina de diferentes colores dependiendo si el bloque
realiza alguna acción específica, esto es:

 Rojo – Encendiendo el bloque, apagando el bloque o actualizando el contenido de programas.


 Rojo palpitante – Ocupado
 Naranja – Alerta o preparado.
 Naranja palpitante – Alerta o ejecutando el menú de inicio
 Verde – Preparado
 Verde palpitante – Ejecutando un programa.

Figura 2.3 Altavoz, puerto USB host y memoria SD.


En la Figura 2.3 se muestra una vista lateral del bloque EV3, de la cual se puede observar el
altavoz con el fin de tocar melodías pre-grabadas o creadas; el puerto USB host que permite la
conexión de periféricos adicionales y la memoria SD de 32Gb de capacidad para grabar datos
generados por tus programas.

El kit tiene por defecto un modo de programación sencillo, destinado a personas sin ninguna
experiencia a previa en programación. En este curso se usará LeJOS, que es un entorno que
permite programar los Lego Mindstorms en Java. Este pequeño sistema operativo es de libre
distribución y código abierto y soporta Programación Orientada a Objetos, Hilos, Arreglos de
varias dimensiones, Sincronización, Operaciones en punto flotante y Herramientas matemáticas.

Para realizar esta práctica se le entrega a cada grupo (de máximo 4 estudiantes) un robot
construido con el kit Lego MindStorms NXT. Para que el robot ejecute las tareas se debe escribir
el código fuente del programa en lenguaje Java en cualquier editor de texto. Posteriormente el
programa debe compilarse desde la línea de comandos para generar un archivo ejecutable que
debe ser transmitido por medio de un cable USB al robot.

3
2.2. COMUNICACIONES INALÁMBRICAS EN EL LEGO MIDNSTORMS EV3
En esta guía de laboratorio se introducirá el trabajo del LEGO EV3 usando una comunicación
Bluetooth con el PC. Esta comunicación no puede ser realizada usando los métodos que se
empleaban con el LEGO NXT, en su lugar se tienen dos metodologías:
1. Usando RPC (Remote Procedure Calls), una tecnología de Java que permite instanciar
objetos remotamente. A través de esta tecnología se pude tener acceso a los motores y
sensores del EV3 remotamente y usando una comunicación Bluetooth.
2. Usando comunicación con Sockets, la cual es una tecnología de comunicación muy
sencilla de manejar y a través de la cual se puede crear un protocolo de comunicación
entre el PC y el EV3.
En esta guía de laboratorio se necesita tener una realimentación de posición del LEGO EV3 para
realizar la corrección de los errores sistemáticos. Con lo cual, la primera opción se descarta ya
que la API de LeJOS no posee realimentación de la posición de manera remota. Por tanto, se
usará la segunda opción en la cual el EV3 grabará los datos de posición y luego los transmitirá
al PC, donde se almacenarán en un archivo. Para lo cual, en esta sección de introducción se
deben realizar y entender ciertas tareas y conceptos previos.

2.3. EMPAREJAMIENTO CON EL EV3 USANDO BLUETOOTH


El software proporcionado requiere una conexión con el EV3 usando Bluetooth, y luego
conectarlo como un punto de acceso. Para esto el procedimiento es el siguiente:
1. Encender el EV3
2. Ir a Bluetooth > Visibilidad ON
3. En el menú principal de su barra de tareas seleccionar: “Unirse a una red de área personal”
4. Se mostrará los dispositivos Bluetooth disponibles, seleccione el robot EV3.
5. Si no está emparejado, se le solicitará el código de emparejamiento, para lo cual digite
‘1234’.
6. Siga las instrucciones.
7. Luego, seleccione el robot y presione el botón derecho del dispositivo EV3, seleccione
“Conectar mediante” y luego “Punto de acceso”.
Este procedimiento lo podrá observar en la Figura 2.4.

4
Figura 2.4 Procedimiento para conectar el EV3 como un punto de acceso a través de Bluetooth.

2.4. COMUNICACIÓN USANDO SOCKETS


Básicamente se define como una herramienta para realizar comunicaciones de bajo nivel entre
aplicaciones cliente / servidor sobre una red de datos. En este caso se está trabajando a nivel
de la capa de transporte del modelo OSI. Esto implica que la interpretación de los datos está
100% a cargo del usuario, ver Figura 2.5.

Figura 2.5 Comunicación usando sockets y modelo cliente / servidor.

5
Básicamente se requieren dos datos importantes: 1. El nombre o dirección IP del servidor, y 2.
El número del puerto a través del cual se está prestando el servicio. Desde el punto de vista de
programación, básicamente se tienen las clases servidora o ServerSocket y la clase cliente
Socket.
En este caso, el servidor será el robot EV3 quien proveerá los datos hacia el PC quien será el
cliente. El IP en el cual se presta el servicio es el 10.0.1.1 y a través del puerto 8080.

2.5. MODELO CINEMÁTICO DIFERENCIAL


En la Figura 2.6 se muestran los componentes necesarios para comprender el modelo de
movimiento diferencial de un robot móvil. Aquí, se debe resaltar:
 El marco coordenado del mundo W.
 El marco coordenado del robot R.
 El vector de estado del robot [x y ]T.
 Las velocidades lineales de las ruedas derecha e izquierda VDR y VIR.
 Y lo parámetros geométricos del robot.

Figura 2.6 Movimiento de un robot diferencial.


Un robot diferencial está determinado por el modelo mostrado en la ecuación (1):

(1)
Donde, CR es el radio de las ruedas, bR es la separación de las ruedas, WdR y WiR son las
velocidades rotacionales de las ruedas derecha e izquierda, y [x’ y’ ’]T es el vector de estado
del robot.
En esta práctica de laboratorio la clase de LeJos que implementa este modelo se llama
DifferentialPilot. Y se empleará para mover un robot diferencial a lo largo de una trayectoria
predeterminada.

6
2.6. MODELO CINEMÁTICO ACKERMAN

Figura 2.7 Modelo cinemático Ackerman.


La Figura 2.7 muestra los componentes necesarios para comprender el modelo cinemático
Ackerman. Éstos son:
 El marco coordenado del mundo W.
 El marco coordenado del robot R.
 El vector de estado del robot [x y  ]T.
 Los parámetros geométricos del robot como: la separación de las ruedas traseras, el
radio de las ruedas y la separación entre ejes.
 La velocidad lineal de movimiento de las ruedas delanteras y su respectiva inclinación.
Considerando lo anterior y realizando la aproximación con el modelo cinemático de un robot tipo
triciclo, un robot diferencial está determinado por el modelo mostrado en la ecuación (2):

(2)
Donde, VW es la velocidad lineal de las ruedas delanteras, R es la orientación de las ruedas
delanteras, LR es la separación entre ejes, y [x’ y’ ’]T es el vector de estado.

3. LEJOS
leJOS LEGO MINDSTORMS es un ambiente de programación en Java para LEGO MINDSTORMS
® que permite programar robots LEGO en Java. Consiste en:
 Firmware de Remplazo para el bloque LEGO MINDSTORMS, que incluye Máquina Virtual
de Java.
 Una biblioteca de clases Java (classes.jar) que implementan el API (Application
Programming Interface) de leJOS.
 Una conexión entre clases Java de los usuarios con classes.jar para crear un archivo
binario que puede cargarse y ejecutarse en el bloque LEGO MINDSTORMS.
 Herramientas de PC para actualizar el firmware, cargar programas, depurar, y muchas
otras funciones.
 Un API para el PC, para escribir programas que se comunican con programas de lejos
LEGO MINDSTORMS vía USB o Bluetooth, o bien usando el Protocolo de Comunicaciones
de LEGO.
 Muchos Archivos de ejemplos

7
Como leJOS es un reemplazo de firmware, se debe descargar el nuevo firmware de leJOS, y se
borrará el firmware estándar de LEGO MINDSTORMS. Esto borrará cualquier archivo asociado al
firmware de LEGO. Sin embargo, este se puede recuperar usando el software de LEGO.
Finalmente es importante destacar que esta guía fue creada usando información de la página
oficial de leJOS, http://lejos.sourceforge.net/

3.1. INSTALACIÓN
Usted tiene disponible el siguiente software:
 JAVA - Java 7 u 8, preferiblemente Java 7.
 Win32DiskImager 0.9.5 -
https://sourceforge.net/projects/win32diskimager/files/Archive/
 SD Card Formatter V4 - https://www.sdcard.org/downloads/formatter_4/
 HARDWARE – Memoria SD de mínimo 2Gb y máximo 32Gb.
 LEJOS - leJOS_EV3_0.9.1-beta_win32_setup.exe
 Oracle JRE para EV3 - ejre-7u60-fcs-b13-linux-arm-sflt-headless-18_dec_2014.tar

3.2. JAVA
Usted necesitará tener instalado el software de JAVA JDK (Java Development Kit) en su
computador. No es suficiente tener instalado JRE (Java Runtime Environment), ya que éste no
le permitirá compilar programas JAVA.
La última actualización de JDK puede descargarse de http://java.com/. Los trabajos en leJOS
EV3 se ejecutan con las versiones 7 u 8 de Java, pero se prefiere la 7 de 32bits.

3.3. LEJOS
Puede descargar el software de LeJOS EV3 de la página de lejos:
http://sourceforge.net/projects/ev3.lejos.p/files/ Se le recomienda que use el Instalador de
Windows, pero hay una versión ZIP que puede usar si prefiere realizar una instalación manual.
Los programas de ejemplo de la presente guía fueron realizados usando leJOS_0.9. Sin embargo,
usted puede elegir instalar una versión posterior sin que haya conflicto entre los programas,
pero teniendo en cuenta que deberá cambiar algunas instrucciones en el código de tal forma que
el programa pueda ser compilado.
Ejecute leJOS_EV3_0.9.0-beta_win32_setup.exe y siga las instrucciones en pantalla. Puede
instalar el software y guardar los proyectos creados en las carpetas que prefiera (no es necesario
que sea en la misma carpeta que JDK). Las pantallas que verá son las mostradas en la Figura
3.1.

8
9
Figura 3.1 Instalación LeJos EV3
Luego de terminar la instalación del software, el último paso es la creación de la imagen de inicio
del EV3 para LeJos. Esto requiere de una SD de mínimo 2GB y máximo 32Gb, la cual debe tener
un formato de FAT32 y debe estar completamente vacía.
En este punto se necesitan dos archivos: la imagen de LeJos que se solicita en el primer cuadro
de texto, y el JRE de Oracle para EV3 que debe ser descargado previamente. Luego estos
archivos se copian en la SD y al terminar el bloque EV3 iniciará con el firmware de LeJos en lugar
de su original.
Sin embargo, existe la posibilidad que la SD quede mal formateada. En este caso, existe un
método alternativo que se resume a continuación (Ver Figura 3.2):
1. Introducir la SD en el slot de su PC y darle formato con el SDFormatter V4, Figura 3.2a y 3.2b.
2. Al acabar el formato, se necesita crear una imagen sobre la SD usando el programa
Win32DiskImager y el archivo imagen SD500.img que se encuentra en el directorio de
instalación de LeJos, ver Figura 3.2c y 3.2d.
3. Una vez la imagen está creada, la SD no tiene archivo alguno. El próximo paso es descomprimir el
archivo lejosimage.zip el cual se encuentra en el directorio de instalación de LeJos, ver Figura
3.2e. Finalmente, los archivos descomprimidos quedan como se muestra en la Figura 3.2f.
4. El último paso es grabar la JRE de ARM en la SD, es decir el archivo: ejre-7u60-fcs-b13-linux-
arm-sflt-headless-18_dec_2014.tar.
5. Al finalizar se extrae la SD, se ubica en el slot del bloque EV3 y LeJos estará disponible para usarse.

a) b)

10
c) d)

e) f)

g)

Figura 3.2 Método alternativo para grabar el Firmware de LeJos en la SD.

3.4. VARIABLES DE ENTORNO – OPCIONAL


Entre al Panel de Control y haga clic en “Sistema”, elija la pestaña de “Opciones avanzadas” y
haga clic en “variables del entorno”. Verifique que, en la ventana superior se encuentren creadas
las variables:

11
 NXJ_HOME C:\Archivos de programa\leJOS NXJ
 JAVA_HOME C:\Archivos de programa (x86)\Java\jdk1.7.0_79
Si alguna de estas no está creada, haga clic en “nueva” e introduzca estos datos.
La diferencia en crear estas variables como variables de sistema o usuario implica que Lejos NXJ
esté disponible sólo para todos los usuarios ó para el usuario actual.
Así mismo, identifique la variable “Path” en la ventana inferior de la ventana de “variables del
entorno” y haga doble clic sobre ella. Usted debe verificar que se encuentren:
C:\Archivos de programa\leJOS NXJ\bin; C:\Archivos de programa (x86)\Java\jdk1.7.0_79\bin
Note que se trata de las direcciones dadas arriba a las variables JAVA_HOME y NXT_HOME
adicionando \bin al final. Si no existen, escriba las líneas separando las precedentes con un punto
y coma.
El incluir al camino la sentencia “C:\Archivos de programa (x86)\Java\jdk1.7.0_79\bin”, permite
que se puedan usar desde la consola de comandos (cmd) los comandos como javac y java. Estos
comandos se introducen en la siguiente sección.

3.5. COMPILAR Y CORRER UN PROGRAMA EN EL ROBOT


Para desarrollar aplicaciones con el EV3 se recomienda usar Eclipse y su plugin correspondiente.
Para instalar el plugin de EV3 en Eclipse debe dirigirse a Help > Install New Software y ubicar el
URL del repositorio http://lejos.sourceforge.net/tools/eclipse/plugin/ev3, como se indica en la
Figura 3.3a.

a) b)

Figura 3.3 Instalando el plugin para el EV3.


Luego se debe configurar el plugin dirigiéndose Windows > Preferences, con lo cual aparece el
diálogo que se muestra en la Figura 3.3b. Donde principalmente se debe ubicar el directorio de
instalación del LeJos, seleccionar la opción “Run Tools in separate JVM” y si se desea “Run
program after download”.
En este momento se puede crear un proyecto usando el EV3. Para lo cual, se despliega el menú
de Proyectos de Eclipse, se selecciona la opción “Project”, se expande el ítem “LeJOS EV3”, y se
selecciona la opción “LeJOS EV3 Project”, finalmente se digita el nombre del proyecto y se
finaliza, ver Figura 3.4.

12
Figura 3.4 Crear un proyecto en Eclipse para LeJOS EV3.

3.6. DESCARGAR Y EJECUTAR PROGRAMAS EN EL BLOQUE EV3


Una vez se crea el proyecto, se digita el programa y se ejecuta en el bloque EV3. Para el Lego
EV3 el sistema de carga de programas en el bloque ha cambiado en comparación a las otras
versiones. No responde ante un dispositivo USB, sino que se debe crear un dispositivo de red
conectado a través del puerto USB. Este procedimiento se detalla a continuación:
1. Encienda el bloque EV3 con el LeJos corriendo, y conéctelo al PC.
2. En la Figura 3.5a aparece el administrador de dispositivos con un nuevo dispositivo tipo
RNDIS/Ethernet Gadget.
3. Selecciónelo y usando el click derecho actualice el controlador, aparecerá una ventana como la
mostrada en la Figura 3.5b.
4. Seleccione “Buscar Software de Controlador en el Equipo”.
5. Aparecerá una ventana como la mostrada en la Figura 3.5c, seleccione “Elegir en una lista de
Controladores …”.
6. Luego de la lista que aparece en la Figura 3.5d seleccione Adaptadores de Red.
7. Aparecerá un diálogo como el mostrado en la Figura 3.5e, seleccione Microsoft en la lista de la
izquierda, y “Dispositivo Remoto Compatible con NDIS” en la lista de la Derecha.
8. Finalmente, oprima “Siguiente” e iniciará la instalación del dispositivo como se muestra en la Figura
3.5f.

a) b)

13
c) d)

e) f)

Figura 3.5 Creación del dispositivo de red por USB para el bloque EV3.

4. PROCEDIMIENTO
En términos generales en esta práctica se usará el robot móvil para validar el modelo cinemático
de una plataforma diferencial. La sección 4.1 muestra el procedimiento de construcción del robot
diferencial. La sección 4.2 muestra cómo obtener los datos de odometría de un robot diferencial
y graficarlos en el PC. La sección 4.3 propone al estudiante la realización del mismo esquema,
pero para un robot Ackerman.

4.1. PROCEDIMIENTO PARA ARMAR EL ROBOT EXPLORER


La plataforma Explorer, la cual se muestra en la Figura 4.1, cuenta con sensores de contacto,
los cuales se utilizarán para evadir los obstáculos que se encuentre en el camino. Cuenta con
dos motores grandes para mover el robot. Después de construir esta plataforma, se puede
empezar con el diseño del programa que se ejecutará posteriormente.

14
Figura 4.1 Explorer EV3 y tamaño de las fichas en el Lego EV3

El set de Lego EV3 cuenta con piezas las cuales se miden contando la cantidad de agujeros que
posean (en el caso de las fichas tipo A de la Figura 4.1, el tamaño está dado por su equivalente
a las fichas tipo B) y se especifican en las guías de construcción.

Para la realización del ejercicio guiado, se necesitan algunos obstáculos para ubicar en un espacio
plano y despejado, que pueden ser cajas, pues éstas se pueden cambiar de posición y ubicarlas
para ponerle “trampas” al robot que se va a programar. Por otro lado es necesaria una fuente
de luz, ya sea una linterna, un flash, o cualquier elemento que pueda emitir luz más potente que
la luz ambiente. Para construir el Explorer mostrado en la Figura 4.1, se necesita la lista de
elementos que se muestran en la Tabla 4.1.

Tabla 4.1 Listado de componentes para armar el robot.

Cantida Cantida
Componente Componente
d d

2 2

4 2

15
2 1

2 1

1 2

2 2

4 2

4 28

2 2

4 4

16
2 10

1 1

1 1

1 1

Después de tener las piezas necesarias mostradas en la Tabla 4.1, se debe seguir la guía de
construcción del Explorer EV3 mostrada a continuación, la cual indica paso a paso la construcción
del robot para poder realizar el ejercicio guiado. NOTA IMPORTANTE: al final se debe modificar
la construcción para incluir DOS y no UN sensor de contacto.

17
2 3

4 5

18
7
8

10

19
1 1
1 2

13

1
5
20
1
4

16

1 1
7 8

21
1 2
9 0

2
1

22

22
2 2
3 4

2 2
5 6

23
2 2
7 8

2
9

24
30

NOTA: Modificar para incluir dos sensores de contacto

3 3
1 2

3 3
3 4

25
3
5

36

3
7

26
3 3
8 9

4 4
0 1

27
4 4
2 3

4.2. ROBOT MÓVIL DIFERENCIAL

Figura 4.2 Pasos del procedimiento para la realización del cuadrado por el EV3 y el PC.
Una vez haya conectado su EV3 como un punto de acceso a través de Bluetooth, el siguiente
procedimiento debe ser realizado, ver Figura 4.2:

28
1. Importe a Eclipse los proyectos RMev3PCSquareNET y RMev3SquareNET.
2. Ejecute el proyecto RMev3SquareNET en el EV3.
3. Ejecute el proyecto RMev3PCSquareNET en el PC.
4. El programa en el PC enviará una petición de conexión al Servidor que se está ejecutando
en el EV3, una vez se conectan, se envía una trama de datos informando que se desea
hacer un cuadrado de tamaño 100cm.
5. Luego, el robot inicia la realización del cuadrado.
6. Al terminar, el EV3 envía los datos de posición X, Y,  al PC.
7. El PC recibe estos datos y los almacena en un archivo titulado “robotSquare.txt” que se
encuentra en la raíz de su proyecto de Elclipse.
8. Usando Matlab, Excel o cualquier software de graficación observe la trayectoria reportada
por el robot. Observará una figura similar a la mostrada en la Figura No. 4.3.

Figura 4.3 Trayectoria reportada por el robot.

4.3. ROBOT MÓVIL ACKERMAN


Con el fin de validar el modelo del robot móvil Ackerman, realice los siguientes pasos sugeridos:
1. Consulte las instrucciones de construcción de un robot tipo Ackerman para el Kit
Minstorms EV3 versión educativa.
2. Analice el modelo de movimiento de la clase DifferentialPilot con el fin de desarrollar la
clase AckermanPilot.
3. Integre la clase AckermanPilot en el programa que se descarga al robot.
4. Realice la adquisición de datos de los puntos de posición usando el robot Ackerman.

5. BIBLIOGRAFÍA
[1] Sitio WEB LeJOS, http://lejos.sourceforge.net/
[2] Sebastian Thrun, Wolfram Burgard, Dieter Fox, “Probabilistic Robotics”, MIT Press, 2006.
[3] Sitio WEB de Allan Caine, http://lejosnxt.blogspot.com/
[4] OLLERO, Aníbal. Robótica. Manipuladores y robots móviles. España: Marcombo Editores, 2001.
[5] J. Craig, "Introduction to robotics," in Addison Wesley, 2da ed, 1989.
[6] Borenstein, J.; Liqiang Feng, "Measurement and correction of systematic odometry errors in mobile robots," Robotics
and Automation, IEEE Transactions on , vol.12, no.6, pp.869,880, Dec 1996.

29

Das könnte Ihnen auch gefallen