Skip to content

Commit 167e85a

Browse files
authored
Add Ignition Gazebo switches to ROS2 control sim config (#8)
* Add Ignition Gazebo switches to ROS2 control sim config * Fixes after testing * PR comments
1 parent 878b636 commit 167e85a

File tree

1 file changed

+53
-25
lines changed

1 file changed

+53
-25
lines changed

robotiq_description/urdf/robotiq_sim_gripper.ros2_control.xacro

Lines changed: 53 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,97 @@
11
<?xml version="1.0"?>
22
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
33

4-
<xacro:macro name="robotiq_sim_gripper_ros2_control" params="
5-
name
6-
sim_isaac:=false
7-
use_fake_hardware:=false">
4+
<xacro:macro name="robotiq_sim_gripper_ros2_control"
5+
params="name sim_ignition:=false sim_isaac:=false use_fake_hardware:=true">
86

97
<ros2_control name="${name}" type="system">
8+
<!-- Plugins -->
109
<hardware>
1110
<xacro:if value="${sim_isaac}">
1211
<plugin>isaac_ros2_control/IsaacSystem</plugin>
1312
<param name="joint_commands_topic">/isaac_joint_commands</param>
1413
<param name="joint_states_topic">/isaac_joint_states</param>
1514
</xacro:if>
15+
<xacro:if value="${sim_ignition}">
16+
<plugin>ign_ros2_control/IgnitionSystem</plugin>
17+
</xacro:if>
1618
<xacro:if value="${use_fake_hardware}">
1719
<plugin>mock_components/GenericSystem</plugin>
1820
<param name="fake_sensor_commands">${fake_sensor_commands}</param>
1921
<param name="state_following_offset">0.0</param>
2022
</xacro:if>
2123
</hardware>
24+
25+
<!-- Joint interfaces -->
2226
<joint name="robotiq_85_left_knuckle_joint">
23-
<param name="initial_position">0.7929</param>
27+
<!-- With Ignition, we have mimic joints, so we only need this command interface activated -->
28+
<xacro:if value="${sim_ignition}">
29+
<state_interface name="position">
30+
<param name="initial_value">0.2</param>
31+
</state_interface>
32+
</xacro:if>
33+
<xacro:unless value="${sim_ignition}">
34+
<param name="initial_position">0.7929</param>
35+
<state_interface name="position"/>
36+
</xacro:unless>
37+
2438
<command_interface name="position" />
25-
<state_interface name="position"/>
2639
<state_interface name="velocity"/>
2740
</joint>
2841
<joint name="robotiq_85_right_knuckle_joint">
2942
<param name="mimic">robotiq_85_left_knuckle_joint</param>
3043
<param name="multiplier">-1</param>
31-
<command_interface name="position"/>
32-
<state_interface name="position"/>
33-
<state_interface name="velocity"/>
44+
<xacro:unless value="${sim_ignition}">
45+
<command_interface name="position"/>
46+
<state_interface name="position"/>
47+
<state_interface name="velocity"/>
48+
</xacro:unless>
3449
</joint>
3550
<joint name="robotiq_85_left_inner_knuckle_joint">
3651
<param name="mimic">robotiq_85_left_knuckle_joint</param>
3752
<param name="multiplier">1</param>
38-
<command_interface name="position" />
39-
<state_interface name="position" />
40-
<state_interface name="velocity" />
53+
<xacro:unless value="${sim_ignition}">
54+
<command_interface name="position"/>
55+
<state_interface name="position"/>
56+
<state_interface name="velocity"/>
57+
</xacro:unless>
4158
</joint>
4259
<joint name="robotiq_85_right_inner_knuckle_joint">
4360
<param name="mimic">robotiq_85_left_knuckle_joint</param>
4461
<param name="multiplier">-1</param>
45-
<command_interface name="position" />
46-
<state_interface name="position" />
47-
<state_interface name="velocity" />
62+
<xacro:unless value="${sim_ignition}">
63+
<command_interface name="position"/>
64+
<state_interface name="position"/>
65+
<state_interface name="velocity"/>
66+
</xacro:unless>
4867
</joint>
4968
<joint name="robotiq_85_left_finger_tip_joint">
5069
<param name="mimic">robotiq_85_left_knuckle_joint</param>
5170
<param name="multiplier">-1</param>
52-
<command_interface name="position" />
53-
<state_interface name="position" />
54-
<state_interface name="velocity" />
71+
<xacro:unless value="${sim_ignition}">
72+
<command_interface name="position"/>
73+
<state_interface name="position"/>
74+
<state_interface name="velocity"/>
75+
</xacro:unless>
5576
</joint>
5677
<joint name="robotiq_85_right_finger_tip_joint">
5778
<param name="mimic">robotiq_85_left_knuckle_joint</param>
5879
<param name="multiplier">1</param>
59-
<command_interface name="position" />
60-
<state_interface name="position" />
61-
<state_interface name="velocity" />
80+
<xacro:unless value="${sim_ignition}">
81+
<command_interface name="position"/>
82+
<state_interface name="position"/>
83+
<state_interface name="velocity"/>
84+
</xacro:unless>
6285
</joint>
63-
<gpio name="reactivate_gripper">
64-
<command_interface name="reactivate_gripper_cmd" />
65-
<command_interface name="reactivate_gripper_response" />
66-
</gpio>
86+
87+
<!-- Only add this with fake hardware mode -->
88+
<xacro:unless value="${sim_ignition or sim_isaac}">
89+
<gpio name="reactivate_gripper">
90+
<command_interface name="reactivate_gripper_cmd" />
91+
<command_interface name="reactivate_gripper_response" />
92+
</gpio>
93+
</xacro:unless>
94+
6795
</ros2_control>
6896
</xacro:macro>
6997

0 commit comments

Comments
 (0)