TL;DR
To let a quadruped robot traverse complex terrains studded with constrained obstacles, we built a unified planning–control framework that combines trajectory optimization (TO), kinodynamic nonlinear MPC (NMPC), and whole-body control (WBC). The core algorithmic contribution is a multiple-shooting (MS) based constrained DDP solver for the NMPC, which is dramatically more robust to initial guesses than standard single-shooting (SS) DDP and runs at 100 Hz on the robot. On our self-developed ArcDog platform, the same framework executes omnidirectional jumps (forward / backward / front-left / yaw-spin up to 225°) and — most strikingly — a forward + large-yaw composite jump that threads the robot through a tightly framed obstacle scene. To our knowledge, this is the first work to complete such a complex traversal task.

Fig. 1 — ArcDog jumping through a constrained-obstacle scene (paper Fig. 1).
Video 1 — Paper accompanying video: ArcDog executes a forward + large-yaw composite jump through the framed obstacle course, plus the omnidirectional jump set.
1. Why this is hard
Crossing a scene like Fig. 1 demands two things at once:
- A dynamically feasible long-horizon trajectory with explicit aerial phases.
- A real-time tracking controller that survives large attitude excursions and pre-takeoff disturbances.
Prior approaches typically split the problem: (a) jump-trajectory generation papers focus on optimization but ignore tracker robustness — small disturbances at takeoff make the jump fail; (b) controller-robustness papers fix the maneuver shape (e.g. controlled backflips) and don’t generalize to complex terrain. On top of that, most MPCs use single-rigid-body (SRB) models that drop leg dynamics and degrade once roll/pitch leave the small-angle regime.
2. Framework Overview

Fig. 2 — Two-stage planning + tracking framework. $\mathcal{P}_1$ generates the dynamically feasible whole-body reference; $\mathcal{P}_2$ tracks it online via NMPC + WBC.
We split the problem into two stages:
- $\mathcal{P}_1$ Task-level Trajectory Optimization (TO). A centroidal-dynamics NLP with state/control bounds, leg-kinematic limits and friction-pyramid constraints. Built with CasADi auto-diff and solved by IPOPT. A Full-Body Mapper lifts the Cartesian solution to a full-body joint-space reference.
- $\mathcal{P}_2$ Real-time Tracking. A 100 Hz NMPC on a kinodynamic model (SRB + leg kinematics, 12 joint angles), feeding desired contact forces and foot positions to a 500 Hz WBC (a hierarchical QP that resolves into joint torques at 1 kHz). The WBC layer follows Kim et al.’s prioritization [MIT, 2019].

Fig. 3 — Control system topology.
3. The MS-based Constrained DDP Solver
NMPC at this fidelity is hard: full kinodynamic state, joint limits, friction cones, contact-velocity / contact-position equality constraints, and aggressive nonlinear attitudes during jumps. Conventional single-shooting DDP is fragile here — bad initial guesses make forward propagation diverge.

Fig. 4 — SS-DDP couples the whole horizon through forward propagation; MS-DDP partitions the trajectory into segments, propagates them in parallel, and reconciles inter-segment defects explicitly.
What we did:
- Augmented Lagrangian lifts the constrained OCP to an unconstrained one with a Lagrange-multiplier term plus a quadratic penalty whose weights are gated by an indicator $I_\mu$. This avoids the ill-conditioning of pure penalty methods while keeping constraint sensitivity (paper Eqs. 5–6).
- Multiple shooting: split the $N{-}1$-step horizon into $M$ segments, treat segment-boundary states as independent decision variables, and quantify dynamic inconsistency through defect terms $\bar{d}_{k+1}$. Concretely:
- Forward / backward passes parallelize across segments.
- We re-derive the backward pass so that defect terms enter the value-function recursion explicitly (paper Eqs. 14–17), giving a closed-form gain that respects mid-trajectory infeasibility.
- A merit function with an $L_2$ defect term plus an Armijo line-search arbitrates between cost reduction and defect closure.
- Hybrid forward roll-out: linear roll-out on inheritance (SS) nodes, nonlinear roll-out on shooting (MS) nodes. Better global convergence than either alone.
The full algorithm is paper Algorithm 1. On the constrained-obstacle task, MS-DDP converges in fewer iterations and less wall-clock time per iteration than SS-DDP, comfortably hitting 100 Hz on the on-board NUC.
4. Experiments
All experiments run on the self-developed ArcDog. The controller box is an Intel NUC (i3-8145U) carried on the robot. State estimation follows Bloesch et al. [2013] (IMU + joint encoders).

Fig. 5 — ArcDog platform parameters and software stack (built on MIT’s Cheetah-Software).
4.1 In-place locomotion across gaits

Fig. 6 — Multi-gait locomotion on ArcDog and Mini-Cheetah (trot / pace / bound / fly-pace) under disturbance.
We benchmark CMPC [Di Carlo 2018] (SRB-based) vs. NMPC(SS-DDP) [Li 2020] vs. our NMPC(MS-DDP) on multi-gait in-place locomotion with external pushes. CMPC accumulates noticeably larger tracking error on pace / fly-pace because it omits leg dynamics and assumes near-zero roll/pitch. Our kinodynamic NMPC optimizes body and leg states jointly, which implicitly determines feasible footholds. Re-deploying the framework on Mini-Cheetah requires only model-parameter swaps plus minor tuning — useful generalization.
4.2 Omnidirectional 3D Jumps

Fig. 7 — Forward jump, backward jump, front-left jump, yaw-spin jump.
ArcDog clears roughly 0.6 m vertical (≈1.7× standing height) and 1.0 m horizontal (≈2× body length) and executes yaw-spin jumps up to 225°. Robustness test: a lateral kick is applied right before a 180° yaw-spin jump to force an abnormal takeoff pose. Our NMPC(MS-DDP) recovers and lands the jump; both NMPC(SS-DDP) and CMPC diverge mid-air.
4.3 Jumping through Constrained Obstacles

Fig. 8 — Optimized whole-body trajectory and contact schedule for the framed-obstacle traversal.
This is the headline scene from Fig. 1: obstacles flank the robot’s only viable path, so neither plain gaits nor a vanilla forward / side jump can avoid collision. The robot has to simultaneously translate forward and rotate substantially in yaw to thread the gap. $\mathcal{P}_1$ generates the composite reference (trot → pre-jump pose → forward+yaw jump → stand) and $\mathcal{P}_2$ tracks it. To our knowledge, no prior work completes this kind of constrained-traversal task.
5. Contributions Recap
- A unified TO + kinodynamic NMPC + WBC framework spanning offline planning to joint-level real-time control.
- An MS-based constrained DDP solver that lets the NMPC handle high-dimensional, multi-constraint problems at 100 Hz.
- A defect-aware backward-pass derivation that makes the solver substantially more robust to bad initial guesses than standard SS-DDP.
- Validation on the self-developed ArcDog quadruped, including the first reported solution to the framed-obstacle traversal task.
Future work: integrate multi-modal perception so the same framework can plan and execute in fully unknown 3D terrains.
6. Citation
@article{huang2025arcdog,
title = {An Efficient Optimal Trajectory Planning and Control Framework for Quadruped Robot Jumping through Constrained Obstacles},
author = {Huang, Rui and Li, Xinqi and Tang, Tianyang and Lin, Jinghan and Lin, Hong and Lu, Peng},
journal = {IEEE Transactions on Industrial Electronics (under review)},
year = {2025},
note = {* Equal Contribution. Co-first authors: Huang, Li, Tang.}
}