0
$\begingroup$

Rosanswers logo

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>

Originally posted by cschindlbeck on ROS Answers with karma: 56 on 2016-06-23

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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).


Originally posted by gvdhoorn with karma: 86574 on 2016-06-24

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by cschindlbeck on 2016-06-28:
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.

Comment by cschindlbeck on 2016-06-28:
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?

Comment by cschindlbeck on 2016-06-29:
after some analysis i suppose the ETHERNET1 block in the RSI diagramm has no input source, could be the problem

Comment by gvdhoorn on 2016-06-29:
@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.

Comment by gvdhoorn on 2016-06-29:
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.

$\endgroup$

Your Answer

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