项目简介
本项目借助Python和V-REP(Virtual Robot Experimentation Platform)开展机器人仿真工作。利用V-REP的远程API,实现对机器人运动的控制、状态信息的获取及各类仿真操作。重点聚焦于“Two wheels, one arm”(2W1A)机器人模型的仿真,通过Python脚本执行随机仿真操作,并展示获取和控制机器人运动状态的方法。此外,还包含使用遗传算法在虚拟环境中寻找让简单机器人直线移动解决方案的功能。
项目的主要特性和功能
- 连接V-REP服务器:借助Python脚本与V-REP服务器建立连接,保障与机器人仿真环境的通信。
- 获取机器人组件句柄:通过V-REP API获取机器人组件(如电机、机器人本体)的句柄,为后续操作做准备。
- 随机仿真:开展三次随机仿真,每次随机设定机器人的目标位置,控制机器人按目标位置移动。
- 获取和控制机器人状态:在仿真期间,获取机器人的位置、方向和电机状态,并对电机运动进行控制。
- 错误处理:处理连接失败、组件获取失败等可能出现的错误。
- 遗传算法寻解:利用遗传算法在虚拟环境中寻找让简单机器人直线移动的解决方案。
安装使用步骤
依赖安装
- 下载并安装 v-rep pro edu(虚拟机器人实验平台)。
- 安装 node.js、npm 和 node-gyp。
- 安装 g++ 或 clang++。
- 安装 cmake 和 make。
- 安装 boost 库。
- 安装Python 3.x环境,并安装必要的库(如
numpy
等)。
配置虚拟环境
- 下载并安装 v-rep。
- 打开 v-rep,然后加载
2w1a.ttt
。
构建和使用示例代码
可用的示例项目有: - 使用 python 和 c++ 进行2w1a的v-rep远程API测试。 - 使用 c++ 实现的字符串查找遗传算法。 具体操作见 示例代码README。
使用项目
- 安装:在仓库根目录执行
npm install
。 - 启动:确保v-rep虚拟环境已配置好,然后执行
npm start
。
开发注意事项
开发模式启动服务器
确保v-rep虚拟环境已配置好,执行 npm run dev
。
注意:服务器会在文件更改后自动重启,仅适用于node.js文件,不适用于c++文件。
构建/重建C++部分
- Node.js算法模块:执行
npm run build_algo
进行构建,执行npm run rebuild_algo
进行重建。 - 可执行开发算法:执行
npm run build_algo_dev
进行构建,执行npm run rebuild_algo_dev
进行重建。
启动开发可执行算法
确保v-rep虚拟环境已配置好,执行 algorithm/build_dev/2w1a_dev
。
配置文件
使用 config/base.example.json
创建自己的配置文件,执行 cp config/base.example.json config/base.json
。
运行Python脚本
- 确保V-REP软件已安装,且V-REP服务器已启动。
- 运行提供的Python脚本,如
2w1aTest.py
,按照提示进行仿真操作。 - 在V-REP的仿真环境中,观察机器人的运动状态,验证脚本的控制效果。
注意:此项目假设已安装V-REP并配置好相应的Python环境,且V-REP服务器正在运行。项目代码适用于Windows和Linux平台,但在不同平台上可能需要调整连接参数和文件路径。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】