路径规划
文章平均质量分 82
月照银海似蛟龙
这个作者很懒,什么都没留下…
展开
-
移动机器人运动规划 | 基于图搜索的Dijkstra 和 A*算法详解
Dijkstra在扩展的时候,同时考虑从n节点扩展所有可扩展节点的代价g(),如果某个节点m的代价g(m)比g(n)要小,则更新当前代价为g(m)Dijkstra的最优性保证:图运行的过程中,任何一个被扩展或者访问的节点,保证存储的代价g()值是从起点节点开始到当前节点的最小值。但是经过A节点的代价是4,所以经过A节点的路径是最优的。优先级队列:维护的是 代价函数+启发函数的 节点从小到大排序 f(n)=g(n)+h(n)可扩展的节点仅有a节点,计算f(a)=g(a)+h(a)=1+5=6。原创 2023-09-30 14:15:00 · 219 阅读 · 0 评论 -
移动机器人运动规划 --- 基于图搜索的A*算法
算法的逻辑找到的路径是 S直接到G ,这样的代价是5。但是经过A节点的代价是4,所以经过A节点的路径是最优的。优先级队列:维护的是 代价函数+启发函数的 节点从小到大排序 f(n)=g(n)+h(n)维护一个优先级队列,存储所有被扩展的节点,且节点按f()值的大小自动按从小到大排列。算法的演示图,每个边有个预先设置的代价g,每个节点有提前估计好的启发f。设计的启发函数为可接受的要满足:需要估计的启发值要小于等于实际的启发值。可扩展的节点仅有a节点,计算f(a)=g(a)+h(a)=1+5=6。原创 2023-09-28 23:30:00 · 231 阅读 · 0 评论 -
移动机器人运动规划 --- 基于图搜索的Dijkstra算法
Dijkstra在扩展的时候,同时考虑从n节点扩展所有可扩展节点的代价g(),如果某个节点m的代价g(m)比g(n)要小,则更新当前代价为g(m)Dijkstra的最优性保证:图运行的过程中,任何一个被扩展或者访问的节点,保证存储的代价g()值是从起点节点开始到当前节点的最小值。维护一个优先级队列,存储所有被扩展的节点,且节点按g()值的大小自动按从小到大排列。针对该缺点,与之对应的就是启发式搜索,例如贪心算法,根据到目标的进行一个启发式搜索。起始节点S可以扩展到子节点d\e\p,并且计算各节点的g值。原创 2023-09-22 21:00:00 · 176 阅读 · 0 评论 -
移动机器人运动规划---基于图搜索的基础知识---广度优先遍历与深度优先遍历
然后再扩展d节点,将扩展节点放入容器,再弹出该弹出的节点,再扩展,再放入的循环操作。按照什么规则去访问节点,按照什么规则弹出节点,使我们尽可能快的找到终止节点。然后深度优先搜索是弹出容器中的,后入的节点(层级最深的),即d节点。特点:每次弹出的节点是最深层级的一个节点,维护的是一个堆栈。特点:每次弹出层级最浅的一个节点,维护的是一个队列的结构。深度优先搜索 遵循的是后进先出的原则,维护的是一个堆栈。这样的一个图结构,BFS的步骤是下面这样的。这样的一个图结构,DFS的步骤是下面这样的。原创 2023-05-15 07:00:00 · 440 阅读 · 2 评论 -
移动机器人运动规划---基于图搜索的基础知识---图和图搜索算法的基本概念
为了在图搜索中避免形成回环,永远走不出去,需要再维护一个新的容器,该容器装载着已经被访问过的节点,被访问过的节点不能再次被访问。在每条边上机器人付出的代价不一样,代价可能是路径或者更广义的概念,比如机器人消耗的能量,或者易出现的风险。基于采样的,没有天然的节点关系,需要人为构造一个图在里面,例如上面就是通过算法构造的有节点和边组成的图。栅格地图的路径规划,里面的节点和相邻的节点是具有连接关系的,所以本身就是一个图了。深度优先搜索 遵循的是后进先出的原则,维护的是一个堆栈。原创 2023-05-13 07:30:00 · 356 阅读 · 0 评论 -
移动机器人运动规划---基于图搜索的基础知识---配置空间
在配置空间中,机器人表示成了一个点,那么在配置空间中,障碍物也需要特殊的处理,把工作空间中的障碍物变成配置空间中的障碍物,被称为 配置空间障碍物或者C-obstacle这个工作是在运动规划前完成的,一次完成的工作。在工作空间中进行规划,机器人有不同的形状和大小,比如有圆形的或方形的碰撞检测需要知道机器人的外形,然后再做检测,这样是费时费力的。在工作空间中,机器人有尺寸有形状,对于运动规划会带来困难,在配置空间中,机器人用一个点来描述,方便做运动规划。机器人被看做是一个球体,半径为r。原创 2023-05-12 17:32:04 · 699 阅读 · 0 评论 -
自主机器人运动规划|地图相关概念总结
上图是一个相机对一个障碍物曲面的观测,仅把在障碍物上的格子加入内存,如上面的蓝色和红色的正方格,具体加入内存的方式是用哈希表的方式,把格子的坐标xyz通过函数映射成哈希键值,有了哈希键值则可插入表中,相当于字典查询的方式,进行地图查询。意思就是:相机视场角之外的值是不关心的,并且障碍物距离范围一定的值才是关心的,距离远的点也是不关心的。可以把上面的正方体考虑为房间,很多地方没有障碍物,则不需要分那么细,有障碍物的地方可以分的细一点。这种地图用的最多的就是在基于RGBD深度相机,构建稠密的地图。原创 2023-04-13 11:45:15 · 1115 阅读 · 0 评论 -
模型预测控制(MPC)简介及matlab实现
对于一般的离散化系统,在k时刻,我们可以测量出系统的当前状态y(k),再通过优化计算得到u(k),u(k+1),u(k+2),u(k+j),根据模型与控制量,得到系统未来状态的估计值y(k),y(k+1),y(k+2),y(k+j)。优化出来的控制量即算法的输出。其中系统未来状态的估计值y(k),y(k+1),y(k+2),y(k+j)这部分就称为预测区间的系统预测值,指的是一次优化后预测未来输出的时间步的个数。第二步:基于u(k),u(k+1),u(k+2),u(k+j)进行最优化处理,代价函数为。原创 2023-03-29 17:07:39 · 14927 阅读 · 6 评论 -
机器人导航必备的栅格地图数学模型及使用
栅格地图就是用一个个栅格组成的网格来代表地图. 栅格里可以存储不同的数值, 代表这个栅格的不同含义.ROS的栅格地图使用。原创 2022-11-29 14:50:10 · 1692 阅读 · 0 评论