Action client not connected: manipulator_controller/follow_joint_trajectory
I'm trying to run moveit_planning_execution.launch but I have some errors. I'm using Fanuc M10ia robot and when i want to run demo.launch, i don't have any errors. What should i do to solve this problem.
My controller.yaml file:
controller_list:
- name: manipulator_controller
action_ns: follow_joint_trajectory
default: true
type: FollowJointTrajectory
joints:
- joint_1
- joint_2
- joint_3
- joint_4
- joint_5
- joint_6
My fanuc_m10ia_moveit_controller_manager.launch
:
<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 fanuc_m10ia_moveit_config)/config/controllers.yaml"/>
</launch>
My moveit_planning_execution.launch
:
<launch>
<!-- The planning and execution components of MoveIt! configured to run -->
<!-- using the ROS-Industrial interface. -->
<!-- Non-standard joint names:
- Create a file [robot_moveit_config]/config/joint_names.yaml
controller_joint_names: [joint_1, joint_2, ... joint_N]
- Update with joint names for your robot (in order expected by rbt controller)
- and uncomment the following line: -->
<rosparam command="load" file="$(find fanuc_m10ia_support)/config/joint_names_m10ia.yaml" />
<!-- the "sim" argument controls whether we connect to a Simulated or Real robot -->
<!-- - if sim=false, a robot_ip argument is required -->
<arg name="sim" default="true" doc="Use industrial robot simulator instead of real robot" />
<arg name="robot_ip" unless="$(arg sim)" doc="IP of controller (only required if not using industrial simulator)" />
<arg name="use_bswap" unless="$(arg sim)" default="true" doc="If true, robot driver will byte-swap all incoming and outgoing data (only required if not using industrial simulator)" />
<!-- By default, we do not start a database (it can be large) -->
<arg name="db" default="false" doc="Start the MoveIt database" />
<!-- Allow user to specify database location -->
<arg name="db_path" default="$(find fanuc_m10ia_moveit_config)/default_warehouse_mongo_db" doc="Path to database files" />
<!-- load the robot_description parameter before launching ROS-I nodes -->
<include file="$(find fanuc_m10ia_moveit_config)/launch/planning_context.launch" >
<arg name="load_robot_description" value="true" />
</include>
<!-- run the robot simulator and action interface nodes -->
<group if="$(arg sim)">
<include file="$(find industrial_robot_simulator)/launch/robot_interface_simulator.launch" />
</group>
<!-- run the "real robot" interface nodes -->
<!-- - this typically includes: robot_state, motion_interface, and joint_trajectory_action nodes -->
<!-- - replace these calls with appropriate robot-specific calls or launch files -->
<group unless="$(arg sim)">
<include file="$(find fanuc_m10ia_support)/launch/robot_interface_streaming_m10ia.launch" >
<arg name="robot_ip" value="$(arg robot_ip)"/>
<arg name="use_bswap" value="$(arg use_bswap)" />
</include>
</group>
<!-- publish the robot state (tf transforms) -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher">
<param name="/use_gui" value="false"/>
<rosparam param="/source_list">[/joint_states]</rosparam>
</node>
<remap if="$(arg sim)" from="/follow_joint_trajectory" to="/manipulator_controller/follow_joint_trajectory"/>
<include file="$(find fanuc_m10ia_moveit_config)/launch/move_group.launch">
<arg name="publish_monitored_planning_scene" value="true" />
</include>
<include file="$(find fanuc_m10ia_moveit_config)/launch/moveit_rviz.launch">
<arg name="config" value="true"/>
</include>
<!-- If database loading was enabled, start mongodb as well -->
<include ...
Seeing as you're using the default driver (at least I assume you do as I see
fanuc_m10ia_support
mentioned), it's likely the action namespace is incorrect.You have
manipulator_controller
, whereas the provided MoveIt configuration packages (this one for the M-10iA) have (here):notice the empty
name
.A non-empty
name
would also be possible, but would require changes elsewhere, which I don't believe you've made.Firstly, thanks for your comments. However, it didn't change. still, I have these errors on Terminal.
You really want to describe what you've done and show what you observed in more detail.
It's really difficult (if not impossible) to help someone if they only write "it didn't work".
I'm sorry, I wrote but I guess it was not seen. Still, I have this error when I want to run moveit_planning_execution.launch:
Action client not connected: /follow_joint_trajectory.