君佬rm_vision装甲板自瞄项目移植部署(视觉部分)(逐曦战队算法组实战教程2)
ROS机器人操作系统(Robot Operating System)作为快速搭建机器人的一大利器,在机器人行业的开发中被广泛使用。ROS2作为第二代机器人操作系统,继承了ROS强大的生态,采用了全新的架构设计,使得ROS2满足现代机器人系统的实时性、安全性、标准性、可靠性等要求。在未来,机器人将走进我们的生活之中,掌握机器人技术将成为每一个技术人员的必修课。ROS2部分的内容基于小鱼的教程完成,以
一、项目介绍
(一)介绍
装甲板的识别与自瞄算法主要应用于哨兵和步兵在赛场上的击打。本文旨在部署使用业内大佬 chenjunnn (Chen Jun) · GitHub 开源的自瞄项目rm_vision · GitLab ,不对代码及项目架构进行解释。鼓励大家先自行查看理解学习该项目,借此对实际项目开发与应用有一定了解,为作为正式队员入队打下扎实基础。后续可能会更新为选择优化此项目为方向的队员做项目讲解。
(二)所需配置
- 本教程适用于Ubuntu22.04系统,队员可自行用虚拟机尝试,也可找我登记领取nuc实践。系统安装和使用自行学习不做赘述。
- 项目使用海康cs016相机,官网有相机用户手册,可自行查看学习。海康机器人-机器视觉-产品详情 (hikrobotics.com)需要下载Linux版本MVS驱动使用。海康机器人-机器视觉-下载中心 (hikrobotics.com)项目运行时须连接相机。
- 该项目可应用在Unity建模仿真中无硬件运行测试。逐曦算法组此前运行时采用Windows安装linux,较为复杂,本文不做介绍,可自行参考以下开源尝试。GitHub - SiChiTong/rm_vision_simulator: 基于 Unity 实现的 rm_vision 项目视觉仿真环境
二、ROS2安装与简单使用
(一)ROS2简介
ROS机器人操作系统(Robot Operating System)作为快速搭建机器人的一大利器,在机器人行业的开发中被广泛使用。ROS2作为第二代机器人操作系统,继承了ROS强大的生态,采用了全新的架构设计,使得ROS2满足现代机器人系统的实时性、安全性、标准性、可靠性等要求。
在未来,机器人将走进我们的生活之中,掌握机器人技术将成为每一个技术人员的必修课。
ROS2部分的内容基于小鱼的教程完成,以下是小鱼的文档,可以跟着学ROS2的更多内容。
(二)ROS2安装
直接上小鱼的一键安装,ctrl+alt+t打开终端,运行如下指令。
wget http://fishros.com/install -O fishros && . fishros
输入密码,在选项界面选择1-一键安装ROS,选择是否更换系统源,选择要安装的ROS2版本,这里选择humble版本的ROS2即可。
这里安装的时候认真看一下小鱼的提示文案,rosdesp也要安,剩下的看自己需求安。
还需要安装驱动库serial,命令如下,参考文章http://t.csdnimg.cn/Fey4I
git clone git://github.com/ZhaoXiangBox/serial.git
cd serial
sudo make install
后来试了一下发现小鱼的一键安装还缺相机包 ,在工作空间运行指令
sudo apt-get install ros-humble-image-transport-plugins
还缺一个图像传输的包,在工作空间运行指令
sudo apt-get install ros-humble-image-transport-plugins
三、rm_vision项目部署
(一)项目准备工作
创建工作空间
mkdir -p ~/ros_ws/src
将项目介绍中的整个项目克隆至src目录下
可以先不下载图案分类/Unity仿真模块,即在src目录下输以下指令下载。
git clone https://gitlab.com/rm_vision/rm_vision.git \\主项目
git clone https://gitlab.com/rm_vision/ros2-hik-camera.git \\相机驱动
git clone https://gitlab.com/rm_vision/rm_auto_aim.git \\自瞄
git clone https://gitlab.com/rm_vision/rm_serial_driver.git \\串口通信
git clone https://gitlab.com/rm_vision/rm_gimbal_description.git \\URDF模型
下载可视化brige
sudo apt install ros-humble-foxglove-bridge
编译项目
安装依赖
rosdep install --from-paths src --ignore-src -r -y
编译
colcon build --symlink-install
(二)可视化准备工作
本项目使用foxglove完成可视化工作,可直接使用网页版(有些卡)Foxglove
建议在官网下载客户端使用Download - Foxglove
具体操作即使用方法可以参考古月居的文章ROS2可视化利器---Foxglove Studio - 古月居 (guyuehome.com)学习,本文下一步只着眼于如何在本项目中使用。
四、rm_vision项目运行
ROS2运行
- 打开串口(开启串口最高权限,chmod 777指令为权限设置,/后为接入的串行设备)
*执行这步需要有电控端接入,自行尝试视觉部分请跳过这步
sudo chmod 777 \\自行添加设备名称
(可使用以下指令查看计算机上的串行设备名称)
ls /dev/tty*
- 加载所需环境变量和设置
cd ros_ws \\进入创建的工作空间
source install/setup.bash
- ROS2运行项目
ros2 launch rm_vision_bringup vision_bringup.launch.py
可视化运行
打开一个新的终端,启动foxglove_bridge
source install/setup.bash
ros2 launch foxglove_bridge foxglove_bridge_launch.xml port:=8765
打开上一步所述网页/客户端,点击“打开连接”,在输入框输入“ws://localhost:8765”,点击“open”。
即可进入可视化进程,观看识别追踪等效果。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)