# UAV **Repository Path**: shitpile/uav ## Basic Information - **Project Name**: UAV - **Description**: 飞行器智能任务规划理论大作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-16 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UAV任务规划(多无人机配送仿真 + 路径规划) 本项目用于在“5km×5km 服务区域、站点在中心、商家位置给定、订单随机产生、无人机续航随重量线性变化”等约束下,做多无人机配送的**仿真与(逐步增强的)路径规划/调度**。 ## 场景与默认参数(可在命令行覆盖) - 服务区域:边长 5000m 的正方形,中心为站点 `(0,0)` - 顾客位置:在区域内均匀随机生成;对其下单商家有 150m 禁入半径 - 订单:在给定时间窗内均匀随机到达(本实现:先生成到达时间序列) - 备货:订单创建后 10 分钟才可装载 - 无人机: - 空重 15kg;最大载重 5kg;满载总重 20kg - 满载航程 10km;空载航程 20km;续航随重量线性变化 - 速度 10m/s - 每段飞行(从一个点到下一个点)额外消耗等效 500m 航程(起降损耗的保守近似,可配置) - 每次出航耗尽电量后回站换电(换电时间忽略) - 单次最多 10 份货物(默认每单 0.5kg,可配置) ## 运行 1) 安装依赖: ```bash pip install -r requirements.txt ``` 2) 生成示例商家文件并运行一次仿真: ```bash python main.py demo --seed 1 --merchants 8 --drones 12 --out out ``` 3) 使用自定义商家坐标(CSV)运行: ```bash python main.py run --merchants-file data/merchants.csv --orders 200 --minutes 120 --drones 12 --seed 42 --out out ``` ## 运行测试 ```bash python -m unittest discover -s tests -p "test_*.py" -v ``` ## 输出 - 终端:汇总统计(送达率、总航程、平均等待、无人机利用率、末尾积压等) - 输出目录:每次运行会在 `--out` 下自动创建一个新子文件夹 - 图形: - `地图.png`(站点/商家/顾客散点 + 无人机路径,按无人机颜色区分) - `无人机利用率.png` - `动态过程.gif`(从开始到结尾的二维动态过程) ## 迭代路线(后续会逐步增强) - 当前:按“单商家批量 + 顾客近邻路径”做基线调度 - 后续: - 多商家装载(milk-run) - 更强的路径规划(VRP 变体:容量/时间窗/能量约束) - 自动估算最小无人机数量以稳定系统(不闲置且不积压)