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

【源码】基于C++和Box2D的2D机器人模拟系统

项目简介

这是一个2D机器人模拟器,可模拟和测试Arduino代码在虚拟机器人上的行为,用户能在模拟器上运行Arduino代码并观察机器人表现。

项目的主要特性和功能

  1. 可在Web或桌面环境运行。
  2. 具备基本物理模拟,含碰撞检测与物理交互。
  3. 模拟实现Arduino API,涵盖数字、模拟、串口通信等功能。
  4. 支持加载和编译自定义Arduino代码库。
  5. 提供图形界面可视化机器人及其配件行为。
  6. 支持多个传感器和输出设备的模拟。

安装使用步骤

前提条件

用户已下载本项目的源码文件。

设置环境

  • Windows用户需用WSL(Windows Subsystem for Linux)设置开发环境。
  • macOS和Linux用户可直接使用终端。

编译和运行

Web环境

  1. 安装Emscripten
  2. mkdir build_web
  3. cd build_web
  4. emcmake cmake../
  5. make deploy
  6. cd deploy
  7. emrun --no_browser --port=8080 index.html
  8. 打开浏览器访问http://localhost:8080

桌面环境

  1. mkdir build
  2. cd build
  3. cmake../
  4. make
  5. ln -sf arduino_examples/libhello.so libcode.so(若运行不同程序,将libhello.so替换为编译后程序名)
  6. ./sim(若运行自定义程序,将ino文件放于arduino_examples文件夹,在arduino_examples/CMakeLists.txtINO_SOURCES列表添加ino文件,执行make,并按步骤5替换程序名)

加载和测试代码

在模拟器中加载Arduino代码,可使用键盘和鼠标控制进行交互和测试: - R:重启模拟。 - L:不重启模拟加载新代码。 - 空格键:暂停模拟。 - 方向键/鼠标左键:移动相机视角。 - 鼠标滚轮:缩放视角。 - F:相机跟随机器人。

注意事项

  • 模拟器处于开发阶段,存在部分未实现功能和限制。
  • 主要用于教育和测试,不建议用于生产环境。
  • 使用前确保开发环境满足项目要求。

未来改进计划

  • 完善Arduino API模拟实现。
  • 增加更多传感器和输出设备支持。
  • 优化物理模拟和图形渲染性能。
  • 提供更友好的用户界面和交互方式。

下载地址

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