跳转至
⚙ 开发指南 > SDK > 概念指南 > 运动规划原理

PTP 点到点规划#

PTP(Point-to-Point)适合只要求到达目标、而不要求工具中心点沿特定几何路径运动的任务。关节 PTP 直接给出 7 个目标关节角;笛卡尔 PTP 给出目标末端位姿,并由运行时求解关节构型。

选择入口#

目标形式 SDK 入口 选项
7 个关节角 move_joint() JointMoveOptions(motion_type="ptp")
base_link 下的末端位姿 move_end_pose() CartesianMoveOptions(motion_type="ptp")

关节目标单位为 rad。笛卡尔位置单位为 m,姿态使用 (qx, qy, qz, qw) 顺序的单位四元数。

关键参数#

  • velocity_scaling_factor:相对规划速度上限的缩放比例;不是绝对速度。
  • acceleration_scaling_factor:相对规划加速度上限的缩放比例。
  • sampling_time:规划和插值采样时间,单位 s。
  • allow_planning_time:单次规划允许的最长计算时间,不包含轨迹执行时间。
  • use_collision:请求使用当前模型中的碰撞检查;不能发现未建模的现场障碍。
  • blocking:决定等待规划结果还是等待执行完成判据。

PTP 不保证 TCP 直线

PTP 只约束目标。即使起点和终点都安全,中间关节运动也可能让工具、负载或线缆经过其他区域。 狭窄通道或必须控制工具路径时,应选择 LIN、明确路点或经验证的碰撞规划。

笛卡尔 planning 起点不可用时停止

当前 move_end_pose() 会读取末端位姿作为规划起点;若该次读取返回 None,SDK 可能改用 base_link 原点和单位四元数继续发送请求。该回退通常不等于机械臂真实位姿。状态读取中断时 不要发送笛卡尔 PTP;发生返回 False 或超时时先确认实际状态,不要立即重试。

笛卡尔 PTP 需要逆运动学(IK),因此目标位姿仍可能因不可达、关节限位、奇异或碰撞而失败。运动入口见 API 接口总览,全部选项类型见 运动控制参数(ArmControlOptions)