# shiyuan_anti_drone **Repository Path**: deng-bowen-720/shiyuan_anti_drone ## Basic Information - **Project Name**: shiyuan_anti_drone - **Description**: 4573十院反无比赛2025 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-23 - **Last Updated**: 2025-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # shiyuan_anti_drone #### 目录结构 scripts/ ├── 反无挑战赛/ # 数据生成相关工具 │ └── data_maker.py # 目标轨迹数据生成脚本 ├── auction_python/ # 拍卖算法核心模块 │ ├── Auction_Alg.py # 分配算法 │ ├── test_main.py # 算法测试脚本 │ └── bid_functions/ # 拍卖算法子模块 │ ├── InterceptionPro.py # 拦截概率计算 │ ├── bid.py # 出价函数 │ ├── bidding.py # 竞拍逻辑 │ └── auction.py # 拍卖主流程 ├── task_assigner.py # 任务分配ROS节点(动态更新目标分配) ├── uav_anti_control.py # 我方打击无人机控制节点 ├── uav_target_control.py# 敌方目标无人机控制节点 #### 软件架构 1、多机控制 我方无人机(uav_anti_control.py):接收目标分配结果,执行起飞、追踪、打击等动作。 敌方无人机(uav_target_control.py):加载预设轨迹(如data/目录下的轨迹文件),模拟目标运动。 2、动态目标分配 核心节点:task_assigner.py,订阅所有无人机的位置、姿态信息,调用拍卖算法实时计算最优分配方案。 分配逻辑:基于无人机与目标的相对位置、速度、拦截概率等,通过拍卖算法最大化整体打击效能。 3、拍卖算法 通过计算拦截概率(InterceptionPro.py)、出价(bid.py)、竞拍(bidding.py)实现目标最优匹配。 #### 使用说明 1、在xgc中导入2v2.xconfig载入仿真 2、启动敌方多机节点: roslaunch uav_test uav_target_multi.launch 3、启动我方多机及分配节点: roslaunch uav_test uav_anti_multi.launch 在xgc中点击MISSION算法敌方多机沿预设轨迹飞行,点击ATTACK算法我方多机开始打击(目前在平面进行,所有无人机会飞到预设高度)。 4、可通过 launch 文件或 ROS 参数服务器调整以下核心参数: 无人机 ID:our_uav_ids(我方)、enemy_uav_ids(敌方),默认 2v2 场景为[1,4]和[2,3]。 预设高度:pre_defined_altitude(我方),takeoff_alt(敌方) 分配频率:update_rate(task_assigner.py参数),默认 1Hz。 物理参数:探测范围(detection_range)、无人机速度(our_speed/enemy_speed)等,影响拍卖算法的出价逻辑。