Skip to content

novaphy.forward_dynamics

Compute generalized accelerations from applied torques.

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

Parameters

Parameter Description
joints Per-link joint descriptors.
bodies Per-link rigid-body inertias.
q, qd Generalized state.
tau Generalized torques (length sum(joint.num_qd())).
gravity World gravity vector (3,).

Returns

Generalized accelerations qdd.

Example

import numpy as np
import novaphy

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

See Also