《动手学机器人学》笔记

news/2025/2/21 5:41:40/

目录

  • 0.介绍
  • 1.概述|空间位置、姿态的描述(3×3)|《动手学机器人学》
  • 2.(2)-Robotics Toolbox①(V10.4)
  • 3.齐次坐标与变换矩阵
  • 4.一般形式的旋转变换矩阵
  • 5.(轴角法)或(Rodrigues' rotation formula)或(罗德里格旋转公式)或(一般形式的旋转变换矩阵)详细推导证明
  • 6.空间位姿表示方法-----RPY角
  • 7.欧拉角 | 空间位姿表示方法 |《动手学机器人学》
  • 8.标准DH参数详解+案例分析【1】

0.介绍

原课程来源于b站劉海濤LHT,链接:【《动手学机器人学》开课了】 https://www.bilibili.com/video/BV1CY4y1W7Ry/?share_source=copy_web&vd_source=338eeada513a018955017f069032f82c

1.概述|空间位置、姿态的描述(3×3)|《动手学机器人学》

1.1正运动学(forward kinematics,简写FK),根据机器人的关节角度,计算末端位姿
1.2逆运动学(inverse kinematics,简写IK),根据末端位姿,反解关节角
1.3在这里插入图片描述
1.4除了空间某点位置还需要确定空间物体方位,用旋转矩阵表示
在这里插入图片描述

2.(2)-Robotics Toolbox①(V10.4)

2.1安装教程可以参考这个https://blog.csdn.net/m0_71721954/article/details/145087352。注意:设置路径的时候,到MATLAB\R2024b\toolbox这一层,否则容易出现找不到命令。在这里插入图片描述
2.2 相关命令
在这里插入图片描述

% 二维空间姿态
>> SE2(1,2,pi/3)ans = 0.5000   -0.8660         10.8660    0.5000         20         0         1
>> trplot(ans)

在这里插入图片描述

% 纯平移
>> transl2(1,2)ans =1     0     10     1     20     0     1
% 绕x轴旋转,角度一定要用弧度制
>> rotx(pi/3)ans =1.0000         0         00    0.5000   -0.86600    0.8660    0.5000
% 绕y轴旋转
>> roty(pi/3)ans =0.5000         0    0.86600    1.0000         0-0.8660         0    0.5000
% 绕z轴旋转
>> rotz(pi/3)ans =0.5000   -0.8660         00.8660    0.5000         00         0    1.0000
% 齐次
>> trotx(pi/3)ans =1.0000         0         0         00    0.5000   -0.8660         00    0.8660    0.5000         00         0         0    1.0000>> troty(pi/3)ans =0.5000         0    0.8660         00    1.0000         0         0-0.8660         0    0.5000         00         0         0    1.0000>> trotz(pi/3)ans =0.5000   -0.8660         0         00.8660    0.5000         0         00         0    1.0000         00         0         0    1.0000>> rotx(pi/3)ans =1.0000         0         00    0.5000   -0.86600    0.8660    0.5000
% 三维轨迹
>> trplot(ans)
% 动画演示(图略)
>> tranimate(ans)

在这里插入图片描述

3.齐次坐标与变换矩阵

3.1齐次坐标用 n + 1 n+1 n+1维来代表 n n n维坐标

在这里插入图片描述
3.2 引入齐次坐标的目的是,合并矩阵运算中的乘法和加法
3.3 (特别重要)矩阵的左乘和右乘的运动解释是不一样的。对于固定坐标系:变化顺序“从右向左”;对于相对坐标系:变化顺序“从左向右”。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
说明这个物体在空间里做刚体运动。

4.一般形式的旋转变换矩阵

4.1 通用的旋转变换矩阵:已知旋转轴和旋转角度,得到旋转矩阵
在这里插入图片描述
4.2 已知旋转矩阵,得到旋转轴和旋转角度(过程略)
在这里插入图片描述
旋转角度 θ = a r c c o s ( . . . ) \theta=arccos(...) θ=arccos(...)在这里插入图片描述
旋转轴
在这里插入图片描述
注意:存在多解,等效轴和转角不唯一,一般角度在0度到180度

这题就能解了
在这里插入图片描述
4.3 matlab中的函数

% 已知旋转角度和旋转轴,求旋转矩阵
>> angvec2r(pi/3,[1,0,0])ans =1.0000         0         00    0.5000   -0.86600    0.8660    0.5000>> rotx(pi/3)ans =1.0000         0         00    0.5000   -0.86600    0.8660    0.5000
% 齐次
>> angvec2tr(pi/3,[1,0,0])ans =1.0000         0         0         00    0.5000   -0.8660         00    0.8660    0.5000         00         0         0    1.0000

4.4 练习题
在这里插入图片描述

function [f,theta] = resolve_f_theta(T)nx = T(1,1); ox = T(1,2); ax = T(1,3);ny = T(2,1); oy = T(2,2); ay = T(2,3);nz = T(3,1); oz = T(3,2); az = T(3,3);theta = acos(0.5*(nx + oy + az - 1));if(theta == 0 || theta == 180)fprintf("error!");elsefx = (oz - ay)/(2*sin(theta));fy = (ax - nz)/(2*sin(theta));fz = (ny - ox)/(2*sin(theta));f = [fx,fy,fz];end
end
>> [f,theta] = resolve_f_theta([0 1 0;0 0 -1;-1 0 0])f =0.5774    0.5774   -0.5774theta =2.0944>> 2*pi/3ans =2.0944>> sqrt(3)/3ans =0.5774

5.(轴角法)或(Rodrigues’ rotation formula)或(罗德里格旋转公式)或(一般形式的旋转变换矩阵)详细推导证明

5.1 一般形式旋转矩阵公式证明

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

在这里插入图片描述

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

在这里插入图片描述
这个公式的意义,空间中给定任意的向量v,绕着旋转轴和旋转角,得到旋转后的向量v‘

>> t=2*pi/3t =2.0944>> u = [sqrt(3)/3,sqrt(3)/3,-sqrt(3)/3]'u =0.57740.5774-0.5774>> v = [1 2 3]'v =123>> result = cos(t)*v + (1-cos(t))*dot(u,v)*u+sin(t)*cross(u,v)result =2.0000-3.0000-1.0000

进一步化简成矩阵形式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 齐次坐标变换在这里插入图片描述

6.空间位姿表示方法-----RPY角

6.1 RPY角
在这里插入图片描述

syms alpha beta gamma T1 T2 T3 RPYT1 = [cos(alpha) -sin(alpha) 0;sin(alpha) cos(alpha) 0; 0 0 1];T2 = [cos(beta) 0 sin(beta);0 1 0;-sin(beta) 0 cos(beta)];T3 = [1 0 0;0 cos(gamma) -sin(gamma); 0 sin(gamma) cos(gamma)];RPY = T1*T2*T3;display(RPY);

在这里插入图片描述

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

在这里插入图片描述

% 给RPY角输出旋转矩阵
>> rpy2r(pi/6,pi/3,pi/4)ans =0.3536   -0.3062    0.88390.3536    0.9186    0.1768-0.8660    0.2500    0.4330
% RPY角分别对应绕x,y,z轴旋转
>> rotz(pi/4)*roty(pi/3)*rotx(pi/6)ans =0.3536   -0.3062    0.88390.3536    0.9186    0.1768-0.8660    0.2500    0.4330>> rpy2tr(pi/6,pi/3,pi/4)ans =0.3536   -0.3062    0.8839         00.3536    0.9186    0.1768         0-0.8660    0.2500    0.4330         00         0         0    1.0000
% 已知旋转矩阵得到RPY角
>> tr2rpy(ans)ans =0.5236    1.0472    0.7854>> pi/6ans =0.5236>> pi/3ans =1.0472>> pi/4ans =0.7854>> atan2(1,2)ans =0.4636
% 转化为角度
>> atan2d(1,2)ans =26.5651

6.2 在这里插入图片描述

>> T =[0.527 -0.574 0.628 3;0.369 0.819 0.439 2;-0.766 0 0.643 -4;0 0 0 1]T =0.5270   -0.5740    0.6280    3.00000.3690    0.8190    0.4390    2.0000-0.7660         0    0.6430   -4.00000         0         0    1.0000>> rpy=tr2rpy(T);
>> display(rpy)rpy =0    0.8725    0.6109>> rpy2r(rpy)ans =0.5267   -0.5736    0.62740.3688    0.8192    0.4393-0.7659         0    0.6429

7.欧拉角 | 空间位姿表示方法 |《动手学机器人学》

7.1 欧拉角
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

>> [alpha, beta, gamma] = resolve_zyz_theta([0.527 -0.574 0.628;0.369 0.819 0.439;-0.766 0 0.643])alpha =0.6101beta =0.8725gamma =0
% 欧拉角变旋转矩阵
>> eul2r([alpha, beta, gamma])ans =0.5269   -0.5729    0.62770.3684    0.8196    0.4388-0.7659         0    0.6429

7.2 matlab常用函数

>> eul2r([pi/6 pi/4 pi/3])ans =-0.1268   -0.7803    0.61240.9268    0.1268    0.3536-0.3536    0.6124    0.7071>> eul2tr([pi/6 pi/4 pi/3])ans =-0.1268   -0.7803    0.6124         00.9268    0.1268    0.3536         0-0.3536    0.6124    0.7071         00         0         0    1.0000
% tr2eul(ans,'deg')能直接输出角度
>> tr2eul(ans)ans =0.5236    0.7854    1.0472>> ans*180/pians =30.0000   45.0000   60.0000

8.标准DH参数详解+案例分析【1】

8.1 DH参数法描述串联式连杆和关节的系统方法
DH参数法式描述串联式连杆和关节的系统方法。
8.2 有两种DH参数法:标准DH和改进的DH参数
改进的DH参数法坐标系{i}建立在{i}关节的轴线上,而不是标准DH方法将坐标系{i}建立在{i+1}关节的轴线上

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为matlab工具箱theta默认是0度
PQArt软件也可以进行机器人仿真
在这里插入图片描述


http://www.ppmy.cn/news/1573809.html

相关文章

Jenkins上无法查看已成功生成的Junit报告

如果你已确认 JUnit 报告在工作空间中被成功生成,但在 Jenkins 构建页面上却看不到 "Test Result" 或 "Test Report" 的链接,这通常意味着 Jenkins 没有正确地配置用来处理和显示这些报告的步骤。这里有几个可能的原因和解决方法&am…

【异步编程解析】

文章目录 FutureTask分析FutureTask介绍FutureTask应用FutureTask源码分析 CompletableFutureCompletableFuture介绍场景应用源码分析 FutureTask分析 FutureTask介绍 FutureTask 是 Java 并发包 (java.util.concurrent) 中的一个 可取消的异步计算任务,它实现了 …

在高流量下保持WordPress网站的稳定和高效运行

随着流量的不断增加,网站的稳定和高效运行变得越来越重要,特别是使用WordPress搭建的网站。流量过高时,网站加载可能会变慢,甚至崩溃,直接影响用户体验和网站正常运营。因此,我们需要采取一些有效的措施&am…

华为固态电池引发的思索

华为固态电池真牛! 超长续航:单次充电即可行驶3000公里 极速充电:五分钟内充满80% 极致安全:不可燃、不漏液 长寿命设计:循环寿命达10000次以上 如上是华为电池展示的优势项,每一条都让我们心动不已。…

为什么外贸办公需要跨境专线网络?

你好,今天我们来聊聊SD-WAN技术在出海企业办公中的应用以及其带来的诸多优势。当今出海企业在与海外分支机构或合作伙伴开展高效的网络通讯和数据传输时,面临着许多挑战。此时,SD-WAN作为一种新兴的网络优化技术,正在改变这些企业…

WPS的AI助手进化跟踪(灵犀+插件)

Ver V0.0 250216: 如何给WPS安装插件用以支持其他大模型LLM V0.1 250217: WPS的灵犀AI现在是DeepSeek R1(可能是全参数671B) 前言 WPS也有内置的AI,叫灵犀,之前应是自已的LLM模型,只能说是属于“能用,有好过无”,所…

[uniapp] 实现扫码功能,含APP、h5、小程序

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

【核心算法篇十三】《DeepSeek自监督学习:图像补全预训练方案》

引言:为什么自监督学习成为AI新宠? 在传统监督学习需要海量标注数据的困境下,自监督学习(Self-Supervised Learning)凭借无需人工标注的特性异军突起。想象一下,如果AI能像人类一样通过观察世界自我学习——这正是DeepSeek图像补全方案的技术哲学。根据,自监督学习通过…