conexión remota pc-robot mediante robot operating system ... · resultado de los esfuerzos...

7
REVISTA (2017) 4–2,8-14. ISSN 2395-8510 Contenido disponible en http://www.iteshu.edu.mx/conamti/ CONAMTI 2017 Mecatrónica-Energías Renovables-Sistemas Computacionales-Innovación Agrícola Conexión Remota Pc-Robot Mediante Robot Operating System (ROS) Para Teleoperar un Dispositivo Móvil Diferencial Ayala Luna H. I 1 , Quintanar García S 1 , Hernández Paredes J. M 1,* 1 División de Ingeniería en Mecatrónica. Instituto Tecnológico Superior de Huichapan. Conocido s/n El Saucillo, Huichapan, Hgo. C.P, 42411, México. * correspondencia: [email protected], Tel: (761) 72 4 80 79 A R T ÍCULO Acceptado 30 Octubre 2017 Palabras clave: Control, Odometría, Protocolo SSH, Robot móvil, ROS, Teleoperación, Ubuntu. RESUMEN En los robots teleoperados las tareas de percepción del entorno, planificación y manipulación compleja son realizadas por humanos. Es decir, el operador actúa en tiempo real cerrando un lazo de control de alto nivel. Estos robots son interesantes para trabajos en una localización remota (acceso difícil, medios contaminados o peligrosos) en tareas complejas de automatizar y entornos no estructurados. Una de las maneras de realizar la teleoperación es utilizando Secure Shell (SSH) que es un protocolo basado en Robot Operating System (ROS) que facilita tener acceso remoto total a terminales desde otro terminal y está regido por una arquitectura cliente-servidor para así poder controlar el robot a distancia desde una Pc remota a la Pc robot haciendo uso de una WLAN. 1. INTRODUCCIÓN A la par con las investigaciones en robótica autónoma, se desarrollan investigaciones en la teleoperación de robots, donde las señales de sensado y el procesamiento de datos son llevados a la gran capacidad de las redes de supercomputadores, y solamente la capacidad de movimiento está ubicada en el robot. Desde hace más de una década, los investigadores han estado usando el Internet como un medio de transmisión de comandos que permiten teleoperar robots y obtener señales de realimentación. Aunque el Internet tiene muchas ventajas en una gran variedad de campos, usándolo para teleoperar robots, también tiene algunas limitaciones, tales como el problema del retardo de tiempo incierto, la perdida de datos y la seguridad en la transmisión [1]. Un estudio de los retardos presentes en las comunicaciones de robots teleoperados desde Internet, se describe en [2], donde se propone un modelo del retardo de tiempo de Internet, el cual se verifica experimentalmente a través de datos reales. Pese a las dificultades, los robots teleoperados desde Internet, es un campo de investigación que crece en su desarrollo debido a la aparición de nuevos avances tecnológicos que facilitan la implementación de estos sistemas, como los dispositivos transceivers, las redes inalámbricas, la masificación de cobertura o de acceso a Internet, el ancho de banda disponible a los usuarios actuales, el mejoramiento y el abaratamiento del hardware computacional, etc. Todas estas características aumentan las prestaciones y aplicabilidad de este tipo de sistemas [3]. En el caso particular de los robots, se cuentan varias aplicaciones, tales como robots conectados en línea bajo condiciones estándar para que los usuarios los utilicen como plataforma para la prueba de algoritmos “Benchmark”, telemanufactura de piezas (cualquier pieza que un robot pueda manufacturar), la exploración de sitios distantes o de difícil acceso, por ejemplo, la NASA ha usado el Internet para el control de vehículos en el espacio, desde su centro local de operaciones y en colaboración con científicos distribuidos geográficamente en diferentes lugares del mundo [4]. También se aplica en robots destinados a tareas de seguridad y vigilancia, que son monitoreados desde Internet. En el ámbito académico, existen varias motivaciones para incursionar en el desarrollo de sistemas de teleoperación de robots desde Internet, por ejemplo, sistemas al que pueden acceder los alumnos de un curso de robótica y luego de haber obtenido simulaciones que garanticen el buen uso del sistema, puedan probar sus algoritmos de control en el robot real, ubicado en un laboratorio remoto y disponible las 24 horas del día. 2. MATERIALES Y MÉTODOS A. Protocolo SSH (Secure Shell)

Upload: dodang

