article-三自由度机械臂运动学分析+仿真

news2024/11/26 2:35:55

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rOmeEm3I-1685366971102)(data:image/svg+xml;utf8, )]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kCu0JrBB-1685366971103)(data:image/svg+xml;utf8, )]

建立坐标系

1正运动学分析

采用标准的D-h法进行机械腿模型分析:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XdnViMnl-1685366971103)(data:image/svg+xml;utf8, )]

将连杆坐标系的原点建立在连杆的关节连杆末端。

一、建立D-H连杆坐标系的原则

1.Z,轴沿关节轴i+1的轴向。

2.原点O为Zi.,与Zi轴的交点或其公垂线与关节轴Zi的交点。3.Xi轴沿Zi与Zi轴的公垂线方向,由关节轴i指向关节轴i+1。4.Yi轴按照右手定则确定。

二、D-H参数的含义

1.连杆长度ai:定义为从Zi-1移动到Zi的距离,沿Xi轴指向为正。其实质为公垂线的长度。

2.连杆转角αi:定义为从Z i-1旋转到zi的角度,绕Xi轴正向旋转为正。

3.关节偏距di,:定义为从X i-1移动到Xi的距离,沿Z i-1轴指向为正。其实质为两条公垂线之间的距离。

4.关节角0i,:定义为从X i-1旋转到Xi的角度,绕Zi轴正向旋转为正。

三、相邻坐标系之间的齐次变换矩阵

D-h表如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rU0OlPqc-1685366971104)(data:image/svg+xml;utf8, )]

(2)通过(1)求解出机器人各位姿变换矩阵后,求解机器人手臂变换矩阵

**

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9SYtilS9-1685366971104)(data:image/svg+xml;utf8, )]

**

。通过matlab 计算,写出机器人末端位置。

正运动学分析

根据D-H表规定得到如下变换矩阵为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V84narqG-1685366971105)(data:image/svg+xml;utf8, )]

由此可得机器人相邻两关节位姿分别为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9OJBS3dA-1685366971105)(data:image/svg+xml;utf8, )]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hfODIeid-1685366971106)(data:image/svg+xml;utf8, )]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UFY51TOA-1685366971106)(data:image/svg+xml;utf8, )]

所以,坐标系{4}相对于基坐标系的变换矩阵为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MFP5dxut-1685366971107)(data:image/svg+xml;utf8, )]

相对于基坐标系的旋转矩阵

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M1bDbar6-1685366971107)(data:image/svg+xml;utf8, )]

位置矢量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WFi8osv6-1685366971108)(data:image/svg+xml;utf8, )]

根据DH参数求解变换矩阵的函数trans

%输入JD,即6个关节变量的值,求解正运动方程

function [ T ] = trans( theta, d, a, alpha )

T =[

cos(theta), -sin(theta)*cos(alpha), sin(theta)*sin(alpha), a*cos(theta);

sin(theta), cos(theta)*cos(alpha), -cos(theta)*sin(alpha), a*sin(theta);

0, sin(alpha), cos(alpha), d;

0, 0, 0, 1 ];

end

正向运动学

function [ T06 ] = fkine(JD)

%JD为输入的1*6的数组,代表6个关节变量

% trans( theta, d, a, alpha )

if nargin<2; end

T01 =trans( JD(1), 0, 0.292, pi/2 );

T12 =trans( JD(2)+pi/2, 0, 0, pi/2);

T23 =trans( JD(3), 0.328, 0, 0);

T06 =T01*T12*T23;

End

机器人逆运动学分析

机器人逆运动学问题采用矩阵逆乘方法进行求解,如下所示:

  1. 求关节角:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-maiJl27j-1685366971108)(data:image/svg+xml;utf8, )]

(1)
对上述方程除以

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4pZV5CA-1685366971109)(data:image/svg+xml;utf8, )]

得到如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-piGx4vV8-1685366971110)(data:image/svg+xml;utf8, )]

(2)

  1. 求关节角:
    由方程式两端的第一行第三列对应相等,第二行第三列对应相等可得:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMtNvFPQ-1685366971110)(data:image/svg+xml;utf8, )]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HmuBsPEi-1685366971111)(data:image/svg+xml;utf8, )]

