I can't use the follow_joint_trajectory in MoveIt to control a real robot

asked 2021-03-01 02:48:52 -0500

harunresul gravatar image

updated 2021-03-01 10:14:27 -0500

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.

  1. I created a controller.yaml file
  2. I created a joint_names.yaml
  3. 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.
  4. 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 ...
(more)
edit retag flag offensive close merge delete