Tam*_*nut 5 graphics robotics opencv computer-vision
我将开始研究一个机器人项目,该项目涉及一个移动机器人,它安装了2个相机(1.3 MP),固定在0.5米之间.我也有一些超声波传感器,但它们只有10个范围,我的环境是相当大的(作为一个例子,以一个大型仓库有许多柱子,箱子,墙壁.etc).我的主要任务是识别障碍,也找到了一个大致的"最佳"路线,机器人必须采取以导航在"粗糙"的环境中(底层根本不光滑).所有图像处理都不是在机器人上进行的,而是在装有NVIDIA GT425 2Gb Ram的计算机上进行的.
我的问题是:
我应该将相机安装在旋转支架上,以便他们以更广的角度拍摄照片吗?
只有两个视图在这么小的距离之间创建一个合理的3D重建是可能的吗?如果是这样,我可以在多大程度上将其用于避障和最佳路线建设?
如果可以对环境进行大致准确的3D表示,那么如何将其用作创建环境地图?(考虑下面的例子:机器人必须扫过一个相当大的区域,如果它不会经过两次相同的地方(或路线),它将是节能的;但是当从一个方向进行3D重建时,它怎么能分辨出来?如果它来自那里,如果来自相反的方向)
我在类似的问题上找到了这个回答,但我仍然关注3D重建的准确性(例如考虑到相机之间的小分辨率和距离,位于100米处的几个盒子).
我刚开始收集这个项目的信息,所以如果你已经开始研究类似的东西,请给我一些指导(和一些链接:D)我应该如何处理这个特定的任务.
在此先感谢Tamash
如果你想避障,使用超声波传感器可能是最简单的。如果机器人以适合人类环境的速度移动,那么它们 10m 的范围可以让您有足够的时间来停止机器人。请记住,没有任何系统可以保证您不会意外撞到某些东西。
(2) 是否可以仅基于 2 个视图(其间距离如此之小)创建合理的 3D 重建?如果是这样,我可以在多大程度上利用它来避障和构建最佳路线?
是的,这是可能的。看看 ROS 和他们的 vSLAM。http://www.ros.org/wiki/vslam和http://www.ros.org/wiki/slam_gmapping将是许多可能的资源中的两个。
然而,当从一个方向进行 3D 重建时,如果它来自相反方向,如何判断它是否已经存在
好吧,您正在尝试根据测量结果和地图找到您的位置。这应该是可能的,并且地图从哪个方向创建并不重要。然而,存在闭环问题。因为您在尝试寻找路线的同时正在创建 3D 地图,所以您不知道自己是在新的地方还是在以前见过的地方。
结论 这是一项艰巨的任务!
事实上,它不止一个。首先你有简单的避障(即Don't drive into things.
)。然后你想做同步定位和建图(SLAM,阅读维基百科),最后你想做路径规划(即扫地而不覆盖区域两次)。
我希望这有帮助吗?