通过上述公式运算,整理可得

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UYp9G3C3-1685366971111)(data:image/svg+xml;utf8, )]

  1. 求关节角

对式子两边连续乘以A1-A2的逆矩阵,可得

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9DjBXO83-1685366971112)(data:image/svg+xml;utf8, )]

让上述公式中第一行第三列对应相等,第二行第三列对应相等可得:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JghrStg4-1685366971112)(data:image/svg+xml;utf8, )]

3机器人模型建立

所设计的机器人由多个连杆机构组成,其关节类型包括旋转关节和移动关节两种。利用Matlab中机器人仿真工具箱Robotics Tool中Link和SerialLink两个函数可建立机器人模型[]。其中,函数表达式如下:

式中,theta为关节变量;_d_为偏置距离;alpha为扭转角;_a_为连杆长度;sigma表示关节类型(0为旋转关节,1为移动关节);前四个参数分别对应表1中的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3WW54ow5-1685366971113)(data:image/svg+xml;utf8, )]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2BcOiMBf-1685366971113)(data:image/svg+xml;utf8, )]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oYaXFO2G-1685366971114)(data:image/svg+xml;utf8, )]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fz1ExS6w-1685366971114)(data:image/svg+xml;utf8, )]

具体程序编制如下:

Clear %情况matlab软件的数据缓存,避免影响本次运行

Clc %清空运行窗口的数据

L(1) = Link( ‘d’, 0, ‘a’ , 0.292 , ‘alpha’, pi/2 ,‘offset’,0);

L(2) = Link( ‘d’, 0 , ‘a’ ,0 , ‘alpha’, pi/2, ‘offset’,pi/2);

L(3) = Link( ‘d’, 0.328, ‘a’ , 0 , ‘alpha’,0 ,‘offset’,0);%

robot = SerialLink(L, ‘name’ , ‘机械臂’); %建立三自由度模型

robot.teach; %画出模型并进行调控

robot.display(); %显示建立的机器人的DH参数

运行上述程序,即可得到机器人模型如图 3-3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z5eEciLp-1685366971115)(data:image/svg+xml;utf8, )]

图 3-3机器臂模型

运动空间分析

依据机器人三个自由度的运动范围,采用三自由度机器人模型进行计算。采用蒙特卡洛方法,通过Matlab编程,程序如下:

L(1) = Link( ‘d’, 0, ‘a’ , 0.292 , ‘alpha’, 0 ,‘offset’,0);

L(2) = Link( ‘d’, 0 , ‘a’ ,0 , ‘alpha’, pi/2, ‘offset’,pi/2);

L(3) = Link( ‘d’, 0.328, ‘a’ , 0 , ‘alpha’,0 ,‘offset’,0);

robot = SerialLink(L, ‘name’ , ‘机械臂’); %建立四自由度模型

% RRP.plotopt = {‘workspace’,[-10,10,-10,10,-10,10],‘tilesize’,10}; %设置模型空间大小和地砖大小

robot.teach; %画出模型并进行调控

robot.display(); %显示建立的机器人的DH参数

%%

hold on;

N=10000; %随机次数

%关节角度限制

limitmax_1 = 0;

limitmin_1 = 90;

limitmax_2 = 0;

limitmin_2 = 120;

limitmax_3 = -45;

limitmin_3 = 45;

theta1=(limitmin_1+(limitmax_1-limitmin_1)*rand(N,1))*pi/180; %关节1限制

theta2=(limitmin_2+(limitmax_2-limitmin_2)*rand(N,1))*pi/180; %关节2限制

theta3=(limitmin_3+(limitmax_3-limitmin_3)*rand(N,1))*pi/180; %关节3限制

qq=[theta1,theta2,theta3];

Mricx=robot.fkine(qq);

Mricx=transl(Mricx);

x=reshape(Mricx(:,1),N,1);

y=reshape(Mricx(:,2),N,1);

z=reshape(Mricx(:,3),N,1);

plot3(x,y,z,‘b.’,‘MarkerSize’,0.5);%画出落点

hold on;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UlOJFWAb-1685366971115)(data:image/svg+xml;utf8, )]

三维模型+word+仿真源代码下载链接

