PR2 / pr2_common

45 stars 79 forks source link

Update PR2 URDF for Kinect-friendly gains (ros ticket #5141) #208

Closed ahendrix closed 11 years ago

ahendrix commented 11 years ago

With a Kinect on a PR2 head, the robot cannot lift it's head when the head is tilted all the way forward.

Gil and Stu reported the fix to pr2-users: {{{ For anyone that is using the WG kinect mounting strategy where the kinect is mounted significantly above the head here's what we've found to be a working solution for the head controller configuration (mostly just mirroring what Stu said):

First, manually edit the urdf you are loading for the robot and change the entry for the head_tilt_joint to mirror the following (the only change is that the value for k_velocity is altered from "1.5" to "3.0"):

Next, you'll need to overlay the package pr2_controller_configuration (https://code.ros.org/svn/wg-ros-pkg/stacks/pr2_robot/trunk/pr2_controller_configuration) somewhere where it will be read when you do a 'robot start'. Then change the file pr2_head_controller.yaml to read the following:

head_traj_controller: type: robot_mechanism_controllers/ JointTrajectoryActionController joints: ['head_pan_joint', 'head_tilt_joint'] gains: head_pan_joint: p: 25.0 i: 12.0 d: 2.0 i_clamp: 0.5 head_tilt_joint: p: 100.0 i: 2.0 d: 3.0 i_clamp: 0.1

We just changed the head_tilt_joint/p value to 100.0 and the head_tilt_joint/d value to 3.0. Do a 'robot start' and you should be good to go. Let us know if this isn't working for you.

Also, our intern Adam Leeper has been working on the point_head_action, and it should now give correct behavior regarding the pointing_axis and pointing_frame. If you'd like to try it out overlay pr2_head_action trunk (https://code.ros.org/svn/wg-ros-pkg/stacks/pr2_controllers/trunk/pr2_head_action).

-Gil }}}

trac data:

ahendrix commented 11 years ago

[watts] Note: This change has been tested on several WG robots over the past few months.

r52652 in pr2_common for URDF change.

Stu, can you update pr2_robot with the controller gains change? I would like to close this today to land in Electric.

ahendrix commented 11 years ago

[sglaser] I'm pretty sure these gains won't work when the robot doesn't have a kinect on its head. Have you checked this?

ahendrix commented 11 years ago

[watts] I tested this on PRO, and it worked fine.

ahendrix commented 11 years ago

[watts] I tested this on PRM and PRO, both without Kinects. We've been using this gains on PR2's with Kinects for some time.

Commit to pr2_robot: https://kforge.ros.org/pr2robot/hg/rev/ea125706669e

ahendrix commented 11 years ago

[watts] It looks like I changed the wrong k_velocity term a few months ago.

Original changelist (in error): r52653

Fixes: r53284, r53285

John, can you release this to pr2_common in Electric? Thanks a lot.

ahendrix commented 11 years ago

[hsu] started prereleases.

ahendrix commented 11 years ago

[hsu] It seems [[http://build.willowgarage.com/view/pre- release/job/prerelease_electric_pr2_common_natty_amd64/8/testReport/ pr2_calibration_estimation unit tests]] are failing. Investigating failures.

ahendrix commented 11 years ago

[hsu] fixing link: [[http://build.willowgarage.com/view/pre-release/job/prerelease_electric_pr2_common_natty_amd64/8/testReport/|pr2_calibration_estimation unit tests]]

ahendrix commented 11 years ago

[hsu] fixed failures in pr2_calibration_estimation ([[https://kforge.ros.org/calibration/pr2_calibration/rev/32245f43f478 patch1]],[[https://kforge.ros.org/calibration/pr2_calibration/rev/b583f94e3127 patch2]]), a simultaneous pr2_common/pr2_calibration is required.

Also, added roslaunch arg swept_back_kinect in pr2_description/robots/upload_pr2.launch, i.e. {{{ roslaunch pr2_description upload_pr2.launch swept_back_kinect:=true }}} to enable the swept back kinect urdf.