<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MPPI | Henry Kou</title><link>https://kenryhou2.github.io/tags/mppi/</link><atom:link href="https://kenryhou2.github.io/tags/mppi/index.xml" rel="self" type="application/rss+xml"/><description>MPPI</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 06 May 2026 00:00:00 +0000</lastBuildDate><image><url>https://kenryhou2.github.io/media/icon_hu_da05098ef60dc2e7.png</url><title>MPPI</title><link>https://kenryhou2.github.io/tags/mppi/</link></image><item><title>MPPI Wheeled Quadruped</title><link>https://kenryhou2.github.io/projects/mppi-wheeled-quadruped/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://kenryhou2.github.io/projects/mppi-wheeled-quadruped/</guid><description>&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;&lt;img alt="Unitree Go2W wheeled quadruped using MPPI on rough terrain"
src="https://kenryhou2.github.io/projects/mppi-wheeled-quadruped/demo.gif"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;I built this project around a control question that comes up with wheeled-legged robots: can one sampling-based controller handle both stepping and rolling without switching to a separate planner? I adapted a real-time whole-body Model Predictive Path Integral controller for the Unitree Go2W in MuJoCo, starting from a legged quadruped MPPI baseline and expanding it for hybrid locomotion.&lt;/p&gt;
&lt;p&gt;The controller adds four wheel-torque channels to the action space, augments the running cost with wheel-velocity regulation, a PD-shaped joint-effort penalty, and an L1 base positional drift penalty, and modifies the Raibert-style foot-placement heuristic to account for wheel speed. I wanted MPPI to remain the single control layer across walking, rolling, jumping, and stair-climbing tasks, without offline learning or precomputed contact schedules.&lt;/p&gt;
&lt;p&gt;Simulation tasks include &lt;code&gt;walk_straight&lt;/code&gt;, &lt;code&gt;roll_straight&lt;/code&gt;, &lt;code&gt;walk_octagon&lt;/code&gt;, &lt;code&gt;big_box&lt;/code&gt;, and &lt;code&gt;stairs&lt;/code&gt;, with task definitions covering goal positions, commanded body-frame velocities, gait phases, waiting times, MuJoCo model paths, and controller YAML configs. In the rough-terrain comparison, the wheel-aware controller reduces traversal time by 55.7% and raises forward velocity by 134.5% over the leg-only baseline while maintaining smoother wheel-ground contact.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sources I leaned on:&lt;/strong&gt; Williams et al. on information-theoretic MPPI; Theodorou, Buchli, and Schaal on path-integral control; Raibert&amp;rsquo;s legged-robot foot-placement heuristics; and recent wheeled-legged locomotion work on hybrid contact and wheel torque control.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Technical stack:&lt;/strong&gt; Python, MuJoCo 3.1.6, NumPy, SciPy, Matplotlib, &lt;code&gt;mujoco-python-viewer&lt;/code&gt;, editable &lt;code&gt;setuptools&lt;/code&gt; package.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Keywords:&lt;/strong&gt; whole-body MPPI, Model Predictive Path Integral control, sampling-based MPC, Unitree Go2W, wheeled-legged robot, hybrid locomotion, wheel-torque control, Raibert heuristic, gait scheduler, MuJoCo simulation, rough terrain, stair climbing, box jump, waypoint following.&lt;/p&gt;</description></item></channel></rss>