
图形化设计运动规划环境OMG-tools GUI从SVG地图导入到一键仿真3步搞定【免费下载链接】omg-toolsOptimal Motion Generation-tools: motion planning made easy项目地址: https://gitcode.com/gh_mirrors/om/omg-toolsOMG-toolsOptimal Motion Generation-tools是一款让运动规划变得简单的 Python 工具箱。它内置的图形化环境编辑器 EnvironmentGUI 让你几乎不用手写代码导入一张 SVG 地图、鼠标点击布置障碍与起终点、点击 Ready 一键仿真3 步就能得到一条平滑避障的运动轨迹。1分钟认识 EnvironmentGUI 图形化界面EnvironmentGUI 基于 tkinter 实现源码位于 omgtools/gui/gui.py界面由三部分组成网格画布以米为单位的环境障碍物自动吸附到网格交点左侧按钮区Ready完成设计、Load载入已保存环境、Load SVG导入 SVG 地图、Remove删除障碍参数区选择圆形/矩形、输入尺寸与速度、勾选 Bounce运动障碍物反弹操作约定很简单操作作用左键单击画布放置当前选中的障碍物右键单击两次依次设置起点、终点点错可再点两次覆盖方向箭头按钮微调最近选中障碍物的位置勾选 Save 点 Ready将环境保存为.pickle文件下次 Load 秒开️ 第1步导入SVG地图自动识别障碍物已有 CAD 图纸或 Inkscape 手绘地图点击Load SVG按钮选择你的.svg文件即可核心解析逻辑在 omgtools/gui/svg_reader.pySVGReader 类支持 line、polyline、rect、circle 四种基础图形。导入时 GUI 会依次弹出两个问题是否转换为 GCode回答 yes 直接把 SVG 转成.nc加工文件回答 no 则作为规划环境使用1 米对应多少像素再输入横向、纵向网格数如30,30GUI 会把像素坐标自动换算成米项目自带 3 个示例地图官方推荐参数可以直接抄SVG 文件像素/米网格数drawing.svg2530,30maze_small.svg530,30maze_big.svg2100,100如果第 1 个问题回答 yesSVG 中的路径会被转成带朝向箭头的 GCode 轨迹效果类似下图的赛道轨迹生成️ 第2步鼠标布置障碍与起终点SVG 导入的障碍物是静止的但你可以继续手动添加运动障碍物来模拟动态场景选择 Circle 或 Rectangle填好尺寸填入 x/y 速度如0.2, -0.1需要碰撞反弹就勾选 Bounce左键单击网格交点放置方向箭头可微调位置随后右键点两次确定起点和终点点Ready关闭 GUI 生成环境对象源码build_environment 方法。记得勾选 Save环境会以当前脚本同名.pickle文件保存下来⚡ 第3步一键仿真实时看轨迹GUI 只负责出题真正跑规划的是 vast_environment_example1.py流程分四步gui.get_environment()取出环境对象get_clicked_positions()取出起终点A* 全局规划器在网格上先找一条粗路径作为走廊SchedulerProblem 沿走廊做多帧滚动优化输出满足速度/加速度约束的平滑轨迹Simulator.run()实时绘制场景动画与速度曲线运行方式python vast_environment_example1.py打开 GUI 后点Load选择同目录下的 vast_environment_example1.pickle再点Ready仿真窗口随即弹出新手常见坑与实用技巧SVG 解析有限制目前仅支持 line / polyline / rect / circle 组成的图见 vast_environment_example1.py 注释复杂路径建议先简化大迷宫跑得慢maze_big 建议调高车辆速度上限示例中vmax为 1.2 m/s可选配 ma57 线性求解器加速导出 GIF 动画save_movie(scene, formatgif)需要额外安装 imagemagick安装pip install omg-tools依赖 numpy / scipy / matplotlibGUI 需要系统已装 tkinterDebian/Ubuntusudo apt install python3-tk 延伸阅读vast_environment_example_maze.py 展示了纯迷宫场景的完整配置schedulerproblem.py 是多帧滚动优化的核心实现。【免费下载链接】omg-toolsOptimal Motion Generation-tools: motion planning made easy项目地址: https://gitcode.com/gh_mirrors/om/omg-tools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考