目录

基本知识

雅可比

零空间与优先级

多任务逆运动学控制

多任务同等优先级

多任务优先级控制

matlab计算实例

题中单任务的求解

多任务无优先级

多任务优先级控制


基本知识

雅可比

雅可比矩阵 J 可以完成由关节角速度 q_dot 向终端速度 w 的映射

但是在大多数情况下,我们更倾向于通过规划得到的终端速度 w 去规划关节速度 q_dot ,如果矩阵 J 可逆的情况下,通过简单的对在两侧左乘 J的逆矩阵即可。不过在大多数情况下,J 是不可逆的通常通过伪逆来实现:

零空间与优先级

对于有冗余的系统(如上式)通常有无穷多的解,加入零空间矩阵 N , 其满足  ,便可以通过实现如下公式实现任意改变  ,也不会影响上式中的控制中对终端运动 w 的控制。也就是说下式中  与  的控制关系不会受到  影响,所以相比之下  拥有更高的优先级。

最简单的零空间矩阵 N 的可以选取为 

多任务逆运动学控制

多任务同等优先级

当存在有  个任务具有相同的优先级,通常采用如下方法求取广义速度

多任务优先级控制

上面讨论过了据有更高优先级的控制矩阵,下面是第一优先级任务的控制

为了保证第一个任务的优先级,第二个任务由下式计算得:

计算出  并带入第一个任务

matlab计算实例

实例描述了一个平面三自由度机械臂,每段连杆的长度视为1,考虑在某时刻 t 时,三个关节的关节角度分别为 pi/6 , pi/3 , pi/3 ,此时想要给关节末端速度为[1 , 1],求解此时的关节角速度。

题中单任务的求解

% 目标矩阵,实现目标速度任务
W_E = [1 1]'% 雅可比矩阵
J_E = 0.5*[0 -sqrt(3) -sqrt(3);  -4 -3 -1 ]q_dot1 = pinv(J_E) * W_E%将求得的q_dot1结果反推,可以看出是没有误差的
J_E * q_dot1%以下为计算结果
q_dot1 =0.0688-0.5602-0.5945J_E * q_dot1 =1.00001.0000

多任务无优先级

在上述问题的基础上,额外添加一个任务

此时的问题可以由如下公式求解

% 目标1矩阵,实现目标速度任务
W_E = [1 1]'% 雅可比矩阵
J_E = 0.5*[0 -sqrt(3) -sqrt(3);  -4 -3 -1 ]q_dot1 = pinv(J_E) * W_E% 目标2矩阵,实现目标速度任务
W_j = [0 ; 0]% 为了让关节1和2速度是零
J_j = [1 0 0;0 1 0]q_dot2 = pinv([J_E;J_j])*[W_E;W_j]% 计算两次不同情况的范数判断误差
% 只考虑任务1的计算结果,可见其对任务1进行了完全的满足,误差为0
norm(W_E - J_E*q_dot1,2)^2 = 1.9722e-31
norm(W_j - J_j*q_dot1,2)^2 = 0.3185% 多任务无优先级的计算结果,总误差相对变小了,说明统筹考虑了两个任务的要求
norm(W_E - J_E*q_dot2,2)^2 = 0.0059
norm(W_j - J_j*q_dot2,2)^2 = 0.0223

多任务优先级控制

在第二问的前提下,如果考虑任务1的优先级高于任务2的优先级,通常采用下述公式

% 目标1矩阵,实现目标速度任务
W_E = [1 1]'% 雅可比矩阵
J_E = 0.5*[0 -sqrt(3) -sqrt(3);  -4 -3 -1 ]% 目标2矩阵,实现目标速度任务
W_j = [0 ; 0]% 为了让关节1和2速度是零
J_j = [1 0 0;0 1 0]J_1 = J_E;
J_2 = J_j;
W1 = W_E;
W2 = W_j;% N1 = diag([1 1 1]) - pinv(J_1)*J_1;
N1 = [1 -2 2 ;-2 4 -4 ;2 -4 4]/9q_dot3 = pinv(J_1)*W1 + N1*pinv(J_2*N1)*(W2 - J_2*pinv(J_1)*W1)% 最终的计算结果计算误差,可以发现其在前两问的基础上,
% 不仅满足了任务1的要求,同时尽可能的减小了任务二的误差
norm(W_E - J_E*q_dot3,2)^2 = 1.9722e-31
norm(W_j - J_j*q_dot3,2)^2 = 0.0357

参考:ETH动力学讲义

(10条消息) ETH:RobotDynamicsLectureNotes-智慧交通文档类资源-CSDN文库

