0
$\begingroup$

Rosanswers logo

Hi,

I am trying to use MoveIt! to control a simulated robot in Gazebo, and am at a loss as to how to proceed. The only documentation / tutorial I can find on the subject is this one, which is 4 years old and works only for a specific robot, that comes with all the necessary controllers.

My understanding so far:

  • The MoveItSimpleControllerManager plugin should 'convert' MoveIt! executions to FollowJointTrajectory action calls. I have included the plugin in myrobot_moveit_controller_manager.launch (adapted from the demo.launch generated by the MoveIt! setup assistant) with:

      <!-- Set the param that trajectory_execution_manager needs to find the controller plugin -->
      <arg name="moveit_controller_manager" default="moveit_simple_controller_manager/MoveItSimpleControllerManager" />
      <param name="moveit_controller_manager" value="$(arg moveit_controller_manager)"/>
    
      <arg name="controller_manager_name" default="moveit_simple_controller_manager" />
      <param name="controller_manager_name" value="$(arg controller_manager_name)" />
    
      <arg name="use_controller_manager" default="true" />
      <param name="use_controller_manager" value="$(arg use_controller_manager)" />
    
      <!-- load controller_list -->
      <rosparam file="$(find myrobot_moveit_config)/config/controllers.yaml"/>
    
  • The joint_trajectory_controller from ros_controllers should implement the action server required for the FollowJointTrajectory calls, and actuate the joints in Gazebo accordingly via the libgazebo_ros_control plugin for Gazebo. I am trying to spawn the controller with:

      <node name="controller_spawner"
            pkg="controller_manager"
            type="spawner"
            respawn="false"
            output="screen"
            ns="/myrobot"
            args="joint_state_controller joint_trajectory_controller"/>
    

The problem:

When I run the above launch files as well as the Gazebo one (which also uploads the robot description to the param server), I get the following output in the MoveIt! terminal:

[FATAL] [1498731799.850090680, 16.100000000]: Parameter '~moveit_controller_manager' not specified. This is needed to identify the plugin to use for interacting with controllers. No paths can be executed.

I'm using ROS Indigo with Ubuntu 14.04.

Could some-one let me know if my overall understanding is flawed, and what might cause the above error message?

Thanks.


Update:

I fixed the above error message by putting the first set of XML tags inside the namespace of the move_group node, with:

<group ns="move_group"> ... </group>

Now the controller manager seems to be connected, but I get the following error messages. When I start the MoveIt! node:

[ERROR] [1498747248.394583362, 16.231000000]: MoveItSimpleControllerManager: Action client not connected: arm_r_controller/follow_joint_trajectory

And when I attempt to execute a trajectory:

[ERROR] [1498747328.213270503, 70.727000000]: Unable to identify any set of controllers that can actuate the specified joints: [ ... ]

It was my understanding that MoveItSimpleControllerManager was the 'action client' - is this wrong?


Originally posted by PhydeauxLeChien on ROS Answers with karma: 11 on 2017-06-29

Post score: 1


Original comments

Comment by PhydeauxLeChien on 2017-06-29:
If anyone could help with formatting XML in questions as well, that'd be great. The < param > tags don't seem to be displaying >.<

Comment by gvdhoorn on 2017-06-29:
Use the Preformatted Text button (the one with 101010 on it). Keep in mind that when formatting text that is part of a list, you'll have to increase indentation level (ie: prefix more spaces), as it's relative to the indentation level of the surrounding text.

Comment by PhydeauxLeChien on 2017-06-29:
Thanks - the list thing, that's what I was missing.

Comment by yyf on 2017-09-27:
Have you solved the problem:MoveItSimpleControllerManager: Action client not connected: arm_r_controller/follow_joint_trajectory? I have the same trouble.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The problem is that your MoveIt controller manager expects a ROS action at arm_r_controller/follow_joint_trajectory, but that does not exist. run rostopic list | grep goal and find the FollowTrajectoryAction that is setup with your gazebo ros_control plugin.

You can either change the topic in the gazebo configuration or in the controllers.yaml.


Originally posted by v4hn with karma: 2950 on 2017-09-27

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.