Skip to content

Commit 1bf4a0a

Browse files
committed
3. Expose max_speed and max_force parameters to xacro
1 parent 688e5c8 commit 1bf4a0a

File tree

6 files changed

+57
-15
lines changed

6 files changed

+57
-15
lines changed

robotiq_description/urdf/2f_140.ros2_control.xacro

+12-5
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@
1010
isaac_joint_states:=/isaac_joint_states
1111
use_fake_hardware:=false
1212
mock_sensor_commands:=false
13-
com_port:=/dev/ttyUSB0">
13+
com_port:=/dev/ttyUSB0
14+
gripper_speed_multiplier:=1.0
15+
gripper_force_multiplier:=0.5
16+
gripper_max_speed:=0.250
17+
gripper_max_force:=125.0
18+
gripper_closed_position:=0.695">
1419

1520
<ros2_control name="${name}" type="system">
1621
<!-- Plugins -->
@@ -30,10 +35,12 @@
3035
</xacro:if>
3136
<xacro:unless value="${use_fake_hardware or sim_gazebo or sim_isaac}">
3237
<plugin>robotiq_driver/RobotiqGripperHardwareInterface</plugin>
33-
<param name="gripper_closed_position">0.695</param>
38+
<param name="gripper_closed_position">${gripper_closed_position}</param>
3439
<param name="COM_port">${com_port}</param>
35-
<param name="gripper_speed_multiplier">1.0</param>
36-
<param name="gripper_force_multiplier">0.5</param>
40+
<param name="gripper_speed_multiplier">${gripper_speed_multiplier}</param>
41+
<param name="gripper_force_multiplier">${gripper_force_multiplier}</param>
42+
<param name="gripper_max_speed">${gripper_max_speed}</param>
43+
<param name="gripper_max_force">${gripper_max_force}</param>
3744
</xacro:unless>
3845
</hardware>
3946

@@ -42,7 +49,7 @@
4249
<joint name="${prefix}finger_joint">
4350
<command_interface name="position" />
4451
<state_interface name="position">
45-
<param name="initial_value">0.695</param>
52+
<param name="initial_value">${gripper_closed_position}</param>
4653
</state_interface>
4754
<state_interface name="velocity"/>
4855
</joint>

robotiq_description/urdf/2f_85.ros2_control.xacro

+12-5
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@
1010
isaac_joint_states:=/isaac_joint_states
1111
use_fake_hardware:=false
1212
mock_sensor_commands:=false
13-
com_port:=/dev/ttyUSB0">
13+
com_port:=/dev/ttyUSB0
14+
gripper_speed_multiplier:=1.0
15+
gripper_force_multiplier:=0.5
16+
gripper_max_speed:=0.150
17+
gripper_max_force:=235.0
18+
gripper_closed_position:=0.7929">
1419

1520
<ros2_control name="${name}" type="system">
1621
<!-- Plugins -->
@@ -35,10 +40,12 @@
3540
</xacro:if>
3641
<xacro:unless value="${use_fake_hardware or sim_gazebo or sim_isaac}">
3742
<plugin>robotiq_driver/RobotiqGripperHardwareInterface</plugin>
38-
<param name="gripper_closed_position">0.7929</param>
43+
<param name="gripper_closed_position">${gripper_closed_position}</param>
3944
<param name="COM_port">${com_port}</param>
40-
<param name="gripper_speed_multiplier">1.0</param>
41-
<param name="gripper_force_multiplier">0.5</param>
45+
<param name="gripper_speed_multiplier">${gripper_speed_multiplier}</param>
46+
<param name="gripper_force_multiplier">${gripper_force_multiplier}</param>
47+
<param name="gripper_max_speed">${gripper_max_speed}</param>
48+
<param name="gripper_max_force">${gripper_max_force}</param>
4249
</xacro:unless>
4350
</hardware>
4451

@@ -47,7 +54,7 @@
4754
<joint name="${prefix}robotiq_85_left_knuckle_joint">
4855
<command_interface name="position" />
4956
<state_interface name="position">
50-
<param name="initial_value">0.7929</param>
57+
<param name="initial_value">${gripper_closed_position}</param>
5158
</state_interface>
5259
<state_interface name="velocity"/>
5360
</joint>

robotiq_description/urdf/robotiq_2f_140_macro.urdf.xacro

