Escolar Documentos
Profissional Documentos
Cultura Documentos
ROBOTICA INDUSTRIAL
NOMBRE
1. TEMA: ......................................................................................................................................3
ROS (Robot Operating System) .........................................................................................................3
2. OBJETIVOS:............................................................................................................................3
3. INTRODUCCIÓN....................................................................................................................3
4. MARCO TEÓRICO.................................................................................................................3
4.1. ROS ...................................................................................................................................3
4.2. PYTHON...........................................................................................................................4
5. DESARROLLO ........................................................................................................................6
5.1. EJERCICIO 1...................................................................................................................6
5.1.1. DESARROLLO EJERCICIO 1 ..................................................................................6
5.2. EJERCICIO 2.................................................................................................................10
5.2.1. DESARROLLO EJERCICIO 2 ................................................................................10
5.3. EJERCICIO 3.................................................................................................................14
5.3.1. DESARROLLO EJERCICIO 3 ................................................................................14
6. CONCLUSIONES ..................................................................................................................17
7. RECOMENDACIONES ........................................................................................................17
8. BIBLIOGRAFÍA ....................................................................................................................17
1. TEMA:
2. OBJETIVOS:
- Conocer la funcionalidad de ROS mediante la práctica e investigación para su
posterior aplicación en sistemas robóticos
3. INTRODUCCIÓN
Escribir software para robots es difícil, particularmente cuando la escala y alcance
de la robótica sigue creciendo. Diferentes tipos de robots pueden tener hardware
muy variable, haciendo la reutilización del código no trivial. Además de esto, el
tamaño del código requerido puede ser desalentador, ya que puede ir de algo tan
simple como un software a nivel de controlador y continuar hasta a través de la
percepción, el razonamiento abstracto y más allá. Desde que existe este amplio
requerimiento, las arquitecturas de software de robótica deben también ser
compatibles en una integración de software a gran escala.
4. MARCO TEÓRICO
4.1. ROS
4.2. PYTHON
Propósito general
Multiplataforma
Interpretado
Interactivo
Funciones y librerías
Sintaxis clara
Por último, destacar que Python tiene una sintaxis muy visual, gracias a una
notación identada (con márgenes) de obligado cumplimiento. En muchos
lenguajes, para separar porciones de código, se utilizan elementos como las
llaves o las palabras clave begin y end. Para separar las porciones de código
en Python se debe tabular hacia dentro, colocando un margen al código que
iría dentro de una función o un bucle. Esto ayuda a que todos los
programadores adopten unas mismas notaciones y que los programas de
cualquier persona tengan un aspecto muy similar.
5. DESARROLLO
5.1. EJERCICIO 1
Para poder utilizar el joystick se requiere instalar el paquete joy en ros para lo cual
se ingresa el comando
sudo apt-get install ros-kinetic-joy
Se verifica que el joystick este accesible para el nodo joy de ROS para lo cual se
ingresamos
ls -l /dev/input/js0
Siendo que
5.2. EJERCICIO 2
El primer nodo tiene como finalidad generar una matriz con 3 números randómicos
enteros para lo cual procedemos a generar un talker que permita publicar el arreglo.
Creamos un archivo.py llamado talkerd1.py en el cual formamos un arreglo numpy
con números randómicos y la publicamos en el topic matriz.
Ilustración 8: Ejercicio 2 nodo 1
La función del segundo nodo será la de leer la matriz publicada por el primero, elevar
cada término del arreglo al cuadrado y publicar el resultado.
En la ilustración 9 se puede observar el archivo.py que permite realizar la función
requerida reconociendo el topic matriz para descomponerlo y elevar cada uno de sus
términos al cuadrado, posteriormente crea un nuevo arreglo numpy y lo pública en un
nuevo topic llamado matriz2 con los valores obtenidos por la operación
Ilustración 9: Ejercicio 2 nodo 2
5.3. EJERCICIO 3
Elaborar un programa que permita el ingreso de datos por consola y los almacene
dentro de un archivo .txt mediante la utilización de dos nodos
El ejercicio se encuentra conformado por dos nodos para ingresar datos y ser
guardados en un archivo.txt
En la lustración 12 se puede observar el archivo.py en el cual creamos el primer nodo
para solicitar información al usuario mediante la consola.
Mediante un while y un condicional if se solicita dato por dato y se los va publicando
independientemente.
Ilustración 12: Ejercicio 3 nodo 1
7. RECOMENDACIONES
Se debe tener especial cuidado con los archivos que se modifican dentro
de cada paquete para no tener problemas con los programas.
8. BIBLIOGRAFÍA
[1] Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., ... &
Ng, A. Y. (2009, May). ROS: an open-source Robot Operating System. In
ICRA workshop on open source software (Vol. 3, No. 3.2, p. 5).