# jiuyuan_algorithm **Repository Path**: deng-bowen-720/jiuyuan_algorithm ## Basic Information - **Project Name**: jiuyuan_algorithm - **Description**: No description available - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-24 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 无人机路径规划算法 多旋翼(Quadcopter)和固定翼(Fixed-Wing)无人机智能任务规划平台,支持 template.json 格式的原生任务解析、多机协同规划、障碍物融合与视觉轨迹输出。 ## 📋 项目结构 ``` jiuyuan_algorithm/ │ ├── Quadcopter/ # 多旋翼无人机规划模块 │ ├── beihang_quadcopter_mission_exe.py # 入口:解析 template.json、建图、多机规划 │ ├── multi_uav_planner_3D_waypoints.py # 核心规划器:3D 时空 A* 多机规划 + 区域覆盖 │ ├── area_coverage_planner.py # 区域覆盖规划子模块 │ ├── SpatialAstar3DExit.py # 底层 3D 时空 A* 搜索引擎 │ ├── request_map_generator.py # 地图生成器 │ ├── map_generator_fast.py # 快速地图生成 │ ├── coord_transform.py # 坐标系转换(经纬度 ↔ 本地 XY) │ └── mission_results/ # 规划结果输出目录 │ ├── FixedWing/ # 固定翼无人机规划模块 │ ├── beihang_fixedwing_mission_exe.py # 入口:template.json → 本地坐标规划 → CSV + 可视化 │ ├── SpaceAstarFixedWing_continuous.py # 核心规划器:连续空间 A*(分段爬升→水平巡航) │ ├── coord_transform.py # 坐标系转换 │ └── fixedwing_results/ # 规划结果输出目录 │ ├── template.json # 任务模板(JSON 格式) ├── LICENSE └── README.md # 本文档 ``` ## 🚀 快速开始 ### 环境配置 **依赖包:** ``` matplotlib >= 3.0 numpy >= 1.19 ``` **安装依赖:** ```bash pip install matplotlib numpy ``` ### 多旋翼规划(Quadcopter) #### 运行规划任务: ```bash cd Quadcopter python beihang_quadcopter_mission_exe.py ``` #### 支持的 `template.json` 条目: - `deviceType`: `"multi_rotor"` (仅处理多旋翼) - `routeType`: `"area"` 时,waypoints 作为巡航顶点进行区域覆盖规划;`"waypoint"` 时作为路由点 - `deviceModel`: 对应 `deviceModelParametersMap` 中的设备参数(vMaxHorizon、maxFlightTime) #### 关键参数配置: 在 `multi_uav_planner_3D_waypoints.py` 中设置: - `self.max_planning_speed`: 全局规划速度上限(m/s) - `self.max_patrol_speed`: 全局巡航速度上限(m/s) - 单机能力上限由 `deviceModelParametersMap.vMaxHorizon` 决定(单位:m/s) - 时间约束单位(分钟→秒)由 `deviceModelParametersMap.maxFlightTime` 转换 #### 输出: - `mission_results/UAV__trajectory.csv` - 飞行轨迹(经纬高,每行格式:Latitude,Longitude,Altitude) ### 固定翼规划(Fixed-Wing) #### 运行规划任务: ```bash cd FixedWing # 仅输出 CSV(无图) python beihang_fixedwing_mission_exe.py # 显示合并轨迹图(关闭窗口后保存 PNG) python beihang_fixedwing_mission_exe.py --plot ``` #### 支持的 `template.json` 条目: - `deviceType`: `"fixed_wing"`, `"fixed-wing"`, `"fixed_wing_uav"` 或 `"fixedwing"` - `startPoint` / `endPoint` / `waypoints`:经纬高坐标(自动转为本地 XY) - `deviceModel` + `deviceModelParametersMap.vMaxHorizon`:巡航速度 #### 规划特性: - **分段爬升→水平巡航策略**:前 30% 水平进度快速爬升(ln 曲线),剩余 70% 等高水平飞行,抑制高度抖动 - **多段规划**:自动拆分为多个点对,依次规划并拼接轨迹 - **局部坐标系**:以任务包围盒中心为原点,规划在本地 XY/Z 坐标系进行,最终转回经纬高 #### 输出: - `fixedwing_results/UAV__fixedwing_trajectory.csv` - 飞行轨迹(经纬高) - `fixedwing_results/all_uavs_local_trajectories.png` - 合并轨迹 3D 可视化(--plot 时) - 本地坐标系绘图(X、Y、Z 轴单位:米) - 彩色区分各 UAV,起点(圆●)、终点(三角▲)标记