0
$\begingroup$

Rosanswers logo

I can't figure out how the MoveIt interfaces with the hardware controller. Any help or references welcome. I tried the following:

  1. I created Python action servers that handle action messages sent by MoveIt for each move group in a new package named my_robot_controller. These are dummy SimpleActionServers I modified from the actionlib tutorial. I named them my_move_group_controller.py. They print to terminal using rospy.loginfo.
  2. I edited the controllers.yaml file in my_robot_moveit/config using the same my_move_group names.
  3. Following the MoveIt! tutorial on creating the controller launch file, I created a file my_robot_description_moveit_controller_manager.launch inside the my_robot_moveit package (created using the setup assistant). According to the SRDF file in that same package/config, the robot's name is my_robot_description, as that's where the URDF lives.
  4. I created a my_robot_moveit.launch file to start rviz and moveit (like demo.launch but enabling reading from joint_states). I set fake_execution to false.
  5. rosrun my_robot_moveit my_robot_description_moveit_controller_manager.launch. This command runs and terminates without error.
  6. rosrun my_robot_moveit my_robot_moveit.launch. This launches rviz and I can visualize the robot and plan trajectories, but it seems like moveit can't find the controllers:

Relevant terminal output

[ INFO] [1499120779.494268914]: Starting scene monitor
[ INFO] [1499120779.498303784]: Listening to '/move_group/monitored_planning_scene'
[ INFO] [1499120779.499209320]: waitForService: Service [/get_planning_scene] has not been advertised, waiting...
[ INFO] [1499120781.117743014]: Waiting for arm6dof_controller/follow_joint_trajectory to come up
[ INFO] [1499120784.515498443]: Failed to call service get_planning_scene, have you launched move_group? at /tmp/binarydeb/ros-kinetic-moveit-ros-planning-0.9.8/planning_scene_monitor/src/planning_scene_monitor.cpp:486
[ INFO] [1499120784.889705013]: No active joints or end effectors found for group ''. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1499120784.890079419]: No active joints or end effectors found for group 'arm6dof'. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1499120784.892088492]: No active joints or end effectors found for group 'arm6dof'. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1499120784.892679679]: Constructing new MoveGroup connection for group 'arm6dof' in namespace ''
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
[ INFO] [1499120786.117870928]: Waiting for arm6dof_controller/follow_joint_trajectory to come up
[ERROR] [1499120791.118052218]: Action client not connected: arm6dof_controller/follow_joint_trajectory
[ INFO] [1499120796.145848142]: Waiting for base_gripper_controller/follow_joint_trajectory to come up
[ INFO] [1499120801.146001310]: Waiting for base_gripper_controller/follow_joint_trajectory to come up
[ERROR] [1499120806.146111888]: Action client not connected: base_gripper_controller/follow_joint_trajectory
[ INFO] [1499120811.254410130]: Waiting for ee_gripper_controller/follow_joint_trajectory to come up
[ERROR] [1499120814.906571120]: Unable to connect to move_group action server 'move_group' within allotted time (30s)
[ INFO] [1499120814.906992117]: Constructing new MoveGroup connection for group 'arm6dof' in namespace ''
[ INFO] [1499120816.254549199]: Waiting for ee_gripper_controller/follow_joint_trajectory to come up
[ERROR] [1499120821.254703646]: Action client not connected: ee_gripper_controller/follow_joint_trajectory
[ INFO] [1499120821.358256875]: Returned 0 controllers in list
[ INFO] [1499120821.371200102]: Trajectory execution is managing controllers

I'm probably missing the point, but the the tutorials don't explain how to set this up properly and I can't figure out how to solve these hints. I'm using the dynamixel_motor package to control my motors (through topics) so any tips on how to do that properly would also be welcome.


Originally posted by achille on ROS Answers with karma: 464 on 2017-07-03

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I could figure it out using the example files posted in this discussion. It is specific for the dynamixel motors, but gives a minimal example of a working configuration.


Originally posted by achille with karma: 464 on 2017-07-04

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.

Not the answer you're looking for? Browse other questions tagged or ask your own question.