Professional Documents
Culture Documents
ROBTICA
NRC: 1390
Tarea N 1.1
PROFESOR:
Ing. David Loza
ALUMNO:
Miguel Aguirre
2. OBJETIVOS
2.1. Objetivo General
Identificar la funcionalidad que ROS provee para diferentes aplicaciones,
reconociendo su ambiente de trabajo y las herramientas que este sistema operativo
robtico posee.
3. MARCO TERICO
msg : los archivos msg son simples archivos de texto que describen los campos de un
mensaje ROS. Se usan para generar cdigo fuente para mensajes en diferentes idiomas.
srv : un archivo srv describe un servicio. Est compuesto de dos partes: una solicitud y
una respuesta.
Los archivos msg se almacenan en el directorio msg de un paquete y los archivos srv se
almacenan en el directorio srv .
Los mensajes de texto son simples archivos de texto con un tipo de campo y un nombre
de campo por lnea. Los tipos de campo que puede usar son:
4.1. Ejercicio 1
Planteamiento
Crear una red de comunicacin entre 3 nodos; los cuales permitan, como primer requisito
genera un vector de 3 nmeros agregados de manera randmica, que posteriormente sean
elevados al cuadrado y puedan ser visualizados, adems es necesario que un nuevo nodo
genere la suma de los nmeros que componen este ltimo vector.
Solucin
Como primer paso crearemos el mensaje correspondiente, mismo que estar definido
como un vector de nmeros enteros.
4.2. Ejercicio2
Planteamiento
Generar un programa que permita el ingreso de datos de personas, es decir el ingreso de
su nombre, apellido, edad, preferencias por la robtica, y preferencias por ROS; con la
finalidad de enviar este registro hacia un nodo posterior que imprima estos datos y pueda
crear un archivo de texto en base a los mismos.
Solucin
En primer lugar definimos el mensaje que vamos a utilizar, en este caso se pretende la
utilizacin de varios datos de tipo string.
Posteriormente se crea el primer nodo de tipo publicador, correspondiente a la interaccin
con el usuario, es decir, este nodo permite que el usuario ingrese los datos que formaran
parte del mensaje, adems publica los mismos por medio del canal topic.
El segundo nodo de tipo suscriptor es el encargado de recibir los datos del mensaje
entregado al canal topic, mismo que imprime estos datos en el terminal adems de
generar un archivo de texto con los datos recibidos.
Corrida del programa
4.3. Ejercicio 3
Planteamiento
Se pretende establecer una comunicacin entre ROS y un dispositivo externo, en este caso
un joystick que funcione en modo teleoperado y de esta manera poder controlar los
movimientos de la tortuga perteneciente al nodo Turtlesim.
Solucin
Es necesario instalar cada uno de los componentes extras, o drivers que no incluye la
versin full de ROS kinetic, sudo apt-get install ros-kinetic-joy es el caso del
reconocimiento del joytcik. Adems utilizaremos el paquete jstest que permite el
reconocimiento y calibracin de un dispositivo tipo joystick con Linux.
Se observa la presencia de dos dispositivos el primero js0 corresponde al acelermetro
integrado en el computador, y el segundo js1 es el asignado para el joystick usb.
A continuacin se asigna la entrada js1 como parmetro para que el joy_node trabaje con
el dispositivo correcto. Adems se inicia el nodo joy_node para establecer la
comunicacin entre ros y el joystick.
Posteriormente es necesario crear un nodo que cumpla las funciones tanto de suscriptor
como de publicador, el cual se encargar de acceder a los mensajes (Twist, Joy) de
paquetes preestablecidos para recibir los datos entregados por el joystick, datos que
corresponden al movimiento de dos ejes (x,z); una vez hecho esto el nodo publica estos
datos en el mensaje Twist correspondiente al topic /turtle1/cmd_vel mismo que interacta
posteriormente con el nodo Turtlesim_node para generar el movimiento de la Tortuga,
para esto se debe mantener en accin este nodo.
Corrida del programa
Impresin de los dos ejes de accin del joystick solicitados en nodo utilizado
5. ANLISIS DE RESULTADOS
5.1. Ejercicio 1
A continuacin se presenta la interaccin entre los 3 nodos utilizados para la solucin del
problema, en este caso se observa la presencia de dos canales, el primero (topic1)
comunica el nodo 1 y 2 y el segundo (topic2) comunica el nodo2 y el nodo3.
5.2. Ejercicio 2
Se observa la interaccin de los dos nodos utilizados mismos que se comunican por un
canal llamado topic.
5.3. Ejercicio 3
7. RECOMENDACIONES
Es de suma importancia respetar las pautas que ROS emplea, para esto es
necesario seguir los tutoriales que ofrece para una mayor introduccin en el
sistema.
Es necesario establecer previamente el tipo de datos de los mensajes, adems de
la cantidad de canales de comunicacin, necesarios para contemplar el tipo de
datos que se envan y reciben.
Es preciso identificar adecuadamente la funcin que cumple cada uno de los nodos
que interviene en el proceso de cada problema, con la finalidad de que exista una
correcta integracin de los mismos y se puedan obtener los resultados deseados.
Es recomendable la utilizacin de Jstest que permite el reconocimiento y
calibracin del joystcik para Linux.
8. BIBLIOGRAFA