-
Notifications
You must be signed in to change notification settings - Fork 174
Expand file tree
/
Copy pathxarm5_robot_macro.xacro
More file actions
executable file
·46 lines (37 loc) · 1.96 KB
/
Copy pathxarm5_robot_macro.xacro
File metadata and controls
executable file
·46 lines (37 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro" name="xarm5" >
<xacro:macro name="xarm5_robot" params="prefix:='' namespace:='xarm' limited:='false' effort_control:='false'
velocity_control:='false' attach_to:='world' xyz:='0 0 0' rpy:='0 0 0' load_gazebo_plugin:='true' ">
<!-- include xarm5 relative macros: -->
<xacro:include filename="$(find xarm_description)/urdf/xarm5.urdf.xacro" />
<xacro:include filename="$(find xarm_description)/urdf/xarm5.transmission.xacro" />
<xacro:include filename="$(find xarm_description)/urdf/xarm5.gazebo.xacro" />
<!-- gazebo_plugin -->
<xacro:if value="${load_gazebo_plugin}">
<xacro:include filename="$(find xarm_description)/urdf/common.gazebo.xacro" />
<xacro:gazebo_ros_control_plugin namespace="${namespace}"/>
</xacro:if>
<!-- add one world link if no 'attach_to' specified -->
<xacro:if value="${attach_to == 'world'}">
<link name="world" />
</xacro:if>
<joint name="world_joint" type="fixed">
<parent link="${attach_to}" />
<child link = "${prefix}link_base" />
<origin xyz="${xyz}" rpy="${rpy}" />
</joint>
<xacro:if value="${limited}">
<xacro:xarm5_urdf prefix="${prefix}"
joint1_lower_limit="${-pi*1.25*0.99}" joint1_upper_limit="${pi*0.75*0.99}"
joint2_lower_limit="${-2.059}" joint2_upper_limit="${2.0944}"
joint3_lower_limit="${-pi*0.99}" joint3_upper_limit="${0.19198}"
joint4_lower_limit="${-1.69297}" joint4_upper_limit="${pi*0.99}"
joint5_lower_limit="${-pi*0.99}" joint5_upper_limit="${pi*0.99}"/>
</xacro:if>
<xacro:unless value="${limited}">
<xacro:xarm5_urdf prefix="${prefix}"/>
</xacro:unless>
<xacro:xarm5_transmission prefix="${prefix}" hard_interface="$(eval 'EffortJointInterface' if effort_control else 'VelocityJointInterface' if velocity_control else 'PositionJointInterface')" />
<xacro:xarm5_gazebo prefix="${prefix}" />
</xacro:macro>
</robot>