Some Help with "real" robot in final project

Hi All
It my first time trying to complete a course here so please forgive me if the this question is too noob
I’m trying to complete my final project for this course.
And i’m in the step where I’m trying to move the “real” robot
I have created a new move it config. And the path planning looks good in the moveit simulator

then as per the instructions
i have controllers.yaml

controller_list:
  - name: arm_controller
    action_ns: "follow_joint_trajectory"
    type: FollowJointTrajectory
    joints: [shoulder_pan_joint, shoulder_lift_joint, elbow_joint, wrist_1_joint, wrist_2_joint, wrist_3_joint]

i have joint_names.yaml

controller_joint_names: [shoulder_pan_joint, shoulder_lift_joint, elbow_joint, wrist_1_joint, wrist_2_joint, wrist_3_joint]

I have myrobot_moveit_controller_manager.launch.xml

<launch>
  <rosparam file="$(find myrobot_moveit_config)/config/controllers.yaml"/>
  <param name="use_controller_manager" value="false"/>
  <param name="trajectory_execution/execution_duration_monitoring" value="false"/>
  <param name="moveit_controller_manager" value="moveit_simple_controller_manager/MoveItSimpleControllerManager"/>
</launch>

and finally myrobot_planning_execution.launch

<launch>

  <rosparam command="load" file="$(find myrobot_moveit_config)/config/joint_names.yaml"/>

  <include file="$(find myrobot_moveit_config)/launch/planning_context.launch" >
    <arg name="load_robot_description" value="true" />
  </include>

  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
    <param name="/use_gui" value="false"/>
    <rosparam param="/source_list">[/joint_states]</rosparam>
  </node>

  <include file="$(find myrobot_moveit_config)/launch/move_group.launch">
    <arg name="publish_monitored_planning_scene" value="true" />
  </include>

  <include file="$(find myrobot_moveit_config)/launch/moveit_rviz.launch">
    <arg name="config" value="true"/>
  </include>

</launch>

However i can get the “real” robot to move. I get an error

[ERROR] [1629057125.611068541, 965.620000000]: Unable to identify any set of controllers that can actuate the specified joints: [ elbow_joint shoulder_lift_joint shoulder_pan_joint wrist_1_joint wrist_2_joint wrist_3_joint ]
[ERROR] [1629057125.611124907, 965.620000000]: Known controllers and their joints:

[ERROR] [1629057125.611188250, 965.620000000]: Apparently trajectory initialization failed

I deleted the config project that was created in the exercises and remade it in the same namefor the new robot for the final project as i wanted to see if the was some file still referring to the old project.
Why is cant it find controller for the joints of the new robot eventhough i have specified them in controllers.yaml?
Any help will be appreciated

1 Like

I think you are mixing here too many things.
The error indicates that the system is not able to load any controllers. This error must be solved first before adding anything about MoveIt.

Which command are you launching to execute all that? I cannot see your entry point in ROS.

Recommendation: create a simple launch file that just launches the controllers, nothing related to moveit. Just launch the controllers and the joint_state_publisher. Then try to use the GUI of the joint_state_publisher to move the joints of the robot in the simulation (remember, simulation, not rviz).

Once you achieve that, you will have the base correctly. If you don’t know how to do that, check the ROS Control course that explains all that.

Once you have the base running, continue with the other steps to add moveit in a progressive manner.

Let me know if this helps you or still have doubts