CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Humanoid controller forwalking and jumping motions
based on mc_rtc framework
Masaki Murooka
CNRS-AIST JRL, IRL
November 28th, 2022

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Contents
1. HVAC 2021 Results
2. Walking and Jumping Control Methods
3. Control Framework mc_rtc
4. Open-source Walking Controller BaselineWalkingController

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

HVAC 2021 Results

HRP-5P is walking on uneven ground, stairs, and jumping over gaps

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Walking Control Method• Integration of existing typical components

Footstepsequence

CoM, ZMPPreviewcontrol

Total wrench

DCM-basedfeedback

Foot wrenches

Wrenchdistribution

Foot poses

Admittancecontrol

Inversekinematics

Foot wrenches
CoM

Joint positions

RobotCNRS-AIST JRL (Joint Robotics Laboratory), IRL

Preview Control• Preview control provides closed-form solutions to the following problem [Kajita, ICRA’03]∞min �⃛𝐶𝐶𝐶𝐶𝐶𝐶0𝑍𝑍𝑍𝑍𝑍𝑍 − 𝑍𝑍𝑍𝑍𝑍𝑍 𝑟𝑟𝑟𝑟𝑟𝑟2⃛ 2 s.t. 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑+ 𝐶𝐶𝐶𝐶𝐶𝐶• 𝑍𝑍𝑍𝑍𝑍𝑍 𝑟𝑟𝑟𝑟𝑟𝑟 is determined from a predefined footstep sequence⃛ yields the 𝐶𝐶𝐶𝐶𝐶𝐶𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 and 𝑍𝑍𝑍𝑍𝑍𝑍 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝• Integrating the optimal 𝐶𝐶𝐶𝐶𝐶𝐶Footstepsequence

CoM, ZMPPreviewcontrol

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

DCM-based feedback• Modify ZMP to reduce errors due to disturbances
𝑍𝑍𝑍𝑍𝑍𝑍𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 𝑍𝑍𝑍𝑍𝑍𝑍 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 + 𝐾𝐾 𝐷𝐷𝐷𝐷𝐷𝐷 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 − 𝐷𝐷𝐷𝐷𝐷𝐷 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝

̇
where 𝐷𝐷𝐷𝐷𝐷𝐷 = 𝐶𝐶𝐶𝐶𝐶𝐶 + 𝐶𝐶𝐶𝐶𝐶𝐶/𝜔𝜔̇ feedback gains leads to 𝐷𝐷𝐷𝐷𝐷𝐷 [Sugihara, ICRA’09]• The optimal ratio of 𝐶𝐶𝐶𝐶𝐶𝐶 and 𝐶𝐶𝐶𝐶𝐶𝐶• Convert target ZMP to total wrench

𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 𝑚𝑚 𝜔𝜔2 ( 𝐶𝐶𝐶𝐶𝐶𝐶 − 𝑍𝑍𝑍𝑍𝑍𝑍𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 )CoM, ZMPTotal wrench

DCM-basedfeedback

CoM

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Wrench Distribution to Feet
• Distribute total wrench to each foot under friction constraints• Formulated as a quadratic programming problem
min𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 − � 𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓

𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊

2𝑓𝑓𝑜𝑜𝑜𝑜𝑜𝑜

Total wrenchs. t.

𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 ∈ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐

Foot wrenches

WrenchdistributionCNRS-AIST JRL (Joint Robotics Laboratory), IRL

Foot Admittance Control• Modify the foot pose to track target foot wrench
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 ← 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 + ∆𝑃𝑃𝑜𝑜𝑜𝑜𝑜𝑜 where ∆𝑃𝑃𝑜𝑜𝑜𝑜𝑜𝑜 = 𝐷𝐷 (𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 −𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑊𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 )Foot wrenches

Foot poses

Admittancecontrol
Foot wrenches

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Inverse Kinematics• Calculate joint positions that satisfy target CoM and foot poses• Formulated as a quadratic programming problem𝜃𝜃 ← 𝜃𝜃 + ∆𝜃𝜃∗∗

where ∆𝜃𝜃 = argmin �∆𝜃𝜃𝑡𝑡𝑎𝑎𝑎𝑎𝑎𝑎

𝑱𝑱𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 ∆𝜃𝜃 −𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡
𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐
𝑣𝑣𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 − 𝑣𝑣𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡

