机器人学第四章(机器人的位置分析)
- 格式:doc
- 大小:1.36 MB
- 文档页数:19
第4章机器人逆运动学(一)引言概述:机器人逆运动学是研究机器人动作规划和控制的重要内容之一。
在工业领域和服务领域中,机器人逆运动学能够帮助机器人根据预设的目标位置和姿态,确定关节角度和长度,从而实现准确的动作控制。
本文将介绍机器人逆运动学的基本原理,以及逆运动学的求解方法和实际应用。
正文:1. 基本原理1.1 前向运动学和逆运动学的关系1.2 关节角度和长度的确定方法1.3 机器人姿态表示方法2. 逆运动学的求解方法2.1 解析法2.2 数值法2.3 迭代法2.4 优化算法2.5 约束条件的处理方法3. 逆运动学的实际应用3.1 机器人轨迹规划3.2 机器人运动控制3.3 机器人碰撞检测与避障3.4 机器人抓取和操作4. 逆运动学问题的局限性和挑战4.1 多解性问题4.2 存在性问题4.3 运动优化问题4.4 环境约束问题4.5 实时性和稳定性问题5. 逆运动学的发展趋势5.1 智能化和自适应控制5.2 机器学习与优化算法的结合5.3 非线性逆运动学求解方法的研究5.4 多机器人协同控制的逆运动学问题5.5 逆运动学在虚拟现实和增强现实中的应用总结:机器人逆运动学是机器人控制领域的重要研究方向之一。
本文介绍了机器人逆运动学的基本原理,包括前向运动学与逆运动学的关系、关节角度和长度的确定方法,以及机器人姿态表示方法。
同时,还介绍了逆运动学的求解方法和实际应用,包括机器人轨迹规划、运动控制、碰撞检测与避障,以及抓取和操作等。
此外,还探讨了逆运动学问题面临的局限性和挑战,并展望了逆运动学的发展趋势,包括智能化和自适应控制、机器学习与优化算法的结合等。
逆运动学的研究将有助于推动机器人应用在更广泛的领域中,提高机器人的灵活性和性能。
机器人学导论第三章:机器人建模与表示3.1 机器人模型机器人模型是机器人学中最重要的概念之一。
它描述了机器人的物理特征和行为。
机器人模型可以是物理模型,也可以是数学模型。
3.1.1 物理模型物理模型是指将实际的机器人物理特征通过物体的尺寸、质量、结构等进行描述的模型。
物理模型可以用来研究机器人的运动、力学特性以及与环境的交互。
在物理模型中,常用的描述方法有刚体模型和柔软体模型。
刚体模型认为机器人的构件是刚性的,不会发生变形,而柔软体模型则考虑了机器人构件的弹性特性。
3.1.2 数学模型数学模型是指通过数学方程或函数来描述机器人的特征和行为的模型。
数学模型可以用来研究机器人的控制算法、运动规划、感知等问题。
常用的数学模型有几何模型、运动学模型、动力学模型等。
几何模型描述机器人的几何特征,如位置、姿态等;运动学模型描述机器人的运动学特性,如速度、加速度等;动力学模型描述机器人的力学特性,如力、力矩等。
3.2 机器人表示机器人表示是指将机器人的信息进行编码和存储的方法。
机器人表示可以是离散的或连续的,可以是静态的或动态的。
机器人的状态表示是对机器人在某一时刻的特征和行为进行编码的方法。
常用的状态表示方法有位姿表示、关节状态表示、力传感器状态表示等。
位姿表示是指用位置和方向来描述机器人的姿态。
常用的位姿表示方法有笛卡尔坐标表示和欧拉角表示。
关节状态表示是指用关节角度或关节位置来描述机器人的关节状态。
力传感器状态表示是指用力和力矩来描述机器人的外部力和力矩。
机器人的环境表示是对机器人周围环境的信息进行编码的方法。
常用的环境表示方法有场景图表示、网格地图表示、障碍物表示等。
场景图表示是指用图的形式表示机器人周围的物体及其关系。
网格地图表示是指将机器人周围的环境划分为一个个网格,每个网格表示一种状态。
障碍物表示是指用几何体或网格来表示机器人周围的障碍物。
3.3 机器人建模与表示的应用机器人建模与表示在机器人学中具有广泛的应用。
第四章 机器人的位置分析4.1 机器人的位置正解方程 4.1.1 引言在这一章中,我们将研究表示各种不同坐标架的齐次变换,并阐述将各坐标架赋给表示操作手的机械连杆系统的方法。
我们将首先规定描述操作手位置和姿态(方位)的各种方法,然后用关节坐标来发展这一描述。
任何操作手都可以认为是由一系列用关节联在一起的杆件组成。
我们在操作手的每一杆件固联上坐标架。
利用齐次变换,我们能够描述这些坐标架之间的相对位置和姿态[3]。
历史上,描述一杆件和下一杆件之间关系的齐次变换称为A 矩阵[1]。
A 矩阵单纯是描述杆件坐标系间相对移动和相对转动的齐次变换。
1A 描述第一杆的位置和姿态。
2A 描述第二杆相对与第一杆的位置和姿态。
于是,第二杆在基座坐标架中的位置和姿态用矩阵乘积给出如下:=212T A A (4-1) 同样,3A 表示通过第二杆来描述第三杆,且3=312T A A A (4-2)这些A 矩阵的乘积一直称为T 矩阵,而且如果前置上标为0则略去。
给出一个六杆操作手,我们得到36=61245T A A A A A A (4-3)一个六杆操作手具有6个自由度,每杆一个,且能在其活动范围内有任意的位置和姿态。
三个自由度用来规定位置,二另外三个用来规定姿态。
6T 描述操作手的位置和姿态。
这可用图4-1所示的手来思考。
我们将在指尖间的正中设置坐标架的原点,这一原点用向量p 来描述。
描述手部姿态的三个单位向量定向如下。
向量Z 设在手部接近物体的方向上,称为接近向量a 。
另一称为姿态向量o 的y 向量设在从一指尖到另一指尖的方向以表明手部的姿态。
最后一个称为法向向量的n 向量,与a 、o 形成一组右旋向量因而可用向量的叉乘表示为:=⨯n o a 于是变换6T 具有如图4.1所示元素1⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦6z zz z T x x x x yy y y n o a p n o a p n o a p (4-4)图4-1 o ,a ,n 和p 向量4.1.2 姿态的规定给16个元素一一赋值,6T 就被完全规定。
这16个元素中,仅12个元素有任意意义。
低行由三个0和一个1组成。
左方列向量,是o 和a 列向量的叉乘。
余下的9个表示o 、a 和p 三个列向量。
表示操作手能够到达预期位置的p 值没有限制,而o 和a 则必须是正交单位向量,即是⋅=o o 1 (4-5) ⋅=a a 1 (4-6) ⋅=o a 0 (4-7)除末端夹持器于坐标轴方向重合的简单情况外,对o 和a 的这些限制,使得难以去确定向量的分量。
如果有o 和a 遇到难以确定向量分量的任何麻烦,可把向量改成满足下述条件的形式。
是a 为单位值←aa a(4-8) 作垂直于o 和a←⨯n o a (4-9)在由o 和a 形成的平面上转动o ,使它同时垂直于n 和a←⨯o a n (4-10)且使o 为单位值,←oo o(4-11)我们也可以用在第三章中研究的广义旋转矩阵Rot(k θ),来规定操作手末端的姿态为绕k 轴转动θ角。
不幸的是,为获得某一预期姿态的旋转轴不是直觉明显的。
4.1.3 欧拉角经常借助绕x y ,和z 轴的连续转动来规定姿态。
欧拉角通过绕z 轴转动φ,然后绕新的y 轴y '转动θ,最后绕新的z 轴z ''转动ψ来描述任何可能的姿态(见图4-2)。
z y z φθψφθψ=Euler(,,)Rot(,)Rot(,)Rot(,) (4-12) 在整个连续转动过程中,转动的次序是重要的。
注意这一连续转动可以用相反的转动次序来阐明:首先绕z 轴转动ψ,接着绕基础y 轴转动θ,最后再次绕基础z 轴转动φ(见图4-3)。
欧拉变换φθψEuler(,,)能够通过三个旋转矩阵联乘给予赋值z y z φθψφθψ=Euler(,,)Rot(,)Rot(,)Rot(,) (4-13)cos 0sin 00100(,,)(,)sin 0cos 00001cos sin 00sin cos 0000100001z θθφθψφθθψψψψ⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥⎣⎦-⎡⎤⎢⎥⎢⎥⨯⎢⎥⎢⎥⎣⎦Euler Rot (4-14)cos sin 00sin cos 00(,,)00100001cos cos cos sin sin 0sin cos 00sin cos sin sin cos 00001φφφφφθψθψθψθψψθψθψθ-⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦-⎡⎤⎢⎥⎢⎥⨯⎢⎥-⎢⎥⎣⎦Euler (4-15)cos cos cos sin sin sin cos cos cos sin (,,)sin cos 0cos cos sin sin cos cos sin 0sin cos sin cos cos sin sin 0sin sin cos 0001φθψφψφθψφψφθψθψφθψφψφθφθψφψφθθψθ-⎡⎢+⎢=⎢-⎢⎣--⎤⎥-+⎥⎥⎥⎦Euler(4-16)4.1.4 滚转,俯仰和侧摆另一经常使用的旋转组合是滚转,俯仰和侧摆。
如果我们想像一只沿z 轴行驶的船,则滚转相应于绕z 轴转动φ,俯仰相应于绕y 轴转动θ,而侧摆相应于绕x 轴转动ψ,(见图4-4)。
操作手末端夹持器的这些转动见图4-5。
我们将规定转动顺序为RPY(,,)Rot(,)Rot(,)Rot(,)z y x φθψφθψ= (4-17)图4-2 欧拉角 图4-3 在基坐标中阐明的欧拉角那就是先绕x 轴转动ψ,再绕y 轴转动θ,最后绕z 轴转动φ。
这一变换如下cos 0sin 00100(,,)(,)sin 0cos 00001RPY Rot z θθφθψφθθ⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥⎣⎦10000cos sin 00sin cos 00001 ψψψψ⎡⎤⎢⎥-⎢⎥⨯⎢⎥⎢⎥⎣⎦(4-18) cos sin 00sin cos 00(,,)00100001cos sin sin sin cos 00cos sin 0sin cos sin cos cos 00001RPY φφφφφθψθθψθψψψθθψθψ-⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦⎡⎤⎢⎥-⎢⎥⨯⎢⎥-⎢⎥⎣⎦(4-19)cos cos cos sin sin sin cos sin cos sin sin sin cos cos (,,)sin cos sin 00cos sin cos sin sin 0sin sin cos cos sin 0cos cos 001RPYφθφθψφψφθφθψφψφθψθθψφθψφψφθψφψθψ-⎡⎢+⎢=⎢-⎢⎣+⎤⎥-⎥⎥⎥⎦(4-20)4.1.5 位置的规定一旦姿态被规定,将其乘以相应于向量P 的平移变换,就可以把手定位在基座坐标中,10001000100016T x y z p p p ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦某一姿态变换 (4-21)4.1.3 圆柱坐标但是,我们可能希望用圆柱坐标来规定手的位置。
这相应于先沿x 轴平移r ,接着绕z轴转动α,最后沿z 轴平移z (见图4-6)。
0000Cyl(,,)Trans(,,)Rot(,)Trans(,,)z r z z r αα=cos sin 00100sin cos 000100(,,)(0,0,)0010001000010001Cyl Trans r z r z ααααα-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⨯⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(4-22) 1000cos sin 0cos 0100sin cos 0sin (,,)00100100001001Cyl r r z r z ααααααα-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(4-23) cos sin 0cos sin cos 0sin (,,)0010001Cyl r r z r z ααααααα-⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(4-24) 如果我们将这一变换后乘象公式(4-21)那样一个姿态变换,则手的姿态将相对于基座坐标绕z 轴转动α。
如果按没有转动的基座坐标来规定姿态,则我们要将(4-24)绕它的绕z 轴转动α-角。
cos sin 0cos cos()sin()00sin cos 0sin sin()cos()00(,,)001001000010001Cyl r r z r z ααααααααααα----⎡⎤⎡⎤⎢⎥⎢⎥--⎢⎥⎢⎥=⨯⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(4-25) cos sin 0cos cos sin 00sin cos 0sin sin cos 00(,,)0010010001001Cyl r r z r z ααααααααααα-⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥=⨯⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(4-26) 100cos 010sin (,,)0010001Cyl r r z r z ααα⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(4-27) 这就是我们要用来解释(,,)Cyl z r α的形式。
4.1.7 球 坐 标最后,我们将考虑用球坐标规定位置向量的方法。
这方法相应于先沿z 轴平移r ,接着绕y 轴转动β,最后绕z 轴转动α(见图4-7)。
(,,)(,)(,)(0,0,)Sph Rot Rot Trans r z y r αβαβ= (4-28)cos 0sin 0100001000100(,,)(,)sin 0cos 000100010001Sph Rot r z r ββαβαββ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⨯⎢⎥⎢⎥-⎢⎥⎢⎥⎣⎦⎣⎦(4-29) cos 0sin 0cos 0sin sin 01000100(,,)sin 0cos 0sin 0cos cos 00010001Sph r r βββββαββββββ-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⨯⎢⎥⎢⎥-⎢⎥⎢⎥⎣⎦⎣⎦(4-30)ycos cos sin cos sin cos sin sin cos cos sin sin sin sin (,,)sin 0cos cos 0001Sph αβααβαβαβααβαβαββββ-⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥⎣⎦r r r r (4-31) 再次,如果我们不希望按这一转动后坐标架来表示姿态,我们必须后乘(,)Rot y β-和(,)Rot z α-(,,)(,)(,)(0,0,)(,)(,)Sph Rot Rot Trans Rot Rot r z y r y z αβαββα=-- (4-32)100cos sin 010sin sin (,,)001cos 0001Sph r r r r αβαβαββ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(4-33) 4.1.8 6T 的规定6T 可以用一个转动和一个移动的多种方式来规定。