You are on page 1of 101

Introducción a la Robótica

Móvil
Eduardo Morales, L. Enrique Sucar
Inteligencia Artificial

Intro Robotica 1
Contendio
•  ¿Qué es un robot?
•  Tipos de Robots
•  Partes de un robot
•  Arquitecturas
•  Percepción
•  Mapas del ambiente
•  Localización
•  Planeación de trayectorias
•  Mapeo y Localización Simultánea (SLAM)
•  Interacción Humano Robot
Intro Robotica 2
¿Qué es un robot?

Intro Robotica 3
Un robot es ...

•  “manipulador programable y
multifuncional diseñado para mover
materiales, partes, herramientas o
dispositivos específicos mediante
movimientos programados para realizar
diferentes tareas” [Instituto de Robótica
de América]

Intro Robotica 4
Un robot es ...

•  “agente activo artificial cuyo ambiente


es el mundo físico” [Russell y Norvig]

•  “conexión inteligente de percepción a


acción” [Jones y Flynn]

•  “una máquina programable capaz de


percibir y actuar en el mundo con cierta
autonomía” [Sucar]
Intro Robotica 5
Tipos de Robots
•  Robots manipuladores (brazos)
•  Robots móviles
•  Robots “híbridos” (móviles con
manipulación)
•  Vehículos autónomos
•  Robots áereos (UAVs)
•  Robots submarinos
•  Robots humanoides
•  Robots hexápodos
•  …. Intro Robotica 6
Partes de un Robot
Comunicación

Sensores
“Inteligencia”

Control
Actuadores

Potencia

Intro Robotica 7
Actuadores
•  Dispositivos que permiten al robot
modificar el medio ambiente
•  Dos tipos principales:
–  Locomoción: cambiar la posición del robot
respecto al medio ambiente
–  Manipulación: mover otros objetos en el
medio ambiente

Intro Robotica 8
•  Dispositivos que permiten
al robot percibir el medio
ambiente y su estado
Sensores
interno
•  Principales tipos:
–  “Propriception” – posición y
movimiento:
•  Codificadores en uniones
de manipuladores
•  Odometría en robots
móviles
–  Fuerza (bumpers)
–  Táctiles
–  Ultrasonido (sonares)
Intro Robotica 9
Sensores

–  Cámaras
–  Fotorreceptores
–  Apuntadores láser
–  Telémetros láser
–  Sensores de energía
–  Brújulas
–  Kinect
Intro Robotica 10
Potencia
•  Sistema de potencia que proporcionan la
energía eléctrica para la operación de las
diferentes partes: electrónica, motores,
sensores, etc.
•  Los robots manipuladores se pueden
alimentar de las líneas eléctricas (fijos),
mientras que los robots móviles
normalmente se alimentan de baterías

Intro Robotica 11
Control
•  Provee la interfaz entre el sistema de
procesamiento del robot y sus sensores y
actuadores
•  Normalmente se realiza mediante una
combinación de hardware y software
•  Provee una serie de comandos
(subrutinas) para los programas de alto
nivel del robot (“inteligencia”)

Intro Robotica 12
“Inteligencia”
•  Programas que permiten que el robot
realice sus tareas
•  Dependiendo del tipo de robot y de la
complejidad y variedad de las tareas a
realizar, se tienen diferentes tipos de
programas

Intro Robotica 13
“Inteligencia”
•  Algunas tareas de un robot móvil:
–  Integrar/interprertar la información de sus sensores
–  Navegación (evitar obstáculos, ir a cierto lugar - meta)
–  Planeación (decidir la serie de pasos para cumplir una o
más metas)
–  Construir modelos del ambiente (mapas)
–  Localizarse en el mundo (en el mapa)
–  Reconocer lugares y/o objetos
–  Manipular objetos
–  Comunicarse con otros agentes: computadoras, otros
robots, personas

Intro Robotica 14
Comunicación

•  En diversas aplicaciones es necesario que el


robot se comunique con otros agentes
•  Tipos de comunicación:
–  Telecontrol: programación y control a distancia
–  Cooperación: comunicación con robots u otras
máquinas para realizar tareas conjuntas
–  Interacción humano-robot: comunicación con
personas para recibir comandos o dar información

