In-Hand Object Rotation via Rapid Motor Adaptation
TL;DR Train a fingertip-only object-rotation policy in simulation on cylinders, plus a module that infers object properties from 1.5 s of joint history. Deployed without fine-tuning on an Allegro hand, it rotates over 30 real objects of 4.5-7.5 cm and 5-200 g, averaging 23.96 rad per 30 s on heavy objects.
What they do
The task is rotating an object about the z-axis using only the fingertips of a 16-DoF Allegro hand, with no vision or touch. The policy is trained entirely in simulation on cylinders and runs on the real hand without fine-tuning. Borrowing rapid motor adaptation from legged locomotion, the policy is conditioned on an 8-dim “extrinsics” vector describing the object, which is estimated online from proprioception at deployment.
How it works
- Base policy. An MLP takes the last three joint positions and actions plus the extrinsics and outputs PD targets at 20 Hz. An encoder compresses privileged object properties (position, size, mass, friction, center of mass) into the extrinsics. Both are trained with PPO in IsaacGym on 16,384 parallel environments with randomized scale, mass, friction and disturbance forces.
- Reward. Clipped rotation velocity, plus penalties on deviation from the initial hand pose, torque, mechanical work and object linear velocity. No finger-gait heuristic is used; a stable gait emerges from the pose and energy terms.
- Adaptation module. A temporal CNN over 30 steps (1.5 s) of joint positions and actions regresses the extrinsics. It is trained with supervised learning in simulation and replaces the encoder at deployment.
Results
- Simulation, out-of-distribution objects: rotation reward 160.6, against 140.8 for domain randomization, 132.6 for explicit system identification and 165.1 for the privileged expert.
- Real objects over 100 g: 23.96 rad rotated on average per 30 s episode (about 0.8 rad/s), better than all baselines on every metric. The baseline that freezes its first estimate does not transfer.
- Across 33 real objects, rotation is almost perfectly stable and continuous on 22. When objects are swapped mid-run, individual extrinsics track object diameter and mass.
Limitations
Only single-axis rotation is evaluated; a ±z policy is shown qualitatively in the appendix. Most real failures come from wrong contact points, which proprioception cannot sense. Objects under 4 cm make the fingers collide, and extreme shapes are harder. No real-world data is used to improve the policy.
Videos
Figures



Abstract
Generalized in-hand manipulation has long been an unsolved challenge of robotics. As a small step towards this grand goal, we demonstrate how to design and learn a simple adaptive controller to achieve in-hand object rotation using only fingertips. The controller is trained entirely in simulation on only cylindrical objects, which then - without any fine-tuning - can be directly deployed to a real robot hand to rotate dozens of objects with diverse sizes, shapes, and weights over the z-axis. This is achieved via rapid online adaptation of the controller to the object properties using only proprioception history. Furthermore, natural and stable finger gaits automatically emerge from training the control policy via reinforcement learning. Code and more videos are available at https://haozhi.io/hora
Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.
