ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Depending on your exact requirements there is no need for ros_control
: most drivers for robot arms in ROS support FollowJointTrajectory actions, which take in a JointTrajectory
and execute that.
You can create those JointTrajectory
instances yourself, without any planning component involved.
Note: you are now responsible for sanity checking, collision avoidance and detection and trajectory smoothness, as drivers do not typically do any of that.
ros_control
can be helpful, if you're looking for a closed-loop approach and wish to do something other than executing trajectories.
And in the case of components like ur_modern_driver
: that particular component exposes a /joint_speed
topic that accepts joint velocity commands.
2 | No.2 Revision |
Depending on your exact requirements there is no need for ros_control
: most drivers for robot arms in ROS support FollowJointTrajectory actions, which take in a JointTrajectory
and execute that.
You can create those JointTrajectory
instances yourself, without any planning component involved.
Note: you are now responsible for sanity checking, collision avoidance and detection and trajectory smoothness, as drivers do not typically do any of that.
ros_control
can be helpful, if you're looking for a closed-loop approach and wish to do something other than executing trajectories.
And in the case of components like ur_modern_driver
: that particular component exposes a /joint_speed
topic that accepts joint velocity commands.
Edit:
Unfortunately I don't want to plan ahead
I'm not sure what you mean by this exactly. Robot control is (mostly) reactive in this case, so you'll always be planning, it's just that the timescales are much smaller.
but I was hoping I could leverage ros_control's existing functionality
at least the ur_modern_driver
has ros_control
capabilities built-in (comes with a `hardware_interface).
That is typically used with a joint_trajectory_controller
(which would be trajectory based again), but doesn' t need to be.
I don't have any experience with velocity control using ros_control
, so that would be something you'd have to check for yourself.