Este documento describe el desarrollo de un programa en ROS para simular un robot de dos grados de libertad que puede trazar una línea recta a 45 grados o un círculo. Explica los pasos para crear un paquete ROS que contenga nodos y archivos para configurar los parámetros del robot, incluyendo la simulación y visualización del robot en RViz.
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...Ivan Luis Jimenez
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo con C)
hola mundo cn makefile en C
holamundo en C
uso de makefile con C
uaso de makefile en LINUX
A
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...Ivan Luis Jimenez
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo con C)
hola mundo cn makefile en C
holamundo en C
uso de makefile con C
uaso de makefile en LINUX
A
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundoIvan Luis Jimenez
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo con C)
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundo
Ivan Luis Jimenez
muestra los comandos de ejecutar y los del simbolo del sistema junto con una imagen en la que se puede observar lo que ocurre al ingresar el comando en la ventana de ejecutar y en el simbolo del sistema.
Claro que si, como su título lo indica, la raíz de este tutorial es porque hay muy poca información en español sobre como realizar este tipo de tareas.
Entonces, me veo en la necesidad de hacer algo útil y que sirva para aquellos que no dejamos de utilizar el lenguaje C/C++ para nuestras tareas rutinarias.
Presentación utilizada para mis prácticas de la clase de Sistemas Operativos Avanzados donde se explican conceptos básicos de los comandos MS-DOS. Este material esta bajo la licencia CC Attribution-NonCommercial-NoDerivs License, lo que significa que es libre para un uso no comercial y se puede copiar y distribuir en cualquier medio o formato siempre y cuando se respeten los créditos mostrados y no se realicen adaptaciones ni derivados del mismo.
Redirección de entradas y salidas estándar y creación de unidades virtuales e...Ericka Zavala
Presentación utilizada para mis prácticas de la clase de Sistemas Operativos Avanzados donde se explican los conceptos de redirección de entradas, salidas y salidas estándar de error y la creación de unidades virtuales con comandos MS-DOS. Este material esta bajo la licencia CC Attribution-NonCommercial-NoDerivs License, lo que significa que es libre para un uso no comercial y se puede copiar y distribuir en cualquier medio o formato siempre y cuando se respeten los créditos mostrados y no se realicen adaptaciones ni derivados del mismo.
Rutas absolutas y relativas para la manipulación de directorios y ficheros en...Ericka Zavala
Presentación utilizada para mis prácticas de la clase de Sistemas Operativos Avanzados donde se explican los conceptos de rutas absolutas y relativas y su uso con comandos MS-DOS. Este material esta bajo la licencia CC Attribution-NonCommercial-NoDerivs License, lo que significa que es libre para un uso no comercial y se puede copiar y distribuir en cualquier medio o formato siempre y cuando se respeten los créditos mostrados y no se realicen adaptaciones ni derivados del mismo.
ya subi el codigo para la creación de extensiones nativas, solo que el siguiente commit ya le pondre comentarios
https://github.com/aovazquez/SerialNumber_iOS-ANE-.git
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundoIvan Luis Jimenez
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo con C)
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundo
Ivan Luis Jimenez
muestra los comandos de ejecutar y los del simbolo del sistema junto con una imagen en la que se puede observar lo que ocurre al ingresar el comando en la ventana de ejecutar y en el simbolo del sistema.
Claro que si, como su título lo indica, la raíz de este tutorial es porque hay muy poca información en español sobre como realizar este tipo de tareas.
Entonces, me veo en la necesidad de hacer algo útil y que sirva para aquellos que no dejamos de utilizar el lenguaje C/C++ para nuestras tareas rutinarias.
Presentación utilizada para mis prácticas de la clase de Sistemas Operativos Avanzados donde se explican conceptos básicos de los comandos MS-DOS. Este material esta bajo la licencia CC Attribution-NonCommercial-NoDerivs License, lo que significa que es libre para un uso no comercial y se puede copiar y distribuir en cualquier medio o formato siempre y cuando se respeten los créditos mostrados y no se realicen adaptaciones ni derivados del mismo.
Redirección de entradas y salidas estándar y creación de unidades virtuales e...Ericka Zavala
Presentación utilizada para mis prácticas de la clase de Sistemas Operativos Avanzados donde se explican los conceptos de redirección de entradas, salidas y salidas estándar de error y la creación de unidades virtuales con comandos MS-DOS. Este material esta bajo la licencia CC Attribution-NonCommercial-NoDerivs License, lo que significa que es libre para un uso no comercial y se puede copiar y distribuir en cualquier medio o formato siempre y cuando se respeten los créditos mostrados y no se realicen adaptaciones ni derivados del mismo.
Rutas absolutas y relativas para la manipulación de directorios y ficheros en...Ericka Zavala
Presentación utilizada para mis prácticas de la clase de Sistemas Operativos Avanzados donde se explican los conceptos de rutas absolutas y relativas y su uso con comandos MS-DOS. Este material esta bajo la licencia CC Attribution-NonCommercial-NoDerivs License, lo que significa que es libre para un uso no comercial y se puede copiar y distribuir en cualquier medio o formato siempre y cuando se respeten los créditos mostrados y no se realicen adaptaciones ni derivados del mismo.
ya subi el codigo para la creación de extensiones nativas, solo que el siguiente commit ya le pondre comentarios
https://github.com/aovazquez/SerialNumber_iOS-ANE-.git
Programacion grafica simulab programa .pptxefiallos30
SIMULINK es una toolbox especial de MATLAB que sirve para simular el comportamiento de los sistemas dinámicos. Puede simular sistemas lineales y no lineales, modelos en tiempo continuo y tiempo discreto y sistemas híbridos. Es un entorno gráfico en el cual el modelo a simular se construye clicando y arrastrando los diferentes bloques que lo constituyen.
1. ROS
Bernardino Melgarejo Lugo
División de Ingeniería en Mecatrónica
Instituto Tecnológico superior de Huichapan
Dom. Conocido s/n., El Saucillo, Municipio de Huichapan, Hidalgo, México
RESUMEN
En el presente reporte se presenta un programa de UBUNTU llamado ROS en el cual se nos presenta la
problemática de diseñar un robot de dos grados de libertad para que este simule una linea recta o un circulo, esto
en el antes dicho programa ROS.
INTRODUCCIÓN
Antes de reportar necesitamos saber que significa
ROS y con respecto a [1] significa : Robot Operating
System (ROS) es un middleware robótico, es decir,
una colección de frameworks para el desarrollo de
software de robots. ROS se desarrolló
originariamente en 2007 bajo el nombre de
switchyard por el Laboratorio de Inteligencia
Artificial de Stanford para dar soporte al proyecto
del Robot con Inteligencia Artificial de Stanford
(STAIR2). Desde 2008, el desarrollo continuó
principalmente en Willow Garage, un instituto de
investigación robótico con más de veinte
instituciones colaborando en un modelo de
desarrollo federado.
En las futuras versiones se espera que las siguientes
áreas vayan apareciendo entre las aplicaciones de
los procesos de ROS:
-Percepción
-Identificación de Objetos
-Segmentación y reconocimiento
-Reconocimiento facial
-Reconocimiento de gestos
-Seguimiento de objetos
-Egomoción
-Comprensión de movimiento
-Estructura de movimientos (SFM)
-Visión estéreo: percepción de profundidad
mediante el uso de dos cámaras
-Movimientos
-Robots móviles
-Control
-Planificación
-Agarre de objetos
OBJETIVOS
Programar y simular un brazo de dos grados de
libertad, el cual sea capaz de poder simular una linea
recta a 45 grados o trazar un circulo.
DESARROLLO
Para abrir programas, instalar programas, creación
de carpetas o documentos en linux se hace todo
mediante la terminal (es sistema no gráfico de
control del sistema operativo total), apartir de esta
es donde crearemos nuestro paquete pero primero
debemos de situarnos en donde crearemos nuestro
paquete, en nuestro caso tenemos ya nuestro espacio
de trabajo que es catkin_ws, y para movernos entre
carpetas al comienzo pondrenos cd la carpeta a la
que queremos llegar seguido por un slash como se
muestra en la imagen:
Figura 1. Direcionarnos ala carpeta.
Ya estando es esta dirección tecleamos lo siguiente:
catkin_create_pkg b2gdl std_msgs rospy roscpp
geometry_msgs sensor_msgs tf
Estas lineas nos sirven para crear nuestro paquete el
cual contendrá distintos nodos y archivos en donde
se podrán modificar los para metros de nuestro
robot, las primeras palabras que son
catkin_create_pkg significa que va a crear un
2. paquete ya situados en esa dirección y el catkin es el
sistema de compilación oficial de ROS, después de
estas lineas sigue el nombre de nuestro paquete que
es en este caso es b2gdl pero puede llamarse como
sea, y las lineas siguientes son dependencias que
enlazaran a nuestro paquete, después sigue std_msgs
es una biblioteca para generar mensajes entre ROS,
rospy es una biblioteca cliente de Python pura para
ROS, roscpp es una implementación de cliente ROS
en C ++, geometry_msgs proporciona mensajes para
primitivas geométricas comunes como puntos,
vectores y poses, los sensor_msgs y geometry_msgs
son necesarios para especificar el tipo de mensajes
que vamos a recibir o enviar, tf es un paquete que le
permite al usuario realizar un seguimiento de
múltiples marcos de coordenadas a lo largo del
tiempo, tf mantiene la relación entre los marcos de
coordenadas en una estructura de árbol almacenada
en búfer en el tiempo, y le permite al usuario
transformar puntos, vectores, etc. entre dos marcos
de coordenadas en cualquier punto deseado en el
tiempo.
Figura 2. Paquetes creados.
Dentro del paquete creado podemos encontrar la
carpeta de include y la de src, ademas de un txt y un
xml.
El significado dzone estos son:
-package.xml: define las propiedades de cualquier
paquete como el nombre, versión, autor, mantenedor
y dependencias.
-CMakeLists.txt: es un archivo que sirve como
entrada a la herramienta del sistema.
Pero al Cmakelist.txt agregamos lineas hasta el
final, para que se ejecuten los comandos correctos y
mande llamar archivos y ficheros.
Quedaría de la siguiente manera:
Figura 3. Cmakelis.txt.
El package.xml de la siguiente manera:
Figura 3. package.xml .
Ahora crearemos una carpeta la cual se crea con
mkdir sin salir de donde estamos en nuestra terminal
como se muestra en la figura
Figura 4. mkdir.
3. Ya creada nuestra carpeta creada (launch) ahora
crearemos ficheros llamados config.rviz y
rviz1.launch, pero estos los crearemos con el
comando gedit como se muestra en la figura:
Figura 5. gedit.
De la misma manera crearemos el archivo
rviz.launch.
Al crearlos nos abrirá un archivo en blanco y es en
ese donde comenzaremos por editar el config.rviz,
aquí es donde podremos editar a nuestro brazo su
tamaño de eslabones el radio de ellos etc.:
Figura 6. config.rviz.
También el archivo rviz.launch quedaría de la
siguiente manera, pero en este se configuran los
nodos que se van a utilizar cuando se ejecute el
programa al igual que la simulación a ejecutar.
Figura 6. rviz.launch.
Posteriormente crearemos otra carpeta con el
nombre urdf con el comando mkdir como la
anterior:
Figura 6. urdf.
En esta carpeta creada vamos a crear un archivo
llamado myarmdes.xacro con el comando gedit, de
la siguente manera:
Figura 7. xacro.
En este archivo es donde podremos configurar los
eslabones de nuestro robot al igual que la velocidad
de cada uno de ellos.
Quedaría dela siguiente manera:
Figura 8. xacro.
Ahora nos redirigimos a la carpeta de scr de nuestra
carpeta de b2gdl desde la terminal como se muestra
en la figura:
Figura 9. src.
Es ahi donde crearemos tres archivos esto
nuevamente con el comando gedit, estos tres
archivos se llamaran join_pub.cpp, subtra.cpp y
tra.cpp de la siguiente manera
Figura 10. src_2.
Nos va a abrir un editor en el cual vamos a poder
editar distintos parámetros de nuestro robot. En el
join_pub.cpp programamos la cinemática del robot.
4. Figura 10. join_pub.cpp.
Figura 11. join_pub.cpp.
En el archivo subtra.cpp se programan las
posiciones conforme y lo que le enviá al
subscriptor.
Figura 12. join_pub.cpp.
En el archivo tra.cpp tenemos va lo que recibe el
subscriptor a través del nodo que es el tópico con
respecto alas coordenadas.
Figura 13. tra.cpp.
Posterior a esto realizamos un catkin_make desde
nuestro espacio de trabajo así:
Figura 14. catkin_make.cpp.
Este comando nos actualiza los archivos, directorios
y lo que le agregamos a nuestros archivos creados, y
si todo sale bien hasta ahora continuamos con
ejecutar nuestro archivo rviz.launch ya que desde
este corre todos nuestros archivos y nodos con el
comando roslaunch b2gsl rviz1.launch.
Figura 15. catkin_make.cpp.
RESULTADOS
Una vez configurado nuestro paquete y actualizado
las ultimas acciones nos disponemos a compilar y
ejecutar nuestra simulación en la interfaz de Rviz
mediante la siguiente instrucción roslaunch b2gdl
rviz1.launch.
Figura 16. Simulación .
CONCLUSIÓN
Con la realización de esta practica se aplicaron las
diferentes herramientas básicas que a lo largo del
5. trabajo realizado en ros fueron conociéndose, para
la ejecución para hacer posible la simulación de un
brazo de dos grados de libertad.
Referencias
[1] ¿Que es ROS?, OpenWebinars, Daniel Ortego
Delgado el 21 de Septiembre de 2017,
https://openwebinars.net/blog/que-es-ros/.