Skip to content

novaphy.inverse_dynamics

Compute joint torques required for a given motion using RNEA.

def inverse_dynamics(
    joints: list[Joint],
    bodies: list[RigidBody],
    q: np.ndarray,
    qd: np.ndarray,
    qdd: np.ndarray,
    gravity: np.ndarray,
) -> np.ndarray

Parameters

Parameter Description
joints Per-link joint descriptors.
bodies Per-link rigid-body inertias.
q, qd, qdd Generalized state and acceleration.
gravity World gravity vector (3,).

Returns

Generalized joint torques tau (length sum(joint.num_qd())).

Example

import numpy as np
import novaphy

tau = novaphy.inverse_dynamics(joints, bodies, q, qd, qdd, np.array([0, -9.81, 0]))

See Also