移动机器人运动规划---基于图搜索的基础知识

配置空间

机器人规划的配置空间概念:一个空间包含所有机器人自由度的机器人配置,描述为C-space

  • 机器人配置:表示对机器人上面所以点的位置的描述
  • 机器人自由度:规划的时候用最少的坐标数量去表示机器人配置,例如无人机规划,在微分平坦中进行规划则是x\y\z\yaw四个变量,所以对于无人机轨迹规划来说有四个自由度。
  • 机器人配置空间:一个空间包含所有机器人自由度的机器人配置,描述为C-space

任何可能的机器人的位姿在C-space中描述为一个点

配置空间的意义

在工作空间中进行规划,机器人有不同的形状和大小,比如有圆形的或方形的碰撞检测需要知道机器人的外形,然后再做检测,这样是费时费力的。

在配置空间中做规划

机器人在C-space中表示一个点,例如位置就是一个点属于R3一个位姿属于SO(3)

在配置空间中,机器人表示成了一个点,那么在配置空间中,障碍物也需要特殊的处理,把工作空间中的障碍物变成配置空间中的障碍物,被称为 配置空间障碍物或者C-obstacle这个工作是在运动规划前完成的,一次完成的工作。

障碍物安照机器人尺寸进行膨胀,上面机器人被设置成了一个点,只要点在障碍物外面,就不会发生碰撞

C-space是C-obstacle 和C-free组成的

经过配置空间的处理,路径规划变成了在C-free 中找到起点和终点的路径寻找。

在工作空间中,机器人有尺寸有形状,对于运动规划会带来困难,在配置空间中,机器人用一个点来描述,方便做运动规划

经过上述配置空间的操作,碰撞检测就进行了简化,这就是配置空间的意义。

机器人被看做是一个球体,半径为r

对障碍物安照半径r进行膨胀,蓝色就是膨胀后的障碍物,然后就可以进行路径规划和生成。

图和图搜索算法的基本概念

图的基础概念

图是有节点和边的一种表达方式

各节点由边连起来

边可以是有向的,也可以无向的

边也可以有权重,如果没有特殊说明,可以认为权重是一样的。

下面则是有权重的

在每条边上机器人付出的代价不一样,代价可能是路径或者更广义的概念,比如机器人消耗的能量,或者易出现的风险。

图搜索基本概念

对于任何一个图搜索算法,首先要构造一个图

上图是抽象概念里的图

对于实际场景,我们需要人为构造一个图,以下是两种简单的例子

栅格地图的路径规划,里面的节点和相邻的节点是具有连接关系的,所以本身就是一个图了

基于采样的,没有天然的节点关系,需要人为构造一个图在里面,例如上面就是通过算法构造的有节点和边组成的图

图搜索算法

搜索总是从起始状态Xs开始,到Xg结束

对于搜索节点,可以构建一个搜索树

右边和左边是等价的,只是写成了树状的结构,这样看彼此关系更加清晰点

从起点搜索到终点后,回溯整个搜索过程,就可以得到希望的搜索路径

对于实际机器人来说,构建整个空间的搜索树,代价很大,所以需要尽可能快,但是不失搜索路径的算法。

图搜索算法框架

所有的图搜索算法都是按照下面的框架进行的:

1、维护一个容器,装载将来有可能访问的一个节点

2、容器初始化为空,放入的第一个节点就是起始状态Xs

3、循环

根据预先定义的一个指标或者目的,从容器中弹出一个节点 ,称之为 访问一个节点

获取弹出节点所有的邻居节点, ----扩展

将这些邻居节点装入容器

4、结束循环:访问到了结束状态,或者自定义的一个指标,结束循环

点击移动机器人运动规划---基于图搜索的基础知识 - 古月居可查看全文

相关推荐
wen__xvn14 分钟前
牛客周赛 Round 127
算法
大锦终16 分钟前
dfs解决FloodFill 算法
c++·算法·深度优先
橘颂TA28 分钟前
【剑斩OFFER】算法的暴力美学——LeetCode 200 题:岛屿数量
算法·leetcode·职场和发展
苦藤新鸡32 分钟前
14.合并区间(1,3)(2,5)=(1,5)
c++·算法·leetcode·动态规划
程序员-King.41 分钟前
day145—递归—二叉树的右视图(LeetCode-199)
算法·leetcode·二叉树·递归
漫随流水1 小时前
leetcode算法(112.路径总和)
数据结构·算法·leetcode·二叉树
过期的秋刀鱼!1 小时前
机器学习-带正则化的成本函数-
人工智能·python·深度学习·算法·机器学习·逻辑回归
ScilogyHunter1 小时前
前馈/反馈控制是什么
算法·控制
_OP_CHEN1 小时前
【算法基础篇】(四十八)突破 IO 与数值极限:快速读写 +__int128 实战指南
c++·算法·蓝桥杯·算法竞赛·快速读写·高精度算法·acm/icpc
程序员泠零澪回家种桔子1 小时前
RAG自查询:让AI精准检索的秘密武器
人工智能·后端·算法