# robocup_xtdrone **Repository Path**: ma_lan/robocup_xtdrone ## Basic Information - **Project Name**: robocup_xtdrone - **Description**: my robocup - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-11-08 - **Last Updated**: 2021-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # robocup_xtdrone #### 介绍 在200m×100m的仿真城市环境中,要求六架无人机尽快找到并跟踪所有散布在规定范围内的恐怖分子,并发送该人的定位信息,同时,当恐怖分子觉察到无人机正在追踪时,会变向逃离。定位信息需要以至少1Hz的频率在1m误差范围内持续发布15秒,若发送频率过低或定位误差太大则重新计时,且当成功完成追踪定位任务后,恐怖分子会从城市中消失以模拟此人被成功抓捕。当6名恐怖分子全部被抓捕后,认为该协同搜索任务完成。同时为了验证避障算法的可行性,要求无人机全程飞行高度不超过6米。定位信息的准确性和时间的测度由裁判系统完成。 #### 软件架构 1. 整体架构:路径搜索+拍卖算法+整体流程(test_auction) ![流程框图](https://gitee.com/ma_lan/robocup_xtdrone/blob/master/note/flow_chart1.png) #### 安装教程 1. 环境配置 - 笔记本环境:安装ubuntu18.04,参考[类似网页](https://blog.csdn.net/baidu_36602427/article/details/86548203) - XTDrone仿真平台配置,参考[官方手册](https://www.yuque.com/xtdrone/manual_cn/basic_config_1.11) 2. 比赛仿真环境:[官方已给](https://www.yuque.com/xtdrone/manual_cn/robocup) 3. 本项目流程 3.1 循迹,见 note/2020中国机器人大赛仿真组代码解析2.docx 识别到多个目标的任务分配算法-拍卖算法,见 note/2020中国机器人大赛仿真组代码解析2.docx 3.2 目标识别网络训练 3.2.1 训练网络参数的命令语句和网络架构,** [按照要求安装好配置](https://github.com/AlexeyAB/darknet#requirements-for-windows-linux-and-macos)** > https://github.com/AlexeyAB/darknet 3.2.2 训练样本制作 > https://www.yuque.com/xtdrone/manual_cn/target_detection_tracking 3.2.3 训练结果评价 > https://github.com/AlexeyAB/darknet#when-should-i-stop-training 3.3 目标跟踪算法 > https://kdocs.cn/l/scpdIoiO3Ka1?f=111 #数学理论 > cd ~/XTDrone/control python yolo_human_tracking.py #代码 3.4 目标定位 见本项目中 script/vehicle_annouce_all_ml_hxy11_13.py 中 calcutale_distance() 3.5 避障算法 本项目中 script/Openlist_py2.py 用于生成障碍物序列 存于obstacle.txt 本项目中 script/ObstacleAvoid.py 依据障碍物 计算出下一刻避障的位置和速度 #### 使用说明 下载编译后, > source ~/worspace/devel/setup.bash > source ~/.bashrc 1. > python Openlist_py2.py #生成障碍物序列,用于避障算法 2. > roslaunch px4 robocup.launch #加载仿真环境 3. > cd ~/XTDrone/communication #建立通信 > bash multi_vehicle.sh 4. > bash start.sh # 启动云台控制算法、搜索算法、识别算法 #### 参与贡献