- 2023赛季 2024赛季 FivePines战队 哨兵机器人 导航和决策程序
- 基于T265和2D激光雷达,使用T265作为视觉里程计。采用激光雷达配合视觉里程计、imu的方案,使用Cartographer算法建图,Amcl定位,Teb_local_palnner算法导航。几乎每份配置文件都有很详细的注释,快速上手。运动控制等都是基于很基础的move_base框架,使用ROS1和Ubuntu20.04。
- 下面是一些无关紧要的碎碎念。
- 由于一些谁都没想到的,不知道的不知道算主观还是客观的原因,RM生涯大概是到此为止了。快三年了,最终落得这么个结果,说不失望,不遗憾,甚至说不气愤,是不可能的,每次编辑这个README都很难受。
- 使用这套方案的主要原因是当时只有这些(看菜下饭属于是)。项目本身也是七拼八凑起来的。其实只是2023赛季屎山的完善和延续罢了。完善了一下上个赛季临场写的奇怪逻辑,乱七八糟的文件架构没有那么乱七八糟了一点。
- 其实,程序还是个半成品吧,一些整理、结构化的东西都没做好就传上来了。要是大佬看到这个程序,别笑话哈哈哈哈哈哈哈。也许适合一些新加入的队伍快速动起来,整个程序就是搭积木。文件简单整理了一下,可能还是有些乱,望见谅。
- 但是功能还是齐全的。该有的都有。看到这里的家人们,我只能说 2.7.3真的很重要。现在发现已经太迟了。
- 虽然很垃圾,但是哎,从头到尾都是自己亲手一点一点拼出来的。只能说,人生,又怎会没有遗憾呢。
- 学会放手。
- 仿真中没有使用双目摄像头作为里程计。仿真只用于测试参数可行性、运行流畅程度。
- mowen** 文件夹是其他比赛官方程序的小车,懒得做车了拿过来用了哈哈哈哈
- fp_sim 主要的程序文件。
- launch 主要启动文件。
- config 配置参数。
- script 包含腹死胎中的全向感知方案以及ipc重定位程序。原本的方案是做一个使用二级控制、多线程、低帧率的感知配合高帧率自瞄,可以在不改动自瞄和电控的情况下做全向感知,非常适合没人配合你但是又想做全向感知的时候。使用ipc重定位程序时注意pcl库版本问题。
- backup 上赛季的乱七八糟的备份
- world 可用的是
20245.world
文件,需要修改文件内STL路径。
- sensor_interface 传感器相关驱动,包括雷达和其他传感器程序。
- nav
- script 旧版本的串口通信和决策程序。
- config 包含各种配置文件。
- launch 请使用
f3_move_base.launch
进行导航。 - teb 导航参数配置文件。
- msg 自瞄通信格式文件。
- 决策过于简单,基本是看到对面车辆就打,可以按时间点去地图上某个点。
5.py版本中导航点发布存在问题,请改成使用多进程,将串口数据使用队列发给导航点决策进程。当前版本导航使用了阻塞,无法放到主函数内执行。或者将主函数while内导航点发布函数去除multi_decision.py中按照上述思路修正了该问题。- 由于和电控约定的是发送才会回我裁判系统消息,导致有些混乱。最好的方法是上位机直接读裁判系统之后使用ros发布裁判系统消息。
- 决策很多学校都做的很好。主要是跟裁判系统读取相关,可以做个类似专家系统的东西。(意思就是这个太拉了,要不是没时间我自己都看不下去)
mkdir -p work_space_name/src
cd work_space_name/src
git clone https://gitee.com/E_urus/RMUC24.git
cd ..
catkin build
source devel/setup.bash
启动仿真 目前使用省赛地图 里面也有区域赛地图
roslaunch fp_sim 2024runc_sim.launch
启动仿真导航
roslaunch fp_sim move2.launch
实体哨兵导航程序 请更改对应的激光雷达启动程序
roslaunch nav f3move_base.launch