Skip to content

Commit 13b4e4f

Browse files
authored
Add effort command interface to hardware interface (backport #1411) (#1528)
1 parent 0876dc7 commit 13b4e4f

File tree

6 files changed

+128
-32
lines changed

6 files changed

+128
-32
lines changed

ur_robot_driver/config/ur_controllers.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ controller_manager:
2121
forward_velocity_controller:
2222
type: velocity_controllers/JointGroupVelocityController
2323

24+
forward_effort_controller:
25+
type: effort_controllers/JointGroupEffortController
26+
2427
forward_position_controller:
2528
type: position_controllers/JointGroupPositionController
2629

@@ -154,6 +157,17 @@ forward_velocity_controller:
154157
- $(var tf_prefix)wrist_3_joint
155158
interface_name: velocity
156159

160+
forward_effort_controller:
161+
ros__parameters:
162+
joints:
163+
- $(var tf_prefix)shoulder_pan_joint
164+
- $(var tf_prefix)shoulder_lift_joint
165+
- $(var tf_prefix)elbow_joint
166+
- $(var tf_prefix)wrist_1_joint
167+
- $(var tf_prefix)wrist_2_joint
168+
- $(var tf_prefix)wrist_3_joint
169+
interface_name: effort
170+
157171
forward_position_controller:
158172
ros__parameters:
159173
joints:

ur_robot_driver/include/ur_robot_driver/hardware_interface.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ enum StoppingInterface
8282
STOP_FORCE_MODE,
8383
STOP_FREEDRIVE,
8484
STOP_TOOL_CONTACT,
85+
STOP_TORQUE,
8586
};
8687

8788
// We define our own quaternion to use it as a buffer, since we need to pass pointers to the state
@@ -177,6 +178,7 @@ class URPositionHardwareInterface : public hardware_interface::SystemInterface
177178
urcl::vector6d_t urcl_position_commands_;
178179
urcl::vector6d_t urcl_position_commands_old_;
179180
urcl::vector6d_t urcl_velocity_commands_;
181+
urcl::vector6d_t urcl_torque_commands_;
180182
urcl::vector6d_t urcl_joint_positions_;
181183
urcl::vector6d_t urcl_joint_velocities_;
182184
urcl::vector6d_t urcl_joint_efforts_;
@@ -229,6 +231,7 @@ class URPositionHardwareInterface : public hardware_interface::SystemInterface
229231
bool initialized_;
230232
double system_interface_initialized_;
231233
std::atomic_bool async_thread_shutdown_;
234+
urcl::VersionInformation version_info_;
232235
double get_robot_software_version_major_;
233236
double get_robot_software_version_minor_;
234237
double get_robot_software_version_bugfix_;
@@ -305,6 +308,7 @@ class URPositionHardwareInterface : public hardware_interface::SystemInterface
305308
std::vector<std::vector<std::string>> start_modes_;
306309
bool position_controller_running_;
307310
bool velocity_controller_running_;
311+
bool torque_controller_running_;
308312
bool force_mode_controller_running_ = false;
309313

310314
std::unique_ptr<urcl::UrDriver> ur_driver_;

ur_robot_driver/launch/ur_control.launch.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,7 @@ def controller_spawner(controllers, active=True):
372372
"joint_trajectory_controller",
373373
"forward_velocity_controller",
374374
"forward_position_controller",
375+
"forward_effort_controller",
375376
"force_mode_controller",
376377
"passthrough_trajectory_controller",
377378
"freedrive_mode_controller",

ur_robot_driver/package.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
<depend>ur_description</depend>
4747
<depend>ur_msgs</depend>
4848

49+
<exec_depend>effort_controllers</exec_depend>
4950
<exec_depend>force_torque_sensor_broadcaster</exec_depend>
5051
<exec_depend>joint_state_broadcaster</exec_depend>
5152
<exec_depend>joint_state_publisher</exec_depend>

0 commit comments

Comments
 (0)