rqt_joint_trajectory_controllert gui doesn't detect the arm_controller

asked 2022-08-01 17:26:31 -0500

josue gravatar image

updated 2022-08-05 08:25:07 -0500

Hi, I am new to ROS and I was attempting to load a mobile manipulator robot urdf model in gazebo and trying to manipulate it with rqt joint trayectory gui tool but this tool only detects the maneger_controller ns but doesn't detect the arm_controller (the controller combobox stays all in white) so the tool doesn't load the joints scrollbars to manipulate their position

I am using the next lounch and config files:

Lounch file:

<?xml version="1.0"?>
<launch>
<param name="robot_description" command="$(find xacro)/xacro --inorder $(find robot_description)/urdf         /mobile_manipulator.urdf.xacro" />
<include file="$(find gazebo_ros)/launch/empty_world.launch">
</include>
<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model mobile_manipulator" />
<rosparam command="load" file="$(find robot_description)/config/control.yaml" />
<node name="controller_spawner" pkg="controller_manager" type="spawner" ns="/mobile_manipulator"  args="joint_state_controller arm_controller robot_base_velocity_controller" respawn="false" output="screen"/>
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="false" output="screen">
  <remap from="/joint_states" to="/mobile_manipulator/joint_states"/>
</node> 
</launch>

config file:

mobile_manipulator:
# Publish all joint states -----------------------------------
joint_state_controller:
  type: joint_state_controller/JointStateController
  publish_rate: 50

arm_controller:
  type: position_controllers/JointTrajectoryController
  joints:
    - arm_base_joint
    - shoulder_joint
    - bottom_wrist_joint
    - elbow_joint
    - top_wrist_joint
  constraints:
    goal_time: 0.6
    stopped_velocity_tolerance: 0.05
    arm_base_joint: {trajectory: 0.1, goal: 0.1}
    shoulder_joint: {trajectory: 0.1, goal: 0.1}
    bottom_wrist_joint: {trajectory: 0.1, goal: 0.1}
    elbow_joint: {trajectory: 0.1, goal: 0.1}
    top_wrist_joint: {trajectory: 0.1, goal: 0.1}
  stop_trajectory_duration: 0.5
  state_publish_rate:  25
  action_monitor_rate: 10

robot_base_velocity_controller:
  type: "diff_drive_controller/DiffDriveController"
  left_wheel: ['front_left_wheel_joint', 'rear_left_wheel_joint']
  right_wheel: ['front_right_wheel_joint', 'rear_right_wheel_joint']
  publish_rate: 50
  pose_covariance_diagonal: [0.001, 0.001, 0.001, 0.001, 0.001, 0.03]
  twist_covariance_diagonal: [0.001, 0.001, 0.001, 0.001, 0.001, 0.03]
  cmd_vel_timeout: 0.5
  wheel_separation : 0.445208
  wheel_radius : 0.0625
  base_frame_id: base_link
  odom_frame_id: odom
  enable_odom_tf: true
  estimate_velocity_from_position: false
  wheel_separation_multiplier: 1.0 
  wheel_radius_multiplier    : 1.0 
  linear:
    x:
      has_velocity_limits    : true
      max_velocity           : 2.0   
      has_acceleration_limits: true
      max_acceleration       : 3.0   
  angular:
    z:
      has_velocity_limits    : true
      max_velocity           : 3.0   
      has_acceleration_limits: true
      max_acceleration       : 6.0   

mobile_manipulator/gazebo_ros_control:
  pid_gains:
    front_left_wheel_joint: {p: 20.0, i: 0.01, d: 0.0, i_clamp: 0.0}
    front_right_wheel_joint: {p: 20.0, i: 0.01, d: 0.0, i_clamp: 0.0}
    rear_left_wheel_joint: {p: 20.0, i: 0.01, d: 0.0, i_clamp: 0.0}
    rear_right_wheel_joint: {p: 20.0, i: 0.01, d: 0.0, i_clamp: 0.0}

    arm_base_joint: {p: 1000.0, i: 100.0, d: 10.0}
    shoulder_joint: {p: 1000.0, i: 100.0, d: 10.0}
    bottom_wrist_joint: {p: 1000.0, i: 100.0, d: 10.0}
    elbow_joint: {p: 1000.0, i: 100.0, d: 10.0}
    top_wrist_joint: {p: 100.0, i: 0.0, d: 0.0}

I have search and trying many things but i am still unable to use this tool to manipulate the joints I am using ros melodic with gazebo_ros: 2.8.7 in ubuntu 18.04.6

Also sorry for my english I dont used to write in english

edit retag flag offensive close merge delete