《机器人学导论》 第三章 操作臂运动学

第三章 操作臂运动学

3.1 连杆及连杆连接的描述

3.1.1 连杆参数相关概念

  1. 连杆长度 a i − 1 a_{i-1} ai1:关节轴 i − 1 i-1 i1和关节轴 i i i之间公垂线的长度,表示连接连杆 i − 1 i-1 i1两端关节轴的公垂线长度;

  2. 连杆扭转角 α i − 1 \alpha_{i-1} αi1:关节轴 i − 1 i-1 i1和关节轴 i i i之间的夹角

  3. 连杆偏距 d i d_i di:两相邻连杆 i − 1 i-1 i1 i i i与关节轴 i i i两交点之间的距离,表示公垂线 a i − 1 a_{i-1} ai1与关节轴 i i i的交点到公垂线 a i a_i ai与关节轴 i i i的焦点的有向距离

  4. 关节角 θ i \theta_i θi:两相邻连杆 i − 1 i-1 i1 i i i绕关节轴 i i i旋转的夹角

当关节 i i i是转动关节时,关节角 θ i \theta_i θi为关节变量,其他三个连杆参数固定不变;当关节 i i i是移动关节时,连杆偏距 d i d_i di为关节变量,其他三个连杆参数固定不变。这种用连杆参数描述机构运动关系的规则为DH方法,这些参数被称为DH参数。
在这里插入图片描述

3.1.2 Denavit-Hartenberg方法

3.1.2.1 修正DH参数——定义关节i的轴为 z i z_i zi轴(最后一个坐标系{n}在关节n处)
3.1.2.1.1 连杆坐标系定义
  • (a) 运动链中间位置连杆坐标系{ i {i} i}的定义

    固连在连杆i上的固连坐标系称为坐标系{ i i i}
    O i O_i Oi原点:关节轴i和i+1的交点或关节轴i和i+1公垂线与关节轴i的交点
    Z ^ i \hat{Z}_i Z^i轴:关节轴 i i i
    X ^ i \hat{X}_i X^i轴:沿 Z ^ i \hat{Z}_i Z^i Z ^ i + 1 \hat{Z}_{i+1} Z^i+1的公垂线 a i a_i ai方向由关节 i i i指向关节 i + 1 i+1 i+1,当 a i = 0 a_i=0 ai=0时, X ^ i \hat{X}_i X^i垂直于 Z ^ i \hat{Z}_i Z^i Z ^ i + 1 \hat{Z}_{i+1} Z^i+1所在的平面
    Y ^ i \hat{Y}_i Y^i轴:根据右手法则确定
    α i \alpha_i αi:根据右手定则,绕 X ^ i \hat{X}_i X^i轴从 Z ^ i − 1 \hat{Z}_{i-1} Z^i1 Z ^ i \hat{Z}_i Z^i

在这里插入图片描述

在这里插入图片描述

  • (b) 运动链首段连杆{ 0 0 0}坐标系的定义( Z ^ 0 \hat{Z}_0 Z^0 Z ^ 1 \hat{Z}_1 Z^1同向)

    固连于机器人基座(即连杆0)上的坐标系为坐标系{0},该坐标系可做参考坐标系。
    设定 Z ^ 0 \hat{Z}_0 Z^0沿关节轴1的方向,当关节变量1( d 1 d_1 d1 θ 1 \theta_1 θ1)为0时,设定参考坐标系{0}与{1}重合。总有 a 0 = α 0 = 0 a_0=\alpha_0=0 a0=α0=0,当关节1为移动关节时, θ 1 = 0 \theta_1=0 θ1=0,当关节1为转动关节时, d 1 = 0 d_1=0 d1=0

在这里插入图片描述

(c) 运动链末端连杆{ n n n}坐标系的定义( X ^ N \hat{X}_N X^N X ^ N − 1 \hat{X}_{N-1} X^N1同向)

{n}坐标原点选取在 X ^ N − 1 \hat{X}_{N-1} X^N1轴与关节轴n的交点位置,使得 d n = 0 d_n=0 dn=0,总有 a n = α n = 0 a_n=\alpha_n=0 an=αn=0
对于转动关节n,始终有 d n = 0 d_n=0 dn=0,当 θ n = 0 \theta_n=0 θn=0时,设定 X ^ N \hat{X}_N X^N X ^ N − 1 \hat{X}_{N-1} X^N1同向,选取坐标原点位置为 X ^ N − 1 \hat{X}_{N-1} X^N1轴与关节轴n的交点位置。
对于移动关节n,始终有 θ n = 0 \theta_n=0 θn=0,当 d n = 0 d_n=0 dn=0时,设定 X ^ N \hat{X}_N X^N X ^ N − 1 \hat{X}_{N-1} X^N1同向,选取坐标原点位置为 X ^ N − 1 \hat{X}_{N-1} X^N1轴与关节轴n的交点位置。