Foot poses

Joint positions

Inversekinematics

2

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Jumping Control Method• The only difference from the walking control is
the CoM planning• Apply linear MPC based on centroidal dynamics

Footstep
sequence
Centroidal
Preview
LinearMPCcontrol

CoM

Total wrench
DCM-basedfeedback

Foot wrenches

Wrenchdistribution

Foot poses

Admittancecontrol

Inversekinematics

Foot wrenches
CoM

Joint positions

RobotCNRS-AIST JRL (Joint Robotics Laboratory), IRL

Centroidal Linear MPC• Since centroidal dynamics is nonlinear, linear MPC cannot be applied as is• Plan CoM vertical motion only (linear dynamics) with MPC• Plan full centroidal motion (linear dynamics with known vertical motion) with MPC[Nagasaka, RoboSym’12 (in Japanese), Audren, IROS’14]• Linear MPC is formulated as quadratic programming problem

Footstep
sequence
Centroidal
Linear MPC

CoM

CNRS-AIST JRL (Joint Robotics Laboratory), IRLCentroidal Linear MPC• Landing 1.4m forward with a jump of 0.25 s floating phase• Allow up to 4 times the limits for velocity and torque at knee and hip pitch joints
3.5 s

Left footRight foot3.85 sStanceSwing

Stance

Swing
3.6 s

Vertical motion

StanceVertical force

time

Stance3.95 s

Pitch angular momentumCNRS-AIST JRL (Joint Robotics Laboratory), IRL

Control Framework mc_rtc• CNRS-AIST JRL develops mc_rtc• Kinematics and dynamics algorithms• Robot modeling• Logging and utility functions• Documentation• CI environments

Tutorial at Humanoids 2022
mc_rtc: An Application Framework for Robotics
November 28th, 2022. Room B3

https://jrl-umi3218.github.io/mc_rtc/

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Open-source Walking Controller BaselineWalkingController✓ Tested on real robots✓ Dynamics simulation tests is run on CI environments✓ Docker image is released with the latest version of the controller✓ Easy to switch between various methods for CoM planning✓ Easy to switch between “closed-loop MPC” and “open-loop MPC + stabilizer”

https://github.com/isri-aist/BaselineWalkingController

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Real Robot Testing of BaselineWalkingController

HRP-5P (Test on Nov.11th)

HRP-2KAI (Test on Nov. 7th)CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Simulation Tests on CI environments• Choreonoid tests are performed with every update on CI (GitHub Actions)CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Automatic Release of Docker Images• Docker images are released on CI for every update$ docker pull ghcr.io/isri-aist/baseline_walking_controller:latest$ docker run --gpus all --rm -it--env=“DISPLAY” –volume=“/tmp/.X11-unix:/tmp/.X11-unix:rw”
ghcr.io/isri-aist/baseline_walking_controller:latest ./walk_on_stairs.bash

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Easy switching of CoM planning methods• You can try the various CoM trajectory generation
methods implemented in CentroidalControlCollectionisri-aist/CentroidalControlCollectionisri-aist/BaselineWalkingController• List of methods
•
•
•
•
•
•
•

PreviewControlZmp [Kajita, ICRA’03]
DdpZmp [Feng, Journal of field robotics ‘15]
DcmTracking [Englsberger, IROS’13]
FootGuidedControl [Sugihara, IROS’17, Kojio, IROS’19]
LinearMpcZmp [Wieber, Humanoids’06]
IntrinsicallyStableMpc [Scianca, Humanoids’16]
SingularPreviewControlZmp [Urata, Humanoids’11]

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Easy switching of open/closed-loop MPC• Open-loop MPC is often used implicitly in bipedal walking• Differences between the two MPC schemes have not been fully discussed
Open-loop MPC + Feedback stabilization
MPCFeedback
stabilization

Wrenchdistribution

Admittancecontrol

Inversekinematics

RobotWrench
distribution

Admittancecontrol

Inversekinematics

RobotClosed-loop MPC
MPC

CNRS-AIST JRL (Joint Robotics Laboratory), IRL

Concluding remarks• For beginners (and experts, of course), it is very helpful to beable to refer to a set of formulas in a paper and source code
• Let's share them in open discussion forums such as
Humanoid Virtual Athletics Challenge