HamiltonHuaji / differential-mdh

Differentiable Modified Denavit–Hartenberg (mdh) model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Differentiable Modified Denavit–Hartenberg (MDH) Model (for Calibration of Robotic Arms)

Inspired by mdh

Modified Denavit-Hartenberg parameters

Example

import mdh, mdh.robots
import torch as tf

param = mdh.KinematicChain.obj_to_tensor(mdh.robots.kuka_lbr_iiwa_7(), requires_grad=True)
chain = mdh.KinematicChain.from_tensor(param)
print(chain)

thetas = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7]
T = chain.transform(thetas)

p = tf.tensor([0., 0., 0., 1.], dtype=tf.float64)
uncalibrated_end_effector = T@p
calibrated_end_effector = tf.tensor([1., -.2, 0., 1.], dtype=tf.float64)

r = uncalibrated_end_effector - calibrated_end_effector
loss = r@r

loss.backward()
print(param.grad.data)

TODO

  • inverse kinematics

About

Differentiable Modified Denavit–Hartenberg (mdh) model

License:Other


Languages

Language:Python 100.0%