Intro Robotica 15
Problemas fundamentales
•  Obtener información del mundo:
Percepción
•  Saber donde estoy: Localización
•  Construir un modelo del ambiente: Mapeo
(SLAM) y Exploración
•  Decidir como alcanzar el objetivo:
Planeación
•  Seguir un plan para alcanzar el objetivo:
Navegación, Control
Intro Robotica 16
Arquitecturas de Software
•  “organización de la generación de acciones
a partir de las percepciones del robot”
•  “arreglo de módulos de software para un
robot móvil.”
•  Principales tipos:
–  Arquitecturas deliberativas
–  Arquitecturas reactivas
–  Arquitecturas híbridas

Intro Robotica 17
Ejemplo
•  Ir a la meta (luz) evitando los obstáculos

Intro Robotica 18
Arquitecturas básicas
•  Arquitectura deliberativa
•  Arquitectura reactiva

sensores actuadores

Intro Robotica 19
Arquitectura deliberativa
•  Basada en el paradigma de sensa-planea-
actua (SPA):
–  Se tiene un modelo completo (mapa) del
ambiente
–  Se construye un plan de acción para realizar
la tarea basado en el modelo
–  Se ejecuta el plan

Intro Robotica 20
Arquitectura deliberativa

Modelo
Ejecu-
Sensado del Plan Control
ción
mundo

Intro Robotica 21
Ejemplo: enfoque deliberativo
•  Construir mapa del ambiente, incluyendo
obstáculos y meta
•  Generar un plan para ir de la posición
inicial a la meta evitando los obstáculos
•  Ejecutar el plan

Intro Robotica 22
Ejemplo: plan en un mapa de
rejilla
•  Plan: buscar una serie de acciones básicas
que lleven al robot de la posición inicial a la
meta

Intro Robotica 23
Arquitectura deliberativa
•  Ventajas:
–  El tener un modelo del ambiente permite optimizar
las acciones para obtener el “mejor” plan
•  Limitaciones:
–  Necesidad de un modelo preciso del ambiente
–  Altos requerimientos de cómputo y memoria
–  Dificultad de operar en un mundo dinámico o
desconocido
–  Reacción “lenta” a situaciones imprevistas

Intro Robotica 24
Arquitectura Reactiva
•  En el enfoque reactivo hay una conexión
directa de percepción a acción sin
necesidad de un modelo del mundo
•  Normalmente se considera una serie de
niveles de comportamiento que realizan
diferentes comportamientos en forma
“paralela” (subsumption architecture)

Intro Robotica 25
Arquitectura basada en
Comportamiento

Planear

Explorar
sensores actuadores
Deambular

Evitar objetos
Intro Robotica 26
Manejo de Conflictos
•  Al existir varios módulos en paralelo
pueden existir conflictos, que se
resuelven dando prioridades a los
diferentes comportamientos
•  El comportamiento de mayor prioridad
“suprime” los otros comportamientos

Deambular

Evitar objetos motores


Intro Robotica 27
Ejemplo: enfoque reactivo

Buscar luz

Ir a la luz

Evitar objetos motores

Intro Robotica 28
Arquitectura Reactiva
•  Ventajas:
–  Bajo requerimiento de cómputo, respuesta
rápida
–  Facilidad de desarrollo modular
–  No requiere un modelo del mundo
•  Limitaciones:
–  Difícil de extender a tareas complejas
–  Limitaciones sensoriales pueden ocasionar
problemas al no contar con un modelo
–  No garantiza la mejor solución (óptimo)
Intro Robotica 29
Arquitecturas Híbridas
•  Combinación de arquitecturas
deliberativas y reactivas que intentan
aprovechar ventajas de ambas
•  Ejemplos:
–  Arquitecturas jerárquicas (3 capas)
–  Arquitecturas de pizarrón (blackboard)
–  Arquitecturas probabilísticas

Intro Robotica 30
Arquitectura de 3 capas
•  Tres componentes básicos:
–  Capa de habilidades: Mecanismo de
control reactivo (controlador)
–  Capa de secuenciación: Mecanismo de
ejecución de plan (secuenciador)
–  Capa de planeación: Mecanismo
deliberativo (deliberador)
•  El secuenciador selecciona los
mecanismos básicos de la capa de
habilidades en base al plan de la capa
de planeación Intro Robotica 31
Arquitectura de 3 capas:
ejemplo

