RM_Origin自瞄快速上手指南1.0
在实车部署前,请务必阅读视觉圣经,对自瞄有一个大概的印象,并且了解ros2相关命令
自瞄包中有很多的Readme,请务必完整阅读。
读Readme!!!
引言
本文用于华理Origin战队视觉组快速上手自瞄,并实车部署调参。
环境配置与程序安装
通过一件脚本安装ROS2Humble版本
wget http://fishros.com/install -O fishros && bash fishros
在NAS服务器上下载视觉组程序
Building from Source
Building
创建 ROS 工作空间后安装项目,使用 rosdep 安装依赖后编译代码
cd ros_ws/src
cd ..
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to auto_aim_bringup
Testing
Run the tests with
colcon test --packages-up-to auto_aim_bringup
启动
1.在虚拟机仿真环境下
ros2 launch rm_vision no_hardware.launch.py
同时,可以通过https://github.com/klintan/ros2_video_streamer/tree/master
来实现视频流文件代替相机输入,需要在detector节点里更改对应的话题
2.实车部署
ros2 launch rm_vision vision_bringup.launch.py
可能会遇到的问题
下载速度慢,rosdep安装失败
请通过一键脚本安装rosdepc
实车部署时串口报错。
我们未采用原版的串口程序,使用的是自己的魔改版本,需要通过python命令单独启动。
所以需要注释掉原版的串口节点
同时,请开启串口权限
sudo chmod 777 \\自行添加设备名称
调参大师篇
相机参数
相机内参矩阵
这里不对原理性东西做过多解释,感兴趣的可以自行了解。
相机内参矩阵会对自瞄的结算产生较大影响
1.使用前,务必标定相机,相机标定请通过ros2官方相机标定程序
详情参考https://zhuanlan.zhihu.com/p/384890854
曝光和增益
曝光和增益会影响画面亮度,从而影响装甲板图案的判断。同时也会影响识别的距离
增益一般情况下16拉满即可
曝光根据环境光照调整,曝光过低,画面过暗,看不清装甲板
曝光过高,会产生拖影,影响识别
适当增加曝光可以增加识别距离(待确认)
程序参数
程序参数中,比较关键的参数有,二值化阈值,EKF参数
二值化
二值化的阈值会影响过滤后的图案,二值化阈值过高,会导致在高速小陀螺时,输入观测器的图像帧数不够
导致观测器中的小陀螺鬼畜。
二值化阈值过低,会导致过滤画面不干净,需要处理的数据量变大,导致性能降低
EKF
Q值为过程噪声,越小系统越容易收敛,表示对模型预测的值信任度越高;但是太小则容易发散,
如果Q为零,那么我们只相信预测值;Q值越大表示对于预测的信任度就越低,
而对测量值的信任度就变高;如果Q值无穷大,那么则表示信任测量值。
如果设计时,出现头跟不上,或者射击时车已经远离(明显滞后),则可以考虑拉大Q值
R值为测量噪声。R太大,滤波的响应(此处响应特指对量测值的响应)会变慢,因为它对新测量的值的
信任度降低;越小系统收敛越快,但过小则容易出现震荡。
调试时可以先将Q从小往大调整,将R从大往小调整;先固定一个值去调整另外一个值,看收敛速度与波形输出
采用控制变量法。(若要看输出波形,请用foxglove,自行搜索)
其余参数
其余参数,在readme里写的非常清楚,都是字面意思,根据需要调整
其中部分参数RV原版没有提供更改的配置文件,需要在源码中更改,请善用全局搜索,去查询和更改。
给新人的建议
学会提问
遇到问题,请先通过搜索引擎查询,如若遇到无法解决的问题,再像群U提问。提问时,附上截图日志,
将你的问题清晰的表达出来
其次,尽量私聊提问。在大群中提问,效率十分低下。私聊一位看起来能解决问题的人,不要害羞,有礼貌的询问。
我两个半月速通自瞄,就是靠私聊轰炸无数的群U达成的
TBD…