(下载咨询链接:matlab正逆运动学分析与轨迹规划])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/585960.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS:创建工作空间和编译功能包

目录 一、工作空间二、创建工作空间三、编译空代码的工作空间四、功能包五、创建功能包六、设置和检查环境变量七、功能包中的两个重要文件 一、工作空间 存放工程开发相关文件的文件夹。类似一个IDE&#xff08;例如Pycharm&#xff09;新建一个工程&#xff0c;就是一个工作…

权威认可!腾讯云EdgeOne入选Gartner® DDoS缓解方案市场指南

近日&#xff0c;Gartner发布《Market Guide for DDoS Mitigation Solutions》报告&#xff0c;腾讯云EdgeOne入选Gartner DDoS缓解方案市场指南。 “分布式拒绝服务&#xff08;DDoS&#xff09;缓解市场包括检测和缓解DDoS攻击并将其作为专用产品提供的供应商。它包括专业供…

有这个证书,网络安全工程师找工作不用愁

想要成为网络安全工程师&#xff0c;满足企业的用人要求。最基本的&#xff0c;你需要熟悉TCP/IP协议&#xff0c;熟悉sql注入原理和手工检测、熟悉内存缓冲区溢出原理和防范措施、熟悉信息存储和传输安全、熟悉数据包结构、熟悉Ddos攻击类型和原理。并且有一定的ddos攻防经验&…

I2C通信协议MPU6050

目录 I2C通信协议 硬件 软件 I2C时序 MPU6050 I2C通信协议 硬件 为了避免总线没协调好导致电源短路&#xff0c;配置为开漏输出&#xff0c;所有设备输出低电平不输出高电平&#xff0c;即右图。又为了避免高电平造成的引浮空&#xff0c;&#xff08;第三点&#xff09;总…

kotlin用CoroutineScope启动协程async等待结果返回

kotlin用CoroutineScope启动协程async等待结果返回 例如&#xff1a; import kotlinx.coroutines.*object MyCoroutineScope {private val coroutineContext Job() Dispatchers.Default CoroutineName("my_context")val coroutineScope CoroutineScope(corouti…

【Redis】聊一下Redis数据同步/复制

在分布式系统中&#xff0c;基本上所有的存储中间件都支持数据同步/复制功能&#xff0c;主要的原因是为实现高可用&#xff0c;单点宕机的故障&#xff0c;必须需要将数据进行共享&#xff0c;而共享的话&#xff0c;就需要将数据进行复制&#xff0c;对于已经学过的MySQL和Ka…

Jdk17中文在线手册(建议收藏)

本身学习技术就比较难&#xff0c;再来一个英文版的API&#xff0c;就难上加难&#xff0c;经过几周的研究翻译&#xff0c;JDK17最新版中文在线手册搞定&#xff0c;不要看错了哈是JDK17不是JDK1.7&#xff0c;全网最新的只有JDK11&#xff0c;JDK17中文在线手册是第一次出现&…

JavaEE进阶(5/29)SpringMVC

目录 1.复习 2.URL传参PathVariable 3.上传文件RequestPart 4.获取Cookie/Session/header 5.传统/维新获取cookies 6.传统/维信获得Header 7.获取Session&#xff08;非常重要&#xff09; 8.不加ResponseBody 9.如何获取Json数据&#xff0c;RequestBody 10.想…

王者之力,驭见未来 | 圣戈班量子膜全国核心店面大会圆满落幕!

5月24日&#xff0c;“王者之力&#xff0c;驭见未来”——2023年圣戈班量子膜全国核心店面大会在成都缇沃丽酒店隆重召开&#xff01; 圣戈班舒热佳特殊镀膜有限公司全球总裁Mehrotra Vishal先生、圣戈班舒热佳特殊镀膜有限公司亚太总裁陈剑超先生、圣戈班舒热佳特殊镀膜有限公…

opencv_c++学习(二十九)

一、监督学习的聚类方法 K近邻的方法&#xff1a; 首先给出一个阈值k&#xff0c;后寻找距离黑色圆点最近的k个元素&#xff0c;占据比例大的元素即为黑色所属的类别。如图所示&#xff0c;即k3时&#xff0c;黑色圆属于三角形&#xff0c;k5时圆点属于正方形。 支持向量机方…

