【发布时间】:2020-06-27 01:21:44
【问题描述】:
我想安装 OV7251 摄像头驱动程序以使用我最近购买的模块 Arducam OV7251 MIPI,因为我需要执行称为虚拟惯性导航 (VIN) 的类似 SLAM 的系统,并且全局快门摄像头是首选这个。就我的系统而言,我在运行 Ubuntu 16.04 的 RPI-3B+ 上使用 ROS Kinetic。我正在使用这款相机,因为它接近我的价格点(
我想使用这台相机并将其数据发布到一个主题,这样我用于 VIN 的存储库OpenVINS 就可以跟踪相机的位置。现在,我正在使用的相机除了制造商的 github 页面之外没有太多内容,该页面在 Ubuntu 上不起作用,并且无法连接到 ROS。现在,我对 RPI(包括 ROS)相当缺乏经验,因为我最初想在 Arduino 上执行此操作,但这主要是不可能的,所以我怀疑我能否编写一个简单的 ROS 节点,更不用说与CSI 端口。
目前,我无法为此找到许多库,而且事实证明,给予我的帮助并不重要。相机本身没有 RPI 支持的驱动程序,这就是为什么我找不到任何 /dev/video 库,cheese 什么都没有出现,并且命令 $ Vcgencmd get_camera 没有返回检测到的设备。有人建议进行内核黑客攻击,以便使用 here 之类的库来启用 menuconfig 中的模块。虽然我对内核黑客不太了解,但他建议我遵循this 指南,在运行 defconfig 行后,我应该在 menuconfig 中搜索“OV7251”并将唯一弹出的模块化。尽管多次闪烁并重复此过程以确保我没有选择错误的分支、rpi-5.4.y 分支或错误的型号 RPI-3B+,但每次重新启动后,我最终都卡在了彩虹屏幕上.我知道彩虹屏幕要么意味着低功耗,这不是因为我之前运行过它,要么是内核错误,这很可能是有意义的。
现在,虽然我非常想修复彩虹屏错误,但我也想知道,在安装了 OV7251 驱动程序后,如何让它与 ROS 一起工作以将数据发送到主题?由于我怀疑我是否可以编写自己的节点,是否有一个库可以让我执行此操作,或者以前由于缺少驱动程序而无法工作的库现在是否突然可以工作,或者我是否必须采用现有的一个并且修改它?在任何情况下,一个更底层的教程来完成这个会很方便,因为我是新手。
但是,如果这不是软件,并且不支持这个相机的原因是有充分的理由的,有没有其他便宜的全局快门相机我可以使用?在我的各种搜索中,我似乎找不到很多,但也许你们在这个领域都有更好的运气/经验。虽然,我确实设法找到了同一家制造商的another 库,它恰好支持我的相机型号,甚至还有一个适用于 ubuntu 的 ROS 节点。但是,我相信如果可以做到这一点,那么只需 CSI 端口就可以做到这一点,而不是为 pi 购买额外的 40 美元 USB 摄像头帽,与此同时,我开始怀疑这家公司的有效性存储库。
但事实上,我在 RPI 的 CSI 端口上发现的关于这台相机主题的信息很少,这家公司有多出名,这让我害怕它可能是不可能的,如果是的话,请给我一些其他的好东西并希望有记录良好的相机,这很可能需要很多。如果用我设置的参数根本不可能得到我想要的结果,那么卷帘快门相机会对 VIN 的性能产生多大的影响,此外,是否有任何专门为卷帘快门设计的数据集可以最大限度地减少质量下降?这个地形对我来说太陌生了。
【问题讨论】:
-
我认为你需要尝试使用最新的内核来启用这个摄像头(不过我不知道,如果 CSI-2 端口和相应的 IP 在上游有驱动程序,传感器有:elixir.bootlin.com/linux/latest/source/drivers/media/i2c/…)
标签: linux ubuntu linux-kernel raspberry-pi camera