机器人操作空间轨迹规划 -- 姿态规划
这里我们主要讨论机器人操作空间的姿态规划方法。机器人末端执行器的指向,由(时变的)末端执行器坐标系相对基坐标系的旋转矩阵指定。旋转矩阵的3列表示末端执行器坐标系相对基坐标系的3个单位向量。
常见的姿态规划方式包括欧拉角和角轴两种。
I. 欧拉角
欧拉角是最为常见的也最简单的一种姿态规划方式,通过为欧拉角指定时间律来描述指向。末端执行器的欧拉角三元组由旋转、俯仰、偏摆组成:Φe =(φ, ϑ, ψ )。通常,Φe 沿连接其初始值Φi 到其最终值Φf 的分段移动。通常选用三次多项式或混合抛物线线性分段时间律是方便的,通过这种方式,时变坐标系的角速度将具有连续量。
示例:五次多项式时间律的位置、速度、加速度曲线,
II. 角和轴
给定两个在笛卡尔空间具有相同原点和不同指向的坐标系,总可以确定一个单位向量,使得可以通过第一个坐标系绕单位向量的轴,旋转1个合适的角度,得到第二个坐标系。
1. 基于角轴的姿态规划
对于定义在操作空间的误差变量(位置和方向)进行处理,其表达式由下式给出:
其中, 表示末端执行器的期望值, 表示末端执行器的计算值。
对于涉及到方向误差的部分,其表达式取决于末端执行器方向的详细表示,即,欧拉角,角和轴,单位四元数。
对于初始旋转矩阵 和目标旋转矩阵 ,有:
所以有,
对于旋转变换 ,可以表示为绕空间中一固定轴的旋转矩阵。计算轴的单位向量 和旋转角 ,可以求得初始旋转矩阵绕该轴的角速度和角加速度。
其中,轴的单位向量 :
:
为 指定一个时间律,当 ,且有 。 为常量,由此得到的速度和加速度为:
最后,为了表征末端执行器关于基坐标系的指向轨迹,需要进行如下变化:
由此我们可以获取机械臂的姿态关节的运动速度,再通过雅可比逆解到各个关节。
但是以上基于角轴表达式的姿态规划存在奇异问题,当θ= 0或θ= Π时,单位向量r是奇异的。
2. 基于四元数的姿态规划
单位四元数对姿态的描述更加自然,另外还有效避免了欧拉角旋转时奇异性的问题,且基于单位四元数的运动插补算法计算效率要比欧拉角和余弦矩阵高。
2.1 四元数与旋转矩阵的相互转换
对于旋转矩阵R:
对于四元数Q:
Q = [q1, q2, q3, q4 ]
四元数转旋转矩阵:
旋转矩阵转四元数:
通过以上转换关系我们可以实现四元数与旋转矩阵的相互转换。
2.2 基于四元数的姿态规划
对于单位四元数Q = {η,ε },有:
假定 ,则角度θ∈[-Π, Π],相当于四元数可以描述所有的旋转。相比于角轴表达式,没有了奇异现象了。因此,我们采用单位四元数规划姿态。
首先将旋转矩阵的初始值 ,和目标值 ,转换成单位四元数,得到:
初始四元数:
目标四元数
对于旋转变换:
有四元数变换:
其中,S(·)为反对称算子。
因此, 对于末端执行器姿态关节速度 有:
再对该速度雅可比逆解即可得到各关节速度。
机器人操作空间轨迹规划 -- 姿态规划相关推荐
- 多自由度机械臂运动学正-逆解|空间轨迹规划控制|MATLAB仿真+实际机器调试
多自由度机械臂运动学正-逆解|空间轨迹规划控制|MATLAB仿真+实际机器调试 ) DH建模法可以参考这个博客: 还有<机器人>这本书,一定要理论实践相结合,理解后可以用几何法建模也可以用 ...
- 机器人轨迹规划:简单的笛卡尔空间/关节空间轨迹规划方案
文章目录 知乎:[OpenRobotSL](https://www.zhihu.com/people/OpenRobotSL) 写在前面 1.关节空间同步运动 2.如何处理运动过程中的平滑性问题 3. ...
- 机器人-关节空间轨迹规划
机器人工作时,已知机器人各关节的初始位置便可以根据机器人的正运动方程求解出机器人末端的末端位姿.知道到机器人末端执行器的初始位姿和末端位姿就可以规划出机器人从初始位姿到达期望位姿的轨迹. 本节将介绍关 ...
- 机器人关节空间轨迹规划--S型速度规划
关节空间 VS 操作空间 关节空间与操作空间轨迹规划流程图如下(上标$i$和$f$分别代表起始位置initial和目标位置final): 在关节空间内进行轨迹规划有如下优点: 在线运算量更小,即无需进 ...
- 笛卡尔空间轨迹规划(直线、圆弧)
目录 毕设(5)-笛卡尔空间轨迹规划(直线.圆弧) 直线轨迹规划 圆弧轨迹规划 Matlab代码验证 毕设中用到了很多代码,其中一部分我通过看书和看论文学习并实现的代码,会通过Gitee仓库分享出来, ...
- (学习用1)调用用RRT算法进行笛卡尔空间轨迹规划和关节空间轨迹规划
在MoveIt中,可以通过调用computeCartesianPath()函数来使用RRT算法进行笛卡尔空间轨迹规划,可以通过调用computeJointSpacePath()函数来使用RRT算法进行 ...
- 机器人笛卡尔空间与关节空间轨迹规划算法
本实例为如何生成和模拟插值关节轨迹,从一个初始运动到一个理想的末端执行器姿态. 轨迹的定时是基于手臂工具(EOAT)的一个近似的期望末端速度. 加载KINOVA Gen3刚体树(RBT)机器人模型 r ...
- 时序分析:手势--空间轨迹模式识别
人体行为识别可以看做是图像处理与模式识别的一种.人的行为可以分为静态行为和动态行为,常用概念有Pose:静态行为:Action:短时间动作行为(简单动态语义):Activities:行为(长时间复杂动 ...
- 【运筹学】运输规划 ( 运输规划问题模型及变化 | 表上作业法引入 )
文章目录 一.运输规划问题模型及变化 二.运输规划问题求解 ( 表上作业法 ) 一.运输规划问题模型及变化 运输规划问题一般形式 ( 产销平衡 ) : m\rm mm 个产地 : A1,A2,A3,⋯ ...
- 【运筹学】运输规划 ( 运输规划基变量个数分析 )
文章目录 一.运输规划基变量个数 二.运输规划问题数学模型基变量数定理 一.运输规划基变量个数 上一篇博客 [运筹学]运输规划 ( 运输规划问题的数学模型 | 运输问题引入 ) 提出了运输规划问题 , ...
最新文章
- java commons.util_Java — CommonUtil
- File类判断功能的方法
- 面试题: 数据库 真实面试题已看1 操作语句 存储过程 挺好 sql语句练习 有用
- android rfid 读写sdk,Android-SDK-1.0.0-STD android手机调用RFID模块读取电子标签Demo - 下载 - 搜珍网...
- vs环境下C++dll生成和使用(基础篇)
- [渝粤教育] 西南科技大学 电子技术基础 在线考试复习资料(1)
- 中南大学 科学计算与MATLAB语言 矩阵的特征值与特征向量
- 前端H5面试题(总结)
- ShineDisk M667固态修复记录 慧荣SM2258XT开卡量产工具
- iOS之Swift实现二维码扫描
- 交换机级联-知识点、注意事项
- 淘宝订单接口|订单插旗备注,API稳定、QPS高的方案
- 8月第四周回顾:四核产品将发口角先起 AMD遭遇跳票流言
- Python pandas.DataFrame.tz_localize函数方法的使用
- Win7系统下如何设置改变文本文档背景颜色
- 在STM8(STVP编译环境下)中使用位变量
- 大数据【Java开发转大数据学习路线分解】(不断细化ing)
- JAVA美食小屋系统(JAVA毕业设计)
- 深入编程之QQ盗号核心代码
- Python入门教程WEB框架灰帽编程系列视频教程
热门文章
- css flex实现经典的三栏布局
- [观点]国难当头,为什么赵王还要杀掉李牧?因为人性最爱反噬没格局的人
- 钉钉企业微信与飞书模式区别
- 2020年IT行业薪资报告
- 输入一个十六进制的字符串,输出其相应的十进制数。
- 登陆apple pay显示无法登录服务器,apple pay无法添加卡怎么办?未能连接到apple pay的解决方法...
- Suspending console(s) (use no_console_suspend to debug) android4.0 OMAP4460
- 红月服务器制作过程,红月3.8C私服架设教程
- 动态规划算法——2020美团校招合并金币算法
- Tilera 服务器上hadoop单机版测试