ETH机器人动力学讲义:基于零空间方法的全身运动控制(WBC)-1相关推荐

  1. 【机器人算法】机器人动力学、运动学和基于动力学模型的仿真与控制

    文章目录 运动学 机器人运动学参数标定(DH参数标定) 运动学逆解 解析解 数值解 工作空间分析 可操纵性 轨迹规划 路径规划 静力学 动力学 动力学模型 动力学仿真 自由下落 遇到跳床 重力补偿 动 ...

  2. 机器人动力学与控制学习笔记(九)————基于模糊自适应增益调整的机器人滑模控制

    九.基于模糊自适应增益调整的机器人滑模控制 采用自适应模糊系统,可实现机器人滑模控制中切换增益的自适应逼近,从而消除滑模控制中的抖振.本文设计一类基于模糊自适应增益调整的机器人滑模控制设计方法. 9. ...

  3. 机器人测钢卷直径_一种基于关节机器人的冷轧钢卷卷芯焊接方法与流程

    本发明涉及冶金技术领域,特别涉及一种基于关节机器人的冷轧钢卷卷芯焊接方法. 背景技术: 在冷轧罩式退火工序,钢卷采用立式吊具吊运,为防止钢卷卷芯松动导致卷芯钢带损坏和抽芯故障,必须将钢卷卷芯内圈焊接固 ...

  4. matlab 求正交补,机器人动力学(一)空间向量(Spatial Vectors)简介

    从本文开始介绍用于机器人动力学建模与分析的空间向量方法.本文是对一篇讲义的编译.这篇讲义通过对物体运动和描述方法的分析,引入了一种更为有效的描述刚体运动的方法,这种方法使用的基本工具就是六维的空间向量 ...

  5. 基于零空间投影(NSB)行为法的多智能体控制

    1 行为控制的相关概念 1.1 行为控制的定义 基于行为法的基本思想为:首先设定智能体一些期望的基本行为,每个行为都有其目标或任务.通常情况下,智能体的的行为包括避碰. 避障. 驶向目标和保持队形等. ...

  6. 【深入浅出】机器人动力学-拉格朗日方程实例

    机器人动力学的两种典型方法:拉格朗日方程和牛顿欧拉方程. 拉格朗日方程的本质:基于系统的总能量去计算驱动力: 牛顿欧拉方程的本质:基于运动和力的关系去计算驱动力,牛顿方面出手的是牛顿方程(即牛顿第二定 ...

  7. 机器人动力学与控制_大负载协作机器人难关怎么攻克?3大技术细节解析!

    对传统机器人来说,大负载的机器人控制难度会更大,这极大影响了机器人的效率和稳定性. 其主要原因如下: (1)传统的机器人编码器安装在减速机输入侧,但是减速机多少都有背隙,随着臂展的变长,背隙造成末端点 ...

  8. 小优机器人系统恢复_一种机器人异常恢复系统及方法与流程

    本发明涉及异常恢复系统及方法,尤其涉及一种机器人异常恢复系统及方法. 背景技术: 目前,一些家庭拥有机器人,机器人对人类的生活有很大的影响,它给了人们更加智能化舒适化的享受:但是,当机器人在运行某些应 ...

  9. 《机器人动力学与控制》第五章——速度运动学之机械臂的雅各比矩阵 5.0 导言

    文章目录 <机器人动力学与控制>第五章--速度运动学之机械臂的雅各比矩阵 5.0 导言 参考文献 <机器人动力学与控制>第五章--速度运动学之机械臂的雅各比矩阵 5.0 导言 ...

最新文章

  1. android支付宝插件,GitHub - DmcSDK/cordova.plugin.alipay: cordova 支付宝支付插件,支持IOS Android。...
  2. java 页面 分离 实现_JavaBean实现JSP页面和代码分离
  3. 2018多校1 hdu6298 6300 6308
  4. vue-cli3中安装lib-flexible和px2rem
  5. C++求复数的角度_人教A版高中数学必修二7.1 复数的概念优质课公开课课件、教案...
  6. SQL 测验-自测结果
  7. HDOJ 1757 A Simple Math Problem(矩阵快速幂)
  8. QT每日一练day9:设计师界面
  9. 《Linux Shell脚本攻略》读书笔记第三章 以文件之名
  10. python更改文件路径 unable_python 安装无效:无法打开/usr/lib/python2. 7/config/Makefile ( 没有此类文件或者目录)...
  11. 【 Codeforces Round #552 (Div. 3) G】Minimum Possible LCM【埃氏筛】
  12. mysql awk_awk 实用实例参考
  13. 为什么企业要做CMMI资质认证?
  14. 快应用如何避免JSON.parse()解析出错
  15. c语言程序设计 姜书浩,Access 数据库实践教程
  16. 英伟达显卡排名天梯图2022
  17. 嵌入式软件开发与互联网软件开发模式差异
  18. 交换机基础原理,冲突域和广播域
  19. js12---闭包,原型,继承
  20. html5 操作excel,html5读取excel表格/在Excel中,一个表格引用另一个表格的数据,用哪些公式进行操作?...

热门文章

  1. swift之视频播放AVKIT、AVPlayerViewController、音频录制和播放
  2. ARM 汇编程序,演示中值滤波算法
  3. 如何选择合适的连锁管理软件?
  4. Altium Designer如何打印清晰的底层丝印
  5. Java基础之多线程
  6. 快速解决Android studio native 方法报错
  7. 数据库 左连接 右连接 全连接用法小结
  8. Python在线学习可以吗?靠不靠谱?
  9. AspectJ方式注解需要相应的包
  10. jeecms(jeecms官网)