Legged robots have demonstrated advanced capabilities across a wide range of real-world tasks, yet much of this progress concerns the robot controlling only itself. Once the robot is coupled to an external object -- particularly an underactuated one -- the dynamics of the combined assembly become more complex. Towing a wagon is a common practical scenario, where coupled dynamics make reliable navigation challenging. This difficulty is amplified in confined spaces, where collision-free navigation requires finding a narrow set of feasible paths under strict real-time constraints. To address this, we propose a navigation framework that combines Conditional Flow Matching (CFM) with Model Predictive Path Integral (MPPI) control over a learned Forward Dynamics Model (FDM). The CFM model mitigates the initialization problem of MPPI and accelerates its convergence, while MPPI with the FDM recovers feasible solutions beyond the CFM model's training distribution by iterative refinement. We integrate the framework into a full-stack navigation system for RAIBO-Wagon, a quadruped towing a custom wagon, and validate it in real-world outdoor experiments on 15 m-long courses through confined spaces, with all sensing and computation performed fully onboard. The system achieves an 85% success rate across 40 trials, towing a total load of up to 40 kg -- nearly 100% of RAIBO's body weight.
Figures & tables
Fig. 1: This figure shows snapshots from real-world deployment experiments of RAIBO towing a wagon during navigation. The top image shows a front view of the robot navigating while pulling the wagon, and the bottom image provides a drone perspective of the same scenario.
Fig. 2: This figure illustrates the overall system executing real-time navigation with a quadruped robot towing a wagon. The robot first constructs a 3D occupancy map of the environment from onboard LiDAR. A lightweight A* planner then generates a global path, from which a waypoint is selected 3 m ahead of the robot. The current navigation observation, comprising proprioceptive measurements, a LiDAR scan, and the relative yaw angle, is fed into a CFM model together with the waypoint to produce initial command samples for the MPPI optimizer. These warm-start samples are then iteratively refined by injecting decaying Gaussian noise and evaluating rollouts under a learned Forward Dynamics Model (FDM). After several iterations, the first command of the optimized sequence is issued to the low-level locomotion controller as an SE(2) velocity command.
Parameter
Range
Unit
Wagon mass
[1.0,30.0]
kg
Wheel mass
[1.0,2.0]
kg
COM offset
[−0.1,0.1]
m
Inertia scale
[1.0,2.0]
–
Wagon size
[0.9,1.1]×
–
Terrain roughness
[0.0,0.05]
m
TABLE I: FDM Training Randomization Ranges.
Fig. 3: This figure illustrates the hardware design of RAIBO-Wagon. (A) shows the fully integrated platform with the robot and the wagon. (B) highlights the key modules mounted on the robot: the Livox MID-360 LiDAR and the wagon connector. The wagon connector consists of a 3-DOF passive joint that accommodates all possible 3D relative angles between the robot and the wagon, with a dedicated angular encoder measuring the yaw angle.
Fig. 4: This figure shows an overview of the real-world experiment settings. Each trial consists of a 15 m real-time navigation task. (A) through (F) are static obstacle settings, in which the obstacles remain fixed throughout the trial. (G) and (H) are dynamic obstacle settings in which humans act as moving obstacles; the white arrows indicate their walking directions. (I) and (J) are snapshots from our real-world experiments. In (A), one grid step of the obstacle layout corresponds to 1.5 m, and (I) shows the wagon, which measures 0.7 m × 1.4 m.
Fig. 5: (A) shows real-world deployment snapshots captured by a drone. (A-1) shows the overall navigation trajectory on Terrain D. (A-2) shows six examples of the initial CFM model samples and the final optimized result, labeled (1) through (6), on the same terrain. The blue dot is the waypoint that is provided to both the CFM model and MPPI. The yellow lines are the 256 samples from the CFM model, and the green line is the final command sequence optimized by MPPI. (B) shows the commands output by the local planner and its runtime. (B-1) through (B-3) show the forward, lateral, and angular velocities of the optimized command, respectively. (B-4) shows the onboard runtime of each planning cycle: the CFM sampling time, the MPPI refinement time, and their total.
Fig. 6: This figure shows the overall navigation process in a dynamic obstacle setting. (A) shows drone snapshots during autonomous navigation, taken at scenes (2), (3), and (5) of (B). (B) shows the mapping and planning details in the same setting: the boxes are voxels of the 3D OctoMap, colored by height from purple at ground level to green at the top, the red line is the path generated by the A* planner from that map, the blue dot is the waypoint sampled from the path, the red dot is the current robot position, the yellow dot is the goal position, and the yellow and green lines are the CFM samples and the optimized result, respectively.
A
B
C
D
E
F
G
H
Success
5/5
4/5
4/5
4/5
4/5
5/5
5/5
3/5
Fail (Mapping)
–
0/1
1/1
1/1
0/1
–
–
1/2
Fail (Planning)
–
1/1
0/1
0/1
1/1
–
–
1/2
TABLE II: Success rate and failure case analysis.
+5 kg
+10 kg
+15 kg
Success
5/5
5/5
5/5
TABLE III: Success rate with regard to the additional wagon mass.
Fig. 7: This figure shows a comparison of the RAIBO-Wagon trajectories between our method and the two baselines on Terrain F. (A) shows the trajectory produced by our method, which reaches the goal without collision. (B) shows the trajectory of the RL-based navigation policy, which ends in a collision. (C) shows the trajectory of the Hybrid A* planner, which fails to find a feasible path through the narrow passage.
Ours
Hybrid A*
RL
Success
5/5
0/5
0/5
TABLE IV: Success rate for the baseline study.
Fig. 8: This figure shows the simulation environment setup. (A), Random, is a terrain with randomly placed boxes; it is the environment used to train the CFM model and the FDM. (B) and (C) are custom-designed terrains for evaluating the navigation framework, and neither is seen during training by either model. (B), Slalom , evaluates agile turning, while (C), Corridor , evaluates precise local navigation through narrow passages.
Random
Slalom
Corridor
Method
Easy
Med
Hard
Easy
Med
Hard
Easy
Med
Hard
Success Rate [%]
MPPI (vanilla)
81.0 ( ± 2.8)
68.5 ( ± 3.3)
61.5 ( ± 3.4)
89.0 ( ± 2.2)
66.5 ( ± 3.3)
45.5 ( ± 3.5)
90.0 ( ± 2.1)
75.5 ( ± 3.0)
29.5 ( ± 3.2)
Ours
89.5 ( ± 2.2)
78.5 ( ± 2.9)
73.0 ( ± 3.1)
99.5 ( ± 0.5)
99.5 ( ± 0.5)
96.5 ( ± 1.3)
98.5 ( ± 0.9)
92.5 ( ± 1.9)
72.5 ( ± 3.2)
Time [s]
MPPI (vanilla)
19.3
20.4
21.0
21.9
22.5
25.1
21.8
23.2
26.4
TABLE V: Success rate [%] and navigation time [s] comparison between vanilla MPPI and our method (Flow + MPPI) across three terrain types and three difficulty levels over N=200 trials.
Fig. 9: This figure shows the results of the first ablation, vanilla MPPI versus CFM warm start. (A), (B), and (C) show the success rate with respect to the number of MPPI iterations on the Random, Slalom, and Corridor terrains, respectively. The purple solid line (Flow + MPPI) shows the success rate of our framework, which is warm-started from the CFM model, and the orange dashed line (MPPI) shows that of the vanilla MPPI baseline, which is initialized from the previous command.
Fig. 10: This figure shows the results of the second ablation, warm-start model architecture selection. (A) shows the inference time and success rate of each architecture. (A-1) shows, on a log scale, the inference time for generating the initial samples only, not for the whole planning cycle. Panels (A-2) through (A-4) show the success rate of each architecture with respect to terrain difficulty on Random, Slalom, and Corridor, respectively. (A-5) shows the success rate with respect to the number of MPPI iterations on Slalom at a fixed difficulty. (B) compares the initial samples generated by each architecture in the same scene. The green dot is the current robot position, and the black shapes are obstacles. Each line is colored by its collision probability: blue lines indicate a low collision probability and red lines indicate a high collision probability. Diffusion and Flow denote the DDPM (100 denoising steps) and our CFM model (10 Euler steps), respectively.
Fig. 11: This figure shows the results of the third ablation, alternatives to MPPI refinement. (A) shows the inference time and success rate of each method. (A-1) shows the end-to-end inference time of each method, measured until the final optimized command is produced. (A-2) and (A-3) show the success rate with respect to terrain difficulty on the unseen Corridor terrain and the seen Random terrain, respectively. (B) compares the trajectories of the four methods on the Corridor terrain, where stars mark collisions. (B-1) shows the full navigation trajectory of the RAIBO-Wagon system in simulation, and (B-2) shows a close-up of the region marked by the dashed box in (B-1). Flow (zero), Flow (Top k), and Flow + guidance correspond to zero-start sampling, best-of- k selection, and FDM-guided flow, respectively.
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
Fig. 12: (A) shows the t-SNE visualization of the GRU encoder latent vectors, averaged over one locomotion cycle, across varying wagon masses. (B) shows the command tracking performance across different wagon masses, where the dashed line indicates the commanded velocity and the four solid lines represent the measured robot body linear velocity under each configuration.
Fig. 13: (A) shows the inference time of each dynamics model, measured for a single rollout sample. (B) shows the success rate obtained with each dynamics model.
Department of Robotics, Graduate School of Engineering, Tohoku University, 980-8579, Sendai, Japan. · Laboratory for Intelligent Decision and Autonomous Robots, Woodruff School of Mechanical Engineering, Georgia Institute of Technology, Atlanta, GA 30313, USA.