+12-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@
1212
use_fake_hardware:=false
1313
mock_sensor_commands:=false
1414
include_ros2_control:=true
15-
com_port:=/dev/ttyUSB0">
15+
com_port:=/dev/ttyUSB0
16+
gripper_speed_multiplier:=1.0
17+
gripper_force_multiplier:=0.5
18+
gripper_max_speed:=0.250
19+
gripper_max_force:=125.0
20+
gripper_closed_position:=0.695">
1621

1722
<!-- ros2 control include -->
1823
<xacro:include filename="$(find robotiq_description)/urdf/2f_140.ros2_control.xacro" />
@@ -26,7 +31,12 @@
2631
isaac_joint_states="${isaac_joint_states}"
2732
use_fake_hardware="${use_fake_hardware}"
2833
mock_sensor_commands="${mock_sensor_commands}"
29-
com_port="${com_port}"/>
34+
com_port="${com_port}"
35+
gripper_speed_multiplier="${gripper_speed_multiplier}"
36+
gripper_force_multiplier="${gripper_force_multiplier}"
37+
gripper_max_speed="${gripper_max_speed}"
38+
gripper_max_force="${gripper_max_force}"
39+
gripper_closed_position="${gripper_closed_position}"/>
3040
</xacro:if>
3141

3242
<!-- this is a temporary link to rotate the 2f-140 gripper to match the 2f-85 -->

robotiq_description/urdf/robotiq_2f_85_macro.urdf.xacro

+13-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@
1212
use_fake_hardware:=false
1313
mock_sensor_commands:=false
1414
include_ros2_control:=true
15-
com_port:=/dev/ttyUSB0">
15+
com_port:=/dev/ttyUSB0
16+
gripper_speed_multiplier:=1.0
17+
gripper_force_multiplier:=0.5
18+
gripper_max_speed:=0.150
19+
gripper_max_force:=235.0
20+
gripper_closed_position:=0.7929">
21+
1622

1723
<!-- ros2 control include -->
1824
<xacro:include filename="$(find robotiq_description)/urdf/2f_85.ros2_control.xacro" />
@@ -26,7 +32,12 @@
2632
isaac_joint_states="${isaac_joint_states}"
2733
use_fake_hardware="${use_fake_hardware}"
2834
mock_sensor_commands="${mock_sensor_commands}"
29-
com_port="${com_port}"/>
35+
com_port="${com_port}"
36+
gripper_speed_multiplier="${gripper_speed_multiplier}"
37+
gripper_force_multiplier="${gripper_force_multiplier}"
38+
gripper_max_speed="${gripper_max_speed}"
39+
gripper_max_force="${gripper_max_force}"
40+
gripper_closed_position="${gripper_closed_position}"/>
3041
</xacro:if>
3142

3243
<link name="${prefix}robotiq_85_base_link">

robotiq_driver/include/robotiq_driver/hardware_interface.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ class RobotiqGripperHardwareInterface : public hardware_interface::SystemInterfa
141141
void background_task();
142142

143143
double gripper_closed_pos_ = 0.0;
144+
double gripper_max_speed_ = 0.0;
145+
double gripper_max_force_ = 0.0;
144146

145147
static constexpr double NO_NEW_CMD_ = std::numeric_limits<double>::quiet_NaN();
146148

robotiq_driver/src/hardware_interface.cpp

+6-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,12 @@ hardware_interface::CallbackReturn RobotiqGripperHardwareInterface::on_init(cons
8383

8484
// Read parameters.
8585
gripper_closed_pos_ = stod(info_.hardware_parameters["gripper_closed_position"]);
86-
86+
gripper_max_speed_ = info_.hardware_parameters.count("gripper_max_speed") ?
87+
stod(info_.hardware_parameters["gripper_max_speed"]) :
88+
kGripperMaxSpeed;
89+
gripper_max_force_ = info_.hardware_parameters.count("gripper_max_force") ?
90+
stod(info_.hardware_parameters["gripper_max_force"]) :
91+
kGripperMaxforce;
8792
gripper_position_ = std::numeric_limits<double>::quiet_NaN();
8893
gripper_velocity_ = std::numeric_limits<double>::quiet_NaN();
8994
gripper_position_command_ = std::numeric_limits<double>::quiet_NaN();

0 commit comments

Comments
 (0)