基于RGBD的高程图建立:Grid_map使用_1

序言:

研究苏黎世联邦理工大学Autonomous Systems Lab & Robotic Systems Lab实验室在移动机器人的感知方面有着很强的实力。近段时间在研究这方面内容。足式机器人的野外探索是一个很热的研究方向,对于自主行走的机器人而言,对环境的感知是至关重要的,虽然足式机器人可以依靠其强大的运动平衡性能,在崎岖环境下实现自主行走,比如波士顿早期的足式机器人,但其效率和速度还是远远不及加上感知功能的机器人。而对于足式机器人落足点规划,则是其中一重要环境。落足点规划是建立在已构建的地图基础之上的,而环境高程图表现形式更多的是使用2.5D地图。而什么是2.5D地图呢?简单而言,将高程图存储在栅格地图之中,每一个栅格存有高度信息,以2.5D的形式呈现[1]

建立2.5D地图过程,将激光雷达、RGBD摄像头或者Stereo摄像头的数据处理为点云,再将点云信息转换为2.5D地图。每一个环境都有着大量的技巧和规则,点云 到2.5D地图过程中,需要对带有噪声的信息进行处理,使用最多的处理方法为卡尔曼滤波或者扩展卡尔曼滤波。如Belter D2]所做的工作。

One-dimensional static Kalman filters are used to estimate the height of the voxels.Another Kalman filter is used to estimate the height of each cell.第一个用去估计每一个像素的高度,第二个用于估计每一个cell的高度值。

随着野外探索工作的发展,机器人不仅仅需要每个cell的高度信息,还想知道每个小块的摩擦力等别的物理信息。所以对于一个地图,需要建立多层地图(让我想到了多层电路板\微笑),所以这就引出了如何在程序中实现多层地图的构建。

对于足式机器人的落足点规划,局部地图已经足够了。而对于整幅地图的构建又涉及到地图拼接问题,而地图拼接需要建立在高精度的定位上,而对于户外大范围的定位则离不开SLAM,这又牵扯处一大堆庞大的知识。局部地图,我们可以使用一个矩阵进行表示,多层地图则是多个相同大小的矩阵。这就是Grid_map建立的方式,所以对于grid_map安装依赖就只有Eigen。

[1] "A Universal Grid Map Library: Implementation and Use Case for Rough Terrain Navigation", in Robot Operating System (ROS) – The Complete Reference (Volume 1), A. Koubaa (Ed.), Springer, 2016. (PDF)

2Belter D, Łabecki P, Fankhauser P, et al. RGB–D terrain perception and dense mapping for legged robots[J]. International Journal of Applied Mathematics and Computer Science, 2016, 26(1): 81-97.

发布了32 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/BetterEthan/article/details/82054629