Post on 30-Oct-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conexión Remota Pc-Robot Mediante Robot Operating System ... · resultado de los esfuerzos combinados de una comunidad internacional. ROS provee librerías y herramientas para ayudar

REVISTA (2017) 4–2,8-14. ISSN 2395-8510

Contenido disponible en http://www.iteshu.edu.mx/conamti/    

CONAMTI  2017  Mecatrónica-Energías Renovables-Sistemas Computacionales-Innovación Agrícola

Conexión Remota Pc-Robot Mediante Robot Operating System (ROS) Para Teleoperar un Dispositivo Móvil Diferencial

Ayala Luna H. I1, Quintanar García S1, Hernández Paredes J. M1,*

1División de Ingeniería en Mecatrónica. Instituto Tecnológico Superior de Huichapan. Conocido s/n El Saucillo, Huichapan, Hgo. C.P, 42411, México. * correspondencia: [email protected], Tel: (761) 72 4 80 79

A R T ÍCULO

Acceptado 30 Octubre 2017

Palabras clave: Control, Odometría, Protocolo SSH, Robot móvil, ROS, Teleoperación, Ubuntu.

RESUMEN En los robots teleoperados las tareas de percepción del entorno, planificación y manipulación compleja son realizadas por humanos. Es decir, el operador actúa en tiempo real cerrando un lazo de control de alto nivel. Estos robots son interesantes para trabajos en una localización remota (acceso difícil, medios contaminados o peligrosos) en tareas complejas de automatizar y entornos no estructurados. Una de las maneras de realizar la teleoperación es utilizando Secure Shell (SSH) que es un protocolo basado en Robot Operating System (ROS) que facilita tener acceso remoto total a terminales desde otro terminal y está regido por una arquitectura cliente-servidor para así poder controlar el robot a distancia desde una Pc remota a la Pc robot haciendo uso de una WLAN.

1.  INTRODUCCIÓN

A la par con las investigaciones en robótica autónoma, se desarrollan investigaciones en la teleoperación de robots, donde las señales de sensado y el procesamiento de datos son llevados a la gran capacidad de las redes de supercomputadores, y solamente la capacidad de movimiento está ubicada en el robot. Desde hace más de una década, los investigadores han estado usando el Internet como un medio de transmisión de comandos que permiten teleoperar robots y obtener señales de realimentación. Aunque el Internet tiene muchas ventajas en una gran variedad de campos, usándolo para teleoperar robots, también tiene algunas limitaciones, tales como el problema del retardo de tiempo incierto, la perdida de datos y la seguridad en la transmisión [1]. Un estudio de los retardos presentes en las comunicaciones de robots teleoperados desde Internet, se describe en [2], donde se propone un modelo del retardo de tiempo de Internet, el cual se verifica experimentalmente a través de datos reales. Pese a las dificultades, los robots teleoperados desde Internet, es un campo de investigación que crece en su desarrollo debido a la aparición de nuevos avances tecnológicos que facilitan la implementación de estos sistemas, como los dispositivos transceivers, las redes inalámbricas, la masificación de cobertura o de acceso a Internet, el ancho de banda disponible a los usuarios actuales, el mejoramiento y el abaratamiento del hardware

computacional, etc. Todas estas características aumentan las prestaciones y aplicabilidad de este tipo de sistemas [3]. En el caso particular de los robots, se cuentan varias aplicaciones, tales como robots conectados en línea bajo condiciones estándar para que los usuarios los utilicen como plataforma para la prueba de algoritmos “Benchmark”, telemanufactura de piezas (cualquier pieza que un robot pueda manufacturar), la exploración de sitios distantes o de difícil acceso, por ejemplo, la NASA ha usado el Internet para el control de vehículos en el espacio, desde su centro local de operaciones y en colaboración con científicos distribuidos geográficamente en diferentes lugares del mundo [4]. También se aplica en robots destinados a tareas de seguridad y vigilancia, que son monitoreados desde Internet.

En el ámbito académico, existen varias motivaciones para incursionar en el desarrollo de sistemas de teleoperación de robots desde Internet, por ejemplo, sistemas al que pueden acceder los alumnos de un curso de robótica y luego de haber obtenido simulaciones que garanticen el buen uso del sistema, puedan probar sus algoritmos de control en el robot real, ubicado en un laboratorio remoto y disponible las 24 horas del día.

2.  MATERIALES Y MÉTODOS

A.   Protocolo SSH (Secure Shell)

