- control. 根据策略选择 launch 文件, 如果想要查找段错误, 使用 rosrun
- odom.
- navigation. 必须等 odom 的数据稳定之后才能开启, 注意看规划的路径对不对
- realsense. 如果杀掉本程序, 需要重新插拔 realsense
- infrared_detection.
- vision.
- predict. infrared_detection 成功开启之后再开启本程序
- 检查各个设备是否在线 (ls /dev), 如果有不在线的设备, 使用 U 盘插拔
- 检查两台机器人是否连接上 (socket 通信是否正常工作)
- 校准 yaw 轴
- 使用的 launch 文件是否正确
- 远距离检测, 只能检测到车身, 不能检测到装甲板和轮子
- 近距离检测, 只能检测到装甲板和轮子, 检测不到车身
- 目标位于红外图像边缘的时候, 无法根据颜色判定目标是敌是友, 需要结合队友位置进一步判断
- 重新测试 realsense 检测
- 添加一个"未识别"类别
- 多机数据集和稳定性测试
- 根据不同的策略,选择到达的终点坐标。
中点: 3-34; 4.0, 2.5 GO_CENTER_S=1 +34 一车打中点: 3-7; 2.6, 3.15 GO_CENTER_S=1
一车打中点(角落): 3-13; 4.00,3.8 GO_CENTER_S=1 +13 二车打中点: 9-8; 2.6, 2.1 GO_CENTER_S=1 进攻点(敌方区域):9-8-28;4.7,1.8 GO_CENTER_S=0 +28 - 注意,修改完go_center后,需要修改robo_navigation_node.cpp中get_vel函数中的420行和427行中*path[0]==的序号为终点。
- 其次,设置的目标点的方向都是0度,因此,对于 point 13需要在control函数中返回true后立马转到对应的角度才行。
- 之后,要到的位置需要给对应点的坐标和转角才行:
(1) 对于跟踪瞄准敌方车辆,同时给角度和x,y。
(2) 对于长距离到达某一个固定点,需要分两步进行,第一步给0度角和x,y值;第二步给到达目标点的x,y和yaw值。
- 串口 ->
- PX4 ->
- 激光雷达 ->
- 云台相机 ->
- 鱼眼相机 1 ->
- 鱼眼相机 2 ->
- realsense ->
DEATH_AREA = 10 -> 旋转打击死区角度
SWITCH_FORWARD_BACKWARD_DIS = 0.6 -> 前进后退的切换距离 MIN_TRACK_ENEMY_DIS = 0.7 -> 小于这个距离的导航点过滤 (DISTANCE = 1000) MAX_TRACK_ENEMY_DIS = 3.0 -> 大于这个距离的导航点过滤 (DISTANCE = 1000)
ARMOR_MAX_LOST_NUM = 150 -> armor 最大丢帧数量 ARMOR_AROUND_MAX_LOST_NUM = 150 -> armor 最大丢帧数量 (切换转头) REALSENSE_AROUND_MAX_LOST_NUM = 150 -> realsense 最大丢帧数量 (切换转头)
LOW_SHOT_SPEED_DISTANCE = 2.0 -> 低速射击最小距离 HIGH_SHOT_SPEED_DISTANCE = 1.5 -> 高速射击最大距离
ARMOR_LOST_PITCH = 5.0 -> armor 丢帧的时候, pitch 给的角度
测试用文件. 最贱策略, 见到敌人跟踪打击, 没有看到敌人回到蹲守的地方蹲守
假设: 敌人 1 车开局抢占中点, 2 车站在敌方区域防守 应对: 全力攻击抢中点的车, 打死敌人或者敌人拿到 buff 之后回家蹲守
假设: 敌人 1 车开局抢占中点, 2 车站跑到我方区域 应对: 全力攻击抢中点的车, 打死敌人或者敌人拿到 buff 之后回家蹲守 (不管非抢中点的车, 与策略 2 站位不同)
假设: 敌人 1, 2 车不抢中点, 全部过来攻击我们 应对: 攻击距离自己最近的车, 队友死亡或者敌方死亡之后回家蹲守
假设: 我方抢中点的速度快于敌方, 我们要抢中点 应对: 1 车抢中点, 2 车在我方区域进行辅助攻击, 抢到中点之后跟随敌人进行攻击, 直到视野里面没有敌军, 然后回到中点附近蹲守, 不回家蹲守
假设: 我方抢中点的速度快于敌方, 我们要抢中点 应对: 1 车抢中点, 2 车在敌方区域进行辅助攻击, 抢到中点之后跟随敌人进行攻击, 直到视野里面没有敌军, 然后回到中点附近蹲守, 不回家蹲守
假设: 我方抢中点的速度快于敌方, 我们要抢中点 应对: 1, 2 车都不抢中点, 开场直接跑到敌方区域进行攻击, 直到视野里面没有敌军, 然后回到中点附近蹲守, 不回家蹲守
假设: 全攻击模式 应对: 1, 2 车都不抢中点, 开场直接跑到敌方区域进行攻击, 直到视野里面没有敌军, 敌军消失之后, 进行巡图, 看到敌人就去打敌人
假设: 全防御模式(基本不可能会用到) 应对: 基本原则: 看到敌人就跑, 直到视野里面没有任何敌人