在这里插入图片描述

3.1.2.1.2 连杆参数在连杆坐标系中的表示方法

如果按照上述方法将两岸坐标系固定于连杆上时,连杆参数可以定义为

  1. a i − 1 a_{i-1} ai1:沿 X ^ i − 1 \hat{X}_{i-1} X^i1轴,从 Z ^ i − 1 \hat{Z}_{i-1} Z^i1移动到 Z ^ i \hat{Z}_{i} Z^i的距离,通常取正值;

  2. α i − 1 \alpha_{i-1} αi1:绕 X ^ i − 1 \hat{X}_{i-1} X^i1轴,从 Z ^ i − 1 \hat{Z}_{i-1} Z^i1旋转到 Z ^ i \hat{Z}_{i} Z^i的角度,采用右手法则判断正负;

  3. d i d_i di:沿 Z ^ i \hat{Z}_{i} Z^i轴,从 X ^ i − 1 \hat{X}_{i-1} X^i1移动到 X ^ i \hat{X}_{i} X^i的距离;

  4. θ i \theta_i θi:绕 Z ^ i \hat{Z}_{i} Z^i轴,从 X ^ i − 1 \hat{X}_{i-1} X^i1旋转到 X ^ i \hat{X}_{i} X^i的角度,采用右手法则判断正负;

在这里插入图片描述

3.1.2.1.3 建立连杆坐标系的步骤

现根据关节轴确定Z轴,再跟相邻关节轴之间的公垂线确定X轴。具体步骤如下:

  1. 找出各关节轴, 并标出(或画出)这些轴线的延长线。 在下面的步骤2至步骤5中,仅考虑两个相邻的轴线(关节轴 i i i i + 1 i+1 i+1);

  2. 找出关节轴 i i i i + 1 i+1 i+1之间的公垂线 a i a_i ai或关节轴 i i i i + 1 i+1 i+1的交点, 以关节轴 i i i i + 1 i+1 i+1的交点或公垂线 a i a_i ai与关节轴 i i i的交点作为连杆坐标系{ i i i}的原点;

  3. 规定 Z ^ i \hat{Z}_i Z^i轴沿关节轴i的指向;

  4. 规定 X ^ i \hat{X}_i X^i轴沿公垂线 a i a_i ai的指向, 如果关节轴i和i+1相交, 则规定 X ^ i \hat{X}_i X^i轴垂直于关节轴i和i+1所在的平面;

  5. 按照右手定则确定 Y ^ i \hat{Y}_i Y^i轴;

  6. 当第一个关节变量为 0 时, 规定坐标系{0}和{1}重合。 对于坐标系{N}, 其原点和的 X ^ N \hat{X}_N X^N方向可以任意选取。 但是在选取时, 通常尽量使连杆参数为0。

3.1.2.1.4 连杆变换的推导

通过定义三个中间坐标系{P},{Q},{R}建立坐标系{i}相对于坐标系{i-1}的变换:
{i}沿 Z ^ i \hat{Z}_i Z^i平移 d i d_i di得到{P},{P}绕 Z ^ P \hat{Z}_P Z^P旋转 θ i \theta_i θi得到{Q},{Q}沿 X ^ Q \hat{X}_Q X^Q平移 a i − 1 a_{i-1} ai1得到{R},{R}绕 X ^ R \hat{X}_R X^R旋转 α i − 1 \alpha_{i-1} αi1得到{i-1}

KaTeX parse error: \tag works only in display equations
其中,
KaTeX parse error: \tag works only in display equations
在这里插入图片描述

3.1.2.2 标准DH参数——定义关节i的轴为 z i − 1 z_{i-1} zi1轴(最后一个坐标系{n}在连杆n的末端)
3.1.2.2.1 连杆坐标系定义
  • (a)运动链中间位置连杆坐标系{ i {i} i}的定义

    Z ^ i \hat{Z}_i Z^i轴:关节轴 i + 1 i+1 i+1
    X ^ i \hat{X}_i X^i轴:沿轴 z i − 1 z_{i-1} zi1和轴 z i z_i zi的公垂线 a i a_i ai方向由关节 i i i指向关节 i + 1 i+1 i+1,当 a i = 0 a_i=0 ai=0时,即轴 z i − 1 z_{i-1} zi1和轴 z i z_i zi相交时, X ^ i \hat{X}_i X^i垂直于 Z ^ i − 1 \hat{Z}_{i-1} Z^i1 Z ^ i \hat{Z}_{i} Z^i所在的平面
    Y ^ i \hat{Y}_i Y^i轴:根据右手法则确定
    O i O_i Oi点:在关节 i + 1 i+1 i+1的轴 Z i Z_i Zi轴与公垂线 a i a_i ai的交点

在这里插入图片描述
在这里插入图片描述

  • (b)运动链首段连杆{ 0 0 0}坐标系的定义

    设定 Z ^ 0 \hat{Z}_0 Z^0沿关节轴1的方向, O 0 O_0 O0 X ^ 0 \hat{X}_0 X^0可以任意选择

  • (c)运动链末端连杆末端执行器手部{ n n n}坐标系的定义

    对坐标系{n}而言,由于没有关节n+1,但x_n轴必须与轴 z n − 1 z_{n-1} zn1垂直,但 z n z_n zn不是唯一定义的,当关节n是转动的, z n z_n zn依照 z n − 1 z_{n-1} zn1的方向设置

3.1.2.2.2 连杆参数在连杆坐标系中的表示方法

如果按照上述方法将连杆坐标系固定于连杆上时,下标为i的连杆参数可以由坐标系 i i i和坐标系 i − 1 i-1 i1的位置和方向定义为

  1. a i a_{i} ai:沿 X ^ i \hat{X}_{i} X^i轴,从 Z ^ i − 1 \hat{Z}_{i-1} Z^i1移动到 Z ^ i \hat{Z}_{i} Z^i的距离,Link_i的长度,通常取正值;

  2. α i \alpha_{i} αi:绕 X ^ i \hat{X}_{i} X^i轴,从 Z ^ i − 1 \hat{Z}_{i-1} Z^i1旋转到 Z ^ i \hat{Z}_{i} Z^i的角度,采用右手法则判断正负;

  3. d i d_i di:沿 Z ^ i − 1 \hat{Z}_{i-1} Z^i1轴,从 X ^ i − 1 \hat{X}_{i-1} X^i1移动到 X ^ i \hat{X}_{i} X^i的距离,即 x i − 1 x_{i-1} xi1 x i x_i xi z i − 1 z_{i-1} zi1轴交点的距离;

  4. θ i \theta_i θi:绕 Z ^ i − 1 \hat{Z}_{i-1} Z^i1轴,从 X ^ i − 1 \hat{X}_{i-1} X^i1旋转到 X ^ i \hat{X}_{i} X^i的角度,采用右手法则判断正负;

在这里插入图片描述

4 个参数中有2 个( a i a_i ai α i \alpha_i αi〉始终为常数,只取决于由连杆i建立的相继关节之间的几何连接关系。其他两个参数中只有一个是变量,取决于连接连杆i-1 和连杆i 的关节的类型。详述如下:

  • 如果关节i 是转动型的, 则变最为 θ i \theta_i θi
  • 如果关节i 是移动型的,则变量为 d i d_i di
3.1.2.2.3 建立连杆坐标系的步骤

在这里插入图片描述

3.1.2.2.4 连杆变换的推导

i i − 1 T ( q i ) = R Z ( θ i ) D Z ( d i ) R Z ( α i ) D X ( a i ) = [ c θ i − s θ i 0 0 s θ i c θ i 0 0 0 0 1 d i 0 0 0 1 ]   [ 1 0 0 a i 0 c α i − s α i 0 0 s α i c α i 0 0 0 0 1 ] = [ c θ i − s θ i c α i s θ i s α i a i c θ i s θ i c θ i c α i − c θ i s α i a i s θ i 0 s α i c α i d i 0 0 0 1 ] \begin{aligned} _i^{i-1}T(q_i)&=R_Z(\theta_i)D_Z(d_i)R_Z(\alpha_{i})D_X(a_{i})\\ & \left.=\quad\left[\begin{array}{cccc}c_{\theta_i} & -s_{\theta_i} & 0 & 0 \\ s_{\theta_i} & c_{\theta_i} & 0 & 0 \\ 0 & 0 & 1 & d_i \\ 0 & 0 & 0 & 1\end{array}\right.\right] \ \left[\begin{array}{cccc}1 & 0 & 0 & a_i \\ 0 & c_{\alpha_i} & -s_{\alpha_i} & 0 \\ 0 & s_{\alpha_i} & c_{\alpha_i} & 0 \\ 0 & 0 & 0 & 1\end{array}\right] \\ & \left.=\quad\left[\begin{array}{cccc}c_{\theta_i} & -s_{\theta_i}c_{\alpha_i} & s_{\theta_i}s_{\alpha_i} & a_ic_{\theta_i} \\ s_{\theta_i} & c_{\theta_i}c_{\alpha_i} & -c_{\theta_i}s_{\alpha_i} & a_is_{\theta_i} \\ 0 & s_{\alpha_i} & c_{\alpha_i} & d_i \\ 0 & 0 & 0 & 1\end{array}\right.\right]\end{aligned} ii1T(qi)=RZ(θi)DZ(di)RZ(αi)DX(ai)= cθisθi00sθicθi00001000di1   10000cαisαi00sαicαi0ai001 = cθisθi00sθicαicθicαisαi0sθisαicθisαicαi0aicθiaisθidi1

从坐标系 i 到坐标系i - 1 的变换矩阵是一个只与关节变量 q i q_i qi有关的函数,如果是
转动关节则变量为 θ i \theta_i θi, 如果是移动关节则变量为 d i d_i di

3.1.3 MDH和SDH两者对比

3.1.3.1 平面3R机器人
  • 标准DH参数

在这里插入图片描述

  • 修正DH参数
    待补充

3.2 驱动器空间、关节空间、笛卡尔空间

3.2.1 驱动器空间

我们已知假设每个运动关节都直接由某种驱动器驱动。但并非如此。有时两个驱动器以差动方式驱动一个关节,有时用直线驱动器通过四连杆机构驱动旋转关节。这就需要考虑驱动器位置。由于测量操作臂位置的传感器常常安装在驱动器上,因此进行某些计算时必须把关节矢量表示成一组驱动器函数,即驱动器矢量

3.2.2 关节空间

对于一个具有n个自由度的操作臂来说,他的所有连杆位置可由一组n个关节变量加以确定,这个 n × 1 n\times1 n×1的变量称为关节矢量。所有关节矢量组成的空间称为关节空间

3.2.3 笛卡尔空间

当位置是在空间相互正交的轴上测量,且姿态是按照第2章的任何一种规定测量时(角坐标系表示法共24中,其中12中为固定角坐标系法,12种为欧拉角坐标系法。附录B有24种角坐标系的旋转矩阵定义),我们称这个空间为笛卡尔空间,有时称为任务空间或操作空间。

在这里插入图片描述

3.3 两种典型机器人运动学问题

平行轴可以先利用和差化积求解 T T T,如下面例题中的 1 3 T ^3_1T 13T T T T相似的也可以先乘起来,如下面例题中的 3 6 T ^6_3T 36T

3.3.1 Unimation PUMA 560机器人

(1) Frames

在这里插入图片描述

(2) 建立坐标轴

在这里插入图片描述

(3) 建立6自由度的DH表格

在这里插入图片描述

(4) 列出6个旋转矩阵

在这里插入图片描述

(5) 合并旋转矩阵

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.4 坐标系的标准命名

3.4.1 基坐标系{ B B B}

**基坐标系{B}位于操作臂的基座上。**它仅是赋予坐标系{0}的另一个名称。 因为它固连连在机器人的静止部位, 所以有时称为连杆0

3.4.2 固定坐标系{ S S S}

又名任务坐标系、 世界坐标系或通用坐标系

固定坐标系{S}位置与任务相关。 固坐标系{S}是一个通用坐标系, 机器人所有的运动都是相对于它来执行的。固定坐标系通常根据基坐标系确定, 即 S B T ^B_ST SBT.

3.4.3 腕部坐标系{ W W W}

腕部坐标系{W}附于操作臂的末端连杆。 这个固连在机器人的末端连杆上的坐标系也可以称为坐标系{N}。大多数情况, 腕部坐标系{W}的原点位于操作臂手腕上, 它随操作臂的末端连杆移动,根据基坐标系确定. 即 { W } = W B T = N 0 T \{W\}=^B_WT=^0_NT {W}=WBT=N0T

3.4.4 工具坐标系{ T T T}

工具坐标系{T}附于机器人所夹持工具的末端。 手部没有夹持工具时,工具坐标系{T}的原点位于机器人的指尖之间。 工具坐标系通常相对下腕部坐标系来确定。 下图中,工具坐标系的原点定义在机器人抓持轴销的未端。

3.4.5 目标坐标系{ G G G}

目标坐标系{G}是对机器人移动工具到达的位置描述。特指在机器人运动结束时,工具坐标系应当与目标坐标系重舍。 目标坐标系{G}通常根据固定坐标系来确定。下图中,目标坐标系为位于将要插入轴销的轴孔。

在这里插入图片描述

3.5 matlab习题

在这里插入图片描述

%D:\Users\jinqiyuan\Documents\MATLAB\Introduction to Robotics\charpter_3\Exercise1.m
%根据DH参数定义变量
syms alpha0 a0 d1 theta1 ...
alpha1 a1 d2 theta2 ...
alpha2 a2 d3 theta3
alpha0=0;a0=0;d1=0;
alpha1=0;a1=4;d2=0;
alpha2=0;a2=3;d3=0;

syms alphai_1 ai_1 di thetai
i_1iT=[cos(thetai) -sin(thetai) 0 ai_1
sin(thetai)*cos(alphai_1) cos(thetai)*cos(alphai_1) -sin(alphai_1) -sin(alphai_1)*di
sin(thetai)*sin(alphai_1) cos(thetai)*sin(alphai_1) cos(alphai_1) cos(alphai_1)*di
0 0 0 1];%利用书中公式
T01=subs(i_1iT,[alphai_1 ai_1 di thetai],[alpha0 a0 d1 theta1])
T12=subs(i_1iT,[alphai_1 ai_1 di thetai],[alpha1 a1 d2 theta2])
T23=subs(i_1iT,[alphai_1 ai_1 di thetai],[alpha2 a2 d3 theta3]) % sub()是symbolic中的替换函数
T3H=transl(2,0,0) % 来自工具箱

T03=T01*T12*T23
T0H=T01*T12*T23*T3H
% 关节角度参数为[0 0 0]
T03i=subs(T03,[theta1 theta2 theta3],[0 0 0])
T0Hi=subs(T0H,[theta1 theta2 theta3],[0 0 0])
% 角度为[10 20 30]
T03ii=subs(T03,[theta1 theta2 theta3],deg2rad([10 20 30]));
double(T03ii)
T0Hii=subs(T0H,[theta1 theta2 theta3],deg2rad([10 20 30]));
double(T0Hii) % 这里用double()输出具体数值,不然就会只代入不计算
% 角度为[90 90 90]
T03iii=subs(T03,[theta1 theta2 theta3],deg2rad([90 90 90]))
T0Hiii=subs(T0H,[theta1 theta2 theta3],deg2rad([90 90 90]))

%% 工具箱检查
%用link()定义三根连杆
syms theta1 theta2 theta3
L(1)=Link('alpha',0,'a',0,'d',0,'modified');
L(2)=Link('alpha',0,'a',4,'d',0,'modified');
L(3)=Link('alpha',0,'a',3,'d',0,'modified'); % modified表示需要改进的DH参数
bot=SerialLink(L,'name','robot','tool',[2,0,0]) % Serialink表示把三根杆连起来,'tool'表示工具位置

T01=L(1).A(theta1)
T12=L(2).A(theta2)
T23=L(3).A(theta3) % link类的方法A(q)可以根据q求出杆的变换矩阵T,返回SE3类,即工具箱中定义的4*4的齐次变换矩阵
T3H=SE3(2,0,0) % 为了统一,用SE3()创建T3H

T03=bot.A(1:3,[theta1,theta2,theta3]) %SerialLink类的方法A(jlist,q)输入关节的编号jlist和对应的角度q,输出变换矩阵。可用来求c)中的T03。
T0H=bot.fkine([theta1,theta2,theta3]) %SerialLink类的方法fkine(q)根据输入角度q,输出末端执行器的正向运动学矩阵。可用来求c)中的T0H。
T03i=bot.A(1:3,[0,0,0])
T0Hi=bot.fkine([0,0,0])
T03ii=bot.A(1:3,deg2rad([10,20,30]))
T0Hii=bot.fkine(deg2rad([10,20,30]))
T03iii=bot.A(1:3,deg2rad([90,90,90]))
T0Hiii=bot.fkine(deg2rad([90,90,90]))
### 回答1: 机器人学导论第三章是关于矩阵和向量运算的内容。MATLAB是一种常用的数学软件,用于进行矩阵和向量的计算和处理。以下是该章的一些MATLAB习题解答: 1. 假设有两个向量A=[1, 2, 3]和B=[4, 5, 6],求它们的点积和叉积。 解答: ``` A = [1, 2, 3]; B = [4, 5, 6]; dot_product = dot(A, B); cross_product = cross(A, B); ``` 2. 定义一个3x3的单位矩阵。 解答: ``` I = eye(3); ``` 3. 计算以下矩阵的乘积: ``` A = [1, 2, 3; 4, 5, 6; 7, 8, 9] B = [9, 8, 7; 6, 5, 4; 3, 2, 1] ``` 解答: ``` product = A * B; ``` 4. 对以下矩阵进行转置和求逆: ``` A = [1, 2, 3; 4, 5, 6; 7, 8, 9] ``` 解答: ``` transpose = transpose(A); inverse = inv(A); ``` 通过在MATLAB中使用这些函数,可以方便地进行矩阵和向量运算,用于机器人学中的计算和分析。 ### 回答2: 机器人学导论第三章的MATLAB习题主要涉及机器人运动学以及转换矩阵的计算。以下是一些示例习题的解答: 1. 已知机器人 DH 坐标系参数为:a = [0, 1, 1, 0.5], alpha = [0, 0, 0, 0], d = [0, 0, 0, 1], theta = [0, pi/2, -pi/2, 0],请编写 MATLAB 代码计算机器人从基座标系到末端执行器坐标系的正运动学变换矩阵。 解答: ```MATLAB a = [0, 1, 1, 0.5]; alpha = [0, 0, 0, 0]; d = [0, 0, 0, 1]; theta = [0, pi/2, -pi/2, 0]; n = length(a); T = eye(4); % 初始化变换矩阵为单位矩阵 for i = 1:n % 计算当前关节的变换矩阵 A = [ cos(theta(i)), -sin(theta(i))*cos(alpha(i)), sin(theta(i))*sin(alpha(i)), a(i)*cos(theta(i)); sin(theta(i)), cos(theta(i))*cos(alpha(i)), -cos(theta(i))*sin(alpha(i)), a(i)*sin(theta(i)); 0, sin(alpha(i)), cos(alpha(i)), d(i); 0, 0, 0, 1 ]; % 更新总的变换矩阵 T = T * A; end T % 输出正运动学变换矩阵 ``` 2. 对于一个平面二自由度机器人,其末端执行器的位置分别为 x = t, y = sin(t),请编写 MATLAB 代码绘制机器人的末端执行器的轨迹。 解答: ```MATLAB t = 0:0.01:10; % 时间范围 x = t; % x 轴位置 y = sin(t); % y 轴位置 figure; plot(x, y, 'b-'); % 绘制蓝色曲线 hold on; plot(x(1), y(1), 'ro'); % 标记起始点为红色 plot(x(end), y(end), 'go'); % 标记结束点为绿色 xlabel('x'); ylabel('y'); title('末端执行器轨迹'); grid on; ``` 以上是机器人学导论第三章MATLAB习题的部分示例解答。通过编写代码并求解习题,我们可以学习和掌握机器人运动学以及MATLAB 在机器人学中的应用。 ### 回答3: 机器人学导论第三章为matlab习题,故需要使用matlab编程进行解答。以下是针对这些习题的简要回答。 第一题要求使用matlab计算机器人坐标系的旋转矩阵。可以使用matlab内置函数`rotx`、`roty`和`rotz`来分别计算绕x、y和z轴的旋转矩阵。通过调用这些函数,并输入相应的度,即可计算得到机器人坐标系的旋转矩阵。 第二题是关于转换矩阵的计算。题目给出了机器人的DH参数,并要求计算机器人末端执行器的位姿。可以先使用`dh2matrix`函数将DH参数转化为转换矩阵,然后通过乘法运算将各个转换矩阵相乘得到末端执行器的位姿矩阵。 第三题是关于通过已知机器人结构的转换矩阵和末端执行器的位姿,求解机器人的关节度。可以使用matlab内置函数`matrix2dh`将已知机器人结构的转换矩阵转化为DH参数,然后通过反解DH参数和末端执行器的位姿,即可求解出机器人的关节度。 这些习题要求对matlab编程语言有一定的了解,并且熟悉机器人学中的基本概念与原理。解答这些习题可以帮助加深对机器人学的理解,并且提高matlab编程的能力。同时,这些习题也可以为以后的机器人学研究与实践提供基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值