⑴ 机器人基础知识
机器人家上了解到,对于工科领域来说,脱离实践的学习都是肤浅的,对于控制这种强调经验的技术更是如此。如果去问一个程序员怎么学习一块技术,他必然让你去多编程。机器人领域也是。如果想把基本功打扎实,那么实践更是必不可少了。
对于普通学生入门来说 一款合适的机器人平台 + 入门级的控制算法进行试验。同时深入地学习相应地理论知识。对于一个有控制基础,需要现学现用的工作者来说,啃一本诸如《现代控制工程》的书籍,在工作者演练,下面的平台内容直接略过。关于平台的选择和相应的学习教程,我放在最后,防止大图分散了重点。
先结合机器人来说一下控制。对于设计任何一个控制系统来说,需要了解自己的输入、输出、控制元件,和算法。在一个简易的机器人系统里,分别对应的原件是:
输入 --- 传感器 (声呐,红外,摄像头,陀螺仪,加速度计,罗盘)
控制元件 --- 电机
控制算法 --- 控制板 (小到单片机,大到微机)
输出 --- 你的控制目标 (比如机器人的路径跟踪)
对这四方面都有了解之后,才能基本对机器人的控制有一个较为感性的认识。这是入门的基础。如果你对输入和输出做一个测量,比如用电机将某个轮子的转速从10加速到100,把这个测量勾画出来,那么这一个响应曲线。如何将电机准确快速地从10加速到100,这就需要一个简易的反馈控制器。
上面所说的各个传感器元件,都有廉价版可以购买学习,但随之引入的问题就是他们不精确,比如有噪声。消除这个噪声,你就需要在你的控制系统中引入更多的控制单元来消除这个噪声,比如加入滤波单元。
上面说这么多,只是想表达,理论和算法都是有应用背景的,但同时,学习一些暂时无法应用的算法也并不助于入门,甚至可能走偏门,觉得越复杂越好。所有的工程应用者都会说某某算法非常好,但是经典还是PID。倘若不亲手设计一个PID系统,恐怕真的领略不到它的魅力。我大学本科的控制课程包含了自动控制理论和现代控制理论,但是直到我设计一个四旋翼无人机的时候,才真正建立了我自己对机器人控制的理解。
推荐的那本《现代控制工程》是一本非常经典的专业书籍,需要理论知识,再进行详细的学习。我的建议是先玩,玩到需要时,认真学习这部分理论。
-----------------------------------------------------------------------------------------------------
推荐一些机器人平台。核心都涉及到运动控制。
基于arino的机器人平台是最大众的平台了,这是一个开源社区,很多关于机器人的简易设计和控制算法实现都能在google得到。淘宝arino机器人,包括arino控制板和各类简易传感器,几百块之内钱都能得到。
Imperial College London的Robotics课程就是以Lego为实验平台的,Andrew Davison的课件上所有的理论都可以用Lego实现Andrew Davison: Robotics Course。如果这些都玩腻了,可以试试玩一个机器人飞行控制,比如四旋翼飞机。飞行器是六自由度控制,因此比小车要更加具有挑战性,也需要更精确的控制系统。下面这是我以前的一个四旋翼DIY,基于arino MultiWii的。依旧淘宝四旋翼飞行器。
MultiWii是一个基于arino的开源飞控平台,所有c代码都可得,不多于一两万行。如果把这些都研究透了,相比已经是专业水平了。
⑵ 机器人工具箱中rpy2tr()函数是什么意思
将机器人操作空间的末端执行器的姿态(ax,ay,az)转换成齐次变换矩阵来表示
⑶ 用机器人工具箱正逆运动学解为什么不能吻合
机器人(Robot)是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。
⑷ matlab机器人工具箱中怎么绘制末端执行器在空间的轨迹
在机器人正运动学方程中,可以得到末端执行器在参考坐标系中相对基坐标系的位置向量,根据机器人关节变量取值范围,在MATLAB中生成各关节变量随机值。θi=θimin+(θimax-θimin)×RAND(N,1),式中θimax和θimin表示关节i转角范围内的最大、最小值。
将所有关节变量的随机值代入运动学方程的位置向量中从而得到由随机点构成的云图,就构成了机器人的蒙特卡洛工作空间。
(4)机器人工具箱动力学模型扩展阅读:
注意事项:
1、如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。
2、如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录。
3、1在matlab的file下面的set path加上。
4、 把路径加进去后在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下。
5、用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。
⑸ matlab robotics toolbox 机器人工具箱 会用的大神求助
TR矩阵应该是四行四列的吧,z在TR中应该是(3,4,:)吧。
⑹ 用matlab建立的机器人模型 , 怎么plot出来
下载一个机器人工具箱,robotics toolbox,利用自带的函数就可以把内你的机器人画出来容
clc;
L1=link([-pi/2 0.285 0 0.650 0],'standard');
L2=link([0 1.150 -pi/2 0 0],'standard');
L3=link([-pi/2 0.250 0 0 0],'standard');
L4=link([pi/2 0 0 1.225 0],'standard');
L5=link([-pi/2 0 0 0 0],'standard');
L6=link([0 0 0 0.225 0],'standard');
ABB=robot({L1,L2,L3,L4,L5,L6},'ABB IRB 1140');
plot(ABB,[0 0 0 0 0 0]);
drivebot(ABB);