Ask Your Question
0

MoveIt and ROS-Industrial: No controller_list specified.

asked 2016-06-23 08:52:09 -0600

cschindlbeck gravatar image

updated 2016-06-23 08:52:48 -0600

I am trying to control my KUKA Agilus with the ROS-I experimental package and MoveIt and i get an error for no controller_list specified.

[ERROR] [1466689198.911826798]: No controller_list specified.
[ INFO] [1466689198.911892610]: Returned 0 controllers in list
[ INFO] [1466689198.919276819]: Trajectory execution is managing controllers

However, i do explicitly load the yaml config:

controller_list:
  - name: ""
    action_ns: joint_trajectory_action
    type: FollowJointTrajectory
    joints: [joint_a1, joint_a2, joint_a3, joint_a4, joint_a5, joint_a6]

And i can list the configuration with:

$ rosparam get /controller_list

What am i missing? The test XML reads as follows:

<launch>

  <rosparam command="load" file="$(find kuka_rsi_hw_interface)/config/controller_joint_names.yaml"/>
  <rosparam command="load" file="$(find agil_moveit_config)/config/controllers.yaml"/>

  <arg name="sim" default="true" />
  <arg name="robot_ip" unless="$(arg sim)" />

  <include file="$(find agil_moveit_config)/launch/planning_context.launch" >
    <arg name="load_robot_description" value="true" />
  </include>

  <!-- remap topics to conform to ROS-I specifications -->
  <remap from="/position_trajectory_controller/follow_joint_trajectory" to="/joint_trajectory_action" />
  <remap from="/position_trajectory_controller/state" to="/feedback_states" />
  <remap from="/position_trajectory_controller/command" to="/joint_path_command"/>

  <!-- run the robot simulator and action interface nodes -->
  <group if="$(arg sim)">
    <include file="$(find industrial_robot_simulator)/launch/robot_interface_simulator.launch" />
    <include file="$(find kuka_rsi_hw_interface)/test/test_hardware_interface.launch" />
  </group>

  <include file="$(find agil_moveit_config)/launch/move_group.launch">
      <arg name="publish_monitored_planning_scene" value="true" />
  </include>

  <include file="$(find agil_moveit_config)/launch/moveit_rviz.launch">
    <arg name="config" value="true"/>
  </include>

  <include file="$(find agil_moveit_config)/launch/default_warehouse_db.launch" />

</launch>
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2016-06-24 09:56:16 -0600

gvdhoorn gravatar image

From your error message, I think you forgot to update the agil_moveit_config/launch/kuka_kr6r900sixx_moveit_controller_manager.launch file. That is the file that actually uploads the contents of the config/controller.yaml file, and sets the moveit_controller_manager to the correct value.

Without that, MoveIt won't know how to interface with your controllers.


I've also just created an example MoveIt configuration package for the KR 6 R900 sixx, see the kr6r900sixx_moveit_rsi_convenience in my fork of ros-industrial/kuka_experimental. I've added a bit more than just a working configuration, so please test it out and let me know if it works for you.

The main issue is that the kuka_rsi_hw_interface doesn't (by default) setup all the topics and services that the tutorial you followed to create your MoveIt configuration expects. Especially the namespacing of the action server and naming of the joint state and feedback topics is different. The structure I set up in kr6r900sixx_moveit_rsi_convenience takes care of that, so everything 'above' kuka_kr6_support should now be able to interact with the RSI hardware_interface as it would with a regular ROS-Industrial driver (but see also the comments in the launch files).

edit flag offensive delete link more

Comments

Thanks a lot for all your effort! The simulation now works as expected. The default RRT planner now also solves the problem of the robot's weird floating behavior when executing a trajectory.However, I tried to connect the real robot with the RSI interface and there seems to be be a problem.

cschindlbeck gravatar imagecschindlbeck ( 2016-06-28 05:04:01 -0600 )edit

Maybe it is just a minor spelling error. Executing the "rsi_axis_correction.src" on the KUKA controller yields: "File not found: rsi_axis_correction". When i change the line to load "rsi_axis_corr.rsi", it says "RSI_CREATE: File not found ETHERNET1". Do i have to remap or specify something?

cschindlbeck gravatar imagecschindlbeck ( 2016-06-28 05:04:28 -0600 )edit

after some analysis i suppose the ETHERNET1 block in the RSI diagramm has no input source, could be the problem

cschindlbeck gravatar imagecschindlbeck ( 2016-06-29 05:12:06 -0600 )edit

@cschindlbeck: could you please report this to the issue tracker? That way we can make sure to capture the problem and eventual solution in the proper place.

gvdhoorn gravatar imagegvdhoorn ( 2016-06-29 08:44:32 -0600 )edit

Also: it sounds like your initial problem with the controller_list parameter has been resolved. Could I ask you to mark this question as solved then? The RSI / controller setup problems are unrelated to that.

gvdhoorn gravatar imagegvdhoorn ( 2016-06-29 08:45:34 -0600 )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

2 followers

Stats

Asked: 2016-06-23 08:52:09 -0600

Seen: 1,229 times

Last updated: Jun 24 '16