Planeador

Secuenciador

avanzar
sensores ir a actuadores
sin girar
luz
chocar
Intro Robotica 32
Arquitectura de Pizarrón
•  Conjunto de módulos o procesos que
interactúan mediante un espacio de información
común llamado pizarrón (blackboard)
•  Cada módulo implemente una función específica
y en conjunto todos realizan la tarea
•  Todos los módulos pueden ver la información en
el pizarrón y actúan en forma oportunística, de
acuerdo al que más pueda aportar en ese
momento (coordinador)

Intro Robotica 33
Arquitectura de Pizarrón
Obtener PIZARRÓN
info. Ir a la
sensores meta

Evitar
obstáculo control
planeación
Intro Robotica 34
Arquitectura probabilística
•  Consideran la incertidumbre inherente en el
mundo real, tanto en la información de los
sensores como en la ejecución de los
actuadores
•  Representan en forma explícita dicha
incertidumbre mediante distribuciones de
probabilidad:
–  Integración probabilística de sensores
–  Mapas probabilísticos
–  Acciones basadas en teoría de decisiones
(maximizar utilidad)
Intro Robotica 35
Arquitectura probabilística

Coordinación

sensores Fusión Locali- Nave- actuadores


sensorial zación gación

Control (sensores/actuadores)

Intro Robotica 36
Percepción del Ambiente
•  Los sensores permiten al robot percibir
su medio ambiente y su estado interno
•  Dos tipos básicos:
–  Sensores de estado interno
–  Sensores de estado externo
•  Desde otro punto de vista se pueden
clasificar en:
–  Activos: emiten energía o modifican el
ambiente
–  Pasivos: reciben energía pasivamente
Robótica Probabilista, L. E. Sucar 37
Modelo del Sensor
•  El modelo de un sensor provee una
relación matemática entre la propiedad de
interés (e) y la lectura del sensor (r)
r = f (e)
•  El modelo debe incluir la relación del
dispositivo físico y el ruido debido al
sensor mismo (interno) y al medio
ambiente (externo)

Robótica Probabilista, L. E. Sucar 38


Modelo del Sensor

ruido

Robótica Probabilista, L. E. Sucar 39


Modelo del Sensor
Considerando la incertidumbre – modelo probabilístico

P(Olaser|Z)

Z

Robótica Probabilista, L. E. Sucar 40
Fusión sensorial
•  Una forma de reducir la incertidumbre es
combinando varios sensores, ya sea del mismo
tipo o de diferente tipo:
  Fusión sensorial
•  La forma más sencilla de combinar varios
sensores es simplemente tomar el promedio de
las mediciones
•  Existen técnicas más sofisticadas de fusión
como técnicas bayesianas y el filtro de Kalman

Robótica Probabilista, L. E. Sucar 41


Fusión sensorial
•  Existen al menos 3 diferentes formas de
fusión sensorial en robótica móvil:
1.  Diferentes sensores
2.  Diferentes posiciones
3.  Diferentes tiempos

Robótica Probabilista, L. E. Sucar 42


Filtro de Kalman

•  Las variables de estado (X) y observaciones


(Z) tienen una distribución Gaussiana
•  Las funciones de transición y observación son
lineales:
xt+1 = A xt + G wt
zt = C xt + vt
•  Donde A, C, G son constantes, y wt, vt son los
términos que representan el ruido (media cero,
varianza q, r)
[En general, x y z son vectores y Q, R matrices de covarianza]
Robótica Probabilista, L. E. Sucar 43
Filtro de Kalman – Inferencia
•  El problema básico es calcular la probabilidad
posterior del estado, xt, dada la secuencia de
observaciones, z1, …, zt
P( xt | z1, …, zt )
•  Dado que las variables son Gaussians, sólo
necesitamos estimar la media y varianza de xt
m(xt | z1, …, zt )
v(xt | z1, …, zt )

Robótica Probabilista, L. E. Sucar 44


