项目简介
本项目是一个机器人运动规划系统,基于C++和Python开发,涵盖机器人运动学、规划、搜索算法等方面的库和模块,借助计算和优化算法为机器人生成有效的运动计划。
项目的主要特性和功能
- 提供多种机器人运动规划算法,如随机搜索、贪婪搜索、模拟退火搜索等。
- 支持单机器人和多机器人系统,可设定机器人数量和初始位置。
- 能根据任务类型(如拾取和放置任务、点刺任务等)计算机器人的任务姿态映射关系。
- 具备可视化功能,可生成机器人运动计划的可视化结果并保存为视频。
- 支持从配置文件读取参数,便于用户调整和配置系统。
安装使用步骤
安装依赖
```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/PlanningSubroutines和
rai-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】