Using moveit! alongside ros_contol
Hi guys,
I want to use moveit! with my simulated robot over Gazebo 2.2 and ROS indigo.
So, I've launched moveit! setup assistant, made a configuration package for my custom robot and changed my 'ros_control' controllers to be of type: "position_controllers/JointTrajectoryController", like so (this is my yaml file):
arm_controller:
type: "position_controllers/JointTrajectoryController"
joints:
- komodo_base_rotation_joint
- komodo_shoulder_joint
- komodo_elbow1_joint
- komodo_elbow2_joint
- komodo_wrist_joint
gains:
komodo_base_rotation_joint:
{p: 400.0, d: 0.0, i: 0.0, i_clamp: 0.0}
komodo_shoulder_joint:
{p: 400.0, d: 0.0, i: 0.0, i_clamp: 0.0}
komodo_elbow1_joint:
{p: 700.0, d: 0.0, i: 0.0, i_clamp: 0.0}
komodo_elbow2_joint:
{p: 700.0, d: 0.0, i: 0.0, i_clamp: 0.0}
komodo_wrist_joint:
{p: 400.0, d: 0.0, i: 0.0, i_clamp: 0.0}
From here, I launched Gazebo with my robot (as usual), the controllers loaded successfully, with the following topics:
/komodo/arm_controller/command
/komodo/arm_controller/follow_joint_trajectory/cancel
/komodo/arm_controller/follow_joint_trajectory/feedback
/komodo/arm_controller/follow_joint_trajectory/goal
/komodo/arm_controller/follow_joint_trajectory/result
/komodo/arm_controller/follow_joint_trajectory/status
/komodo/arm_controller/state
Now, when I launch "moveit_planing_execution" I get these errors:
[ INFO] [1427391777.591530773, 16.714000000]: MoveitSimpleControllerManager: Waiting for arm/joint_trajectory_action to come up
[ INFO] [1427391782.603431714, 21.714000000]: MoveitSimpleControllerManager: Waiting for arm/joint_trajectory_action to come up
[ERROR] [1427391787.615310407, 26.714000000]: MoveitSimpleControllerManager: Action client not connected: arm/joint_trajectory_action
[ INFO] [1427391787.683849921, 26.782000000]: Returned 0 controllers in list
[ INFO] [1427391787.699500489, 26.797000000]: Trajectory execution is managing controllers
Rviz then launches, and I can plan trajectories, However once I attempt to execute them, I get:
[ INFO] [1427393489.592196869, 62.858000000]: Returned 0 controllers in list
[ERROR] [1427393489.592233438, 62.858000000]: Unable to identify any set of controllers that can actuate the specified joints: [ komodo_base_rotation_joint komodo_elbow1_joint komodo_elbow2_joint komodo_shoulder_joint komodo_wrist_joint ]
[ERROR] [1427393489.592254160, 62.858000000]: Known controllers and their joints:
[ERROR] [1427393489.592284538, 62.858000000]: Apparently trajectory initialization failed
Obviously, I'm missing something here..
- Am I responsible to implement 'JointTrajectoryAction' server? Isn't 'ros_control' implement it for me, by choosing "JointTrajectoryController" type?
- If I do need to create one myself, can someone please point me to a simple example?
- Can someone please elaborate on how Moveit! should interface with ros_control?
Many Thanks,
David
Did you find a solution to this problem yet? I am struggling with the same problem.