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

2024-04-11 19:12

本文主要是介绍移动机器人运动规划---基于图搜索的基础知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

配置空间

机器人规划的配置空间概念:一个空间包含所有机器人自由度的机器人配置,描述为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、结束循环:访问到了结束状态,或者自定义的一个指标,结束循环

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

这篇关于移动机器人运动规划---基于图搜索的基础知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894941

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

hdu1240、hdu1253(三维搜索题)

1、从后往前输入,(x,y,z); 2、从下往上输入,(y , z, x); 3、从左往右输入,(z,x,y); hdu1240代码如下: #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#inc

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

动态规划---打家劫舍

题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 思路: 动态规划五部曲: 1.确定dp数组及含义 dp数组是一维数组,dp[i]代表

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

hdu 4517 floyd+记忆化搜索

题意: 有n(100)个景点,m(1000)条路,时间限制为t(300),起点s,终点e。 访问每个景点需要时间cost_i,每个景点的访问价值为value_i。 点与点之间行走需要花费的时间为g[ i ] [ j ] 。注意点间可能有多条边。 走到一个点时可以选择访问或者不访问,并且当前点的访问价值应该严格大于前一个访问的点。 现在求,从起点出发,到达终点,在时间限制内,能得到的最大

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d