Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
ec2a358
完成选题
explorer1009 Sep 28, 2025
beb314c
给代码添加注释
explorer1009 Oct 20, 2025
67db6f8
优化airsim控制代码
explorer1009 Oct 20, 2025
d6d3950
优化车辆控制代码提高可读性
explorer1009 Oct 27, 2025
c4e1cf1
Update hello_car.py
explorer1009 Oct 27, 2025
bd90afa
实现在pycharm和airsim的连接
explorer1009 Oct 27, 2025
e0e9c43
删除多余文件
explorer1009 Oct 27, 2025
5fdbb2d
1
explorer1009 Oct 27, 2025
947014b
按要求修改
explorer1009 Oct 28, 2025
18da3c7
按要求修改
explorer1009 Nov 2, 2025
23c53d8
Update README.md
explorer1009 Nov 2, 2025
33f272d
Resolve conflict: keep README.md
explorer1009 Nov 2, 2025
1409c65
实现无人机定点飞行
explorer1009 Nov 3, 2025
133caff
Merge branch 'main' into drone_233
explorer1009 Nov 3, 2025
ff2f144
配置setitngs文件打开激光雷达
explorer1009 Nov 17, 2025
51ab7f5
Merge branch 'drone_233' of https://github.com/explorer1009/nn233 int…
explorer1009 Nov 17, 2025
fefa493
激光雷达避障
explorer1009 Nov 24, 2025
c6240b5
更新settings文件
explorer1009 Nov 24, 2025
08ade55
Update README.md
explorer1009 Nov 24, 2025
97536c5
Merge branch 'main' into drone_233
explorer1009 Nov 24, 2025
25ad07b
规范readme文件
explorer1009 Nov 24, 2025
b0df2b9
Merge branch 'drone_233' of https://github.com/explorer1009/nn233 int…
explorer1009 Nov 24, 2025
78412a9
Update Radar_obstacle_avoidance.py
explorer1009 Nov 25, 2025
c4046e1
Merge branch 'main' into drone_233
explorer1009 Nov 25, 2025
547acdc
添加3D点云生成功能
explorer1009 Dec 1, 2025
334138e
Merge branch 'drone_233' of https://github.com/explorer1009/nn233 int…
explorer1009 Dec 1, 2025
d362e48
Update 3D_point_cloud.py
explorer1009 Dec 1, 2025
78e3f1d
Merge branch 'main' into drone_233
explorer1009 Dec 1, 2025
f6c9a01
点云坐标系修正
explorer1009 Dec 2, 2025
05428b6
Merge branch 'drone_233' of https://github.com/explorer1009/nn233 int…
explorer1009 Dec 2, 2025
7b02575
Merge branch 'main' into drone_233
explorer1009 Dec 2, 2025
000c3b7
通过激光雷达实现迷宫寻路
explorer1009 Dec 8, 2025
4ff5b83
Merge branch 'drone_233' of https://github.com/explorer1009/nn233 int…
explorer1009 Dec 8, 2025
ee00400
Merge branch 'main' into drone_233
explorer1009 Dec 8, 2025
394e9de
Update maze.py
explorer1009 Dec 8, 2025
85e5948
Merge branch 'drone_233' of https://github.com/explorer1009/nn233 int…
explorer1009 Dec 8, 2025
da0e96f
Merge branch 'main' into drone_233
explorer1009 Dec 8, 2025
bd0818a
Update README.md
explorer1009 Dec 9, 2025
5926a64
Merge branch 'drone_233' of https://github.com/explorer1009/nn233 int…
explorer1009 Dec 9, 2025
d0ffb7a
改进无人机寻路策略
explorer1009 Dec 15, 2025
a6e98a0
Merge branch 'main' into drone_233
explorer1009 Dec 15, 2025
eb731ee
Update README.md
explorer1009 Dec 15, 2025
d58bb2c
Merge branch 'drone_233' of https://github.com/explorer1009/nn233 int…
explorer1009 Dec 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 17 additions & 15 deletions src/airsim_control/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,21 @@ AirSim 无人机激光雷达系统:迷宫自主寻路与避障

