Skip to content
⚙ Development Guide > SDK > Concept Guide > Motion Planning Principles

PTP Point-to-Point Planning#

PTP (Point-to-Point) is suitable for tasks that require reaching a target but do not require the tool center point to follow a particular geometric path. Joint PTP specifies 7 target joint angles directly. Cartesian PTP specifies a target end-effector pose, and the runtime solves the joint configuration.

Select an Entry Point#

Target Form SDK Entry Point Options
7 joint angles move_joint() JointMoveOptions(motion_type="ptp")
End-effector pose in base_link move_end_pose() CartesianMoveOptions(motion_type="ptp")

Joint targets use rad. Cartesian positions use m, and orientations use unit quaternions ordered (qx, qy, qz, qw).

Key Parameters#

  • velocity_scaling_factor: scaling relative to the planned velocity limit; not an absolute velocity.
  • acceleration_scaling_factor: scaling relative to the planned acceleration limit.
  • sampling_time: planning and interpolation sampling time, in s.
  • allow_planning_time: maximum computation time allowed for one planning operation; excludes trajectory execution time.
  • use_collision: requests collision checking against the current model; cannot detect unmodeled on-site obstacles.
  • blocking: determines whether to wait for the planning result or for execution-completion criteria.

PTP does not guarantee a straight TCP path

PTP constrains only the target. Even when the start and end points are safe, intermediate joint motion can cause the tool, payload, or cables to pass through other areas. For a narrow passage or a task that must constrain the tool path, use LIN, explicit waypoints, or validated collision planning.

Stop if the Cartesian planning start pose is unavailable

The current move_end_pose() reads the end-effector pose as the planning start pose. If that retrieval returns None, the SDK may continue sending the request using the base_link origin and identity quaternion. This fallback usually does not equal the robot arm's actual pose. Do not send Cartesian PTP while state retrieval is interrupted. If the method returns False or times out, confirm actual state before retrying.

Cartesian PTP requires inverse kinematics (IK), so a target pose can still fail because it is unreachable, violates a joint limit, is singular, or collides. See API Reference for motion entry points and ArmControlOptions (Control Options) for all option types.