首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Robot-机器人零空间问题solution

Robot-机器人零空间问题solution

原创
作者头像
ZC_Robot机器人技术
修改2021-05-15 21:36:40
9K8
修改2021-05-15 21:36:40
举报
文章被收录于专栏:腾讯云IoT腾讯云IoT

1概述

机器人是云机器人的一个重要组成部分,云服务包含云服务器云硬盘数据库等等。

经常在一些大牛的算法中会看到“零空间”的概念,零空间是不是与动漫中的“异次元空间”类似尼,答案是显然不是。机器人的零空间是表示笛卡尔空间与关节空间关联过程中衍生出来的数据集空间。机器人在完成任务的时候,会将任务最终分解成位姿伺服问题或者力/力矩伺服问题。而零空间内的机器人关节运动将不会影响主任务的完成。

由于机器人的控制方式主要是位置解析解法、雅克比速度解和雅克比加速度解。因此零空间一般是指雅克比矩阵的零空间,因而可以引入矩阵分析的数学知识来分析。

首先给出几点基本的认识:

a) 机器人零空间内的运动只会改变整个机器人身体的姿态不会改变;

b) 机器人的零空间是相对主任务定的,也就是说主任务变了,零空间也会随之改变;

c) 冗余自由度越多,零空间可以调整的余地越大,否则零空间的优化效果较弱;

d) 高优先级任务的零空间内仍然可以继续完成次优先级任务,此为机器人的分层控制或任务优先级控制。

下面直观的给出机器人的零空间应用,相关音视频信息如下:

机械臂零空间
移动基座机械臂零空间

这种类似与生活中的“鸡头防抖”原理

鸡头防抖

2 数学表示

一般来说,以机械臂为例,机器人笛卡尔空间末端任务维度m(m=6),关节空间的关节数n(n>=6),如果n=m,则机械臂各个关节联动刚好进行笛卡尔主任务控制。如果n>m,则机器人有(n-m)个冗余度。

对于基于雅克比的速度级逆向运动学,最基础的解法是Whitney最先提出的伪逆法:

因而可以推出关节角速度

考虑到关节奇异性,则有如下阻尼最小二乘方法:

进一步,考虑机器人的冗余度,则有

式中,H为优化指标。如关节角度极限优化指标、关节角角加速度优化指标、能量优化指标、避障碍优化指标等。

如关节极限优化指标:

下图给出了在统一末端位置和姿态下,冗余机械臂的不同构型

3臂角

机械臂的臂角主要是指肩关节-肘关节-腕关节三点组成的臂平面与预先设定的参考平面之间的角度。臂角随着机器人的运动而发生变化。臂角是衡量机械臂整臂姿态的一个很好的参变量.且由于臂角函数是各个关节角度为自变量,其可以结合机械臂的T矩阵进行位置级别的逆向运动学求解,进而求得其解析解。KUKA七自由度机械臂是研究机械臂臂角的很好的例子,相关参数以及真实臂角的图如下所示:

臂角与机械臂末端的6维主任务可以唯一确定机械臂的构型。 对于冗余机械臂, 对应于相同的末端位置和姿态, 机械臂存在无数种构型。 所以当末端位姿确定时, 其关节仍运动的现象叫做机械臂的“自 运动”, 这是冗余机械臂在实际运动过程中与非冗余机械臂最大的区别, 也是冗余机械臂冗余度的具体体现.。 臂角即机械臂臂平面与某参考平面之间的夹角。 通过臂角参数化七自由度冗余机械臂的自 运动, 即若机械臂有自 运动现象则其臂平面会相应转动,进而臂角也在改变。

臂角的计算可以参考如下公式:

基于臂角的逆向运动学,其是机械臂末端位置和姿态控制任务的扩充任务,进而可以填充机械臂的关节冗余度,使得机械臂在扩展任务(臂角+位置+姿态)特定的情况下,其关节空间有唯一解。需要指出的是,从物理意义上看,极端情况下,当机械臂快伸直时,臂角退化为一条直线,其无法有效表示机器人的构型,由此臂角是有一定范围的,否则容易出现奇异。

臂角也可以作为机器人避障碍的重要参数,机器人避障碍主要分为主动式避障碍以及被动式避障碍;在主动式避障碍的时候,臂角可以根据外部传感器(视觉、激光)来主动实现障碍回避,在被动式障碍回避时,臂角调整根据关节力矩传感器的数值实现.

冗余机械臂的控制框架如下

