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]))