Ask Your Question
0

follow_joint_trajectory action client not connected

asked 2018-07-09 01:13:06 -0500

chris annin gravatar image

updated 2018-07-11 21:30:01 -0500

Im attempting to setup a simple controller manager through moveit to eventually connect to my robot node (which I haven't written yet). This is a single are 6DOF robot. I have my robots urdf and moveit config package complete and I can run the demo.launch with no issues.

I am following this document: http://docs.ros.org/kinetic/api/movei...

Ive created a controller.yaml file:

controller_list:
 - name: arm_controller
   action_ns: follow_joint_trajectory
   type: FollowJointTrajectory
   default: true
   joints:
     - joint_1
     - joint_2
     - joint_3
     - joint_4
     - joint_5
     - joint_6

Ive created a controller launch file called "ar2_moveit_controller_manager.launch.xml":

<launch>
 <!-- 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)"/>
 <!-- load controller_list -->
 <rosparam file="$(find ar2_moveit_config)/config/controllers.yaml"/>
</launch>

I then created a new moveit launch file called "ar2_planning_execution.launch" :

<launch>

  <rosparam command="load" file="$(find ar2_moveit_config)/config/joint_names.yaml"/>

  <include file="$(find ar2_moveit_config)/launch/planning_context.launch" >

     <arg name="load_robot_description" value="true" />

  </include>

  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">

    <param name="/use_gui" value="false"/>

    <rosparam param="/source_list">[/joint_states]</rosparam>

   </node>

  <include file="$(find ar2_moveit_config)/launch/move_group.launch">

     <arg name="publish_monitored_planning_scene" value="true" />

  </include>

   <include file="$(find ar2_moveit_config)/launch/moveit_rviz.launch">

    <arg name="config" value="true"/>

   </include>

 </launch>

after launching rvis seems to open as expected. I then run rostopic list expecting to find the topic:

"/arm_controller/follow_joint_trajectory/goal"

but it is not on the list. when I look back through the launch console I find this error:

[ERROR] [1531100734.213718002]: Action client not connected: arm_controller/follow_joint_trajectory

I'm running Ubuntu 16.04 and kinetic. thank you for your input.

Chris

edit retag flag offensive close merge delete

Comments

Chris,

Hello, I am currently trying to solve the exact same error. Where you able to get this to launch properly?

Kyle

lammer18 gravatar imagelammer18 ( 2018-07-16 12:37:10 -0500 )edit

not yet. according to the answer provided by BryceWiley moveit is trying to connect to the action server which isnt there yet. Im currently researching SimpleActionServer. my robots controller is an arduino so im not sure if I can run an Action server from the arduino or if I have to create an

chris annin gravatar imagechris annin ( 2018-07-16 13:46:22 -0500 )edit

action server node and pass the values to the arduino. In any case Im assuming once I get a server running first that moveit will be satisfied and function properly. I will report back on this topic once I have something working.

chris annin gravatar imagechris annin ( 2018-07-16 13:47:50 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-07-11 22:27:57 -0500

If you look back at the tutorial you are following, you'll see this at the beginning:

We will assume that your robot offers a FollowJointTrajectory action service for the arms on your robot and (optionally) a GripperCommand service for your gripper. If your robot does not offer this we recommend the ROS control framework for easily adding this functionality around your hardware communication layer.

The error you're getting means that MoveIt is correctly trying to find the arm_controller/follow_joint_trajectory action client specified by controller.yaml. You should be good at this point to finish writing your controller, and when it's ready, launch it and have it accept actions at arm_controller/follow_joint_trajectory.

edit flag offensive delete link more

Comments

Ahh, so I misunderstood the error in thinking the moveit side wasnt picking up the controller.yaml. thank you. I'll shift gears and work on my controller and then try it again.

chris annin gravatar imagechris annin ( 2018-07-11 22:41:28 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2018-07-09 01:13:06 -0500

Seen: 2,541 times

Last updated: Jul 11 '18