Filtro de Kalman – Inferencia
•  Algoritmo recursivo:
–  Actualización temporal-predicción P( xt+1 | xt)
–  Actualización de la observación P(xt+1 | xt, zt+1)
P(xt+1 | xt) P(xt+1 | xt , zt+1)
Xt
Xt+1
Xt
Xt+1

Zt
Z
Z Zt+1

T T+1 T T+1

Robótica Probabilista, L. E. Sucar 45


Ejemplo – localización en 1-D

Distr. inicial.

Obs.

nueva distr.
Robótica Probabilista, L. E. Sucar 46
Mapas
•  Modelo del ambiente – generalemnte
se representa el espacio libre y el
espacio ocupado (obstáculos) mediante
una representación geométrica: un
mapa
•  Tipos de mapas:
–  Mapas métricos
–  Mapas topológicos
–  Mapas semánticos

Robótica Probabilista, L. E. Sucar 47


Mapas Métricos
•  Se representa el espacio libre y/o
obstáculos mediante medidas
espaciales (geométricas).
•  Dos formas básicas:
–  descomposición o rejillas
–  geométrico

Robótica Probabilista, L. E. Sucar 48


Descomposición espacial
•  Se representa el espacio libre / obstáculos
mediante una discretización en un con
junto de celdas básicas, por medio de una
rejilla de ocupación espacial (occupancy
grids)
•  Tipos de rejillas:
–  Binarias (bitmap) o probabilísticas
–  Uniformes o jerárquicas

Robótica Probabilista, L. E. Sucar 49


Mapas de Rejilla

Robótica Probabilista, L. E. Sucar 50


•  Rejilla uniforme

Robótica Probabilista, L. E. Sucar 51


•  Obstáculos / espacio libre

Robótica Probabilista, L. E. Sucar 52


Mapa de Rejilla Probabilístico
•  Cada celda tiene asociada una probabilidad
de estar ocupada

Robótica Probabilista, L. E. Sucar 53


Mapas Topológicos
•  Se considera el ambiente como una serie
de lugares y conexiones entre dichos
lugares.
•  Esto se puede considerar como un grafo:
–  Nodos: lugares
–  Arcos: conexiones
•  Se le puede incorporar información
métrica al grafo – longitud y orientación de
los arcos
Robótica Probabilista, L. E. Sucar 54
Ejemplo: mapa topológico
•  Grafo de conectividad entre “cuartos”

Robótica Probabilista, L. E. Sucar 55


Ejemplo: mapa topológico
•  Grafo de conectividad entre “cuartos”

Robótica Probabilista, L. E. Sucar 56


Mapas semánticos
•  Se tiene asociado a un mapa métrico o
topológico, una cierta semántica para los
diferentes espacios/objetos en el mapa
•  Esto permite una comunicación más
natural con el robot en forma análoga a la
comunicación entre personas (ve al a la
oficina de Enrique …)

Robótica Probabilista, L. E. Sucar 57


Mapas semánticos

Cuarto 1 Pasillo

Cuarto 2

Cuarto 3 Estancia

Robótica Probabilista, L. E. Sucar 58


Localización
•  Hay dos tipos principales de localización:
1.  Local (seguimiento) – dada una posición
conocida del robot, mantener su localización
en el mapa
2.  Global – encontrar la posición sin
conocimiento previo (o con conocimiento
erróneo – kidnapped robot )

Robótica Probabilista, L. E. Sucar 59


Seguimiento de la posición
•  Odometría ( dead reckoning ) – se estima
la posición integrando los movimientos
(traslación y rotación) desde una posición
conocida
•  Esto introduce un error que es
acumulativo, normalmente mayor para
rotaciones
•  Puede utilizarse en combinación con
información de sensores externos
Robótica Probabilista, L. E. Sucar 60
Localización global
•  Consiste en determinar la posición del
robot sin tener una referencia de su
posición anterior
•  Dada las lecturas de los sensores,
normalmente hay varias posibles
localizaciones para el robot, por lo que
tiene que en ocasiones tiene que
desplazarse para encontrar su posición
real
Robótica Probabilista, L. E. Sucar 61
Localización basada en Marcas
•  Una alternativa para la localización es
usar marcas y triangulación
•  Se pueden usar más de 2 marcas y hacer
un esquema de “votación” para hacer el
sistema más robusto
•  Existen diferentes tipos de “marcas
naturales”, como esquinas, paredes,
puertas, …
Robótica Probabilista, L. E. Sucar 62
Localización
basada en
marcas
naturales

