movement_primitives.dmp.CouplingTermDualCartesianTrajectory

class movement_primitives.dmp.CouplingTermDualCartesianTrajectory(offset, lf, dt, couple_position=True, couple_orientation=True, k=1.0, c1=1.0, c2=30.0, verbose=1)

Bases: CouplingTermDualCartesianPose

Couples relative pose in dual Cartesian DMP with a given trajectory.

For DualCartesianDMP.

Parameters:
offsetarray, shape (7,)

Offset for desired distance between components as position and quaternion.

lfarray-like, shape (2,)

Binary values that indicate which DMP(s) will be adapted. The variable lf defines the relation leader-follower. If lf[0] = lf[1], then both robots will adapt their trajectories to follow average trajectories at the defined distance dd between them [..]. On the other hand, if lf[0] = 0 and lf[1] = 1, only DMP1 will change the trajectory to match the trajectory of DMP0, again at the distance dd and again only after learning. Vice versa applies as well. Leader-follower relation can be determined by a higher-level planner [..].

couple_positionbool, optional (default: True)

Couple position between components.

couple_orientationbool, optional (default: True)

Couple orientation between components.

kfloat, optional (default: 1)

Virtual spring constant that couples the positions.

c1float, optional (default: 100)

Scaling factor for spring forces in the velocity component and acceleration component.

c2float, optional (default: 30)

Scaling factor for spring forces in the acceleration component.

Methods

couple_distance

coupling

imitate

__init__(offset, lf, dt, couple_position=True, couple_orientation=True, k=1.0, c1=1.0, c2=30.0, verbose=1)

Methods

__init__(offset, lf, dt[, couple_position, ...])

couple_distance(y, yd, k, c1, c2, lf, ...)

coupling(y[, yd])

imitate(T, Y)