Not able to simulate the planned moveit path in gazebo
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_jointgazebo_controllers.yaml
# Publish joint_states joint_state_controller: type: joint_state_controller/JointStateController publish_rate: 50simple_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>demo.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>
<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 ...