controller_manager, ros_controllers and exposing a PosVel I/F in RobotHW
OK I'm stumped. So far in my ROS adventure, I have been able to instantiate a JointPositionController
, JointStateController
, and JointTrajectoryController
with controller_manager
. Recently, I came across posvel_command_interface.h
in ( https://github.com/ros-controls/ros_c... ) and decided to use a PosVel
interface in my RobotHW
class, for a couple of joints that use Robotis AX-12As. That was easy enough to code in.
However, I then came to edit the YAML file associated with controller_manager
, and I realized that I could not, try as I may, figure out how to replace the highlighted line to use a PosVel
controller:
YAML snippet:
# PosVel Controllers ---------------------------------------
neck_tilt_joint_posvel_controller:
type: position_controllers/JointPositionController # <<-- this line
joint: neck_tilt_joint
After spending some time perusing the ros_controls
source, my hypothesis is that there is no PosVel
controller implemented that I could simply instantiate from the controller_manager
spawner.
So therefore my question is, what do you recommend I do to communicate with my RobotHW
's PosVel
command interface? Do I need to write a custom controller that is ros_control
-compliant, and did I miss the documentation that explains how to do that?
A related question would be, if I want to be able to modulate max velocity and position set point on AX-12As, should I approach the problem differently?