d1

d2

Robótica Probabilista, L. E. Sucar 63


Localización Local
No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada. Reinicie
el equipo y, a continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e insertarla
de nuevo.

Localización
global
No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada. Reinicie el equipo y, a
continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e insertarla de nuevo.

No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada.
Reinicie el equipo y, a continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e
insertarla de nuevo.

Robótica Probabilista, L. E. Sucar 65


Localización de Markov
•  Bajo el enfoque probabilístico, el problema de
localización global se puede resolver mediante
el Filtro de Bayes (localización de Markov)
•  El robot va alternando sensado/movimiento
hasta poder determinar su ubicación
•  Se puede implementar de diferentes formas:
–  Filtro de Kalman
–  Filtros de partículas
–  Filtro discreto

Robótica Probabilista, L. E. Sucar 66


Localización de Markov

Robótica Probabilista, L. E. Sucar 67


Ejemplo: localización (Fox 98)

•  Sensado

•  Predicción

•  Sensado

Intro Robotica 68
Ejemplo de localización de Markov
(Fox 98)
•  Filtro de partículas: P
(ST | A1:T, O0:T)

Intro Robotica 69
Cinemática
•  La cinemática se refiere a los efectos de
las acciones de control en la configuración
del robot
•  La configuración es la posición y
orientación de un cuerpo, en este caso un
robot en el espacio

Robótica Probabilista, L. E. Sucar 70


Espacio de configuraciones
•  Grados de libertad:
–  Se refiere a los posibles movimientos de un
robot (X,Y,Z y rotaciones)
–  Para manipuladores, cada articulación provee
un grado de libertad (se requieren 6 para
ubicar un objeto rígido en cualquier posición y
orientación)
•  Robots móviles:
–  Movimiento en el plano X-Y y rotación

Robótica Probabilista, L. E. Sucar 71


Configuración de un robot
•  La configuración de un robot se refiere a
la posición de sus todas articulaciones
que definen su estado en el espacio

Θ2

Θ1

Robótica Probabilista, L. E. Sucar 72


Espacio de configuraciones
•  Espacio “n”-dimensional donde se ubica
cada grado de libertad del robot – el
robot (orgáno terminal) se puede ver
como un punto en este espacio
Θ2

Θ1
Robótica Probabilista, L. E. Sucar 73
Espacio de configuraciones
Para un robot móvil, la configuración del robot está dada por
su posición X-Y y su orientación

•  Ejemplos:
–  Robot Scout: X, Y, Θ1
–  Robot Nomad: X, Y, Θ1, Θ2

Robótica Probabilista, L. E. Sucar 74


Espacio de configuraciones:
robot móvil

Θ
Robótica Probabilista, L. E. Sucar 75
Ejemplo: espacio de
configuraciones, de obstáculos y
espacio libre
Θ2

Θ1
Robótica Probabilista, L. E. Sucar 76
Planeación de Trayectorias
•  Determinar una trayectoria en el espacio
de configuraciones, entre una
configuración inicial (inicio) y una
configuración final (meta), de forma que el
robot no colisione con los obstáculos y
cumpla con las restricciones cinemáticas
del robot

Robótica Probabilista, L. E. Sucar 77


Plan
•  Un plan es un conjunto de acciones
(operadores) que permiten a un agente
(robot) ir de un estado inicial a un
estado final o meta
•  Los elementos básicos para hacer un
plan son:
–  Estados (p. ej. Posición del robot),
incluyendo el estado incial y el estado
meta
–  Operadores: acciones que llevan de un
estado a otro, Si  Sj
Robótica Probabilista, L. E. Sucar 78
Ejemplo de Plan
•  Considerando el mapa de rejilla:
•  Estados:
–  posición X,Y en el mapa
–  Estado inicial: 0,0
–  Estado meta (luz): Xm, Ym
•  Acciones:
–  Movimiento a alguna de las celdas vecinas
–  X+1, Y+1, X-1, Y-1

Robótica Probabilista, L. E. Sucar 79


