腿足机器人之十- SLAM地图如何用于运动控制


相比于轮式机器人(如人形轮式机器,可以看成是扫地机器人之上加了一个人形上身,实际的导航还是扫地机器人那一套),腿足式机器人(如人形机器人、四足机器人狗)的运动控制复杂度远高于轮式机器人,需要解决以下核心问题:

  • 复杂地形适应:楼梯、碎石、斜坡、火车铁轨等非结构化环境
  • 动态平衡控制:保持运动中的稳定性(如ZMP判据)
  • 高自由度协调:多关节协同运动(如12~28个自由度),(天工机器人2024.4具有42个自由度,内置多个视觉感知传感器及六维力传感器,配备惯性测量单元(IMU)和3D视觉传感器,拥有每秒550万亿次的算力。)
    在这里插入图片描述

SLAM地图的核心作用:

  • 地形几何建模:提供地面高度、坡度、障碍物尺寸等信息
  • 语义理解:识别可通行区域(如草地、水泥地、台阶)
  • 运动规划基础:结合地形信息生成安全步态和路径

腿足机器人SLAM地图的表示与处理

和到底机器人相比,腿足机器人可以双脚离地(小跑、跳跃),SLAM地图需要包含高度信息,因此使用三维地图,这可以使用点云地图、高程地图以及体素地图。

  • 点云地图:通过RGB-D相机或激光雷达生成稠密3D点云
  • 高程地图(Elevation Map):将点云投影为2.5D网格,每个网格存储高度均值和方差:
    h i , j = 1 N ∑ k = 1 N z k , σ i , j 2 = 1 N ∑ k = 1 N ( z k − h i , j ) 2 h_{i,j}=\frac{1}{N}\sum \limits_{k=1}^Nz_k, \sigma_{i,j}^2=\frac{1}{N}\sum \limits_{k=1}^N(z_k-h_{i,j})^2 hi,j=N1k=1Nzk,σi,j2=N1k=1N(zkhi,j)2
    其中 z k z_k zk为网格内低 k k k个点的高度。
  • 体素地图(Voxel Map):将空间划分为立方体单元,标记占用状态(如OctoMap)。

以高程地图为例,可以通过下式提取关键地形特征(坡度,以便评估机器人是否可以通过该倾斜度):
其坡度计算如下:
s l o p e i , j = arctan ⁡ ( ( ∂ h ∂ x ) 2 + ( ∂ h ∂ y ) 2 ) \mathbf{slope}_{i,j}=\arctan \left({\sqrt{(\frac{\partial h}{\partial x})^2+ (\frac{\partial h}{\partial y})^2} }\right ) slopei,j=arctan((xh)2+(yh)2 )
其中: ∂ h ∂ x ≈ h i + 1 , j − h i − 1 , j 2 △ x \frac{\partial h}{\partial x} \approx \frac{h_{i+1,j }-h_{i-1,j}}{2 \triangle x} xh2△xhi+1,jhi1,j ∂ h ∂ y ≈ h i , j + 1 − h i , j − 1 2 △ y \frac{\partial h}{\partial y} \approx \frac{h_{i,j+1 }-h_{i,j-1}}{2 \triangle y}

猜你喜欢

转载自blog.csdn.net/shichaog/article/details/145701721
今日推荐