Not able to simulate the planned moveit path in gazebo

asked 2022-11-06 12:51:01 -0500

soumya_97 gravatar image

I am trying to simulate the aubo i5 arm using ROS MoveIt in Gazebo. Initially, I am able to plan the path movement of my arm. But once I click on "Execute", it shows me

[ERROR] [1667725586.193688574, 20.055000000]: Unable to identify any set of controllers that can actuate the specified joints: [ foreArm_joint shoulder_joint upperArm_joint wrist1_joint wrist2_joint wrist3_joint ] [ERROR] [1667725586.193709294, 20.055000000]: Known controllers and their joints: 

I have tried a lot of things centered around this discussion but nothing is working. Any help would be appreciated. The necessary files are below: ros_controllers.yaml

 auboi5_controller:
  type: position_controllers/JointTrajectoryController
  default: True
  joints:
    - foreArm_joint
    - shoulder_joint
    - upperArm_joint
    - wrist1_joint
    - wrist2_joint
    - wrist3_joint
  gains:
    foreArm_joint:
      p: 100
      d: 1
      i: 1
      i_clamp: 1
    shoulder_joint:
      p: 100
      d: 1
      i: 1
      i_clamp: 1
    upperArm_joint:
      p: 100
      d: 1
      i: 1
      i_clamp: 1
    wrist1_joint:
      p: 100
      d: 1
      i: 1
      i_clamp: 1
    wrist2_joint:
      p: 100
      d: 1
      i: 1
      i_clamp: 1
    wrist3_joint:
      p: 100
      d: 1
      i: 1
      i_clamp: 1
controller_list:
  - name: auboi5_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    default: True
    joints:
      - foreArm_joint
      - shoulder_joint
      - upperArm_joint
      - wrist1_joint
      - wrist2_joint
      - wrist3_joint
gazebo_controllers.yaml
 # Publish joint_states
joint_state_controller:
  type: joint_state_controller/JointStateController
  publish_rate: 50
simple_moveit_controllers.yaml
 controller_list:
  - name: auboi5_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    default: True
    joints:
      - foreArm_joint
      - shoulder_joint
      - upperArm_joint
      - wrist1_joint
      - wrist2_joint
      - wrist3_joint

demo_gazebo.launch

<launch>
<!--specify the planning pipeline-->
<arg name="pipeline" default="ompl" />
<!-- Gazebo specific options -->
<arg name="gazebo_gui" default="true"/>
<arg name="paused" default="false"/>
<!-- launch the gazebo simulator and spawn the robot -->
<include file="$(dirname)/gazebo.launch">
<arg name="paused" value="$(arg paused)"/>
<arg name="gazebo_gui" value="$(arg gazebo_gui)"/>
</include>
<include file="$(dirname)/demo.launch" pass_all_args="true">
<!-- robot description is loaded by gazebo.launch, to enable Gazebo features -->
<arg name="load_robot_description" value="false" />
<arg name="moveit_controller_manager" value="ros_control" />
</include>
<node name="ros_control_moveit_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" args="spawn joint_state_controller auboi5_controller" />
</launch>
demo.launch
<launch>
<!-- specify the planning pipeline -->
<arg name="pipeline" default="ompl" />
<!-- By default, we do not start a database (it can be large) -->
<arg name="db" default="false" />
<!-- Allow user to specify database location -->
<arg name="db_path" default="$(find aubo_moveit)/default_warehouse_mongo_db" />
<!-- By default, we are not in debug mode -->
<arg name="debug" default="false" />
<!-- By default, we will load or override the robot_description -->
<arg name="load_robot_description" default="true"/>
<!-- Choose controller manager: fake, simple, or ros_control -->
<arg name="moveit_controller_manager" default="fake" />
<!-- Set execution mode for fake execution controllers -->
<arg name="fake_execution_type" default="interpolate" />
<!-- By default, hide joint_state_publisher's GUI in 'fake' controller_manager mode -->
<arg name="use_gui" default="false" />
<arg name="use_rviz" default="true" />
<!-- If needed, broadcast static tf for robot root -->
<group if="$(eval arg('moveit_controller_manager') == 'fake')">
<!-- We do not have a real robot connected, so publish fake joint states via a joint_state_publisher MoveIt's fake controller ...
(more)
edit retag flag offensive close merge delete