LIN Linear Trajectory Planning#
LIN constrains the tool center point to travel from an explicit start pose to a target along a Cartesian straight line. It
is suitable for insertion, approach, and retreat tasks where path shape must be controlled. P7 uses the dedicated
move_end_pose_linear() interface, not motion_type="lin" in a joint target.
Interface and Poses#
client.move_end_pose_linear(
start: CartesianPose,
target: CartesianPose,
options: CartesianMoveOptions,
timeout_ms: int = 1000,
) -> bool
The positions in start and target are relative to base_link and use m. Orientations are unit quaternions ordered
(qx, qy, qz, qw). start must match the actual end-effector pose when the method is called. The SDK does not compare the
start pose with feedback or automatically correct a mismatch.
Pre-Motion Checks#
- Read the current end-effector pose. Do not send the request if state is missing or stale, or if the robot arm moves after the read.
- Check position and quaternion lengths, finite values, and quaternion norm.
- Acquire control authority, switch to
Controller.planning_control, and confirm that the FSM isPLANNING_CONTROL. - Confirm that intermediate points along the straight path also satisfy IK, joint-limit, and collision conditions.
- Allow sufficient
timeout_msfor planning and execution, and define the exception-stop workflow.
LIN always uses linear planning; options.motion_type and options.circ_is_center have no effect. See
ArmControlOptions (Control Options) for definitions of velocity and acceleration
scaling, sampling_time, allow_planning_time, seeds, collision options, and blocking.
Do not switch automatically to PTP after a failure
A reachable linear endpoint does not mean that the entire straight line can be planned. If the failure is caused by a singularity, joint limit, discontinuous IK, or collision, switching to PTP changes the TCP path. Change the planning method only when the task explicitly permits it and the path has been reassessed.
See API Reference for motion entry points and return behavior.