rofunc.planning_control.lqr.ilqr_3d#

iLQR for a 3D viapoints task (batch formulation)

Refers to https://gitlab.idiap.ch/rli/robotics-codes-from-scratch by Dr. Sylvain Calinon

1.  Module Contents#

1.1.  Classes#

iLQR_3D

1.2.  Data#

kin

1.3.  API#

rofunc.planning_control.lqr.ilqr_3d.kin = None#
class rofunc.planning_control.lqr.ilqr_3d.iLQR_3D(cgf)#

Initialization

fkin(x)#

Forward kinematics for end-effector (in robot coordinate system)

error(f, f0)#

Input Parameters: f = end_effector transformation matrix f0 = desired end_effector poses

Output Parameters: error = position and orientation error

Jacobian(x)#

Jacobian with analytical computation (for single time step)

Input Parameters: x = joint values

Output Parameters: Jacobian for single time step of joint values x

f_reach(robot_state, Mu, Rot, specific_robot=None)#

Error and Jacobian for a via-points reaching task (in object coordinate system)

Input Parameters:

robot_state: joint state Mu: via-points Rot: object orientation matrices

Returns: f = residual vectors / error J = Jacobian of f

get_matrices()#
set_dynamical_system()#
get_u_x(Mu: numpy.ndarray, Rot: numpy.ndarray, u: numpy.ndarray, x0: numpy.ndarray, Q: numpy.ndarray, R: numpy.ndarray, Su0: numpy.ndarray, Sx0: numpy.ndarray, idx: numpy.ndarray, tl: numpy.ndarray)#
solve(Mu, Rot, u0, x0, for_test=False)#