ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

controller_manager, ros_controllers and exposing a PosVel I/F in RobotHW

asked 2016-02-13 14:55:09 -0500

BigBuddha gravatar image

updated 2016-02-14 05:28:11 -0500

gvdhoorn gravatar image

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?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-02-22 18:27:58 -0500

BigBuddha gravatar image

My solution was to take a copy of ros_controllers/position_controllers, read up on pluginlib, and write my own simple PosVel controller that controller_manager can load. It worked.

edit flag offensive delete link more

Comments

Hi! I am also in your situation, I mean, I also want to control Dynamixel AX12 servos through the PosVelJointInterface. Could you please upload your posvel controller to github? I would really appreciate your help since I am running out of time to deliver my project.

XaviDz gravatar image XaviDz  ( 2016-07-04 15:59:39 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2016-02-13 14:55:09 -0500

Seen: 445 times

Last updated: Feb 22 '16