I can't use the follow_joint_trajectory in MoveIt to control a real robot
Hi I have a problem with ros, ros_control and MoveIt!. I work on the robot arm part of a mobile robot project. My goal is to control this arm with using ROS. I followed this tutorial. First I used my own urdf and I created a Moveit package. Then I made some modifications in files as the tutorial said.
- I created a controller.yaml file
- I created a joint_names.yaml
- There is a "smart_grasping_sandbox_moveit_controller_manager.launch.xml" in the tutorial, but I have "myrobot_moveit_controller_manager_launch". So I changed that.
- Finally, I created the "myrobot_planning_execution".
When I launch the "myrobot_planning_execution" I got :
[WARN] Waiting for rake_model_arm/follow_joint_trajectory
[ERROR] Action client not connected: rake_model_arm/follow_joint_trajectory
I searched the internet and changed the controller_list part in ros_controllers and got over this problem. but this time I get this error:
[WARN] Waiting for rake_model_arm/follow_joint_trajectory to come up
[ERROR] Action client not connected: rake_model_arm/follow_joint_trajectory
I tried rostopic list and rosservice list, can't see any follow_joint_trajectory. I tried "rosparam get /move_group/controller_list" and output looks good:
- action_ns: follow_joint_trajectory
default: true
joints:
- Rev50
- Rev51
- Rev52
- Rev53
name: rake_model_arm
type: FollowJointTrajectory
You can see my urdf, config files and launch files below.
urdf
<?xml version="1.0" ?>
<robot name="rake_model_arm">
<material name="silver">
<color rgba="0.700 0.700 0.700 1.000"/>
</material>
<transmission name="Rev50_tran">
<type>transmission_interface/SimpleTransmission</type>
<joint name="Rev50">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="Rev50_actr">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="Rev51_tran">
<type>transmission_interface/SimpleTransmission</type>
<joint name="Rev51">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="Rev51_actr">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="Rev52_tran">
<type>transmission_interface/SimpleTransmission</type>
<joint name="Rev52">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="Rev52_actr">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="Rev53_tran">
<type>transmission_interface/SimpleTransmission</type>
<joint name="Rev53">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="Rev53_actr">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<gazebo>
<plugin filename="libgazebo_ros_control.so" name="control"/>
</gazebo>
<gazebo reference="base_link">
<material>Gazebo/Silver</material>
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<selfCollide>true</selfCollide>
<gravity>true</gravity>
</gazebo>
<gazebo reference="eksen_1_1">
<material>Gazebo/Silver</material>
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="eksen_2_1">
<material>Gazebo/Silver</material>
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="eksen_3_1">
<material>Gazebo/Silver</material>
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="eksen_4_1">
<material>Gazebo/Silver</material>
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<link name="base_link">
<inertial>
<origin rpy="0 0 0" xyz="0.005000000000036548 -5.008838134208543e-14 0.009523945674792443"/>
<mass value="0.16968906408961484"/>
<inertia ixx="0.000258" ixy="0.0" ixz="-0.0" iyy="0.000258" iyz="0.0" izz="0.000352"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://rake_model_arm_description/meshes/base_link.stl ...