机器人抓取与操作经典规划算法(深蓝)——2

1 经典规划算法

位姿估计:(1)相机系位姿 (2)机器人系位姿

抓取位姿:(1)抓取位姿计算 (2)抓取评估和优化

路径规划:(1)笛卡尔空间点 (2)IK求解 (3)关节空间插值

任务规划:(1)装配任务 (2)派件任务(TSP问题,VRP问题)

路径规划:A点到B点

  • 笛卡尔直线或者C-space直线
  • 避障问题&环境改变
  • 路径生成后速度规划

路径规划算法------全局规划避障
因为障碍物的存在,可能无法是一条直线,需要采样、连接和搜索

构型空间和笛卡尔空间

(1)在哪个空间做local planning

(2)一般约束会存在笛卡尔空间

(3)需要FK和IK的转换

轨迹生成和优化

在机械臂上面,基于采样的规划算法用的多一点,主要解决非凸的高维空间的搜索问题

(1)Single-query:RRT系列基于树结构的方法

(2)Multi-query:PRM系列基于图的方法

因为有障碍物的存在,碰撞检测需要用来确认路径的可行性

2 基于树结构的方法:RRT系列

随机采样、局部规划、碰撞检测

RRT算法,输入就是起始点和终点,还有一个上图所示的障碍物分布,输出就是起始点到终点无碰撞的一条路径

首先对树结构进行初始化,然后迭代N次循环,循环第一步是先随机采样一个随机点 x r a n d x_{rand} xrand,然后找到离随机点最近的点 x n e a r x_{near} xnear,在 x n e a r x_{near} xnear和 x r a n d x_{rand} xrand之间以StepSize为步长选择一个 x n e w x_{new} xnew,把 x n e w x_{new} xnew和 x n e a r x_{near} xnear连接成的边做碰撞检测,如果无碰撞,加入到树结构,如果 x n e w = x g o a l x_{new}=x_{goal} xnew=xgoal,成功搜索到路径

上面的 x n e w = x g o a l x_{new}=x_{goal} xnew=xgoal,在实际使用的时候一般说距离终点???m,即可Success

RRT拓展------RRT-Connect

(1) 简单但实用

(2) 不同于RRT,生成树是同时从起点和终点拓展

两个树同时开始拓展,以 q g o a l q_{goal} qgoal拓展的随机目标点和另一个树拓展有一个比较近的点 q n e a r q_{near} qnear,然后连接这两个点,在上面做无碰撞的拓展

RRT拓展------RRT*

(1)概率完备性

(2)渐近最优性(不能保证最优)

主要是在碰撞检测这块与RRT不一样,基于 x n e w x_{new} xnew有一个搜索半径,在这个半径里的节点,重新选择离 x n e w x_{new} xnew最近的父节点 x m i n x_{min} xmin,连接 x m i n x_{min} xmin和 x n e w x_{new} xnew边添加到树里,rewire让最优性得到了保证。

3 基于图搜索的方法:A*和Dijstra

A*在Dijstra的基础上加了一个启发式搜索,f(n)=g(n)+h(n)

PRM

分成两个阶段:

(1)建图RoadMap

(2)在RoadMap上搜索(A*、Dijstra)

4 轨迹生成

轨迹生成方式:

(1)点到点轨迹:

多项式曲线

梯形规划

(匀加速------>匀速------>匀减速)

S曲线:主要解决梯形规划曲线两个点最大速度不连续的问题

(2)多点Via-point,规划轨迹符合所有点

样条曲线:B-spline、Polynomial-spline:cubic spline
保证点与点之间边界的速度和加速度连续

cubic分段多项式

5 控制算法


PID比较简单,调参比较费事,如果需要更好的性能和一些最优轨迹追踪和最优控制的需求,使用MPC



6 机器人抓取和操作方法

抓取是操作的子集

目前很多研究基于静态场景的抓取

抓取的挑战:(1)往往有很多假设 (2)抓取的采样和优化都是高维度搜索问题

抓取问题的基本概念

(1)Point Contact

  • 只考虑法向力
  • 法向力和摩擦力

(2)Soft Contact or Patch Contact

(3)Wrench

(4)Evaluation

(5)Difference of Force and Form Closure






7 机器人实用案例

(1)抓取和放置

(2)理疗按摩

(3)工业场景

相关推荐
2301_7644413311 分钟前
Python构建输入法应用
开发语言·python·算法
AI科技星21 分钟前
为什么变化的电磁场才产生引力场?—— 统一场论揭示的时空动力学本质
数据结构·人工智能·经验分享·算法·计算机视觉
TheLegendMe1 小时前
贪心+线程安全单例
算法·哈希算法
豐儀麟阁贵2 小时前
8.5在方法中抛出异常
java·开发语言·前端·算法
胖咕噜的稞达鸭2 小时前
算法入门:滑动窗口--->找到字符串中所有的字母异位词,串联所有的子串,最小覆盖子串
数据库·redis·算法
小青龙emmm2 小时前
2025级C语言第二次周测(国教专用)题解
c语言·开发语言·算法
WolfGang0073213 小时前
代码随想录算法训练营Day28 | 509.斐波那契数列、70.爬楼梯、746.使用最小花费爬楼梯
算法
Boop_wu3 小时前
[Java EE] 多线程进阶(JUC)(2)
java·jvm·算法
闻缺陷则喜何志丹4 小时前
【SOSDP模板 容斥原理 逆向思考】3757. 有效子序列的数量|分数未知
c++·算法·力扣·容斥原理·sosdp·逆向思考
CoovallyAIHub4 小时前
如何在手机上轻松识别多种鸟类?我们发现了更简单的秘密……
深度学习·算法·计算机视觉