How to Grasp ?
I have attached a Robotiq 2 finger gripper to an industrial arm and im trying to implement pick and place.
The gripper uses position_controllers/GripperActionController
my controllers.yaml file looks like this
# Gripper controller
gazebo_gripper:
type: position_controllers/GripperActionController
joint: robotiq_85_left_knuckle_joint
action_monitor_rate: 20
goal_tolerance: 0.002
max_effort: 100
stall_velocity_threshold: 0.001
stall_timeout: 1.0
This starts an action server with topics :
/gazebo_gripper/gripper_cmd/cancel
/gazebo_gripper/gripper_cmd/feedback
/gazebo_gripper/gripper_cmd/goal
/gazebo_gripper/gripper_cmd/result
/gazebo_gripper/gripper_cmd/status
This is the message type of /goal
/gazebo_gripper/gripper_cmd/goal control_msgs/GripperCommandActionGoal "header: seq: 0 stamp: secs: 0 nsecs: 0 frame_id: '' goal_id: stamp: secs: 0 nsecs: 0 id: '' goal: command: position: 0.0 max_effort: 0.0"
at position = 0.0 the gripper is open and at position = 1 it is fully closed.
1) What is max_effort here ? I thought this is the max effort which will be applied by the gripper ; for example if an object is gripped and the command is to fully close , the gripper still tries to reach the fully closed position leading to an increase in effort and when this max effort is reached it stops, but this doesn't seemed to be the case, the gripper keeps on closing leading to vigorous shaking and the object being squeezed out.
2)how can I grip an object ? right now through trial and error I find a position [0-1] where the gripper grips and doesn't shake. Then I move the arm. I want to know if this is the right approach ? is there a better way to do it? (i am also using the GraspFix Plugin)
3) what does the other action topics (feedback,status,cancel,result) do ? I tried grasping while echoing feedback and result, but nothing is being published.
PS: The project constraints do not allow me to use the moveit grasping pipeline
I have seen many projects using their own controllers, custom action servers, is there a need for that when already ros_control provides a Gripper Action controller