分享好友 厨具导购网站首页 频道列表
matlab中的机械臂算法
2024-05-16 04:55    707    中华厨具网

目录

1. 机械臂算法简介

2. 运动学部分

2.1.1. rigid body tree (刚体树)

2.1.2. 反向运动学算法

2.1.3. simulink示例

1 机械臂算法简介

matlab在2016年就推出了robotics system toolbox(rst),其中有很多关于机械臂方面的算法。而且随着客户需求的增加,也在加入一些新的功能。为了试图让读者了解更多rst在机械臂方面的支持,让我们来看一下机械臂方面的算法概貌。

这些名词听起来都比较深奥,但是在机械臂的世界里,这些都非常有用。让我们看一个简单的例子。下图是一个简单的机械臂示意:机械臂的end-effector(末端机构)受到4个旋转关节和3个连杆的共同作用,可以到达不同的作业地点,也可以处于不同的旋转角度。

为了分析end-effector的具体位置和角度,我们看到:它相对底座开始,做了4次旋转(rotation)和3次转置(translation)。那这4次旋转和3次转置的总和,我们可以用一个矩阵来表示:

这个矩阵也叫homogeneous transformation(齐次变换)。有时候,对于旋转会有不同的表达方式,例如欧拉角(euler angles)、四元数(quaternion)、旋转矩阵(rotation matrix)等等;表达转置,也可使用转置向量(translation vector)。有了rst这些都可以轻松通过不同的函数进行互换。下图为具体的函数列表:

例如:

将欧拉角转为homogeneous transformation。

由于机械臂的连杆长度是已知的,只要确定了各个关节转动的角度,我们就可以确定end-effector的最终位置和方向。这个我们称之为forward kinematics(正向运动学)。反过来,如果我们知道了end-effector的最终位置和方向,我们也可以推导各个关节的角度,这个我们称之为inverse kinematics(反向运动学)。机械臂关注的主要是反向运动学。

如果end-effector,需要走一段比较长的路程(path),从甲点运行到乙点。我们为了使得机械臂的end-effector 的路径平滑,需要规划一系列的路径点(waypoints),这个我们叫做路径规划(trajectory planning)或者叫运动插补(interpolation)。

例如下图:蓝色的曲线叫path,而各个时间经过的路径点叫trajectory。如何设计经过这些路径点的trajectory,比较显而易见的指标是 “平滑” 。那什么是 “平滑” ,它可能意味着 “速度连续” 、 “加速度连续” 、 “没有顿挫” 等等。这些指标,都会转化成数学算法。rst也会有相应的算法支持,作者在matlab 2019a发布后,会另外写文章描述。

机械臂的关节位置我们一般用电机来驱动。电机通过产生力矩来转动机械装置,驱动机械臂。不同场合或者时机,需要的力矩不尽相同。

例如:

机械臂水平放置的时候需要关节电机产生力矩来抵消地球引力;

当机械臂需要迅速移动的时候,需要的力矩比缓慢移动的要大,当机械臂弯曲或者平展时候,重心发生变化,由于惯量(i = mr²)的不同,需要的关节力矩也不相同;

另外,在很多场合,机械臂需要和人交互(collaborative robots),在碰到人体的时候,需要做出安全的保护动作,并对力矩进行调整。

这些需要考虑力矩的因素,我们称之为动力学(dynamics)。和运动学类似,动力学分为正向动力学(forward dynamics)和反向运动学(inverse dynamics)。rst里支持两种都有相应的matlab函数和simulink block。作者也会另外写文章详细介绍rst关于动力学的部分。

2 运动学部分

2.1.1rigid body tree (刚体树)

我们说研究运动学(主要是反向运动学),就是研究end-effector的位置改变会带动各个关节的角度如何改变。rst用rigid body tree这样一个对象,在这个对象上可以使运动学设计易用且可视化。下图展示了机械臂的刚体树样例,可以在matlab界面中展示各个body的详细参数。

一般来说,rigid body tree都是直接从机械臂的

(转载)

以上是网络信息转载,信息真实性自行斟酌。

版权/免责声明:
一、本文图片及内容来自网络,不代表本站的观点和立场,如涉及各类版权问题请联系及时删除。
二、凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性。
三、转载本站原创文章请注明来源:中华厨具网

免责声明:

本站所有页面所展现的企业/商品/服务内容、商标、费用、流程、详情等信息内容均由免费注册用户自行发布或由企业经营者自行提供,可能存在所发布的信息并未获得企业所有人授权、或信息不准确、不完整的情况;本网站仅为免费注册用户提供信息发布渠道,虽严格审核把关,但无法完全排除差错或疏漏,因此,本网站不对其发布信息的真实性、准确性和合法性负责。 本网站郑重声明:对网站展现内容(信息的真实性、准确性、合法性)不承担任何法律责任。

温馨提醒:中华厨具网提醒您部分企业可能不开放加盟/投资开店,请您在加盟/投资前直接与该企业核实、确认,并以企业最终确认的为准。对于您从本网站或本网站的任何有关服务所获得的资讯、内容或广告,以及您接受或信赖任何信息所产生之风险,本网站不承担任何责任,您应自行审核风险并谨防受骗。

中华厨具网对任何使用或提供本网站信息的商业活动及其风险不承担任何责任。

中华厨具网存在海量企业及店铺入驻,本网站虽严格审核把关,但无法完全排除差错或疏漏。如您发现页面有任何违法/侵权、错误信息或任何其他问题,请立即向中华厨具网举报并提供有效线索,我们将根据提供举报证据的材料及时处理或移除侵权或违法信息。