MATLAB: Open and Close Baxter’s gripper

baxter robotgripperMATLABRobotics System Toolboxros

Hi, we are trying to make our baxter robot open and close its gripper, we are using the following code that we generate from mathwork tutorial, but is not working, so can you please help?
rosinit('169.254.9.127') % ip address of baxter
rostopic info /robot/end_effector/right_gripper/command
pub = rospublisher('/robot/end_effector/right_gripper/command')
msg = rosmessage('baxter_core_msgs/EndEffectorCommand')
showdetails(msg)
msg.Id=65538
msg.Command= 'grip'
msg.Sender= 'foo'
msg.Sequence= 1
send(pub,msg)% nothing happens
msg.Command= 'release'
send(pub,msg) %nothing happens again
rosshutdown

Best Answer

I had the same problem. After some searching I managed to figure it out. The way to do this is through the script gripper_action_server.py
Use rosrun baxter_interface gripper_action_server.py
This will start an node for baxter gripper control
then in Matlab use rosaction list. You should now see 2 actions, one for the left gripper and one for the right.
then in Matlab :
[actClient,goalMsg] = rosactionclient('/robot/end_effector/right_gripper/gripper_action');
waitForServer(actClient
goalMsg = 100 % fully open
sendGoalAndWait(actClient,goalMsg,10)
goalMsg = 0 % fully closed
sendGoalAndWait(actClient,goalMsg,10)
Related Question