[核心功能]

1. 智能迷宫寻路
- 直行优先策略:在多条路径可选时,优先保持直行,避免在老路中左右摇摆
- 死胡同记忆与封锁:利用 DFS (深度优先搜索) 思想,当检测到死路时,自动掉头并生成“虚拟墙(禁区)”,防止再次进入
- 出口诱导机制:当雷达检测到极远距离(>15米)的开阔地时,判定为出口并全速冲刺
- 机身坐标系控制:使用 Body Frame 控制飞行,彻底解决了无人机转向后方向感错乱的问题
1. 智能迷宫寻路 (DFS 深度优先)
侧路优先策略:打破常规直行逻辑,采用 DFS (深度优先搜索) 思想,在遇到新岔路口时优先转弯探索,确保遍历所有路径
死胡同记忆与回溯:当检测到死路时,自动倒车并生成“虚拟墙(禁区)”封锁该区域,随后掉头返回主路
精准转向与纠偏:摒弃时间控制转向,采用闭环检测精准对准路口;若转向后对准墙壁,自动执行横向平移 (Side-Step) 进行修正
机身坐标系控制:使用 Body Frame 控制飞行,结合“急刹-原地决策”逻辑,彻底解决路口冲过头的问题

2. 记忆与决策系统
- 栅格化记忆地图:将世界划分为 2米 x 2米的栅格,实时记录“去过的地方”。
- 射线检测评分:在路口决策时,向各个方向发射虚拟射线,检测路径是否为“新路”,优先探索未知区域
- 防抖动冷却:决策后强制执行一段距离,防止在路口反复纠结
栅格化记忆地图:将世界划分为 1.5米 x 1.5米的栅格,实时记录“去过的地方”。
射线检测评分:在路口决策时,向各个方向发射虚拟射线,检测路径深度与新旧程度,优先选择未探索区域
出口诱导机制:当雷达检测到极远距离(>15米)的开阔地时,判定为出口并全速冲刺

3. 基础飞行保障
- 紧急避险:配备物理反推刹车逻辑,在距离障碍物 <1.0米 时强制反向推力,防止惯性撞墙。
- 高度锁定:通过 PID 控制器将飞行高度严格限制在设定值(如 -1.5米)。
慢速精细操控:巡航速度降至 1.0m/s,配合高灵敏度刹车逻辑,适应狭窄迷宫环境。
高度硬限位 (Hard Clamp):在 PID 控制基础上增加垂直速度硬锁(限制在 ±0.8m/s),无论误差多大,强制防止无人机“飞天”或失控。
紧急避险:配备物理反推刹车逻辑,在距离障碍物 <1.0米 时强制反向推力,防止惯性撞墙。

[环境依赖]
在运行代码之前,请确保已安装以下 Python 库:
Expand Down Expand Up @@ -66,11 +67,12 @@ pip install airsim numpy keyboard
[可视化调试说明]
代码运行时,会在 AirSim 窗口中绘制彩色小球,代表无人机的“思维过程”:

- 绿色球体:新路 (New Path) - 未探索的区域,优先级最高。
- 蓝色方块:足迹 (Visited) - 已经走过的路径点。
- 红色球体:老路 (Old Path) - 探测到前方是走过的路,尽量避免。
- 黑色大球:死路/禁区 (Forbidden) - 已确认为死胡同,生成虚拟墙封锁。
- 黄色大球:出口 (Exit) - 检测到终点开阔地。
绿色球体:新路 (New Path) - 未探索的区域,优先级最高。
青色球体:岔路优先 (Priority) - 发现侧方新路口,强制优先探索。
蓝色方块:足迹 (Visited) - 已经走过的路径点。
红色球体:老路 (Old Path) - 探测到前方是走过的路,尽量避免。
黑色大球:死路/禁区 (Forbidden) - 已确认为死胡同,生成虚拟墙封锁。
黄色大球:出口 (Exit) - 检测到终点开阔地。

[手动操控 (辅助)]
虽然本系统设计为全自动运行,但在紧急情况下或使用手动模式代码时,可用以下按键:
Expand Down
Loading
Loading