【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

目录

前言

一、调试摄像头驱动

1.连接

2.安装摄像头驱动

3.测试

二、ROS工具调用摄像头

1.安装功能包

2.rqt工具显示

3.rviz工具显示

总结



前言

自己搭建的差速小车,想在树莓派4B上搭载CSI摄像头,下面是摄像头驱动配置以及rviz界面订阅/image话题,显示摄像头实时拍摄场景的操作。


一、调试摄像头驱动

1.连接

在连接摄像头和树莓派之间,一定要将树莓派断电!不然会使树莓派崩溃关机,甚至损坏。

在连接时,要注意不要装反,应该是有触点的一侧面向hdmi接口,参照下图所示的动图。

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

我买的摄像头是带支架的,将支架组装好后,将摄像头镜头的保护片撕下,然后将镜头后的双面胶撕下,粘在板子上。


2.安装摄像头驱动

因为树莓派装的系统是Ubuntu Mate20.04所以没法直接打开raspi-config对摄像头进行配置,需要进行一些操作。

下载raspi-config的deb包

$ wget http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20201108_all.deb

安装相关依赖包

$ sudo apt install lua5.1 libatopology2 libfftw3-single3 libsamplerate0 alsa-utils

安装deb包

$ sudo dpkg -i raspi-config_20201108_all.deb

挂载

$ df -h

正常应出现如下效果

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

然后输入:

$ mount /dev/mmcblk0p1 /boot

添加到用户群组(在usename处填自己的用户名)

$ sudo usermod -aG video usename

 打开raspi-config配置

$ sudo raspi-config

出现如下所示的图

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

用↑↓键选择3,按回车进入

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

选择P1 Camera按回车进入,这时系统问你要不要使能摄像头,按回车就可以

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

然后Crtl+C退出,下面安装V4l2工具包

$ sudo apt-get install v4l-utils

显示设备列表

$ v4l2-ctl --list-devices

正常应出现下图所示情况:

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头 

重启树莓派,检查是否连接上摄像头

$ vcgencmd get_camera

正常应出现:

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

 这说明我们已经连接上了摄像头,下面进行拍照测试


3.测试

 在某一文件夹下输入一下代码,如果拍照成功则会在命令行显示一系列的raspistill的操作命令提示,并且在当前文件夹下生成以张照片

$ raspistill -v -o test.jpg

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

 关于raspistill和raspivid命令的详细操作,可以参考这篇博客,不过这两个命令其实不太常用,我们一般都是要调用摄像头串口数据进行更进一步的操作,下面介绍ROS下rqt和rviz显示摄像头捕获实时画面。


二、ROS工具调用摄像头

1.安装功能包

进入工作空间的源目录,复制功能包

 $ git clone https://github.com/UbiquityRobotics/raspicam_node.git

然后回到上一级,编译并设置环境

$ cd ..
$ catkin_make
$ source devel/setup.bash

运行节点,打开摄像头

$ roslaunch usb_cam usb_cam-test.launch

可以输入rostopic list显示目前的话题列表,树莓派在通过串口像单片机传输摄像头数据时,可以发布图中的话题数据,这是压缩的像素数据,内存小收发比较快。 

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头


2.rqt工具显示

输入以下代码:

$ rqt_image_view

选择相应的话题显示画面

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

 成功看到画面

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头


3.rviz工具显示

输入以下命令打开rviz界面

$ rosrun rviz rviz

点击左下角Add添加image图像类型

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

展开image,选择需要订阅的话题

【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头

 成功显示实时图像【树莓派4B】测试Ubuntu Mate20.04搭载CSI摄像头


总结

最后说一下供电问题,在网上搜到树莓派4B有三种供电方式,为了排线方便,我本来想用第二种方式,用5V电池通过串口给树莓派供电,实际操作时我还怕把板子烧坏了,结果是供电电流不够...远程连接时卡的一批...一跑摄像头程序直接掉电关机了...在使用安卓充电线5V/2A供电时系统丝滑流畅,程序运行顺利。

上一篇:ROS 基础入门(九)ROS坐标系统管理系统


下一篇:ROS机器人操作系统查看机械臂当前位姿