Created
December 17, 2018 06:29
-
-
Save TheProjectsGuy/a9a6a438c18b14b27237987cc114716e to your computer and use it in GitHub Desktop.
XACRO file code for XACRO tutorial in ROS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?xml version="1.0"?> | |
| <robot name="xacro_bot1" xmlns:xacro="http://www.ros.org/wiki/xacro"> | |
| <!-- Parameters --> | |
| <xacro:property name="a" value="0.2" /> | |
| <!-- Links to be added --> | |
| <!-- Add a link --> | |
| <xacro:macro name="add_link" params="length name parent axis *origin"> | |
| <!-- Physical link --> | |
| <link name="${name}_link"> | |
| <visual> | |
| <origin xyz="0.0 0.0 ${length/2}"/> | |
| <geometry> | |
| <box size="${a} ${a} ${length}"/> | |
| </geometry> | |
| </visual> | |
| <material name="red"> | |
| <color rgba="1.0 0.0 0.0 0.0"/> | |
| </material> | |
| </link> | |
| <!-- Joint between parent and link --> | |
| <joint name="${name}_joint" type="revolute"> | |
| <xacro:insert_block name="origin" /> | |
| <parent link="${parent}" /> | |
| <child link="${name}_link" /> | |
| <axis xyz="${axis}" /> | |
| <limit lower="${-pi}" upper="${pi}" effort="30" velocity="10" /> | |
| </joint> | |
| </xacro:macro> | |
| <!-- Base link --> | |
| <link name="base_link"> | |
| <visual> | |
| <origin xyz="0 0 0.25" /> | |
| <geometry> | |
| <box size="0.5 0.5 0.5" /> | |
| </geometry> | |
| </visual> | |
| </link> | |
| <!-- Link 1 --> | |
| <xacro:property name="l1_length" value="0.625" /> | |
| <xacro:add_link name="l1" length="${l1_length}" parent="base_link" axis="0 1 0" > | |
| <origin xyz="0 0 0.5" rpy="0.0 0.0 0.0"/> | |
| </xacro:add_link> | |
| <!-- Link 2 --> | |
| <xacro:property name="l2_length" value="0.625" /> | |
| <xacro:add_link name="l2" length="${l2_length}" parent="l1_link" axis="1 0 0"> | |
| <origin xyz="0.0 0.0 ${l1_length}"/> | |
| </xacro:add_link> | |
| <!-- Link 3 --> | |
| <xacro:property name="l3_length" value="0.5" /> | |
| <xacro:add_link name="l3" length="${l3_length}" parent="l2_link" axis="0 0 1" > | |
| <origin xyz="0.0 0.0 ${l2_length}"/> | |
| </xacro:add_link> | |
| <!-- Link 4 --> | |
| <xacro:property name="l4_length" value="1" /> | |
| <xacro:add_link name="l4" length="${l4_length}" parent="l3_link" axis="1 0 0" > | |
| <origin xyz="0.0 0.0 ${l3_length}"/> | |
| </xacro:add_link> | |
| <!-- Link 5 --> | |
| <xacro:property name="l5_length" value="1" /> | |
| <xacro:add_link name="l5" length="${l5_length}" parent="l4_link" axis="0 1 0" > | |
| <origin xyz="0.0 0.0 ${l4_length}"/> | |
| </xacro:add_link> | |
| </robot> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment