林沛群机器人之运动学笔记—3
3-1 顺向运动学引言
首先回顾什么是运动学,什么是动力学:
运动学:讨论运动状态(移动:位置、速度、加速度/转动:姿态、角速度、角加速度)的本身,没有涉及产生运动的力,
动力学:讨论力/力矩如何产生运动,牛顿第二定律、能量守恒、对力进行积分。
机械手臂和人手一样,可以看作由多个link(连杆)和joint(关节)构成,连杆之间可以移动或转动,移动和转动由执行器(电机)达成。
顺向运动学:就是知道了每个关节和连杆的夹角(θ1\theta_1θ1, θ2\theta_2θ2, θ3\theta_3θ3),得到机械臂末端点到达的位置(WP{}^{W}PWP),
逆向运动学:就是知道了机械臂末端点的位置(WP{}^{W}PWP),反推每个关节需要呈现的角度(θ1\theta_1θ1, θ2\theta_2θ2, θ3\theta_3θ3),
所以,顺向运动学的关键是找到一个function(描述手臂状态函数)。
3-2 手臂几何描述
首先给出Joint(关节)和连杆(Link)的定义:
Joint:每个能旋转或只能“直线移动”的关节具有一个自由度;每个关节对某个特定的坐标轴进行旋转或移动
Link:连接关节的杆件,为刚体;编号方式Link0:地杆(默认不动),Link1:与Link0第一个可动的杆,Link2:第二个可动的杆件。
对于空间当中任意两个转轴{Axis i}和{Axis i-1},可以找到一条线段与这两个转轴互相垂直。与此同时,可以用两个变量描述任意两杆之间的相对状态,Link length(两杆垂线的长度aaa),Link twist(两杆之间的相对角度α\alphaα)。
但是aaa和α\alphaα仅仅只能描述任意两个转轴的关系,当空间中有多个转轴时,这是不够的,因为转轴之间上下也会有距离(偏置),因此引入Link offset(相邻杆两垂线的距离ddd),同时对于关节也会有关节夹角,在这里定义为θ\thetaθ。于是,对于转动的关节(Revolute Joint)θ\thetaθ是变量,aaa,α\alphaα,ddd是定值;而对于移动的关节(Prismatic Joint)ddd是变量,aaa,α\alphaα,θ\thetaθ是定值。
3-3 DH 表示法
在杆件上建立坐标系:在每个杆件上建立坐标系,就能够清晰的描述每个杆件的运动状态。
对于i杆和i-1杆,ZZZ轴的方向:转动或移动{Axis}的方向;
XXX轴的方向:沿着aia_iai方向(如果aia_iai不等于0);
如果两个转轴是相交的,那么XXX轴的方向需要同时和这两个转轴(Axis i和Axis i-1)垂直;
YYY轴的方向:根据右手定则确定。
对于地杆 Link (0),坐标系的建立和 Link 1重合
对于最后一个连杆 Link n,坐标系的建立和Link n-1的同方向
Denavit-Hartenberg表达法(Craig version):以四个参数就能知道空间当中任意两杆的姿态(状态),
αi−1\alpha_{i-1}αi−1表示的是坐标轴Zi−1Z_{i-1}Zi−1与坐标轴ZiZ_iZi之间的夹角(ZiZ_iZi与轴{Axis i-1}的黄虚线平行);
ai−1a_{i-1}ai−1表示坐标轴Zi−1Z_{i-1}Zi−1与坐标轴ZiZ_iZi的距离(ai>0a_{i}>0ai>0);
θi\theta_{i}θi表示坐标轴Xi−1X_{i-1}Xi−1与坐标轴XiX_iXi的夹角(坐标轴Xi−1X_{i-1}Xi−1与ai−1a_{i-1}ai−1重合,坐标轴XiX_{i}Xi与aia_{i}ai重合);
did_{i}di表示坐标轴Xi−1X_{i-1}Xi−1与坐标轴XiX_iXi的距离。
3-4 Link Transformations
有了以上介绍的四个参数,现在要找到两杆之间的旋转矩阵,使得杆件之间的坐标系可以相互转换。假设现在有一点P在坐标系{i}下表示,如果能够找到坐标系{i}和{i-1}之间的旋转矩阵,那么就能知道点P在坐标系{i-1}上的表达。
根据第2章的齐次变换矩阵,可以获取坐标系{i}和{i-1}之间的旋转矩阵,坐标系{i}到{i-1}之间可由四次变换得到。首先是坐标系{i}到坐标系{P},仅移动did_idi(iPT{^P_i}TiPT);坐标系{P}到坐标系{Q},仅转动θi\theta_iθi(PQT{^Q_P}TPQT);坐标系{Q}到坐标系{R},仅移动ai−1a_{i-1}ai−1(QRT{^R_Q}TQRT);坐标系{R}到坐标系{i-1},仅转动αi−1\alpha_{i-1}αi−1(Ri−1T{^{i-1}_R}TRi−1T)。于是,便能得到如下的表达式:
因此,坐标系{i}和{i-1}之间的旋转矩阵定义如下: ii−1T=TXi−1(αi−1)TXR(ai−1)TZQ(θi)TZP(di){}^{i-1}_{\;\;i}T= T_{X_{i-1}}(\alpha_{i-1})T_{X_R}(a_{i-1})T_{Z_Q}(\theta_i)T_{Z_P}(d_i)ii−1T=TXi−1(αi−1)TXR(ai−1)TZQ(θi)TZP(di),再由第2章的其次变换矩阵的知识,将每个矩阵展开并进行连乘得到ii−T{^{i-}_i}Tii−T的具体表达式:
知道了空间当中相邻两连杆坐标系之间的旋转矩阵,通过矩阵连乘就能得到任意连杆坐标系{n}相对于地杆坐标系{0}的旋转矩阵。同时,根据坐标系{n}与坐标系{0}的旋转矩阵,可以得到坐标系{n}与坐标系{0}的空间几何关系,同时坐标系{n}中的向量可以转到坐标系{0}中进行表达。
Example1:有三个连杆,转动轴(Joint axes)之间互相平行,方向穿出屏幕;转动轴的公共垂线为红色实线;每个关节上的ZZZ轴方向穿出屏幕;XXX轴即沿着转动轴的垂线方向;YYY轴方向根据右手定则确定;以此定义坐标轴{1}和{2}。对于地坐标轴和末端坐标轴,地坐标轴{0}与坐标轴{1}存在夹角θ1\theta_1θ1,末端坐标轴{3}与坐标轴{2}之间存在θ3\theta_3θ3。由此,根据四个参数可以构建DH表:α\alphaα是转轴的相对角度(三个转轴互相平行,为0),aaa表示两杆(转轴)垂线的长度(L1L_1L1,L2L_2L2),ddd表示相邻杆两垂线的距离,为0:
Example2: 处理方法与Example1一样
Example3: 在建立坐标系当中,ZZZ轴与XXX轴的方向并不是唯一的,选择合适的坐标轴方向即可:
Example4:晶圆机器人,半导体机械手,也叫半导体晶圆传输机器人(Semiconductor Wafer Transfer Robots),主要适应于集成电路、芯片制造等半导体前段工序,用来搬送晶圆。机械手通常应用在磨削、抛光、刻蚀、扩散、沉积、装配、包装和测试等的半导体加工步骤中,用于对半导体晶片进行传输与定位。在半导体设备的机械手中,主要采取负压式吸片的方式取片,即:利用吸盘原理将半导体晶片吸附于石英或陶瓷手指上,并通过机械手臂的伸缩、旋转和升降等的动作搬运半导体晶片。
这里我们主要介绍DH表的由来:根据建好的坐标系,α\alphaα是转轴的相对角度(四个转轴互相平行,为0),aaa表示两杆(转轴)垂线的长度(轴2与轴3之间为a2a_2a2,轴3与轴4之间为a3a_3a3),ddd表示相邻杆(转轴)两垂线的距离(杆件之间有高度(厚度),所以分别是d1d_1d1,d2d_2d2,d3d_3d3,d4d_4d4),θ\thetaθ表示相邻坐标系之间的旋转角度(θ2\theta_2θ2,θ3\theta_3θ3,θ4\theta_4θ4)
Example5:SCARA机器人
In-video Quiz:选D

其建立的坐标系和DH表如下图所示:
3-5 Actuator Joint and Cartesian Spaces
首先来介绍什么是Actuator Space、Joint Space、Cartesian Space,
执行器空间 (Actuator Space):执行器空间指的是由机器人的执行器(如电机、液压缸等)的参数构成的空间。这些参数通常包括每个执行器的位置、速度或力矩等。
关节空间 (Joint Space):关节空间是指由机械臂所有关节变量组成的向量空间。每个关节变量对应于一个关节的角度(旋转关节)或位移(棱柱关节),用于描述和控制系统内部状态,适用于需要精确控制每个关节的情况,比如路径规划中的关节轨迹生成。
笛卡尔空间 (Cartesian Space):笛卡尔空间指的是以直角坐标系为基础的空间,用来描述机械臂末端执行器(夹爪、灵巧手等)的位置和姿态。位置通常用X、Y、Z三个坐标表示,而姿态可以通过欧拉角或者四元数来描述。描述了末端执行器相对于固定参考框架的位置和方向,
广泛应用于机器人编程和操作任务中,特别适合指定任务目标,如“将工具移动到特定点并保持某一方向”。
由关节角度得到末端位姿是正向运动学(Forward Kinematics, FK),由末端位姿到每个关节的角度是逆向运动学(Inverse Kinematics, IK),Actuator Space与Joint Space的参数是有转换关系的,如电机马达角度与关节角度之间存在映射关系。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)