LLM-guided Planar Loco-Manipulation for Quadruped Robots
Organizations: Department of Mechanical Engineering, Politecnico di Milano, 20156 Milan, Italy. · Robotics and AI Institute, USA · Flexion Robotics
Abstract
Robotic navigation typically assumes a collision-free route to the goal exists; in cluttered environments with movable obstacles, however, reaching the goal may require physical interaction. Classical solutions encode these behaviors through geometric rules and task-specific logic, while learning-based approaches often constrain the decision space to low-dimensional motion commands or predefined action sets. We instead consider a broader decision space, jointly selecting the skill, relevant object, and geometric target. Our language-conditioned task planner, fine-tuned with LoRA on synthetic data, maps natural-language tasks and a structured scene representation to variable-length sequences of parameterized actions, executed by low-level reinforcement-learning policies. The planner learns the geometric relations underlying interactive navigation and outperforms a classical planner and a prompted frontier model on interactive navigation tasks. Comparisons with models trained from scratch indicate that composition does not require pretraining when the representation is structured, whereas pretraining yields more reliable geometric targets. At the low level, we introduce an end-to-end whole-body planar pushing policy that achieves a 93.3% success rate in simulation, versus 83.5% for a hierarchical baseline, while reducing completion time by more than 60%. On hardware, the hierarchy yields the correct skill composition in 44/45 trials and end-to-end success in 34/45. Project website: https://anonymousprojects-dev.github.io/LLM-guided-LocoManipulation-Quadrupeds/
Figures & tables
| Quantity | Description | Dim | Noise |
|---|---|---|---|
| Goal-Robot relative position w.r.t. Robot | 3 | – | |
| Goal-Robot relative heading | 1 | – | |
| Joint position offsets from default | 12 | ||
| Joint velocities from default | 12 | ||
| Previous actions | 12 | – | |
| Parameters | Training Range |
|---|---|
| Mass | |
| CoM position (cm) | |
| Static Friction | |
| Dynamic Friction | |
| Object type | [Box, Cylinder] |
| Object diameter |
| Method | Success Rate (%) | Episode Time (s) | Fall Over (%) | Energy (J) |
|---|---|---|---|---|
| E2E loco-manipulation | 84.50 | 4.15 1.46 | 3.5 | 1737.55 704.01 |
| HRL manipulation | 83.50 | 10.80 4.02 | 0.3 | 1813.61 1060.31 |
| Ours | 93.30 | 4.09 1.31 | 0.8 | 1680.80 678.12 |
| Object | Controller | Position Err. [cm] | Yaw Err. [deg] | Time [s] |
|---|---|---|---|---|
| Box | HRL | 7.53 3.12 | 14.20 7.47 | 4.57 0.39 |
| Ours | 5.34 1.53 | 13.12 5.10 | 3.08 0.18 | |
| Cylinder | HRL | 13.43 5.22 | 19.18 5.92 | 3.06 0.13 |
| Ours | 10.37 2.73 | 4.99 2.20 | 1.88 0.14 | |
| Prism | HRL | 19.44 9.61 | 12.64 5.87 | 11.18 2.09 |
| Ours | 10.27 2.68 | 5.76 2.31 | 2.52 0.44 |
| Task Family | Ours | ICL (Qwen2.5-1.5B) | ICL (GPT-5.5) | Transformer (scratch) | Classical planner |
|---|---|---|---|---|---|
| Direct navigation | 38/40 | 40/40 § | 36/40 | 35/40 | 40/40 |
| Object manipulation | 10/10 | 0/10 | 10/10 | 3/10 | 10/10 |
| Interactive navigation | 109/120 | 0/120 | 94/120 | 101/120 | 86/120 |
| Long-horizon interactive navigation | 29/30 | 0/30 | 18/30 | 22/30 | 22/30 |
| Interactive manipulation (shifted) | 12/30 | 0/30 ‡ | 2/30 | 0/30 | 20/30 † |
| Per-action Latency (ms) |
| Family | Case | Evaluation focus | Expected composition | Trials | Correct skill composition | E2E success |
| Direct navigation | N-1 | Simple Navigation | 5 | 5/5 | 5/5 | |
| Object manipulation | OM-1 | Simple Manipulation | 5 | 5/5 | 5/5 | |
| Interactive navigation | IN-1 | Task composition | 5 | 4/5 | 4/5 | |
| IN-2 | Object selection | 5 | 5/5 | 5/5 | ||
| IN-3 | Object selection | 5 | 5/5 | 5/5 | ||
| Long-horizon interactive navigation | LH-1 | Long-horizon composition | 5 | 5/5 | 3/5 |
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Reward term | Description | Weight |
|---|---|---|
| Object–goal keypoint tracking | ||
| Object velocity tracking | ||
| Positive robot forward velocity | ||
| Joint acceleration penalty | ||
| Joint torque penalty | ||
| Action-rate penalty |
| Parameter | Value |
|---|---|
| Rollout steps per update | 24 |
| Action clipping | 5.0 |
| Actor hidden layers | [512, 256, 128] |
| Critic hidden layers | [512, 256, 128] |
| Activation function | ELU |
| Initial action noise std. | 1.0 |
| Run 1 | Run 2 | |||
|---|---|---|---|---|
| Method | Locomotion | Manipulation | Locomotion | Manipulation |
| E2E | 359.56 | 684.28 | 136.7 | 903.3 |
| HRL | 218.63 | 337.42 | 133.9 | 984.0 |
| Method | Success Rate (%) | Episode Time (s) | Fall Over (%) | Energy (J) |
|---|---|---|---|---|
| w/o Positive Velocity | 20.70 | 5.86 1.99 | 6.0 | 2446.19 687.44 |
| w/o | 87.30 | 3.77 1.09 | 7.5 | 2028.28 789.67 |
| Ours | 93.30 | 4.09 1.31 | 0.8 | 1680.80 678.12 |
| Parameter | Value |
|---|---|
| Dataset size | 16K I/O pairs (8096 trajectories) |
| Validation dataset size | 5 of total dataset |
| LoRA rank | 128 |
| LoRA alpha | 256 |
| LoRA dropout | 0.05 |
| Learning rate | 2e-5 |
| Task family | Distribution | Task composition |
|---|---|---|
| Direct navigation | ID | |
| Object manipulation | ID | |
| Interactive navigation | ID | |
| Long-horizon interactive navigation | ID | |
| Interactive manipulation | Shifted |
| Task Family | LoRA Rank ( ) | No AC | |||||
|---|---|---|---|---|---|---|---|
| Direct navigation | 37/40 | 37/40 | 38/40 | 38/40 | 39/40 | 37/40 | 39/40 |
| Object manipulation | 10/10 | 10/10 | 10/10 | 10/10 | 10/10 | 10/10 | 10/10 |
| Interactive navigation | 98/120 | 107/120 | 109/120 | 109/120 | 112/120 | 107/120 | 105/120 |
| Long-horizon interactive navigation | 25/30 | 29/30 | 29/30 | 29/30 | 29/30 | 28/30 | 27/30 |
| Interactive manipulation (shifted) | 0/30 | 0/30 | 14/30 | 6/30 | 3/30 | 3/30 | 1/30 |
| Ours | Qwen (scratch) | Transformer (scratch) | |
|---|---|---|---|
| Pretrained | ✓ | – | – |
| Input/output | Text | Text | Structured |
| Direct navigation | 38/40 | 40/40 | 35/40 |
| Object manipulation | 10/10 | 8/10 | 3/10 |
| Interactive navigation | 109/120 | 63/120 | 101/120 |
| Long-horizon interactive nav. | 29/30 | 23/30 | 22/30 |
| Ours | Transformer (scratch) | |||||
| Task Family | Run 1 | Run 2 | Run 3 | Run 1 | Run 2 | Run 3 |
| Direct navigation | 38/40 | 40/40 | 40/40 | 35/40 | 34/40 | 33/40 |
| Object manipulation | 10/10 | 10/10 | 10/10 | 3/10 | 4/10 | 5/10 |
| Interactive navigation | 109/120 | 104/120 | 103/120 | 101/120 | 97/120 | 91/120 |
| Long-horizon interactive nav. | 29/30 | 30/30 | 29/30 | 22/30 | 23/30 | 22/30 |
| Interactive manipulation (shifted) | 12/30 | 9/30 | 10/30 | 0/30 | 0/30 | 2/30 |