Variables | |
a0 = np.zeros(model.nv) | |
acc | |
bl_id = model.getFrameId("base_link") | |
collision_model | |
data = model.createData() | |
list | feet_ids = [model.getFrameId(n) for n in feet_names] |
list | feet_names = ["FL_FOOT", "FR_FOOT", "HL_FOOT", "HR_FOOT"] |
fext__bl = pin.Force(ls__bl[joint_ids.index(joint.id)]) | |
list | fs_ext = [pin.Force(np.zeros(6)) for _ in range(len(model.joints))] |
g_bl = g_grav[:6] | |
g_grav = pin.rnea(model, data, q0, v0, a0) | |
g_j = g_grav[6:] | |
Jc__feet_bl_T = np.zeros([6, 3 * ncontact]) | |
Jc__feet_j_T = np.zeros([12, 3 * ncontact]) | |
list | joint_ids = [model.getJointId(n) for n in joint_names] |
list | joint_names = ["FL_KFE", "FR_KFE", "HL_KFE", "HR_KFE"] |
list | Js__feet_bl = [np.copy(J[:3, :6]) for J in Js__feet_q] |
list | Js__feet_q |
list | Js_feet3d_q = [np.copy(J[:3, :]) for J in Js__feet_q] |
list | Js_feet_j = [np.copy(J[:3, 6:]) for J in Js__feet_q] |
l_sp__bl = data.oMf[bl_id].actInv(data.oMf[foot_id].act(l_sp__f)) | |
l_sp__f = pin.Force(l__f, np.zeros(3)) | |
linewidth | |
ls = np.linalg.pinv(Jc__feet_bl_T) @ g_bl | |
list | ls__bl = [] |
ls__f = np.split(ls, ncontact) | |
string | mesh_dir = pinocchio_model_dir |
model | |
string | model_path = pinocchio_model_dir / "example-robot-data/robots" |
ncontact = len(feet_names) | |
string | pinocchio_model_dir = Path(__file__).parent.parent / "models" |
q0 | |
tau = g_j - Jc__feet_j_T @ ls | |
tau_rnea = pin.rnea(model, data, q0, v0, a0, fs_ext) | |
string | urdf_filename = "solo12.urdf" |
string | urdf_model_path = model_path / "solo_description/robots" / urdf_filename |
v0 = np.zeros(model.nv) | |
visual_model | |
static-contact-dynamics.a0 = np.zeros(model.nv) |
Definition at line 91 of file static-contact-dynamics.py.
static-contact-dynamics.acc |
Definition at line 187 of file static-contact-dynamics.py.
static-contact-dynamics.bl_id = model.getFrameId("base_link") |
Definition at line 108 of file static-contact-dynamics.py.
static-contact-dynamics.collision_model |
Definition at line 62 of file static-contact-dynamics.py.
static-contact-dynamics.data = model.createData() |
Definition at line 65 of file static-contact-dynamics.py.
list static-contact-dynamics.feet_ids = [model.getFrameId(n) for n in feet_names] |
Definition at line 107 of file static-contact-dynamics.py.
list static-contact-dynamics.feet_names = ["FL_FOOT", "FR_FOOT", "HL_FOOT", "HR_FOOT"] |
Definition at line 106 of file static-contact-dynamics.py.
static-contact-dynamics.fext__bl = pin.Force(ls__bl[joint_ids.index(joint.id)]) |
Definition at line 173 of file static-contact-dynamics.py.
list static-contact-dynamics.fs_ext = [pin.Force(np.zeros(6)) for _ in range(len(model.joints))] |
Definition at line 170 of file static-contact-dynamics.py.
static-contact-dynamics.g_bl = g_grav[:6] |
Definition at line 99 of file static-contact-dynamics.py.
Definition at line 97 of file static-contact-dynamics.py.
static-contact-dynamics.g_j = g_grav[6:] |
Definition at line 100 of file static-contact-dynamics.py.
static-contact-dynamics.Jc__feet_bl_T = np.zeros([6, 3 * ncontact]) |
Definition at line 121 of file static-contact-dynamics.py.
static-contact-dynamics.Jc__feet_j_T = np.zeros([12, 3 * ncontact]) |
Definition at line 154 of file static-contact-dynamics.py.
list static-contact-dynamics.joint_ids = [model.getJointId(n) for n in joint_names] |
Definition at line 168 of file static-contact-dynamics.py.
list static-contact-dynamics.joint_names = ["FL_KFE", "FR_KFE", "HL_KFE", "HR_KFE"] |
Definition at line 167 of file static-contact-dynamics.py.
list static-contact-dynamics.Js__feet_bl = [np.copy(J[:3, :6]) for J in Js__feet_q] |
Definition at line 117 of file static-contact-dynamics.py.
list static-contact-dynamics.Js__feet_q |
Definition at line 113 of file static-contact-dynamics.py.
list static-contact-dynamics.Js_feet3d_q = [np.copy(J[:3, :]) for J in Js__feet_q] |
Definition at line 186 of file static-contact-dynamics.py.
list static-contact-dynamics.Js_feet_j = [np.copy(J[:3, 6:]) for J in Js__feet_q] |
Definition at line 152 of file static-contact-dynamics.py.
Definition at line 137 of file static-contact-dynamics.py.
static-contact-dynamics.l_sp__f = pin.Force(l__f, np.zeros(3)) |
Definition at line 136 of file static-contact-dynamics.py.
static-contact-dynamics.linewidth |
Definition at line 6 of file static-contact-dynamics.py.
static-contact-dynamics.ls = np.linalg.pinv(Jc__feet_bl_T) @ g_bl |
Definition at line 126 of file static-contact-dynamics.py.
list static-contact-dynamics.ls__bl = [] |
Definition at line 134 of file static-contact-dynamics.py.
Definition at line 129 of file static-contact-dynamics.py.
string static-contact-dynamics.mesh_dir = pinocchio_model_dir |
Definition at line 58 of file static-contact-dynamics.py.
static-contact-dynamics.model |
Definition at line 62 of file static-contact-dynamics.py.
string static-contact-dynamics.model_path = pinocchio_model_dir / "example-robot-data/robots" |
Definition at line 57 of file static-contact-dynamics.py.
static-contact-dynamics.ncontact = len(feet_names) |
Definition at line 109 of file static-contact-dynamics.py.
string static-contact-dynamics.pinocchio_model_dir = Path(__file__).parent.parent / "models" |
Definition at line 55 of file static-contact-dynamics.py.
static-contact-dynamics.q0 |
Definition at line 67 of file static-contact-dynamics.py.
static-contact-dynamics.tau = g_j - Jc__feet_j_T @ ls |
Definition at line 158 of file static-contact-dynamics.py.
Definition at line 176 of file static-contact-dynamics.py.
string static-contact-dynamics.urdf_filename = "solo12.urdf" |
Definition at line 59 of file static-contact-dynamics.py.
string static-contact-dynamics.urdf_model_path = model_path / "solo_description/robots" / urdf_filename |
Definition at line 60 of file static-contact-dynamics.py.
static-contact-dynamics.v0 = np.zeros(model.nv) |
Definition at line 90 of file static-contact-dynamics.py.
static-contact-dynamics.visual_model |
Definition at line 62 of file static-contact-dynamics.py.