MIT Racecar 模拟器
racecar_simulator
智能硬件
⭐⭐⭐☆☆ (3/5)
软硬
已发布
项目简介
MIT Racecar的轻量级模拟器。
Racecar Simulator 是一个轻量级的 2D 仿真器,专为 MIT Racecar 项目设计。它既可以作为 ROS 包运行,也可以作为独立的 C++ 库使用,为无人驾驶小车的算法开发与测试提供了便捷的仿真环境。该项目的核心功能是模拟一辆阿克曼转向模型的赛车在二维栅格地图中的运动,并生成带有高斯噪声的激光雷达(LiDAR)扫描数据。用户可以通过 USB 游戏手柄手动控制车辆,或通过发布 AckermannDrive 消息实现自动驾驶。此外,仿真器支持通过发布 Pose 消息瞬间移动车辆,便于进行自动化测试脚本的编写。
项目特点
**轻量级 2D 模拟**:专注于核心的运动学和传感器模拟,运行效率高。
**双模式支持**:可作为 ROS 包集成到机器人生态,也可作为独立 C++ 库使用。
**完整的 ROS API**:提供标准的话题和服务接口,方便与现有 ROS 系统交互。
**丰富的参数配置**:支持自定义车辆参数(轴距、最大速度)、激光雷达参数(波束数、视场角、噪声)和地图参数。
**游戏手柄控制**:内置对 USB 游戏手柄的支持,方便手动驾驶。
**可视化支持**:与 RViz 深度集成,可实时显示地图、激光扫描数据和车辆模型。
**内置地图**:附带 MIT 31号楼 的 2D 地图,开箱即用。
技术规格
| 模拟维度 | |
|---|---|
| 支持平台 | |
| 车辆模型 | |
| 传感器模拟 | |
| 地图格式 | |
| 控制接口 | |
| 编程语言 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 运行 ROS 的计算机 | 1 | — | 用于运行模拟器和 RViz |
| USB 游戏手柄 | 1 | — | 可选,用于手动驾驶 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| ROS Melodic | 运行模拟器和可视化 | ▢ 推荐 |
| catkin | 构建 ROS 工作空间 | ▢ 推荐 |
| RViz | 可视化模拟状态和传感器数据 | ▢ 推荐 |
| C++ 编译器 | 编译独立 C++ 库 | ▢ 推荐 |
能力画像
记忆与知识检索
逻辑推演
表达与交流
感知与观察
数理与计算
动手与操作
狂热与坚持
创造与创新
项目图库
所需技能
🔧 **动手能力**:无需硬件动手能力,但需要熟悉 ROS 环境和命令行操作。
💻 **编程能力**:需要具备 C++ 基础,了解 ROS 编程模型(节点、话题、服务)。
⚡ **电子电路**:无需电子电路知识。
适用场景
**自动驾驶算法开发与测试**:在仿真环境中快速验证路径规划、控制、避障等算法。
**ROS 教学与入门**:作为学习 ROS 框架、消息通信和 RViz 可视化的实践项目。
**机器人竞赛准备**:为 MIT Racecar 等阿克曼底盘赛车提供离线测试环境。
**学术研究**:用于研究基于激光雷达的定位、建图(SLAM)和导航算法。