ROS MoveIt GripperCommand directed to position_controllers
Hi there everyone, my question is this, how do I get MoveIt gripper_action or GripperCommand to control a ros_control position_controllers/JointPositionController type joint?
My configuration was talked about here
I have configured a controllers.yaml file in the MoveIt robot config package folder. like this:
ros_control_namespace: /
#controller_manager_ns: controller_manager
controller_list:
- name: arm_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: false
joints:
- jt1_joint
- jt2_joint
- jt3_joint
- jt4_joint
allowed_execution_duration_scaling: 1.2
allowed_goal_duration_margin: 0.5
- name: gripper_controller
action_ns: gripper_action
type: GripperCommand
default: false
parallel: false
joints:
- jt5_joint
initial: # Define initial robot poses.
- group: jaycar_arm
pose: home
The above doesn't work, it says
[ WARN] [xxxx.yyyy]: Waiting for gripper_controller/gripper_action to come up
[ERROR] [xxxx.yyyy]: Action client not connected: gripper_controller/gripper_action
My jt5_joint is running as a ros controller as a position_controllers/JointPositionController which i can control using
rostopic pub /gripper_controller/command std_msgs/Float64 "data: 0.1"
How do i convert to something that MoveIt can use or configure MoveIt so it works with my joint control type?
I tried using moveit_ros_control
<param name="moveit_controller_manager" value="moveit_ros_control_interface::MoveItControllerManager"/>
instead of
<param name="moveit_controller_manager" value="moveit_simple_controller_manager/MoveItSimpleControllerManager"/>
But that didn't help.
I'm hoping someone would be able steer me in the right direction. It seems that MoveIt only supports two types of controllers, the FollowJointTrajectory and GripperCommand. I cant find a list of supported controllers that match the ros_control controllers of which there are heaps of different types. Am I missing something? Thanks heaps in advance.