机械臂算法中的重要概念与结论总结(不含详细推导)1

机械臂是机器人的一种形式,属于一种多学科交叉涉及非常广泛的学科,在此将对学习过程中的重要概念与结论进行,本主要依据《Introduction to robotics mechanics and control》、《RobotDynamicsandControl》等书籍进行归纳。

一、概述

        机械臂算法主要包括以下几个方面

1、运动学:处理机械臂运动时位置、速度的问题

2、动力学:处理机械臂力与运动的问题

3、运动规划:处理对于运动轨迹和运动路径的规划问题

4、优化问题:处理优化时间、振动、奇异、精度的问题

5、视觉控制:处理基于计算机视觉控制机械臂运动的问题

等(其他方面将在以后补充介绍)

二、运动学

1、数学基础:

三角函数:

        双参数反正切函数:Atan2(x,y)

        基础常见三角函数、诱导公式、倍角公式、正余弦定理

向量:

        标量积、外积、向量积

        向量微分:a = (a1,a2,a3,...)  则da/dt = (da1/dt,da2/dt,da3/dt,...)  

矩阵:

        矩阵的秩、转置、乘法运算

2、刚性运动与齐次变换:

描述一个机械的运动要对机械臂进行数学描述,在此对一个n机械臂自由度的机械臂来讲,它拥有n个joint(转轴)、n+1个link(连杆)、n+1个连杆坐标系(其中第一根连杆为接地的固定杆,他的坐标系称为base系)、一个工具系。以base系为基准其他各个连杆系为该连杆在上一个与其连接的连杆系中的位姿关系。例如A1表示除去第一根接地杆外的第一根连杆在base系中的位置,A2为第二根杆在第一根杆的坐标系内的位置。这样讲有些绕嘴,我们举例说明:

如图所示

 

base系原点为Lo与地面的接触点表示整个机械臂的全局参考系,A1为轴J1为原点的坐标系,表示L1在base下的关系。A2为J2为原点的坐标系,表示L2在A1下的关系。

3、正运动学

至此引出问题,如何表示这些坐标系呢?

首先先人为规定每个坐标系的轴(存在一些常见规定方法,但并不强制,机械臂并不存在全类型通用的运动学算法,其中坐标系方向、原点位置、DH表建立方法都会导致具体算法的差异,但其原理是固定的)。

然后将A矩阵看作R(旋转矩阵)和O(位移矩阵)的齐次变换。其形式如下

RO
01

再次明确一个问题,每一个A是当前joint(轴)坐标系的数学表示形式,表示又上一系经过R(旋转变换)与O(平移变换)的到的新坐标系。

至此问题进一步延申,R和O如何确定呢?

首先O很容易确定,可以根据已知的前一坐标系和连杆的长度形状参数做投影,得到的对应xyz的值据说O矩阵,可以看出O是一个3x1矩阵。

再看R,一般情况下机械臂选择用转轴连接,因此每个轴只有一个变量θ。所以R其实是一个关于θ的函数。表示为一个3x3的矩阵。(推导过程请自行查找)

其中O和R中具体位置的数学表示形式有很多种,但其归根结底只是一个由许多已知参数(连杆转轴属性)与一个自变量参数θ的组合形式。具体表示请搜索:欧拉角、四元数、等效轴

至此已获得相邻坐标系之间的关系A,在此引入新问题如何表示坐标系之间的叠加转化关系

此处直接给出结论      T(a关于b) = Ab+1·Ab+2·.........Aa-1·Aa

此处引入Denavit-Hartenberg约定:

Ai = ROT z,θi · Trans z,di · Trans x,ai · ROT x,αi

因此建立一个如上边图右侧所示的DH参数表,描述了机械臂的各种属性参数。根据他可以计算每一个A T R O 矩阵

至此正运动学结束

4、逆运动学

正运动学的核心问题是根据每个转轴的状态得到当前整个机械臂的状态。于是自然产生逆运动学问题,我知道整个机器人的状态(一般情况下是末端的姿态信息),即我们产生了一个目标位置点,我如何解算出每一个轴的状态呢?

在此要明确,逆运动学分为解析法和数值法。解析法是严格根据数学推导得出的结果,但其受限于不同构造的机械臂结构不同,并不具备通用性。数值法是利用梯度下降优化的思路逼近出最优答案的方法,缺点是计算速度慢。

在此介绍逆运动学解耦的方法,是一种解析法,实用于斯坦福型机械臂(六自由度,后三轴轴线互相垂直且交于一点),将整个逆运动过程拆解逆位置与逆姿态。

这个方法的关键点在于后三轴相互垂直交于一点形成了新坐标系——手腕坐标系(wrist系),其位置只由前三轴控制,本身只会改变wrist系的姿态。

在此问题分解,问题1 已知p[x,y,z]求解前三轴θ1 2 3,

结论:

        θ1 = Atan2(x,y)或 Π+Atan2(x,y)

        θ3 = Atan2(D,根号下(1-D²))

        D = COSθ3 = \frac{(z-d1)^{2}+x^{2}+y^{2}-(d2+d3)^{2}-a2^{2}-a3^{2}}{2*a2a3}

        θ2 = Atan2(根号下(x²+y²-(d2+d3)²),z-d1)-Atan2(a2+a3cosθ3,a3sinθ3)

 问题2 已知R(目标位置旋转状态)求解θ 4 5 6

根据θ123求出R(3在0)

        R(6在3)=R(wrist) = R(3在0)转置  · R

        使用欧拉角表示R(6在3)

结论:

        θ4 = Φ

        θ5 = θ

        θ6 = ψ

此方法一般情况下会得到8个解。

总结:

FK(正运动学):

定轴线 建立base系 建立Ai系 建立DH表 求Ai 求T

IK(逆运动学):

decoupling 解前三轴 解R(3在0) 解后三轴

感谢您的阅读,有机械臂方面兴趣请联系微信Blablabrador

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一。它主要用于描述和解决智能体(agent)在与环境的交互过程通过学习策略以达成回报最大化或实现特定目标的问题。强化学习的特点在于没有监督数据,只有奖励信号。 强化学习的常见模型是标准的马尔可夫决策过程(Markov Decision Process, MDP)。按给定条件,强化学习可分为基于模式的强化学习(model-based RL)和无模式强化学习(model-free RL),以及主动强化学习(active RL)和被动强化学习(passive RL)。强化学习的变体包括逆向强化学习、阶层强化学习和部分可观测系统的强化学习。求解强化学习问题所使用的算法可分为策略搜索算法和值函数(value function)算法两类。 强化学习理论受到行为主义心理学启发,侧重在线学习并试图在探索-利用(exploration-exploitation)间保持平衡。不同于监督学习和非监督学习,强化学习不要求预先给定任何数据,而是通过接收环境对动作的奖励(反馈)获得学习信息并更新模型参数。强化学习问题在信息论、博弈论、自动控制等领域有得到讨论,被用于解释有限理性条件下的平衡态、设计推荐系统和机器人交互系统。一些复杂的强化学习算法在一定程度上具备解决复杂问题的通用智能,可以在围棋和电子游戏达到人类水平。 强化学习在工程领域的应用也相当广泛。例如,Facebook提出了开源强化学习平台Horizon,该平台利用强化学习来优化大规模生产系统。在医疗保健领域,RL系统能够为患者提供治疗策略,该系统能够利用以往的经验找到最优的策略,而无需生物系统的数学模型等先验信息,这使得基于RL的系统具有更广泛的适用性。 总的来说,强化学习是一种通过智能体与环境交互,以最大化累积奖励为目标的学习过程。它在许多领域都展现出了强大的应用潜力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值