moveLinear moves between waypoints in straight lines in
workspace, based on kinematics that were defined when setting
up the trajectory with HebiTrajectoryGenerator(kin).
This method works the same as moveJoint() with the only
difference being that the resulting trajectory represents
an approximate straight line in cartesian workspace
Because the underlying IK relies on a local optimizer, the
generated trajectory and waypoints for large motions,
particularly large changes in orientation, may be poor.
Therefore it is recommended that you use this function for
moves that are in similar parts of the workspace and have
relatively small change in orientation of the end-effector.
This method is a 'blocking' call, which means that the
function will run until the execution of the trajectory is
completed. If you need to access and react to feedback
while a trajectory is being executed, use NEWJOINTMOVE to
make the trajectory and then us TRAJECTORY.GETSTATE to
directly access commmands in a loop.
moveLinear is a convenience wrapper that is equivalent
to manually calling the following:
traj = trajGen.newLinearMove(positions);
Please refer to the documentation of newLinearMove and
executeTrajectory for more information.