用途:在 MATLAB 中为机械臂规划无碰撞路径,并将路径转换为满足速度与加速度限制的轨迹。适用于机械臂在关节配置或笛卡尔位姿之间移动、生成航点间轨迹、建模障碍物、选择规划器以及验证轨迹无碰撞等任务。不适用于机器人模型构建/导入、正逆运动学求解、末端执行器配置、移动机器人导航、动力学仿真及规划器代码生成。
前置条件:必须先调用 /matlab-model-robot-kinematics 建立机器人模型,不得在规划流程中直接调用 loadrobot、importrobot 或内联构建 rigidBodyTree。机器人需具备碰撞网格,且 DataFormat 设为 "row"。
主要能力:支持 manipulatorRRT(采样规划,适配碰撞对象、occupancyMap3D 点云地图)与 manipulatorCHOMP(优化规划,适配 meshtsdf、SphericalObstacles);轨迹生成支持 contopptraj(TOPPRA 时间最优)、trapveltraj(梯形速度、恒速巡航)、minjerkpolytraj(最小加加速度);提供 checkCollision 验证、collisionBox/Cylinder/Sphere/Mesh 障碍建模、occupancyMap3D、meshtsdf、geom2struct 等函数。
使用方式:先评估碰撞风险并建模环境,再选择规划器规划路径,RRT 路径需调用 shorten 平滑;随后按需求选择轨迹函数(注意 RRT 输出需转置为 numJoints×numWaypoints),最后对全部轨迹采样点用 checkCollision 验证,并可用 show 可视化或动画。
限制与注意:RRT 路径天然锯齿,必须 shorten;contopptraj 不保证恒速,trapveltraj 不保证时间最优;不得用 clearCollision 规避自碰撞;SkippedSelfCollisions 与 MeshTSDF 需在构造时传入;checkCollision 返回 1×2 需同时检查自碰撞与世界碰撞;避免用 interp1+gradient 或手写梯形速度。具体版本与工具箱要求见资料所列函数表。