《动手学机器人学》笔记

目录

  • 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.rhkb.cn/news/23115.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯单片机】第十三届省赛第二场

一、真题 二、模块构建 1.编写初始化函数(init.c) void Cls_Peripheral(void); 关闭led led对应的锁存器由Y4C控制关闭蜂鸣器和继电器 2.编写LED函数(led.c) void Led_Disp(unsigned char ucLed); 将ucLed取反的值赋给P0 开启锁存器 关闭锁存…

大语言模型基础

简介 AI大模型是“人工智能预训练大模型”的简称,包含了“预训练”和“大模型”两层含义,二者结合产生了一种新的人工智能模式,即模型在大规模数据集上完成了预训练后无需微调,或仅需要少量数据的微调,就能直接支撑各…

java Web

1.JavaWeb开发 前面的学习javase开发,而javaweb开发需要服务器和网页。 具备: java mysql jdbc htmlcssjs。 web服务器: tomcat服务器. 部署项目。 https://tomcat.apache.org/download-80.cgi 解压软件压缩包即可 不要放在中文目录和特殊符号的目录下 启动tomcat服…

SOME/IP--协议英文原文讲解12(完结)

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.3 Compa…

光明谷推出AT指令版本的蓝牙音箱SOC 开启便捷智能音频开发新体验

前言 在蓝牙音箱市场竞争日益激烈的当下,开发一款性能卓越且易于上手的蓝牙音箱,成为众多厂商追求的目标。而光明谷科技有限公司推出的 AT 指令版本的蓝牙音箱 SOC,无疑为行业带来了全新的解决方案,以其诸多独特卖点,迅…

STM32——HAL库开发笔记22(定时器3—呼吸灯实验)(参考来源:b站铁头山羊)

本文利用前几节所学知识来实现一个呼吸灯实验:两颗led灯交替呼吸。 一、STM32CubeMX配置 step1:配置调试接口 step2:配置定时器 定时器1位于APB2总线上,如上图所示。 step3:配置时基单元 按照下图配置 时钟来源配置…

医疗AI领域中GPU集群训练的关键技术与实践经验探究(下)

五、医疗 AI 中 GPU 集群架构设计 5.1 混合架构设计 5.1.1 参数服务器与 AllReduce 融合 在医疗 AI 的 GPU 集群训练中,混合架构设计将参数服务器(Parameter Server)与 AllReduce 相结合,能够充分发挥两者的优势,提升训练效率和模型性能。这种融合架构的设计核心在于根…

修改Ubuntu系统用户密码(root密码)的方法

本文介绍在Linux系统的Ubuntu电脑中,修改账户用户密码(同时也修改了root用户密码)的方法。 首先,如果此时处于登录页面(也就是意识到自己忘记密码的那个页面),就先点击右上角的关闭按钮&#xf…

【清华大学】DeepSeek从入门到精通系列教程 第五版:DeepSeek与AI幻觉 pdf文档下载

【清华大学】DeepSeek使用教程系列之DeepSeek与AI幻觉 pdf文件完整版下载 https://pan.baidu.com/s/17evZMjiGNR0hun2jVdAkbg?pwd1234 提取码: 1234 或 https://pan.quark.cn/s/160d03fa907f DeepSeek与AI幻觉内容摘要 一、‌定义与类型‌ AI幻觉指模型生成与事实不符…

记录此刻:历时两月,初步实现基于FPGA的NVMe SSD固态硬盘存储控制器设计!

背景 为满足实验室横向项目需求,在2024年12月中下旬导师提出基于FPGA的NVMe SSD控制器研发项目。项目核心目标为:通过PCIe 3.0 x4接口实现单盘3000MB/s的持续读取速率。 实现过程 调研 花了半个月的时间查阅了一些使用FPGA实现NVME SSD控制器的论文、…

【Linux】进程

1. 多任务(并发) 让系统具备同时处理多个任务的能力。 2. 如何实现多任务 1)进程 2)线程 3. 进程 正在执行的程序,需要消耗内存和cpu, 一个动态执行的过程。 进程生存周期: …

3D模型在线转换工具:轻松实现3DM转OBJ

3D模型在线转换是一款功能强大的在线工具,支持多种3D模型格式的在线预览和互转。无论是工业设计、建筑设计,还是数字艺术领域,这款工具都能满足您的需求。 3DM与OBJ格式简介 3DM格式:3DM是一种广泛应用于三维建模的文件格式&…

Docker安装Open WebUI教程

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持各种LLM运行器,如 Ollama 和 OpenAI 兼容的 API,并内置了 RAG 推理引擎,使其成为强大的 AI 部署解决方案。 官网文档地址:https://docs.openwebui.com/ 一、拉取镜像 下载的镜像包比…

VSCode集成deepseek使用介绍(Visual Studio Code)

VSCode集成deepseek使用介绍(Visual Studio Code) 1. 简介 随着AI辅助编程工具的快速发展,VSCode作为一款轻量级、高度可扩展的代码编辑器,已成为开发者首选的工具之一。DeepSeek作为AI模型,结合Roo Code插件&#x…

京东广告基于 Apache Doris 的冷热数据分层实践

一、背景介绍 京东广告围绕Apache Doris建设广告数据存储服务,为广告主提供实时广告效果报表和多维数据分析服务。历经多年发展,积累了海量的广告数据,目前系统总数据容量接近1PB,数据行数达到18万亿行,日查询请求量8…

五、Three.js顶点UV坐标、纹理贴图

一部分来自1. 创建纹理贴图 | Three.js中文网 ,一部分是自己的总结。 一、创建纹理贴图 注意:把一张图片贴在模型上就是纹理贴图 1、纹理加载器TextureLoader 注意:将图片加载到加载器中 通过纹理贴图加载器TextureLoader的load()方法加…

学术论文项目网站搭建教程【Github】

本教程使用的是linux系统,ubuntu20.04版本进行学术项目网站搭建 一:创建github的个人组织 我个人习惯使用自己的github组织【Your organizations】来进行学术项目网站的创建: New一个organization,点击Free中的Create a free o…

第4章 信息系统架构(三)

4.3 应用架构 应用架构的主要内容是规划出目标应用分层分域架构,根据业务架构规划目标应用域、应用组和目标应用组件,形成目标应用架构逻辑视图和系统视图。从功能视角出发,阐述应用组件各自及应用架构整体上,如何实现组织的高阶…

第三十四周学习周报

目录 摘要Abstract1 文献阅读1.1 相关知识1.1.1 贝叶斯优化1.1.2 注意力机制复习 1.2 模型框架1.3 实验分析 总结 摘要 在本周阅读的文献中,作者提出了一种将注意力机制与LSTM相结合的模型AT-LSTM。虽然传统LSTM通过其门控机制能有效捕捉时间序列中的长期依赖关系&…

pyside6学习专栏(七):自定义QTableWidget的扩展子类QTableWidgetEx

PySide6界面编程中较常用的控件还有QTableWidget表格控件,用来将加载的数据在表格中显示出来,下面继承QTableWidget编写其扩展子类QTableWidgetEx,来实现用单元格来显示除数据文字外,还可以对表格的单元格的文字颜色、背景底色进行设置&#…