Ejemplo de Plan
•  Plan: buscar una serie de acciones básicas
que lleven al robot de la posición inicial a la
meta

Robótica Probabilista, L. E. Sucar 80


Ejemplo: plan en el mapa
topológico
•  Plan = búsqueda de una trayectoria en el
grafo, del nodo inicial al meta

Robótica Probabilista, L. E. Sucar 81


Programación dinámica
•  Procedimiento iterativo (recursivo) para
evaluar el costo de la trayectoria mínima
de cualquier punto a la meta
•  Se considera un ambiente discreto y un
costo de moverse de un sitio (celda) a otro
•  El algoritmo básico se conoce como
“iteración de valor”

Robótica Probabilista, L. E. Sucar 82


Ejemplo – programación
dinámica

2.4 2

1.4 1

2 1 0
2.4 1.4 1
Robótica Probabilista, L. E. Sucar 83
Ejemplo – programación
dinámica

10.2 9.2 8.2 6.8 5.8 4.8 3.8 3.4 3

9.8 8.8 7.8 6.8 5.8 4.8 4.4 2.4 2

6.4 5.4 4.4 3.4 1.4 1


8.8 7.8 6.8 4 3 2 1 0
9.2 8.2 7.8 4.4 3.4 2.4 1.4 1
Robótica Probabilista, L. E. Sucar 84
Ejemplo – programación
dinámica

10.2 9.2 8.2 6.8 5.8 4.8 3.8 3.4 3

9.8 8.8 7.8 6.8 5.8 4.8 4.4 2.4 2

6.4 5.4 4.4 3.4 1.4 1


8.8 7.8 6.8 4 3 2 1 0
9.2 8.2 7.8 4.4 3.4 2.4 1.4 1
Robótica Probabilista, L. E. Sucar 85
Ejemplo de programación dinámica

Se considera un conjunto de celdas (road-map) libres



de obstáculos obtenidas previamente

V(x,y) (pixel oscuros



I
G
denotan valores altos)

Robótica Probabilista, L. E. Sucar 86


SLAM
•  El problema de construcción de mapas por el
mismo robot es uno de los problemas
fundamentales en robótica móvil
•  Este involucra el resolver concurrentemente
(simultáneamente) dos problemas:
–  Construir un mapa (espacio libre/ocupado) del
ambiente
–  Localizarse en el mapa que se va construyendo
•  Por lo que se conoce como “mapeo y
localización simultáneos” – SLAM
Robótica Probabilista, L. E. Sucar 87
El problema de construir un mapa

Mapa

Robótica Probabilista, L. E. Sucar 88


Construcción de mapas (Romero 2002)

Robótica Probabilista, L. E. Sucar 89


Robot simulado construyendo un
mapa de rejilla

Robótica Probabilista, L. E. Sucar 90


Mapas en el INAOE

Pasillo oficinas 2do piso Laboratorio de robótica

Robótica Probabilista, L. E. Sucar 91


Interacción Humano-Robot
Detección de Personas
Reconocimiento de Personas

SIFT feature extraction


Localization and tracking

Face recognition

Video streaming
Results
Ademanes
•  Útiles para la comunicación humano-robot
•  Comunicar información geométrica
–  Ve para allá
–  Toma ese objeto
–  Qué es eso?
•  Complemento a la voz
–  Para!
–  Ven!
Ven

Atención

Derecha

Izquierda

Alto
Interacción por voz y
emociones
•  Reconocimiento y
síntesis de voz

•  Simulación de
emociones
Expresiones faciales
RoboCup@Home
•  Torneo orientado a robots de servicio en casa
que es parte de la iniciativa de RoboCup
•  Alguna Tareas:
–  Presentation
–  Who is Who
–  Follow me
–  Lost & Found
–  Shopping mall
–  Restaurante
–  Fire detection
–  Open challenge (mesero, rehabilitación, bailarín)
TMR 2013 - restaurante
Referencias
•  Dudek, Jenkin, Computational Principles
of Mobile Robots, Cambridge Univ. Press
•  Kortenkamp et al. (Eds.), Artificial
Intelligence and Mobile Robots, MIT Press
•  Thrun, Burgard, Fox, Probabilistic
Robotics, MIT Press

Intro Robotica 101

You might also like