Difference between revisions of "PR2 Arm Control"
From Healthcare Robotics Wiki
(→Low-level Controllers) |
|||
| Line 12: | Line 12: | ||
| Stuart Glaser || Stuart Glaser || Adam Leeper || Stuart Glaser || MIT | | Stuart Glaser || Stuart Glaser || Adam Leeper || Stuart Glaser || MIT | ||
|- | |- | ||
| − | ! scope="row" | Control | + | ! scope="row" | Control Space |
| Joint space || Cartesian Space || Cartesian Space || Cartesian Space || Cartesian Space | | Joint space || Cartesian Space || Cartesian Space || Cartesian Space || Cartesian Space | ||
| + | |- | ||
| + | ! scope="row" | Control Type | ||
| + | | Joint position, velocity, acceleration control with PID || Controls force at the end effector with PD on the Cartesian error || Same as JTranspose, shaped stiffness matrix in end effector's frame || Position or Velocity Cartesian control with PD control on joint velocities || Force-stiffness hybrid control, JTranspose on some DOF, force control on others | ||
| + | |- | ||
| + | ! scope="row" | Relevant Equations | ||
| + | || | ||
| + | T = PID(spline(t, trajectory) - q_cur) | ||
| + | || | ||
| + | T = J^T * PD(x_err) + J_null * (q_posture - q) | ||
| + | || | ||
| + | Same but: PD(x_err) = R * Kp * R^T * x_err + R * Kd * R^T * x_dot | ||
| + | || | ||
| + | T = Kp * (q_proxy - q) + Kd * (q_dot_des - q_dot) | ||
| + | |||
| + | q_dot_des = J_pinv * x_dot + J_null * (q_posture - q) | ||
| + | || | ||
| + | T = J^T * F | ||
| + | |||
| + | F = PD(x_err) or F_des | ||
|- | |- | ||
! scope="row" | Interfaces | ! scope="row" | Interfaces | ||
Revision as of 01:11, 30 June 2011
Low-level Controllers
| Controller | Joint Spline Trajectory Controller | JTranspose Controller | JTranspose Task Controller | JInverse Controller | End Effector Cartesian Impedance Control |
|---|---|---|---|---|---|
| Designer | Stuart Glaser | Stuart Glaser | Adam Leeper | Stuart Glaser | MIT |
| Control Space | Joint space | Cartesian Space | Cartesian Space | Cartesian Space | Cartesian Space |
| Control Type | Joint position, velocity, acceleration control with PID | Controls force at the end effector with PD on the Cartesian error | Same as JTranspose, shaped stiffness matrix in end effector's frame | Position or Velocity Cartesian control with PD control on joint velocities | Force-stiffness hybrid control, JTranspose on some DOF, force control on others |
| Relevant Equations |
T = PID(spline(t, trajectory) - q_cur) |
T = J^T * PD(x_err) + J_null * (q_posture - q) |
Same but: PD(x_err) = R * Kp * R^T * x_err + R * Kd * R^T * x_dot |
T = Kp * (q_proxy - q) + Kd * (q_dot_des - q_dot) q_dot_des = J_pinv * x_dot + J_null * (q_posture - q) |
T = J^T * F F = PD(x_err) or F_des |
| Interfaces |
|
|
|
|
|
| Demonstrated Tasks |
|
|
|
| |
| Specify Trajectory | Yes | No | No | No | Yes |
| Change Gains on the Fly | No | Yes | Yes | No | Yes, if using impedance control |
| Integral Control | Yes | No | No | No | No |
| Cartesian Velocity Saturation | No | Yes | Yes | No, not implemented yet | No |
| Torque Saturation | No | Yes | Yes | No | No |
| Notes |
|
|