-
Notifications
You must be signed in to change notification settings - Fork 6
Collaborative_Manipulation_en
EN | 中文
#Demo 10 - Collaborative Manipulation
#####Navigation
baxter_dq_control is a node that makes the baxter keep a ball with two hands whatever the arm moves.
So far this node has been tested on ROS indigo powered by Ubuntu 14.04 only. If you got any problem with the code, please contact us.
#####Files Location:
- ./demos/demos_sysu_baxter/src/ros_dqcontrol
#####Subscriptions:
- /robot/digital_io/left_itb_button0/state
#####Publications:
- /baxter_dqcontrol/left/pose
- /baxter_dqcontrol/right/pose
- /baxter_dqcontrol/left/error_info
Beofore you run this node, please make sure your computer have been connected to the baxter. Then move baxter's hands to keep a ball. It would be better if we place baxter's arm symmetrically. Next we need to start the joint trajectory actionlib server:
$ rosrun baxter_interface joint_trajectory_action_server.py 2>&1 &
To start the hand control, we just next to run the baxter_dq_control node:
$ rosrun dq_robotics baxter_dq_control
The last thing we should do is to press the itb button in left arm to define an original relative pose. Now we can move the right arm and the left arm will keep tracking to hold the ball.
what's more, you can also run the rqt_gui node:
$ rosrun rqt_gui rqt_gui -s reconfigure
In there you can reset the PID parameters and stop the arm control, reset the original relative pose and start tracking without killing the baxter_dq_control node.
To read more detail or find the solutions to some problems, please refer to FAQ part below.
When you run the baxter_dq_control node, it will do the next two things
The first thing is to define an original relative pose. Actuall baxter is keeping relative pose of it's two arms not changed When it holds a ball. It means we can't hold the ball without original relative pose.
The second thing is tracking. The node will get the pose of both arms and caculates the reference pose of left arm using the pose of right arm and original relative pose. Then get the error of reference pose and actual pose and caculates the velocity of left arm's joint using PID Algorithm.
http://sdk.rethinkrobotics.com/wiki/Collaborative_Manipulation