轨迹规划模块根据机械臂所需完成的任务进行相应的轨迹规划, 如对于冗余机械臂完成载荷搬运过程中其主任务为将载荷搬运至规定位置本文中。冗余分解模块则是利用运动学目 标函数参数化冗余机械臂的自 运动, 将笛卡尔空间轨迹直接通过雅克比矩阵转化为关节空间轨迹的逆运动模块, 进一步通过阻尼最小平方法中参数的选择完成冗余机械臂的关节限位、 避障规划等任务。 对于基于速度级的冗余分解, 其生成的是关节角速度, 此时关节层控制器主要为了跟踪冗余分解生成的关节角速度。搭建机械臂的全数值仿真系统

假设姿态和臂角不变,仿真结果如下,可以看出

4 零空间阻抗控制

机械臂的动力学方程可以表示为

机械臂零空间阻抗控制此处主要是指在机械臂主任务的零空间内实现关节阻抗,由于关节阻抗通常具有良好的交互特性,比如说握手,所以在主任务的零空间内的阻抗控制可以使得机械臂在不影响主任务的情况下实现整个臂的构型调整,从而回避开撞击到臂杆处的外部冲击。具体的表示如下:

机械臂的零空间阻抗使得机械臂更加安全可靠。

5 无反作用零空间

对于浮动基座机器人(空间/水下)来说,机械臂的运动会引起基座的连带运动,从力的角度去分析,主要是机械臂对基座产生了反向作用力和作用力矩,从而引起了基座的运动。其动力学方程如下所示

由上式做进一步推导有:

进而有

上式中,P是无反作用零空间。即机械臂的运动不会对基座产生运动。

此外,作者在做此相关问题研究时,提出力机器人的反作用力/力矩零空间,即机械臂的运动不会对基座产生影响,即产生零力或者零力矩。反作用力矩的方程可以表示如下所示

反作用力矩的零空间可以表示如下:

6 任务优先级控制

上述的所涉及到的机械臂主任务的零空间内均涉及到任务的优化,即在零空间内无法有效地百分之百地完成任务。这主要是冗余度小于优化任务维数;相反,如果冗余度大于零空间内任务维数,则零空间内任务会被确定执行。

此称为任务优先级的运动控制方法,即将机器人笛卡尔任务进行分层处理,其笛卡尔主任务分为高优先级任务以及次优先级任务。如果在高低优先级主任务的完成时,还存在冗余度,在此冗余度执行优化任务。

机器人速度级别正向运动学主要是笛卡尔速度与关节角速度之间的关系,加速度级别的正向运动学主要是笛卡尔加速度与关节角加速度之间的关系。因而有下式成立:

进一步求解任务优先级的逆向运动学,则分别可以得到分层的速度级别逆向运动学以及加速度级别逆向运动学

上述主要包含主任务和零空间任务。 一般适用于七自由度机械臂的控制,更多的优先级任务分解会导致较大的计算量,对机械臂的控制系统要求也更高。对笛卡尔任务进行任务分层,主要是针对特定的位置或姿态的任务精度控制。

作者在针对此提出了将机器人末端作为主任务柔顺面,而臂角平面作为第二柔顺面,示意图如下所示:

搭建仿真系统

控制外环

控制内环

柔顺面:

此部分给出了在机械臂主任务的零空间内实现臂角平面的柔顺,即第二柔顺面柔顺控制。

7 总结

机器人零空间的应用非常普遍,零空间也是机器人灵活性的充分展示。零空间在次级任务的实现、优化任务的梯度优化以及阻抗控制等方面都有紧密结合,零空间的研究也是机器人研究的热点。

机器人零空间阻抗控制的研究可以充分发挥机器人的控制性能,使得机器人可以安全的与外部环境和人之间进行交互。

零空间阻抗一种方案是实现关节柔顺控制,此种情况在收到外部环境时,关节会顺应着力的方向运动;另一种方案是实现臂角平面柔顺,也即本文所指出的第二柔顺面的柔顺特性,机械臂的整体臂型可以有效受控。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1概述
  • 2 数学表示
  • 3臂角
  • 4 零空间阻抗控制
  • 5 无反作用零空间
  • 6 任务优先级控制
  • 7 总结
相关产品与服务
云硬盘
云硬盘(Cloud Block Storage,CBS)为您提供用于 CVM 的持久性数据块级存储服务。云硬盘中的数据自动地在可用区内以多副本冗余方式存储,避免数据的单点故障风险,提供高达99.9999999%的数据可靠性。同时提供多种类型及规格,满足稳定低延迟的存储性能要求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档