Page 2: Conexión Remota Pc-Robot Mediante Robot Operating System ... · resultado de los esfuerzos combinados de una comunidad internacional. ROS provee librerías y herramientas para ayudar

REVISTA (2017) 4–2, 8-14. ISSN 2395-8510 9

El Secure Shell es un protocolo que permite crear conexiones seguras entre dos ordenadores. Usando SSH, la maquina cliente inicia una conexión con la máquina del servidor mediante una sesión cifrada, evitando que alguien pueda obtener una contraseña o cualquier otro tipo de información que se envíe por la red [8]. El funcionamiento de este protocolo se puede resumir en los siguientes pasos que se muestran a continuación;

1.   El cliente inicia una conexión TCP sobre el puerto 22 del servicio. Este puerto es el que utiliza por defecto el protocolo.

2.   El servidor, que tiene en su poder dos claves (una privada y

una pública) manda su clave privada al cliente.

3.   Cuando el cliente recibe la clave enviada por el servidor, la compara con la que tiene almacenada para verificar su autenticidad. SSH exige que el cliente la confirme por primera vez.

4.   El cliente y el servidor se ponen de acuerdo en la versión del

protocolo a utilizar, así como el algoritmo del cifrado utilizando para el intercambio de la información.

5.   Con la clave pública del servidor en su poder, el cliente genera

una clave de sesión aleatoria, creando un mensaje que contiene esa clave y algoritmo seleccionado para la encriptación de la información. Toda esa información es enviada al servidor haciendo uso de la clave pública que envió de forma cifrada.

Si lo anterior se realiza adecuadamente el cliente queda autenticado con el servidor. El uso del protocolo Secure Shell por parte de los usuarios, ofrece una serie de interesantes características, que lo han llevado a convertirse en un protocolo de comunicación seguro, además de ser uno de los más utilizados por todos los usuarios que gestionan algún tipo de servidor Linux. Cabe destacar algunas características: El uso de SSH encripta la sesión de registro impidiendo que cualquier persona pueda conseguir contraseñas no encriptadas. Las claves de encriptación utilizadas sólo son conocidas por quien emite la información y por quien la recibe. Una sola alteración de la clave modifica el mensaje original, lo que permite que si por alguna razón un tercero descubre la clave no acceda al mensaje completo. El usuario tiene la posibilidad de verificar que sigue conectado al mismo servidor que se conectó inicialmente. Los datos enviados y recibidos mediante el uso de SSH se realiza por medio de algoritmos de encriptación de 128 bits, lo que hace que sea muy complicado de descifrar y de leer. El cliente tiene la posibilidad de utilizar de forma segura aplicaciones desde el intérprete de comandos del servidor, que permite administrar la máquina como si estuviera delante de ella[8].

B.   Robot Operating System (ROS) Robot Operatting System (ROS) es un marco flexible para escribir software de robot. Es una colección de herramientas, bibliotecas y convenciones que tienen como objetivo simplificar la tarea de crear un comportamiento robótico complejo y robusto en una amplia variedad de plataformas robóticas. Debido a que la creación de un software de robustez de propósito general realmente robusto es difícil. Desde la perspectiva del robot, los problemas que parecen triviales para los seres humanos a menudo varían enormemente entre instancias de tareas y entornos [6]. ROS es un proyecto de código abierto, y el código dentro de él es el resultado de los esfuerzos combinados de una comunidad internacional. ROS provee librerías y herramientas para ayudar a los desarrolladores de software a crear aplicaciones para robots. ROS provee abstracción de hardware, controladores de dispositivos, librerías, herramientas de visualización, comunicación por mensajes, administración de paquetes y más. ROS está bajo la licencia open source, BSD [6].

C.   Ubuntu Ubuntu es un sistema operativo de software de código abierto que se ejecuta desde el escritorio, a la nube, a todas sus cosas conectadas a Internet

D.   Modelo cinemático del robot móvil diferencial En un robot móvil de ruedas del tipo diferencial la velocidad y dirección del móvil dependen de manera directa de la velocidad actual de cada una de las ruedas que se definen como 𝜔" y 𝜔# , si estas velocidades se igualan de tal manera que 𝜔" = 𝜔# el robot avanzará en línea recta [7]. El desplazamiento total del robot se define como: 𝐷 =   '()'*

+       (1)

