Pushing Dexterity and Safety for In-Hand Object Pose Reaching That Works Remarkably Well
Organizations: University of California, Berkeley. · University of California, Davis.
Abstract
Dexterous manipulation with multi-fingered hands is the next frontier of robotics, yet learned hand skills remain limited to simple grasps or basic repeated motions, such as rotating an object. As robots attempt more demanding in-hand maneuvers, safety, such as not dropping the object, becomes critical, yet it is rarely measured. We study in-hand object pose reaching, a task that demands diverse and difficult grasps: moving an object to almost any position and orientation within reach of the fingers, at any wrist orientation, through long sequences of consecutive goals. We present a recipe for training such policies for a LEAP hand in simulation without human data, built on a range of insights, from diverse resets and goals via generated grasp datasets to an adaptive friction curriculum. With careful system identification, the policies transfer zero-shot to the real hand, using either motion capture or a single wrist-mounted depth camera, and prove remarkably capable and robust. On top of the task policy, we add a learned residual safety filter with adjustable conservativeness, letting us tune the balance between performance and safety and greatly reduce object drops. In 13.3 hours of real-robot evaluation over 4,800 unseen goals across 4 objects and diverse wrist orientations, the state-based policy reaches 95.2% of goals within 2 cm and 0.4 rad, and the filter cuts its drops by 75% while still reaching 91.5% of goals. The policies can also spin a lightbulb held in an arbitrary pose, reach out-of-distribution goals, withstand fast arm motion and perturbations, and, needing only a wrist camera, serve as portable skills such as screwing in a lightbulb. We release the full recipe as a platform for studying performance, reliability, and safety in high-dimensional dexterous systems. Videos and more are available at https://ian-chuang.github.io/dexsafe/.
Figures & tables
| Goals reached (%) | Time to 1st drop or | Avg. action change (%) | ||||
| Obs. | Filter | coarse | precise | Drops (%) | end (s) | |
| State | None | 92.1 0.3 | 88.4 0.3 | 9.1 0.3 | 154 5 | – |
| ResSafe, | 91.3 0.3 | 80.1 0.4 | 4.5 0.3 | 266 6 | 15.3 | |
| HCSF | 87.4 0.5 | 80.4 0.5 | 6.6 0.2 | 185 5 | 10.8 | |
| HCSF | 84.7 0.4 | 75.3 0.5 | 6.0 0.2 | 201 5 | 14.4 | |
| HCSF | 82.0 0.4 | 70.8 0.5 | 4.8 0.1 | 230 6 | 17.2 | |
| Goals reached (/300) | Drops (/300) | Time to 1st drop or end (s) | Reached before 1st drop (/50) | Avg. action change (%) | ||||
| Obs. | Object | Safety filter | precise | coarse | ||||
| State | Lightbulb | 277 | 297 | 2 | 427 | 42.3 | – | |
| 268 | 292 | 0 | 500 | 48.7 | 8.5 | |||
| Rubber duck | 255 | 291 | 7 | 298 | 29.3 | – | ||
| 194 | 262 | 2 | 441 | 39.2 | 15.4 | |||
| Knife | 234 | 288 | 4 | 257 | 24.7 | – | ||
| Parameter | Value | Unit | Randomization |
| BAM m5 model, identified on a test bench | |||
| Torque constant | 0.571 | N m/A | |
| Winding resistance | 2.327 | ||
| Armature | kg m 2 | ||
| Base friction | N m | ||
| Viscous friction | N m s/rad | ||
| Knife | Lightbulb | Rubber duck | Wineglass | |
| Mass, nominal [g] | 40 | 27 | 46.7 | 62 |
| Mass DR, [g] | 20–90 | 10–50 | 20–70 | 30–90 |
| Bounding box [mm] | 39 47 210 | 57 57 103 | 59 81 85 | 80 80 137 |
| Goal a | pose | axis | pose | axis |
| Grasps in dataset | 451,681 | 453,131 | 439,212 | 421,949 |
| Training goal tolerance (A1 final, A2, A3, B1) | ||||
| Quantity | Range or distribution | Drawn |
| Contact friction (A1 curriculum start final; final after A1) | ||
| Fingertip sliding | ep. | |
| Non-fingertip sliding | ep. | |
| Torsional ( ) | ep. | |
| Rolling ( ) | ep. | |
| Inertial a | ||
| Term | Dim | Hist. |
| proprioception | ||
| Projected gravity | 3 | 1 |
| Last smoothed action | 16 | 1 |
| Command residual | 16 | 1 |
| Joint position a | 16 | 10 |
| object pose (motion capture) |
| A1 | A3 | B1 | |
| Environments | 2 8192 a | 8192 | 8192 |
| Max. iterations b | 30k | 5k | 4k |
| Wall-clock e | 15–17 h | 2.5–2.8 h | 2.5–2.6 h |
| Steps per env. per iteration | 24 | 24 | 24 |
| Epochs / mini-batches | 5 / 4 | 5 / 4 | 5 / 4 |
| Learning rate c |
| A2 | A4 | B2 | |
| Environments | 4096 | 512 | 512 |
| Iterations a | 2000 | 20000 | 3000 |
| Wall-clock b | 0.6 h | 10 h | 1.8 h |
| Steps per env. per iteration | 24 | 24 | 24 |
| Epochs / mini-batches | 5 / 4 | 5 / 4 | 5 / 4 |
| Learning rate |
| Gate | coarse | precise | Drops | TTD | Corr. | ||
| None | 92.1 | 88.4 | 9.1 | 154 | – | ||
| ResSafe, | 91.3 | 80.1 | 4.5 | 266 | 15.3 | ||
| LRSF | – | 60.6 | 50.4 | 5.7 | 195 | 30.2 | |
| LRSF | – | 79.3 | 71.3 | 8.2 | 154 | 16.5 | |
| LRSF | – | 86.1 | 81.0 | 9.4 | 142 | 9.1 | |
| LRSF | – | 87.8 | 83.4 | 9.3 | 147 | 6.7 | |
| Goals reached (/50) | Drops (/50) | Avg. action change (%) | |||
| Object | Safety filter | precise | coarse | ||
| Knife | 24 | 37 | 0 | – | |
| 21 | 39 | 0 | 12.1 | ||
| Lightbulb | 30 | 42 | 0 | – | |
| 23 | 38 | 0 | 11.9 | ||
| Rubber duck | 25 | 42 | 0 | – | |
| Knife | Lightbulb | Rubber duck | Wineglass | |||||||||||||
| Filter | Coarse | Precise | Drops | Coarse | Precise | Drops | Coarse | Precise | Drops | Coarse | Precise | Drops | ||||
| State policy (A3) and state filter (B1) | ||||||||||||||||
| None | 94.8 | 91.2 | 3.7 | 255 | 93.8 | 92.1 | 6.5 | 266 | 92.1 | 88.4 | 9.1 | 154 | 88.6 | 67.7 | 6.1 | 287 |
| 2 | 94.8 | 90.1 | 3.0 | 296 | 96.9 | 94.8 | 2.9 | 317 | 92.8 | 88.0 | 7.2 | 205 | 91.5 | 67.8 | 3.0 | 312 |
| 1.5 | 94.5 | 89.4 | 2.9 | 304 | 97.0 | 95.0 | 2.9 | 315 | 92.6 | 87.0 | 6.6 | 208 | 91.3 | 67.2 | 2.6 | 323 |
| 1 | 94.4 | 88.6 | 2.6 | 304 | 97.1 | 95.0 | 2.5 | 333 | 92.6 | 85.4 | 5.9 | 232 | 91.0 | 65.6 | 2.6 | 317 |
| Turns | ||||||
| Wrist | Safety filter | Reached | Drops | 1 | mean | |
| Palm up | 46 | 0 | 34 | 28 | 1.24 | |
| 43 | 0 | 25 | 20 | 0.74 | ||
| Palm down | 44 | 0 | 19 | 12 | 0.63 | |
| 41 | 0 | 14 | 7 | 0.36 | ||
| Held (/10) | ||||
| Goal height (cm) | Spin (rad/s) | No safety filter ( ) | Safety filter ( ) | |
| Lightbulb | 11.5 | 10/10 | 10/10 | |
| Lightbulb | 15.6 | 7/10 | 10/10 | |
| Rubber duck | 13.0 | 0.5 | 8/10 | 9/10 |
| Rubber duck | 16.5 | 0.5 | 7/10 | 9/10 |
| All | 32/40 | 38/40 | ||
| Safety filter | Trials that passed each stage (cumulative) | ||
| Rubber duck : grasp, reorient & place | |||
| Grasp + lift | Reorient (base down) | Place upright | |
| 8/10 | 8/10 | 7/10 | |
| 7/10 | 6/10 | 3/10 | |
| Lightbulb : screw in | |||
| Upright from palm | Into socket | Screwed in (lights up) | |
Dexterous Manipulation
Dexterous manipulation studies how robots use multi-fingered hands to grasp, reorient, and interact with objects through contact.
See all 143 papers