Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Terrain Traversability

  • 又称: traversability estimation, traversability analysis, traversability mapping
  • 类别: State estimation & navigation › Navigation
  • 标签: navigation, field-robotics, perception, terrain-mapping, off-road

对地面机器人能否以及多容易驶过或走过一片地形的估计,依据是地形的几何、材质以及机器人自身的能力。

定义

地形可通行性(Terrain traversability)描述的是一片地面对某一特定机器人而言的可通过程度。它通常表示为一张地图,常常是机器人周围的 2.5D 栅格,其中每个单元格存放一个二值标签(可通行或不可通行),或者一个供规划器使用的连续代价或分数。可通行性总是相对于平台而言的:一个能挡住轮式配送机器人的路缘,对四足机器人来说可能很容易越过;而在激光雷达看来像一堵墙的高草,开车穿过去可能毫无问题。

经典方法根据几何来估计可通行性。机器人用激光雷达或深度相机构建高程地图,计算坡度、台阶高度、粗糙度以及是否存在沟隙等特征,再将其与平台的极限进行比较。这对刚性地形效果很好,但在植被、泥地、雪地和水面上就力不从心,因为在这些地方仅凭几何会产生误导。

语义方法加入了外观信息。相机图像经过语义分割处理,标注出小路、草地、砾石、岩石或水面等地形类别,并为每个类别分配一个代价。许多系统把两者结合起来,把语义标签和几何特征融合到同一张地图中。

学习方法直接从数据中估计可通行性,有时把机器人自身的经验作为监督:机器人走过的地形,连同它在那里测得的打滑、振动或用力,成为训练标签。这通常称为自监督可通行性学习。在所有情况下,输出都会送入代价地图或局部规划器,由它们决定机器人应该往哪里走。

为何重要

户外和野外机器人最常见的失败方式,是驶入自己无法应对的地形,或者避开了本可以通过的地形。良好的可通行性估计能让机器人高效行进,同时避开会让它倾覆、打滑或被困住的地方。

主要应用

  • 越野自动驾驶和野外机器人
  • 足式机器人在崎岖和自然地形上的导航
  • 在作物行之间和不平整田地上行驶的农业机器人
  • 行星探测车导航
  • 户外服务机器人在步道和公园中的导航

实际应用

典型的户外导航栈会把激光雷达点融合进以机器人为中心的高程地图(例如使用与 ROS 配合使用的开源 elevation_mapping 和 grid_map 软件包),为每个单元格计算坡度和台阶特征,并叠加由相机分割网络投影过来的语义标签。这些信息被合成为一个代价层,供全局或局部规划器选择路径。团队根据平台的离地间隙、车轮或腿部几何以及稳定裕度设定阈值,并在野外信任这张地图之前,让机器人在坡道、路缘和植被等有代表性的地形上行驶或行走来验证这些阈值。

常见误解

  • 可通行性只是地形本身的属性 — 它取决于机器人的尺寸、离地间隙、运动方式和稳定性极限
  • 障碍物检测就足够了 — 地面可能没有障碍物,却仍因坡度、松软或打滑而无法通行
  • 高大的植被总是障碍物 — 几何传感器会把草看作实体,因此需要语义线索或学习得到的线索才能识别出它是可通行的

谁需要了解

  • 野外和越野机器人工程师
  • 足式机器人导航开发者
  • 农业机器人团队
  • 从事面向导航的语义分割的感知工程师

相关技术

  • 高程建图(Elevation Mapping)
  • 语义分割(Semantic Segmentation)
  • 代价地图(Costmap)
  • 激光雷达(LIDAR)
  • 自监督学习(Self-Supervised Learning)
  • grid_map

相关术语

  • Locomotion
  • LIDAR
  • Point Cloud
  • Obstacle Avoidance

相关项目

  • Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
  • PCL: Industry-standard C++ library for point cloud processing in robotics perception
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
  • OpenMind OM1: AI-native operating system for robots with modular perception, cognition, and action

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。