donde: 𝐷" es desplazamiento de la rueda derecha y 𝐷# es el desplazamiento de la rueda izquierda. En la Fig. 1 los segmentos denotados como 𝐷" son parte de una circunferencia de radio 𝑑 + 𝑏 y el perímetro de esta circunferencia está dada por la ecuación (2).

Fig. 1 Guiado direccional del robot móvil. 𝐶# = 2𝜋(𝑑 + 𝑏) (2)

Page 3: Conexión Remota Pc-Robot Mediante Robot Operating System ... · resultado de los esfuerzos combinados de una comunidad internacional. ROS provee librerías y herramientas para ayudar

10 REVISTA (2017) 4-2, 8-14 ISSN 2395-8510

donde: 𝐶# es el perímetro de la circunferencia por la rueda izquierda, 𝑑 es la distancia entre las ruedas, 𝑏 define el giro con respecto al je del robot y 𝜃 es el ángulo de giro que define la orientación del móvil. La ecuación (3) relaciona la distancia que recorre la rueda izquierda con el perímetro y el ángulo de giro con toda la circunferencia. '*5*= 6

+7 (3)

despejando 𝜃 de (3) y sustituyendo (2): 𝜃 = '*

8)9 (4)

La distancia 𝐷" representa una porción de la circunferencia de radio 𝑏 y 𝐶" = 2𝜋𝑏 define el perímetro de la rueda derecha y 𝜃 el ángulo de giro con toda la circunferencia: '(5(=   6

+7 (5)

Si se despeja 𝑏 y se sustituye en (5) se obtiene el radio de giro con respecto al eje del robot, ecuación (6). 𝑏 = '(

6 (6)

Sustituyendo 𝑏 en (4) se puede definir el ángulo de giro robot como: 𝜃 = '*

