模拟器的 ROS 文档
欢迎使用 OpenHUTB 的 ROS 文档 1。
文档环境初始化:Ubuntu 一键安装与本地预览。
提交项目之前,请按以下指引自查,并阅读仓库提交约定。PR 模板只列常见检查项;具体任务、模拟器和验收要求以仓库约定及维护者说明为准。
展开项目提交与复现指引
- 确认提交范围。 在 Files changed 中逐个检查新增、修改和删除。不要提交 build、install、log 等无关生成目录、备份或重复文件,不用个人项目内容覆盖仓库首页及公共配置。需要修改公共内容时说明原因与影响。
- 整理模块与启动入口。 源码放在 src 对应模块,教程放在 docs 对应模块,文件使用英文下划线命名。提供 main.* 和 launch,核对包名、可执行名、依赖、模型路径及安装规则,完善实际包描述、维护信息和许可证。
- 按文档完整运行。 README 写清实际验证的系统、ROS、Python、模拟器和关键依赖版本,以及获取源码、安装、构建、加载环境、启动和停止步骤,注明执行目录。建议从新终端操作,检查键盘输入、运动方向、状态切换、退出停车和异常清理。
- 准确说明验证范围。 区分节点启动、话题通信、可视化演示与完整仿真效果。固定速度发布不等于轨迹跟踪,离线测试不等于在线闭环验证。指标注明定义、单位、场景与测量方法,保留必要日志;未验证的内容和简化假设如实说明。
- 检查网页与配图。 新模块在本首页和 mkdocs.yml 增加入口,运行
mkdocs serve --livereload检查相关页面、链接、公式和流程图。使用真实运行截图而非拍照,示意图明确标注;PNG 小于 3 MB、GIF 小于 5 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
- 第 10 章 - Turtlebot3 Gazebo键盘控制
ROS 2 服务与参数基础实验(无人机模式切换与在线调参):chap2/ros2_service_param_demo
2. 人形机器人
- 人形机器人基础
- 人形机器人双臂搬运负载的神经网络平衡控制
- 双足步态生成与 ZMP 稳定性
- 基于三次样条插值的双足多步态平滑切换
- 人形机器人键盘运动控制
- 人形机器人平衡控制与外力抗扰恢复
- 人形机器人 PPO 神经网络平衡控制
- 人形机器人 2D 激光雷达 CNN 感知与避障
- 人形足迹下的局部避障算法对比
- MuJoCo单足弹跳机器人简单仿真
- 人形机器人关节轨迹录制与回放工具
- 人形上下台阶步态仿真
- ROS虚拟机器人圆形轨迹rviz可视化示例
- 人形机器人全身逆运动学与可操作性
- 人形机器人双臂末端可达域分析
- 人形机器人跌倒预判与保护性倒地
- 人形机器人 3D 碰撞体边界检测可视化
- 简化双足步态动画演示
- 人形机器人轻量级 ZMP 步行控制基线
3. 肌肉骨骼人
- 肌肉骨骼人基础
- 肌肉-肌腱串联弹性实验 —— 单关节 + 拮抗肌,肌腱储能/传力/释放三组实验
- MuJoCo肌肉骨骼人键盘遥操作行走踢腿蹲起 —— 22 条 Hill 肌肉驱动 13 DoF 全身模型,平地/坡道/负载三场景
- MuJoCo 肌肉骨骼灵巧手:键盘遥操作与神经网络肌肉激活控制
- MuJoCo 双关节肌肉骨骼手臂到达控制
- MuJoCo 肌肉骨骼手臂本体感觉与串联弹性肌腱
- 肌肉驱动的关节控制与 Hill 肌肉模型
- 肌肉驱动的夹爪抓取:真实接触抓取
- 肌肉驱动的下肢关节与步态
- 膝关节肌肉骨骼仿真与轨迹跟踪
4. 地面载具
- 毫米波雷达目标跟踪与前碰撞预警(TTC/FCW) —— 用多普勒速度分离静止杂波,多帧关联估计 TTC 并输出 SAFE/WARN/STOP 分级预警
- MNIST 手写数字视觉感知与机器人运动控制 —— CNN 识别手写数字为运动指令,防抖确认后控制 turtlesim 平移/旋转
- 生成对象
- 地面载具物理仿真与键盘运动控制
- CARLA+YOLOv8 目标检测感知与减速避障
- 阿克曼控制
- 车道线检测(前视视觉)
- 车道保持控制
- 传感器感知与给定轨迹跟踪(神经网络版)
- R2D2小车自动巡航仿真
- 路径点发布器
- 激光雷达建图与神经网络规划导航
- 自动驾驶代理
- 端到端神经网络图像驾驶
- 环岛汇入端到端驾驶(图像→控制)
- 自动驾驶示例
- rostopic 手动驱动
- 作业综合整合与性能评价
- ROS Scenario Runner
- 交通信号灯识别与响应
- RVIZ Carla 插件
- 扭转控制
- 换道可行性判定
- 倒车雷达分级告警
- 里程计轨迹记录
- 转向执行器滞后
- 刹车距离核算
- 换挡策略与闭环控制
- 牵引车挂车折刀判定
- 速度曲线规划
- 转弯扫掠校验
- RQT 插件
- 点云地图创建
- 定点停车
- ROS与Conda环境排错指南
- 打靶
-
Carla 交通标志识别(Windows 脚本) - 基于 YOLOv8 的实时感知与键盘控制
- 任务2: 模拟传感器数据源
- 任务3: 导航与路径规划模块
-
TurtleBot3 激光雷达自主避障(ROS 2) —— 订阅机载激光雷达,按扇区提取前/左/右最近距离,经三态状态机与势场法决策后发布 /cmd_vel,实现迷宫场景自主避障
- MuJoCo AEB自动紧急制动仿真
- MuJoCo 地面小车射线感知与分级减速避障
- MuJoCo 地面小车神经网络端到端避障
- MuJoCo 两轮自平衡小车
- MuJoCo 地面差速小车侧倾/翻车风险预测与主动限速
- MuJoCo 地面差速小车单侧驱动失效检测与差速补偿
- 2D 小车目标追踪仿真
- 基于神经网络的无人小车自适应跟车(ACC)
- 恶劣雨雾天气下多传感器感知性能对比实验
- 神经网络强化学习算法与网络结构对比(MuJoCo CartPole)
- 基于Mujoco的键盘遥控小车
- 地面载具横向控制算法对比(纯跟踪 / Stanley / LQR) —— 同一车辆模型与指标下定量比较三种横向控制器
- TurtleBot3 仿真自主导航与避障参数优化
- 地面无人车视觉 SLAM 建图与自主导航 —— 单目 RGB-D 做 EKF-SLAM 与占据栅格,A* 规划 + 纯追踪执行,并排训练端到端 CNN 做对照
- MuJoCo Locomotion 强化学习对比实验
- 图像录制 ROS 2 封装模块
- MuJoCo小车倒车入库仿真
- MuJoCo 侧方停车仿真
- MuJoCo 动态障碍局部避障仿真
- CARLA 停车场场景生成(附带不依赖 CARLA 的倒车入库规划器) —— 在 CARLA 里画 6 个车位,另提供一个纯 Python 的倒车入库轨迹规划器,4 条断言可直接跑回归
- MuJoCo 红绿灯启停小车仿真
- MuJoCo 小车跟车仿真
- 悬崖边缘紧急制动仿真 —— 用 MuJoCo 物理引擎与 ROS 三节点闭环实现车头测距触发的滞回紧急制动,附安全包络定量测试与坠落对照
- 航向 PID 参数自整定与手工试凑对比 —— 用继电器反馈法自动求 Ku/Tu 并筛选 PID 参数,与手工试凑同工况对比超调与调节时间
- 基于 Autoencoder 的雷达数据修复与避障 —— 离线训练自编码器去除传感器噪声,修复后数据送入阈值避障控制链路,展示传感器数据容错层与控制层解耦的设计
- 地面载具灯光自动控制
- 限速标志识别与神经网络限速控制 —— MuJoCo 仿真中车载相机采集限速标志,CNN 字符识别限速数值,闭环限速控制差速小车,附退化矩阵与多场景性能评价
- 轨迹/里程计精度评估(ATE/RPE)
-
基于 2D 激光雷达的蒙特卡洛定位(MCL) —— Gazebo 差速车 + 360 束激光,用纯 NumPy 手写粒子滤波(运动模型采样、似然场观测模型、低方差重采样),并用 MLP 学掉里程计运动残差;四组对比中位置误差从 0.345 m 降到 0.020 m
- 列车 ATO 自动运行与站台精确停车 —— 按线路限速与坡道生成目标速度曲线,站台停车误差 0.02~0.18 m(标尺 0.3 m),另有 ATP 超速监督与晚制动对照
- 多车协同编队(CARLA) —— Leader 沿参考轨迹领航,3 辆 follower 沿同轨迹保持恒定弧长间距跟进的一字纵队编队
- 多传感器融合跟踪(LiDAR+Radar+Camera+IMU)2D 合成仿真与离线验证 —— 外参标定 + 时间同步 + EKF 融合;2D 仿真提升约 32%,离线回放 30 s 融合 578 次、RMSE 0.053 m(均可复现;CARLA 为未验证的参考实现)
-
两轮自平衡机器人(倾角PD + 神经网络策略克隆) —— MuJoCo 两轮倒立摆,倾角 PD 站稳(20 s 最大倾角 0.96°),被推 2 N·s 后 3.22 s 回正,并用 MLP 克隆控制律
- 基于里程计反馈与 A* 算法的差速底盘静态全局路径规划 —— Gazebo 差速底盘在静态栅格上用 A* 规划全局路径,仅凭
/odom里程计做 30 Hz 纯追踪闭环,并用真值量化跟踪误差与里程计漂移 - 差速机器人里程计标定与神经网络滑移补偿(ROS 1 + MuJoCo) —— MuJoCo 物理仿真下的 catkin 包;两个解耦实验辨识路程/轮距系数,再用 MLP 学转向滑移的非线性补偿,方形路径终点误差 2.91 m → 1.94 m → 0.98 m
- 无动力被动行走(轮辐式 Rimless Wheel)
- 相机-激光雷达外参标定 —— 合成多姿态棋盘格场景,PnP 求 LiDAR→相机外参并与真值对比,附噪声与摆位次数敏感性实验
- 前视相机车道偏离预警(视觉横向偏移与地图真值对照) —— 用前视图像估计横向偏移,并与地图真值逐帧对照
- 差速 AGV 坡道起步辅助(防溜车) —— MuJoCo 12° 斜坡,四轮轮角保持 PD + 坡度前馈,松刹车 3 s 后溜 2.18 m 降到 0.008 m
- 地面移动底盘速度指令安全监督 —— 对
/cmd_vel做限幅、急停、超时与非法值拦截,无需仿真环境
5. 空域载具
-
多无人机空域监测(多边形禁飞区与机间冲突) —— 面向多机轨迹的电子围栏、最近接近距离和冲突解脱建议
-
无人机动态电子围栏预测预警 —— 针对移动临时禁飞区计算预测净空、最近接近时间和规避方向,并附 ROS 2 Humble 实跑证据
- AirSim ROS 1 Noetic PPO 联调
- AirSim Unity 无人机高度自适应越障实验 —— 深度图逐列恢复障碍顶边,矮墙原地爬升越过、高障碍退回水平绕行;57 项离线测试 + 2026-11-09 两次越障实飞(越障后保持 5.2 m、到点误差 <0.7 m;相机偏移修正后 committed 约 2.6 m,尚未复飞)
- 无人机深度相机神经网络避障飞行(MuJoCo) —— 64×64 机载深度图 → numpy CNN → 三扇区通行度 → 速度/偏航闭环,3 场景 × 5 实例共 15/15 成功
-
Fixed-wing SITL preflight: static configuration checks for PX4/ArduPilot fixed-wing SITL
- 无人机测距制动与神经控制
- 无人机载荷重心偏移与配平监测 —— 利用左右推力差、滚转修正和横摆响应估计横向重心偏移,输出配平和安全包线告警
- AirLib 传感器消息回归 —— 在 ROS 桥接前校验 IMU、GPS、LiDAR 和里程计数据契约
-
无人机 GPS 欺骗与定位完整性监测 —— 融合位置跳变、速度一致性和 IMU 差异,输出 GPS 可信、交叉检查或拒绝建议
-
UAV mission energy budget ? estimates energy, reserve and endurance for hover, climb and cruise segments
-
无人机电芯健康与不平衡预警 —— 根据单体电压差、温度、内阻和负载压降识别弱电芯,输出限载或就近降落建议
-
无人机火灾探测与自主巡检 —— HSV/ONNX 火焰检测配合有限状态机,支持弓字形、边界与螺旋三种巡检场景,发现火灾后自动悬停确认、盘旋取证并返航
- 无人机目标高度限幅、变化率约束与超时保持
- 无人机偏航指令最短路径与角速度限幅 —— 将偏航误差映射到
[-pi, pi),避免跨 180° 时绕远路,并限制Twist.angular.z -
无人机雷达DQN建图与端到端控制 —— 24 扇区雷达特征 + Dueling Double DQN 自主学习避障导航,gmapping 同步建图,图像端到端 DQN 控制
-
无人机激光雷达三维安全走廊与自适应高度避障 —— 基于 OpenHUTB 激光雷达点云选择安全高度,并完成世界系速度闭环飞行
-
无人机最小加加速度轨迹生成与跟踪 —— 生成分段五次轨迹(段内 jerk 连续),并与线性参考对比跟踪误差和加加速度峰值
-
无人机相机云台两轴稳定控制 —— 二维目标视线 PID 跟踪、角速度限幅和死区控制,附仿真指标与 CSV
-
无人机 IMU 与气压高度融合 —— 对比气压高度、加速度积分和一维卡尔曼融合,附高度响应图与误差指标
- 无人机与 ROS 的桥接模块
- 无人机 LiDAR 地面/障碍分割
- 无人机屋顶降落 —— 用机载 LiDAR 检测屋顶平面,取轮廓的最大内切圆圆心作为降落点,自主飞抵其上方后垂直降落
- 无人机屋顶降落(学习型落点选择) —— 用点云高度图 + 小 CNN 直接回归屋顶落点;凹形屋顶(U/L/天井)与稀疏点云下比凸包最大内切圆更稳,附三组消融对比
- 无人机降落过程监控(指令-运动一致性) —— 在线校验「速度指令 vs 实际高度变化」,抓“喊了不动 / 掉得没人管 / 超时没落地”这类静默故障,输出告警、状态 JSON 与 CSV 报告
- 移动平台(车/船)精准降落 —— 只吃一路带延迟的平台位置,在线估速度、预测相遇点,落点误差 0.03 m(追实测位置的朴素做法 0.48 m 且落不准),附四种制导策略的定量对照
-
基于深度强化学习的无人机最优路径查找(PPO/SAC) —— 把 DRL-drones 的 PyBullet 环境重构为 ROS 包:28 维观测 + 4 维机体系速度指令,训练用 Stable-Baselines3、部署用纯 NumPy,并与几何基线同场对比
-
基于 PPO 的无人机固定路线巡航 —— 沿给定闭合航线巡航,遇压在航线上的障碍时临时偏离绕行
- 基于 DQN 的无人机导航避障 —— 与 PPO 同环境同观测,仅替换为 DQN 离散动作算法,用于端到端模型/算法对比
- 城市动态交通下的无人机避障(PPO + DAgger) —— 用 CARLA 车流做动态障碍;规则专家示范 + 行为克隆 + DAgger,跨路成功率 48%±3.6%,高于贪心(39%)与速度障碍法(19%)
-
无人机ppo模块研究 —— 把键盘控制、PPO 导航、算法对比、航线巡航、动态交通五个实验合并到一页;各实验独立页面仍然保留
-
无人机视觉感知置信度退化保护 —— 综合检测置信度、预测熵、推理延迟和帧陈旧度,识别感知退化并输出保持或返航建议
-
无人机应急着陆点安全评估 —— 从坡度、粗糙度、障碍、人员风险和能量裕量中筛选安全落点,附 ROS 2 Humble 实际 launch 验证
-
基于串级PID的四旋翼航点定点悬停与抗风扰仿真 —— 纯 Python 6 自由度四旋翼刚体动力学仿真,位置-姿态-角速率串级 PID 闭环,含恒定风/阵风/湍流扰动,验证航点跟踪与定点悬停的抗风扰能力
-
无人机通信链路退化保护与断联风险预测 —— 融合 RSSI、延迟、丢包与遥测陈旧度,预测链路风险并输出降速、保持或返航建议
-
无人机执行器故障注入与控制退化观测 —— 在 MuJoCo 底座上插入可编程的桨故障(完全失效 / 推力衰减 / 卡死 / 渐进退化)与 IMU 故障,实测"单桨完全失效 0.64 s 必坠、把损失推力均摊给其余三桨也救不回来",为后续神经容错飞行模块提供数据与评测台
-
四旋翼吊挂负载防摆控制 —— MuJoCo 台架上对比 PD、ZV 输入整形与摆角反馈,残余摆角从 7.0° 降到 0.1°
-
无人机编队飞行 —— 长机按航点巡航、僚机保持队形(一字/纵队/三角可动态切换),三架共用一条 AirSim RPC,依次起飞、低空展开后进入任务
- 神经安全过滤器
-
无人机控制权限饱和与积分饱和监测 —— 对比期望与实际角速度、执行器饱和和电压下降,识别控制权限不足并输出机动限制建议
-
AP-CPP 主动感知覆盖路径规划 —— 基于 AirSim 的无人机主动感知覆盖路径规划,在 OverFOMO 自适应覆盖规划的基础上进一步决定「该去哪里看」
-
无人机航测任务规划(GSD/重叠度/WPML) —— 由相机参数和目标 GSD 反算航高、航带间距、拍照间距与航点,导出 CSV/KML/WPML
-
无人机航点任务飞行前校验 —— 检查 ENU 相对航点的高度、重复点、爬升角、转弯角、航程和保守 ETA,并输出 JSON 与 RViz 预览
-
AllocNet 四旋翼避障规划与键盘遥操作 —— 在学习型时间分配的避障轨迹规划基础上,补齐键盘航点下发、地图常驻转发与轨迹记录的人机交互层
-
单门深度视觉伺服(门中心回归) —— 12×16 深度图回归门中心,比例控制器输出 m/s 速度
-
无人机深度相机轨迹跟踪(CNN 行为克隆) —— 深度相机感知 + 给定圆轨迹跟踪,CNN 输出速度指令
-
AirSim 无人机抗风扰补偿(MLP) —— IMU 时序加位置误差进 MLP,直接输出 xy 补偿速度;侧风下平均偏移从 14.68 m 降到 3.42 m(-77%),验证 R² 0.997
6. 水域载具
感知
-
水下 ROV 海底管道往返巡检(视觉感知 + EKF-SLAM + 端到端) —— 140° 广角前视相机 + 逐列深度,色度编码应答器做 EKF-SLAM,级联控制沿管道偏置 0.9 m 完成 A→B→A 往返;四场景(直管/弯管/横流/浑水)× 五策略对比,含 CNN 感知与端到端策略消融
-
浑浊水体视觉增强与目标追踪(ROS 2,合成视频演示) —— 通道增益校正、白平衡、CLAHE 与暗通道去散射增强,KCF/CSRT/MOSSE 目标追踪,附合成浑浊水体演示节点
-
水面无人艇:激光雷达建图与神经网络局部规划 —— MuJoCo 三自由度船体,射线激光雷达 + log-odds 占据栅格建图,MLP 输出局部目标点实现自主避障,封装为 ROS Noetic 节点
规划
控制
-
水域载具示例(手柄 / 航点 / 深度航向指令) —— 多代理手柄控制、相机 HUD 与配置文件结构
-
水下 ROV 六自由度手操与抗流能力评测仿真 —— 用漂移率、各向异性比与操控权限利用率 η 量化手操品质,附三组对照实验
-
水下 ROV 声呐图像 CNN 目标分类(Gazebo 训练链路) —— Gazebo 采集图像、3 类 CNN 训练与 2 Hz 定时推理,权重与类别表随包安装
其他(环境、接口与容器)
-
HoloOcean Windows 本机环境搭建 —— 在 Windows 上用 Conda 安装 Python 客户端、下载场景包并跑通第一个仿真
-
WSL 跑通 HoloOcean2 的 ROS2 示例(无头模式) —— 无 GPU 环境下用
-nullrhi参数跑无头仿真 -
Docker 开发环境 —— 开发容器与工作空间挂载
-
HoloOcean ROS2 运行时容器 —— 用
build_container.sh构建运行时镜像
如果对文档中的任何问题可以在 本文档的源码仓库 中的 问题 页面讨论或者提交 拉取请求 直接修改文档。
7. 经典控制
- 倒立摆平衡小车 (cart-pole, LQR 最优控制) —— 用 LQR 让倒立摆从倾斜被拉回竖直保持不倒,演示 ROS 发布/订阅闭环与最优控制
参考文献
-
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). ↩