1 of 34

MuscleVAE: Model-based Controllers of Muscle-Actuated Characters

SIGGRAPH ASIA 2023

2 of 34

Why Muscle?

Potential for highly realistic and accurate character movements

Torque

Joint-based

Muscle-based

Constraint

3 of 34

Contributions

(1) We propose a novel simulation and control framework for muscle-actuated characters.

(2) We develop a generative control policy for muscle-driven characters.

Novel Muscle Model (w/ Fatigue) + ControlVAE

4 of 34

Muscle Modeling

Symmetry modified

Musculoskeletal model from MASS [Lee et al. 2019]

MuscleVAE Model

5 of 34

Muscle Modeling

Muscle = Polyline defined by anchor points

anchor point positions computed by LBS

6 of 34

Muscle Dynamics

Hill-type muscle model

CE (Contractile Element) : active contractile force

PE (Parallel elastic Element) : passive, non-linear spring force

SE (Series or tendon element)

Simplification:

  1. Neglecting changes in tendon length (SE)
  2. Assuming zero pennation angles
  3. Calculating muscle length using polylines

7 of 34

Muscle Dynamics

Hill-type muscle model [Hill 1938; Zajac 1989]

Activation level,

Normalized muscle length and its rate of change

Active force-length, Active force-velocity, Passive force-length function

8 of 34

Fatigue Dynamics

3CC-r model [Looft et al. 2018]

Each muscle consists of multiple muscle-tendon actuators, in one of three possible states (M = percentage)

Activated actuators produce maximal contractile forces, while others don’t

= activation level of entire muscle ( )

9 of 34

Fatigue Dynamics

3CC-r model [Looft et al. 2018]

10 of 34

Fatigue Dynamics

3CC-r model [Looft et al. 2018]

Target Load

Transfer rate, determined by difference between target load and activation level

Recovery coefficient

Fatigue coefficient

11 of 34

Muscle Space Control

Attempt: Using muscle activation levels as action space lead to poor convergence

12 of 34

Muscle Space Control

MASS method

Joint PD-target

Muscle activation

13 of 34

Muscle Space Control

Alternative: PD control-like formulation to calculate muscle force, one-step

14 of 34

Muscle Space Control

Target muscle length

Current muscle length, and its rate of change

Predefined PD gains

Muscle can only be contractile

15 of 34

Muscle Space Control

Muscle Activation Constraints

is not always realizable based on !

must be in feasible range to achieve proper activation

16 of 34

Muscle Space Control

Assuming =

Next activation level is determined by previous muscle activation level and target load

and

increases monotonically with target load

17 of 34

Muscle Space Control

Policy outputs action for each muscle and computes target muscle length

Reference muscle length in T-pose

18 of 34

Muscle Space Control

Model

19 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

20 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

not included, as it can be directly computed from

Positions

Orientations

Velocities of all rigid bones

= ( , )

21 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Encoder

Decoder

22 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Encoder

Predefined

Standard deviation

Posterior distribution

~

=

State-dependent prior distribution

23 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Objective function

weight parameter

24 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Objective function

Reconstruction Loss

Reference states

Simulation states

Weight matrices

Discount factor

25 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Objective function

KL-Divergence Loss

26 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Objective function

Regularization Loss

Mitigate excessive control

Satisfy biological requirements of minimal bioenergy and activation thresholds

27 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Objective function

Can’t be directly optimized!

Complex rigid body simulation is required

28 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Model-based Learning

World Model

Approximates dynamics of musculoskeletal system with Network

29 of 34

MuscleVAE

Inspired by ControlVAE [Yao et al. 2022]

Model-based Learning

In real simulation, generate a simulation sequence

using current MuscleVAE to track random sequence

Starting from , create a synthetic sequence by executing same action series

Train world model by optimizing objective

30 of 34

High-Level Policies

With a trained MuscleVAE, goal-conditioned task policy can be trained

31 of 34

Result

Motion Tracking

32 of 34

Result

Random Motion Sampling

33 of 34

Supplementary Materials

34 of 34

Supplementary Materials