8):(;= '*<'(

8 (7)

La ecuación (7) define la orientación de robot en función de los desplazamientos de las ruedas izquierda y derecha, además, es independiente al camino que el robot tome. En ocasiones el radio 𝑟> de la rueda no es real cuando toca el piso, es decir, el radio puede disminuir debido al peso que se ejerce en el robot, este efecto se muestra en la Fig. 2.

Fig. 2 Radio de efecto de la rueda. Entonces el radio efectivo 𝑟? está en función de la compliancia de las ruedas y se puede determinar empíricamente [7]. Entonces la distancia que recorre la rueda derecha e izquierda al tomar en cuenta el efecto de compliancia se define en la ecuación (8) y (9). 𝐷" =

+76(@AB°

(8) 𝐷# =  

+76*@AB°

(9)

donde: 𝜃"   y 𝜃# corresponden al ángulo de giro de las ruedas derecha e izquierda respectivamente en grados. Para calcular la posición en un plano de referencia (𝑥, 𝑦) se utilizan como se muestra en la Fig. 3.

Fig. 3 Posición del robot móvil respecto a un eje de referencia. La obtención de las coordenadas en el eje 𝑥 y el eje 𝑦 es trivial ya que se trata de un simple triangulo rectángulo. 𝑥 = 𝐷 ∗ sin  (𝜃) (10)  𝑦 = 𝐷 ∗ cos  (𝜃) (11) Donde: 𝐷 es el desplazamiento total del robot que define en la ecuación (1). Si el radio de la rueda es 𝑟?, las velocidades lineales correspondientes son 𝑣# = 𝜔#𝑟? y 𝑣" = 𝜔"𝑟?. En este caso la velocidad lineal y angular en el modelo se definen como [5] 𝑣 =   O()O*

+= (P()P*)"Q

+ (12)

𝜔 =   O(<O*

8= (P(<P*)"Q

8 (13)

Por otro lado si se especifica la velocidad lineal 𝑣 y angular 𝜔 del robot, las velocidades de giro que hay que aplicar a las ruedas izquierda y derecha son: 𝜔# =

O< RS P

"Q (14)

𝜔" =

O) RS P

"Q (15)

La velocidad lineal y angular puede definirse en variables de control como [5]:

𝒙𝒚𝜽

=

− 𝒓𝒆𝐬𝐢𝐧  (𝜽)𝟐

− 𝒓𝒆𝐬𝐢𝐧  (𝜽)𝟐

𝒓𝒆𝐜𝐨𝐬  (𝜽)𝟐

𝒓𝒆𝐜𝐨𝐬  (𝜽)𝟐

− 𝒓𝒆𝒃

𝒓𝒆𝒃

                                 (16)

E Calculo de la velocidad 𝝎𝒍 y 𝝎𝒓

El cálculo de estas dos velocidades angulares de las ruedas izquierda y derecha respectivamente es de suma importancia puesto que si se conocen es posible controlarlas para darle ese movimiento deseado al robot. La velocidad angular de cualquiera de las ruedas se determina a través de la observación de un sensor del tipo digital que esta acoplado al eje de cada

Page 4: Conexión Remota Pc-Robot Mediante Robot Operating System ... · resultado de los esfuerzos combinados de una comunidad internacional. ROS provee librerías y herramientas para ayudar

REVISTA (2017) 4–2, 8-14. ISSN 2395-8510 11

motor que permite el movimiento de la rueda, a este sensor se le conoce como encoder de cuadratura incremental. La idea básica para la estimación de la velocidad angular de cada rueda es trivial puesto que solo se debe contar cuantos pulsos de encoder existieron en un periodo de muestreo establecido, esta relación se muestra en la ecuación (17). 𝑤#," = 2𝜋 d*,(

de∆𝑡 (17)

donde: 𝑤#," es la velocidad angular en [rad/s], 𝑃#," es el número de pulsos resultantes de la velocidad en la rueda izquierda y derecha respectivamente, 𝑃i es el número total de pulsos por vuelta de encoder y ∆𝑡 es el periodo de muestreo en [Hz] [7].

2.1 DISEÑO DEL EXPERIMENTO

Para validar que el protocolo Secure Shell (SSH) fuese funcional se realizaron dos pruebas con el robot móvil. Para llevar a cabo dichas pruebas en un programa en la plataforma Arduino se aplicó un controlador PID de velocidad a cada rueda. Con el cual al término de cada prueba se obtiene velocidad lineal y angular de ambas ruedas, posición y orientación. Ambas pruebas se realizaron en un área de trabajo plana. La primer prueba consistió en que el robot realizará una trayectoria lineal y la segunda una trayectoria circular. Para ello se ejecutó en una nueva terminal de la Pc remota Ya que roscore es una colección de nodos y programas que son pre-requisitos de un sistema basado en ROS. Es por ello que se debe tener un roscore en ejecución para que los nodos ROS se comuniquen [6]. En este comando el paquete rosserial_python contiene una implementación Python de la conexión rosserial del lado del host. Controla automáticamente la configuración, publicación y suscripción de un dispositivo conectado rosserial habilitado. El serial_node.py es un nodo que activa automáticamente a suscriptores y editores basándose en la información de configuración almacenada en el dispositivo [6]. Con este comando se compilara y cargara el programa en arduino, dicho programa permitirá realizar teleoperación desde la Pc Remota para poseer el control del robot a distancia donde; i = avanzar hacia adelante j = girar a la izquierda l = girar a la derecha

s = detener En la Fig. 4 se puede la comunicación de nodos a un publicador en ROS

Fig. 4 Comunicación de nodos en ROS

3.  RESULTADOS Y DISCUSIÓN

F Instalación del protocolo Secure Shell (SSH) Para llevar a cabo la instalación del protocolo SSH se ejecutara el siguiente comando en una nueva terminal en ambos ordenadores. Configuración del protocolo Secure Shell (SSH) Para realizar la configuración del protocolo ssh en una nueva terminal del ordenador que será asignado como Pc remota se ejecutara el comando que se muestra:

usuario1@hp:~$ roscore

usuario1@hp:~$ rosrun rosserial_python serial_node.py /dev/ttyUSB0

usuario1@hp:~$ rosrun beginner_tutorials getKey.py

usuario1@hp:~$ sudo apt-get install ssh (Pc remota)

usuario2@hp:~$ sudo apt-get install ssh (Pc robot)

usuario1@hp:~$ ssh [email protected]

Page 5: Conexión Remota Pc-Robot Mediante Robot Operating System ... · resultado de los esfuerzos combinados de una comunidad internacional. ROS provee librerías y herramientas para ayudar

12 REVISTA (2017) 4-2, 8-14 ISSN 2395-8510

Al concluir esta acción el protocolo SSH ya se encuentra en función. La Fig. 5 muestra la conexión remota vía inalámbrica Pc remota – Pc robot mediante el protocolo de comunicación SSH.

Fig. 5 Conexión inalámbrica vía remota Pc remota – Pc robot.

Prueba para trayectoria lineal En la Fig. 6 se puede observar la velocidad angular del robot móvil al realizar una trayectoria lineal. En la cual el comportamiento de la rueda derecha e izquierda es muy similar, debido a la ley de control que se aplica. Si el móvil gira más hacia la derecha por defecto la rueda izquierda trata de compensar esto para que el robot móvil valla avanzando en línea recta.

Fig. 6 Velocidad angular rueda derecha y rueda izquierda. En la Fig. 7 y Fig. 8 se muestran los resultados de las velocidades lineal y angular obtenidas en la trayectoria lineal del robot

Fig. 7 Velocidad lineal del robot. Fig. 8 Velocidad angular del robot.

En la Fig. 9 se observa la posición que obtuvo el robot en una trayectoria lineal

Fig. 9 Posición del robot.

Fig. 10 Orientación del robot. En al Fig. 10 se representa la trayectoria que el robot recorrió Prueba para trayectoria circular En la Fig. 11 se puede observar el comportamiento de la velocidad angular en cada una de las ruedas del robot móvil al realizar una trayectoria circular en sentido antihorario, donde la velocidad de la rueda

Page 6: Conexión Remota Pc-Robot Mediante Robot Operating System ... · resultado de los esfuerzos combinados de una comunidad internacional. ROS provee librerías y herramientas para ayudar

REVISTA (2017) 4–2, 8-14. ISSN 2395-8510 13

derecha fue mayor que a la rueda izquierda esto para poder realizar dicha trayectoria.

Fig. 11 Velocidad angular rueda derecha y rueda izquierda.

En la Fig. 12 y Fig. 13 se muestran los resultados de las velocidades lineal y angular obtenidas de la trayectoria circular.

Fig. 12 Velocidad lineal del robot.

Fig. 13 Velocidad angular del robot.

La Fig. 14 se observa la posición que se obtuvo del robot.

Fig. 14 Posición del robot. En la Fig. 15 se representa la trayectoria seguida por el robot

Fig. 25 Orientación del robot.

4. CONCLUSIONES

En el presente trabajo con el desarrollo del protocolo de comunicación Secure Shell (SSH), se obtuvo el control del robot móvil haciendo uso de la teleoperación para así llevar el móvil a donde el usuario lo desee y que dicho protocolo de comunicación es eficaz para el desarrollo de futuros trabajos en un robot móvil semiautónomo ya que la robótica móvil resulta ser un tema de investigación muy amplio, esto debido al grado de inteligencia y todo lo que involucra su implementación debido a que los robots móviles son una aproximación muy cercana a la creación de un agente inteligente que son un sistema capaz de procesar la información de su entorno y establecer un comportamiento similar al de un ser vivo.

REFERENCES

[1]   GOLDBERG Ken, SIEGWART Roland. Beyond Webcams: an introduction to online robots. Mit press, Massachusetts 2002

[2]   SLAWINSKI E., et al. Experiencias en teleoperación bilateral de robots Revista Iberoamericana de Automática e Informática Industrial, Vol: 3, no: 1. Enero 2006.

Page 7: Conexión Remota Pc-Robot Mediante Robot Operating System ... · resultado de los esfuerzos combinados de una comunidad internacional. ROS provee librerías y herramientas para ayudar

14 REVISTA (2017) 4-2, 8-14 ISSN 2395-8510

[3]   MUÑOZ Nelson David, et al. Diseño de un escenario “en línea” para robots teleoperados desde Internet. En: revista Scientia et Technica, # 32, 2006 Pág. 85-90

[4]   BACKES P.G., et al. Internet-based operations for the Mars Polar Lander mission. IEEE International Conference on Robotics and Automation, 2000. Proceedings. ICRA '00. pag: 2025-2032 vol.2

[5]   Aníbal Ollero B., 2007, “ROBÓTICA. Manipuladores y robots móviles“, Ed. Alfamaomega.

[6]   ROS, ROS(Robotic Operating System), http://www.ros.org.

[7]   Hernández Paredes J. M., Serna Hernández L. F, and Chávez Juárez M. A. “Control PID de Velocidad para un Robot Móvil Diferencial Semiautonomo,” CONAMTI., vol. 4, pp. 2-3, Octubre. 2017.

[8]   [Online]. Available: http://pressroom.hostalia.com/wpcontent/themes/hostalia_pressroom/images/WP-Hostalia-protocoloSSH.pdf