一. 环境配置
Ubuntu20.04 + ROS1 + OpenCV
ROS1配置参考:ROS的最简单安装——鱼香一键安装
OpenCV安装参考:1 超详细的ubuntu安装opencv
本文使用的OpenCV版本为4.10.0
二. 克隆工程
1. 配置 Git 的全局用户信息
git config --global user.name '余歌duck'
git config --global user.email '14552*****@qq.com'
“余歌duck”这个名字 和 “14552*****@qq.com”这个邮箱将用于所有的Git提交记录
2. SSH 配置
(1)生成 SSH 密钥对
ssh-keygen -t rsa
一直回车
(2)获取 SSH 公钥
cat ~/.ssh/id_rsa.pub
获取后复制内容
(3)在Gitee里添加公钥
Gitee -> 个人图标 -> 账号设置 -> SHH公钥 -> 把在ubuntu终端获取到的SHH公钥内容粘贴进去 -> 确定
3. 克隆工程
(1)在主目录创建一个工作空间并进入
mkdir -p ~/<工作空间>/src
cd ~/<工作空间>
这里创建一个名为 “rmVision” 的工作空间
(2)通过SSH协议克隆Git仓库到本地目录
git clone git@gitee.com:kehaunjack/rm-vision.git src
这里的例子为从 Gitee 上克隆一个名为 rm-vision
的 Git 仓库到本地的 src
目录
(3)编译工程
catkin_make
(4)激活工程
echo "source ~/rmVision/devel/setup.bash" >> ~/.bashrc
将 "source ~/rmVision/devel/setup.bash" 这条命令添加到 ~/.bashrc
文件中,以便在每次打开终端时自动执行该命令
三. 运行测试
1. 启动 ROS 系统
roscore
出现这个页面就说明启动成功
2. 启动 ROS 可视化工具 rviz
接下来打开一个新终端,并输入命令打开 rviz 可视化工具
rviz
3. 打开配置文件(.rviz)
.rviz
文件是 ROS 中 rviz
可视化工具的配置文件,可以帮助用户快速恢复到之前的可视化状态
4. 打开设备摄像头
由于本文的例子需要用到摄像头,这里使用笔记本自带的摄像头
首先需要连接本设备到 Ubuntu 里
然后要将虚拟机 USB 接口设置为 3.0 及以上(默认为 2.0)
接下来打开一个新终端,输入命令,启动 ROS 中的 USB 摄像头节点,使用第一个摄像头(默认索引为0)
rosrun camera usb_camera.py -i 0
此时设备摄像头已经开启
5. 运行程序
打开一个新终端,输入命令,运行程序
在 rviz 可视化工具中可以看到程序运行后自瞄的效果:
四. 可能会遇到的报错或其他问题
1. 运行程序时报错:
经过查资料,发现问题为 OpenCV 在Python 中没有 Mat 这个属性,修改如下:
# autoAim_module.py 中第 206 行
def loadImg(self, srcImg:cv2.Mat=None):
# 改为
def loadImg(self, srcImg=None):
2. 运行程序时报错2:
报错提示:在 cv2.line() 中 p1,p2 应该为元组,修改如下: