模拟器的 ROS 文档
欢迎使用 OpenHUTB 的 ROS 文档 1。
提交项目之前,请按以下指引自查,并阅读仓库提交约定。PR 模板只列常见检查项;具体任务、模拟器和验收要求以老师及维护者说明为准。
展开项目提交与复现指引
- 确认提交范围。 在 Files changed 中逐个检查新增、修改和删除。不要提交 build、install、log 等无关生成目录、备份或重复文件,不用个人项目内容覆盖仓库首页及公共配置。需要修改公共内容时说明原因与影响。
- 整理模块与启动入口。 源码放在 src 对应模块,教程放在 docs 对应模块,文件使用英文下划线命名。提供 main.* 和 launch,核对包名、可执行名、依赖、模型路径及安装规则,完善实际包描述、维护信息和许可证。
- 按文档完整运行。 README 写清实际验证的系统、ROS、Python、模拟器和关键依赖版本,以及获取源码、安装、构建、加载环境、启动和停止步骤,注明执行目录。建议从新终端操作,检查键盘输入、运动方向、状态切换、退出停车和异常清理。
- 准确说明验证范围。 区分节点启动、话题通信、可视化演示与完整仿真效果。固定速度发布不等于轨迹跟踪,离线测试不等于在线闭环验证。指标注明定义、单位、场景与测量方法,保留必要日志;未验证的内容和简化假设如实说明。
- 检查网页与配图。 新模块在本首页和 mkdocs.yml 增加入口,运行
mkdocs serve --livereload检查相关页面、链接、公式和流程图。使用真实运行截图而非拍照,示意图明确标注;PNG 小于 3 MB、GIF 小于 10 MB,大量数据提供持久下载链接。 - 完成说明与复核。 PR 标题和提交信息说明修改目的,使用大模型时声明具体工具并对内容负责。合并前至少一名其他人在另一台机器测试并同意,不能用作者自测替代。纯文档或局部修复按实际影响检查,不要求新增无关模块。
1. 入门
ROS 相关资料(网盘下载地址):
- 教材:ROS教材.pdf
- 课件和视频:ROS资料.zip
- 安装好 ros kinetic 的虚拟机(密码:rosindustrial)Ubuntu 16.04:*.ova
- Windows虚拟机(密钥:ZF3R0-FHED2-M80TY-8QYGC-NPKYF):*.exe
- 补充:ubuntu下虚拟机的运行方式
- 虚拟机环境介绍
- 补充:Ubuntu 20.04 安装 ROS Noetic 详细教程
下载并安装好 ROS 的虚拟机。此虚拟机基于 Linux (Ubuntu 20.04 lsb_release -a)操作系统,并已预先配置为支持使用 ROS (ROS 1 Noetic 和 ROS 2 Humble) 构建的应用程序。
ROS每章节运行代码:
- 第 1 章 - 认识 ROS
- 第 2 章 - ROS 基础
- 第 3 章 - 机器人系统设计
- 第 4 章 - 机器人仿真
- 第 5 章 - 机器人感知
- 第 6 章 - 机器人 SLAM 与自主导航
- 第 7 章 - 阿克曼四轮小车运动控制
- 第 8 章 - ROS 机器人综合应用
- 第 9 章 - ROS 2
ROS 2 话题发布订阅基础实验(talker/listener):chap2/ros2_pubsub_py
2. 人形机器人
3. 肌肉骨骼人
4. 地面载具
- 手动控制
- 生成对象
- 地面载具物理仿真与键盘运动控制
- CARLA+YOLOv8 目标检测感知与减速避障
- 阿克曼控制
- 传感器感知与给定轨迹跟踪(神经网络版)
- R2D2小车自动巡航仿真
- 路径点发布器
- 激光雷达建图与神经网络规划导航
- 自动驾驶代理
- 自动驾驶示例
- rostopic 手动驱动
- ROS Scenario Runner
- RVIZ Carla 插件
- 扭转控制
- RQT 插件
- 点云地图创建
-
Carla 交通标志识别(Windows 脚本) - 基于 YOLOv8 的实时感知与键盘控制
- 车辆键盘遥操作与二维模拟
- MuJoCo 差速小车轮滑感知与轨迹补偿
- MuJoCo 地面小车射线感知与分级减速避障
- 2D 小车目标追踪仿真
- 基于神经网络的无人小车自适应跟车(ACC)
- 恶劣雨雾天气下多传感器感知性能对比实验
5. 空域载具
- 无人机与 ROS 的桥接模块
- 无人机屋顶降落 —— 用机载 LiDAR 检测屋顶平面,取轮廓的最大内切圆圆心作为降落点,自主飞抵其上方后垂直降落
-
AP-CPP 主动感知覆盖路径规划 —— 基于 AirSim 的无人机主动感知覆盖路径规划,在 OverFOMO 自适应覆盖规划的基础上进一步决定「该去哪里看」
-
AllocNet 四旋翼避障规划与键盘遥操作 —— 在学习型时间分配的避障轨迹规划基础上,补齐键盘航点下发、地图常驻转发与轨迹记录的人机交互层
6. 水域载具
-
HoloOcean Windows 本机环境搭建 —— 在 Windows 上用 Conda 安装 Python 客户端、下载场景包并跑通第一个仿真
-
WSL 跑通 HoloOcean2 的 ROS2 示例(无头模式) —— 无 GPU 环境下用
-nullrhi参数跑无头仿真 -
Docker 开发环境 —— 开发容器与工作空间挂载
-
HoloOcean ROS2 运行时容器 —— 用
build_container.sh构建运行时镜像 -
水域载具示例(手柄 / 航点 / 深度航向指令) —— 多代理手柄控制、相机 HUD 与配置文件结构
如果对文档中的任何问题可以在 本文档的源码仓库 中的 问题 页面讨论或者提交 拉取请求 直接修改文档。
参考文献
-
Macenski, S., Foote, T., Gerkey, B., Lalancette, C. & Woodall, W. Robot operating system 2: Design, architecture, and uses in the wild. Science robotics 7, eabm6074 (2022). ↩