
三维机械臂仿真与运动规划全栈平台
PythonC++自制3D渲染器ROS2/MoveIt2IK运动学/运动规划多机器人全栈开发碰撞检测
基于 Python/P3D 自研 3D 仿真前端,通过自定义 WebSocket 协议与 ROS2+MoveIt2 后端实时通信,覆盖机器人运动学求解、轨迹规划、场景管理与轨迹回放全流程。支持多种维度机械臂型号(6-12自由度),已用于实际产线方案的离线验证与任务预演。
技术方案
- 自主 3D 仿真引擎 —— 基于 P3D PBR 管线自研渲染框架,实现 URDF 递归解析器,从机器人运动链构建场景图(关节/连杆节点树),支持 STL/DAE/OBJ/glTF 多格式网格加载与坐标系统转换。
- 实时逆向运动学预览 —— 前端拖拽末端执行器时以约 18Hz 采样位姿并异步发送至后端 IK 求解器(KDL 插件),采用 Latest-Only 合并策略丢弃过期请求,后端以种子缓存保证关节空间连续性,实现流畅的拖拽式 IK 实时反馈。
- 双图层渲染架构 —— 同一机器人维护 IK 图层(橙色)与规划图层(绿色)两份场景图实例,分别展示当前 IK 位姿与规划轨迹位姿,支持同步对比与独立控制。
- 自定义 WebSocket 通信协议 —— 设计实现 9 类前端-后端消息协议(规划/场景/资产/基座位姿/回放状态),后端以 asyncio WebSocket Server 接入 ROS2 多线程执行器,前端以独立守护线程 asyncio 事件循环运行 WebSocket 客户端,避免阻塞主渲染循环。
- 场景同步状态机 —— 设计优先级调度状态机协调前后端场景同步:全量重同步 > 基座位姿同步 > 场景对象更新 > IK 预览,规划请求在上下文脏时自动延迟排队,确保规划操作始终在一致场景上执行。
- 规划场景管理 —— 支持基本体(盒/球/柱)与网格对象(OBJ/STL)的增删移附分离操作,自研 STL 二进制/ASCII 及 OBJ 解析器加载网格碰撞几何,支持场景导入/导出与断线恢复时的场景完整读回。
- 两阶段 IK-then-Plan 运动规划 —— 针对高自由度(8-DOF)机器人在位姿空间中直接采样的困难,先求解 IK 得到关节空间目标,再以关节约束驱动 OMPL 规划器,显著提高规划成功率。失败时自动检测起点/中段/终点的碰撞状态并给出中文诊断信息。
- 工业场景功能完整性 —— 多任务规划器(抓取序列编排、批量规划、CSV/JSON/XML 导入导出)、棱柱关节可视化、工程渲染模式(线框/X 光/材质屏蔽)、变换操动器(平移/旋转/缩放 + 撤销)、相机路径录制/回放、系统级 Toast 通知。
- 跨平台工程化部署 —— Windows/WSL 双平台支持,systemd 服务 + Windows 任务计划程序实现开机自启,colcon 符号链接安装实现 Python 代码热更新,colcon build 构建 14 个 ROS2 包(6 机器人 × URDF描述 + MoveIt配置 + 桥接核心 + 自定义接口)。
- 前沿技术探索 —— ImGui 中文输入法集成(Windows IME 调用 + ASCII 回退双通道)、OpenVR 头显立体渲染、URDF 编辑器(关节/连杆属性可视化编辑)、基于反射镜变换的相机视觉增强。








