Difference between revisions of "PR2 Arm Control"

From Healthcare Robotics Wiki
Jump to: navigation, search
(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 Type
+
! 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
  • Actionlib
  • Command topic
  • Command topic
  • Command topic
  • Command topic
  • Actionlib
  • Command topic
Demonstrated Tasks
  • Planning and manipulation stack
  • Scratch approach ver. 1
  • Trajectory playback
  • Overhead grasping
  • Lightswitch
  • Interactive grasping
  • THEP remote control
  • Door opening
  • Invisible surface
  • Sweeping with broom
  • Brushing on table
  • Writing with pencil
  • Flipping pages in a book
  • Cutting a cake
  • Door opening (not smoothly)
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
  • Waypoints are smoothly interpolated between using splines.
  • Commands can be sent to the controller to be executed in the future.
  • Each point in the trajectory is alternatively an impedance vector or a force.
  • The derivative term is not implemented.