Gazebo · Obstacle world
01
02
物理世界就绪
静态障碍具有不同高度、姿态和通行间隙;Gazebo 同时运行 x500、IMU 和 3D LiDAR。
PX4 SITL · GAZEBO · ROS 2 JAZZY
Gazebo 提供物理世界与 3D LiDAR,DLIO 估计运动,OctoMap 建图,MRS 3D A* 规划,PX4 OFFBOARD 执行。 本仓库提供启动编排、组件连接、路径检查和结果保存;算法由上游开源项目提供。
RViz · LiDAR / OctoMap / Planned path
四个场景展示同一条主线:Gazebo 生成传感器数据,RViz 显示在线 OctoMap 与三维路径,PX4 执行路径并在目标点落地。
Gazebo · Obstacle world
01
02
静态障碍具有不同高度、姿态和通行间隙;Gazebo 同时运行 x500、IMU 和 3D LiDAR。
RViz · LiDAR + OctoMap
01
02
彩虹色表达高度;方块是 OctoMap 占据体素。规划器读取的是同一份在线地图,而不是离线示意图。
RViz · MRS 3D A* route
A
B
P
MRS MinimalOctomapPlanner 生成 8 点完整路径,横向绕行 3.111 m。路径通过完整性与净距检查后,由 PX4 OFFBOARD 执行。
Gazebo · Goal B
L
目标误差 0.040 m;任务切换到 AUTO.LAND,最终事件为 landed_disarmed。
项目代码位于组件边界,只负责数据路由、目标接收、路径检查、航点平滑和结果保存;定位、地图、规划与飞控继续使用上游开源实现。
SITL 飞控、动力学、IMU 与 3D LiDAR。
激光惯性里程计输出 pose、velocity 与 yaw。
PX4 融合外部位置、机体系速度与航向。
将 pose + cloud 转为 0.4 m 三维占据地图。
MinimalOctomapPlanner 生成完整绕障路径。
拒绝不完整路径、越界点和净距不足路径。
平滑航点、到达确认、AUTO.LAND。
启动前检查系统、架构、主机命令、版本、资源、图形显示、runtime 文件和固定源码 commit。检查过程不会修改代理、DNS、软件源或虚拟机设置。
x86_64参考环境检查输出:
$ ./scripts/check_environment.sh --run宿主机依赖清单位于安装文档。项目脚本负责检查、下载固定输入、构建和核验;安装完成后使用 ./demo.sh 启动。
PX4、DLIO、MAVROS、Ubuntu rootfs 与补丁均有 commit 或 SHA-256 锁;ROS/Gazebo apt 实际版本写入 manifest。默认安装和运行不依赖仓库外的工程目录。
查看完整环境、网络要求和故障定位说明 →# Ubuntu 24.04 Desktop / x86_64 git clone https://github.com/albert17github/PX4-3D-LiDAR-Nav-Demo.git cd PX4-3D-LiDAR-Nav-Demo ./scripts/check_environment.sh --setup ./setup.sh ./demo.sh --interactive
输出例如 setup stage 4/6 failed,不把多个下载或构建错误混在一起。
每个阶段保存到 runtime/logs/,上游 apt、curl、git 原始错误保持可见。
脚本不自动切换镜像、DNS 或代理,也不绕过非推荐系统;问题处理完成后可继续复用已完成步骤。
参考环境从冷启动到 ready 用时 248 秒;MRS 规划器生成完整路径,PX4 执行全部航点并在 B 点自动降落。
MRS MinimalOctomapPlanner 返回完整路径;PX4/DLIO/MAVROS/OctoMap 保持同一在线会话。任务事件末尾是 goal_B_reached → AUTO.LAND → landed_disarmed。