littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于C++和Python的机器人运动规划系统

项目简介

本项目是一个机器人运动规划系统,基于C++和Python开发,涵盖机器人运动学、规划、搜索算法等方面的库和模块,借助计算和优化算法为机器人生成有效的运动计划。

项目的主要特性和功能

  1. 提供多种机器人运动规划算法,如随机搜索、贪婪搜索、模拟退火搜索等。
  2. 支持单机器人和多机器人系统,可设定机器人数量和初始位置。
  3. 能根据任务类型(如拾取和放置任务、点刺任务等)计算机器人的任务姿态映射关系。
  4. 具备可视化功能,可生成机器人运动计划的可视化结果并保存为视频。
  5. 支持从配置文件读取参数,便于用户调整和配置系统。

安装使用步骤

安装依赖

```bash mkdir your_folder cd your_folder

cd rai make -j1 printUbuntuAll # 显示下一步将安装的内容 make -j1 installUbuntuAll # 调用sudo apt-get install,可随时中断

sudo apt install --yes python3-dev python3 python3-pip python3 -m pip install --user numpy pybind11 pybind11-stubgen

make -j4 make -j4 tests bin # 可选 make runTests # 可选,编译并运行基本测试

cd ..

sudo apt install libspdlog-dev sudo apt install libfmt-dev 文件夹结构应如下: ├── your_folder │ ├── rai │ ├── rai-robotModels │ ├── rai-manip │ ├── valentin_robot_stippling `` 请将rai-manip/PlanningSubroutinesrai-manip/Manip中的 Makefile 里的 rai 路径从rai-fork改为rai`。

编译项目

bash cd your_folder/valentin_robot_stippling make -j4

运行程序

bash ./x.exe -mode single_arm -save_video false 若要保存视频,在命令行中指定 -save_video true,ppm 文件将保存在 video 文件夹中。

转换视频格式

将保存的 ppm 文件转换为 mp4: bash cd video ffmpeg -framerate 20 -i filename%04d.ppm -c:v libx264 -crf 25 -vf "scale=400:400,format=yuv420p" -movflags +faststart videoname.mp4 将 mp4 转换为高质量 gif: bash ffmpeg -i videoname.mp4 pngname%04d.png gifski -o videoname.gif pngname*.png

注意事项

rai 的默认工作分支是 assembly,可切换到 changes 分支以实现更快的计算,但切换会引入一些不必要的配置类型和帧输出。若要禁用此输出,可注释 rai/rai/Geo/fclInterface.cpp 中的第 44 - 45 行。这些输出与 komo.setModel(C, true) 函数和 rai/config.mk 中的 FCL 变量有关。

运行程序时,通过命令行参数输入必要的配置信息,如机器人数量、初始位置、任务类型等,系统将生成机器人的运动计划,并输出执行时间(makespan)。可选地,可通过 scripts/main.py 脚本处理数据和绘制图形,以便分析和比较不同算法的性能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】