matthias-mayr / Cartesian-Impedance-Controller

A C++ implementation of Cartesian impedance control for torque-controlled manipulators with ROS bindings.
https://matthias-mayr.github.io/Cartesian-Impedance-Controller/
BSD 3-Clause "New" or "Revised" License
212 stars 32 forks source link

Implement compatibilty with rqt_joint_trajectory_controller #2

Open matthias-mayr opened 1 year ago

matthias-mayr commented 1 year ago

This controller is currently not compatible with the rqt_joint_trajectory_controller from ros_control.

To be compatible, these prerequisites must be fulfilled:

For a controller to be compatible with this plugin, it must comply with
the following requisites:
    - The controller type contains the C{JointTrajectoryController}
    substring, e.g., C{position_controllers/JointTrajectoryController}
    - The controller exposes the C{command} and C{state} topics in its
    ROS interface.

Furthermore, this rqt plugin sends a trajectory with a single joint value. This means that real interpolation needs to be implemented by this controller. Currently we assume trajectories with many points and just update the nullspace configuration.

Feel free to send a PR to implement this and/or a reaction in this issue if this is a feature that is needed.