Reporte 4
Reporte 4
Reporte 4
13 de Marzo de 2020
1. Resumen
El presente documento es un tutorial que indica como crear archivos tipo launch y tipo urdf
para posteriormente correrlos en RViz. De tal modo, indica los pasos a seguir para dicho
propósito ası́ como algunas aclaraciones que son importantes conocer para realizar este tipo
de archivos. Por otro lado, el presente tutorial muestra la manera de crear un Joint Publisher
el cual enviará datos de tipo geometry message y no servirá para publicar y adjuntarlo a la
interfaz Rviz.
2. Desarrollo
2.1.RViz con URDF
Creando el paquete URDF
Para poder visualizar nuestros archivos URDF en RViz, lo primero que se debe hacer
es crear un paquete en el source de nuestro espacio de trabajo. De tal modo el
comando que se debe ingresar en la terminal, una vez dentro de la ubicación es
catkin create pkg urdf pkg roscpp rospy std msgs geometry msgs urdf xacro rviz.
Una vez creado el paquete, es necesario crear dos carpetas dentro de urdf pkg con el
fin de ingresar archivos launch como urdf. Para crear dichas carpetas, simplemente
se deben ingresar los comandos mkdir launch y mkdir urdf respectivamente. La
configuración debe quedar como se aprecia en la Figura 1.
Posteriormente se debe realizar una secuencia de pasos similar a la anterior, pero esta
vez para crear un archivo de tipo urdf. Para lograr dicho propósito, primero se debe ir
a la ubicación de la carpeta urdf previamente creada. En dicha ubicación se deben
ingresar los comandostouch simple_robot.urdf y gedit simple_robot,urdf en la
terminal. Una vez abierto el editor, se realiza una estructura de codigo similar a la
vista en el anterior tutorial tomando en cuenta los links, joints y los childs de cada
parte del robot. Para este tutorial, se implementó el codigo de la Figura 3.
Vale la pena mencionar para que sirven algunas lı́neas del código. Primero, se debe
definir la geometrıá del objeto tomando en cuenta aspectos como la longitud, el radio
la posición en el origen y el color. Posterior a esto, es importante definir el tipo de
movimiento que tendrá el robot. En este caso, se requiere que el objeto gire en su
propio eje sin tener traslación por lo que se añade la lıń ea de código ¡joint
name=”joint1”type=revolute)). También es importante indicar cuales son los hijos,
en caso de que existan mediante ¡child link=”link1/¿ (en este caso el hijo tendrá
como nombre link1). Finalmente, es importante crear nuestra interfaz para mover la
posición de los brazos. Para dicho propósito, es menester configurar los lı́mites entre
los cuales el brazo podrá moverse (los ángulos de movimiento) mediante el comando
<limit effort="300"velocity="0.1"lower=- 1.5708üpper="1.5708/> donde upper y
lower son las delimitaciones del movimiento.
2.2.Rviz
Para comprobar que todo lo realizado hasta el momento es correcto, se debe ir al
workspace e ingresar la sigueiente secuencia de comandos: source
devel/setup.bash seguido de roslaunch urdf pkg simple_robot.urdf. Si todo se
realizó de forma correcta, debe abrir la interfaz RViz mostrando el robot que se
acaba de crear. En la figura 4 se puede observar el robot y la ventana de nombre
joint state publisher es nuestra interfaz con la cual podemos interactuar con el
robot y cambiar las posiciones de los links.
2.3.Joint Publisher
Para crear un joint publisher, se debe seguir la siguiente secuencia de pasos:
Ingresar el comando touch custom_joint_publisher.cpp en el src del paquete urdf
pkg
Agregar la librerı́a JointState al código, de otra forma este no funcionará
Ingresar el código que se observa en la Figura 5