Linux 在RPI-3B和x2B中安装OV7251驱动程序;与ROS一起使用

Linux 在RPI-3B和x2B中安装OV7251驱动程序;与ROS一起使用,linux,ubuntu,linux-kernel,raspberry-pi,camera,Linux,Ubuntu,Linux Kernel,Raspberry Pi,Camera,我想安装OV7251摄像头驱动程序,与我最近购买的模块一起工作,因为我需要执行称为虚拟惯性导航(VIN)的类似SLAM的系统,因此首选全局快门摄像头。就我的系统而言,我正在运行Ubuntu 16.04的RPI-3B+上使用ROS动能。我正在使用这款相机,因为它接近我的价位(Ok,所以我请了一位rpi工程师在rpi的固件中为ov7251添加一个dtoverlay,最近的rpi更新在内核中有这个overlay 我做了sudo rpi update来安装更新,然后我将dtoverlay=ov7251添

我想安装OV7251摄像头驱动程序,与我最近购买的模块一起工作,因为我需要执行称为虚拟惯性导航(VIN)的类似SLAM的系统,因此首选全局快门摄像头。就我的系统而言,我正在运行Ubuntu 16.04的RPI-3B+上使用ROS动能。我正在使用这款相机,因为它接近我的价位(Ok,所以我请了一位rpi工程师在rpi的固件中为ov7251添加一个dtoverlay,最近的rpi更新在内核中有这个overlay

我做了
sudo rpi update
来安装更新,然后我将
dtoverlay=ov7251
添加到/boot/config.txt以启用覆盖,并通过运行
sudo nano/boot/config.txt
对其进行编辑。存储库只有一个依赖项,
v4l-utils
,通过运行
sudo ap可以很容易地安装它t-get安装v4l utils
。最后我运行了
sudo reboot
来初始化更改

为了将图像拉入ROS,我编辑了一个名为
usb\u cam
的v4l2节点,以接受ov7251相机使用的像素格式(Y10)。可以找到我的fork。为了安装它,(因为原始repo的文档在安装时很少提及),我运行:

然后在那之后,你所要做的就是
roslaunch usb\u cam usb\u cam-test.launch
启动节点。我的节点开始变暗,所以我不得不进入启动文件,在亮度上乱动一下。在那里,确保
pixel\u format
参数的值为
Y10

您应该会收到一条sensor\u msgs::Image消息,该消息将发布到名为“/Image\u raw”的主题中,你可以运行
rqt_图来可视化它。非常感谢在raspberry pi论坛上的6by9,不要以为没有他我就可以完成它,他做了很多我非常感谢的工作。我想我会在这里分享这些知识,以防有人觉得有用

编辑:我听说如果节点占用太多CPU,你也可以用
catkin\u make--pkg usb\u cam-DCMAKE\u BUILD\u TYPE=Release
而不是
catkin\u make
进行编译。此外,如果你在编译时看到大量错误消息,这很好,它仍然可以工作,但如果你想摆脱它们,你可以参考ros线程的答案:

看起来你需要安装libavcodec。我不知道确切的安装方法 命令将其安装在我的头顶上,但格式看起来 像这样:

sudo apt get安装libavcodec

确切的包名可能不正确 libavcodec。它可能看起来像libavcodec版本号或 libavcodec-dev。在这些情况下,您可以使用 命令如下:

apt缓存搜索libavcodec

这将查找所有包含文本的包 包含“libavcodec”。这应该为您找到正确的包 安装


我认为您需要尝试使用最新的内核来启用这个摄像头(不过我不知道,如果CSI-2端口和相应的IP在上游有一个驱动程序,那么传感器有:)
cd ~/catkin_ws/src
git clone https://github.com/ai-are-better-than-humans/usb_cam.git
cd ..
catkin_make