设计模式-享元模式

问题背景 有一个小型的外包项目&#xff0c;就是给客户A做一个展示的网站&#xff0c;例如展示&#xff1a;这个网站展示的都是客户A的产品。然后可以A的朋友觉得不错&#xff0c;也希望做这样一个网站&#xff0c;但是要求有些不同&#xff0c;要求以新闻的形式展示。还有更多…

DORIS----漏斗转化分析案例实现

综合案例之漏斗转化分析 业务目标、到达路径&#xff0c;路径步骤、步骤人数&#xff0c;步骤之间的相对转换率和绝对转换率 每一种业务都有他的核心任务和流程&#xff0c;而流程的每一个步骤&#xff0c;都可能有用户流失。 所以如果把每一个步骤及其对应的数据&#xff08;…

【Linux】深入了解冯诺依曼体系结构与操作系统

目录 导读 &#x1f31e;专栏导读 &#x1f31e;冯诺依曼 &#x1f31e;冯诺依曼体系结构 &#x1f31b;木桶效应 &#x1f31e;操作系统(Operator System) &#x1f31b;概念 &#x1f31b;设计OS的目的 &#x1f31b;系统调用和库函数概念 导读 六一儿童节快到了&…

Envoy 物联网模块开发---串口服务器 (一)

一、背景 最近业余时间想基于Envoy 开发一个串口网关&#xff0c;主要是想把一些 modbus、bacnet 以及 mqtt 等物联网协议接入Envoy中&#xff0c;当读到串口数据后可以转发成对应的网络协议 二、Envoy的优势 选择Envoy的话主要是因为Envoy的代码已经十分健全了&#xff0c;零…

(数字图像处理MATLAB+Python)第九章图像形态学运算-第三节:二值图像的形态学处理

文章目录 一&#xff1a;形态滤波&#xff08;1&#xff09;概述&#xff08;2&#xff09;程序 二&#xff1a;图像的平滑处理&#xff08;1&#xff09;概述&#xff08;2&#xff09;程序 三&#xff1a;图像的边缘提取&#xff08;1&#xff09;概述&#xff08;2&#xff…

redux与react-redux状态集中管理

一、redux:可用于react、Vue等中 redux应用&#xff1a;状态的管理&#xff0c;共享状态&#xff0c;Redux用一个单独的常量状态树&#xff08;state对象&#xff09;保存这一整个应用&#xff08;如tab选项卡的状态、城市等需要应用在整个页面的信息&#xff09;的状态。其本…

算法|13.贪心

1.字典序最小的字符串连接方案 题意&#xff1a;给定一个由字符串组成的数组strs&#xff0c;必须把所有的字符串拼接起来&#xff0c;返回所有可能的拼接结果中字典序最小的结果。 public static class MyCom implements Comparator<String>{Overridepublic int compa…

@程序员【提升代码质量,快走出学习迷茫的状态吧】

思路清晰&#xff0c;能上钻一 思路清晰&#xff0c;能上钻一写代码如同打游戏上分。写代码如同中医治病。 思路清晰&#xff0c;能上钻一 ⭐⭐想成为一名优秀的电玩高手&#xff0c;你需要有清晰的思路;想成为一名顶级的电玩高手&#xff0c;你需要的是顶级的思路和异于常人的…

裁员后投递了300次简历,面试22家,终于上岸!

这是一位群友的励志故事&#xff0c;生活虽然很苦&#xff0c;但是朝着自己想要的方向去努力很值得&#xff01; 求职109天&#xff0c;沟通2212次&#xff0c;投简历355次&#xff0c;面试22家&#xff0c;涨薪10%&#xff0c;终于上岸&#xff0c;在这里复盘下我的经历&#…

[创业之路-72] :创业公司发展模式的选择:技工贸还是贸工技?

目录 前言&#xff1a; 一、什么是技、工、贸&#xff1f; 二、概述 2.1 推动力不同 2.2 适合领域不同 2.3 经营模式的主导地位不同 三、技、工、贸详解 3.1 常见的七种营销模式 3.2 常见的三种生产模式 3.3 常见的三种研发模式 四、经营模式的战略选择与影响因素 …