python机械臂仿真_基于Python的3R机器人运动仿真

一、问题描述

如右图所示的三自由度机械臂,关节1和关节2相互垂直,关节2和关节3相互平行。如图所示,所有关节均处于初始状态。

要求:

(1) 定义并标注出各关节的正方向;

(2) 定义机器人基坐标系{0}及连杆坐标系{1},{2},{3};

(3) 求变换矩阵 , , ;

(4) 根据末端腕部位置 (x, y, z) 返求出对应关节 , , ;

(5) 利用软件绘制出机器人模型的三维点线图,并控制机器人腕部沿半径r=0.1的圆弧运动.

1519959-20200227133638354-492154259.png

图1 3R机器人示意图

二、任务求解

2.1建立坐标系

1519959-20200227134047910-2073638183.png

2.2变换矩阵

2.2.1变换求解

(1)连杆坐标系{1}——基坐标系{0}

原点重合,可绕z轴任意旋转

1519959-20200227134118924-556637765.png

(2)连杆坐标系{2}——连杆坐标系{1}

先绕x轴旋转90°,再绕新得到的y轴旋转90°,然后沿新得到的y轴平移 ,最后得到的坐标系可绕z轴任意旋转

1519959-20200227134152090-738728712.png

(3)连杆坐标系{3}——连杆坐标系{2}

绕z轴旋转-90°,再沿新得到的y轴平移 ,最后得到的坐标系可绕z轴任意旋转

1519959-20200227134228342-1788441021.png

2.2.2物理意义求解

变换矩阵的前三列,每列值对应的数为变换坐标系的坐标轴x、y、z在基坐标系中的坐标位置,第四列为变换坐标系的原点在基坐标系中的坐标位置,第四行为齐次补行数据,则可根据坐标系的位置直接列出下式:

1519959-20200227134252514-61942091.png

可见,两种方式的结果表达式一致。

2.2.3变换矩阵终解

1519959-20200227134313320-1899168741.png

2.3逆运动学求解

2.3.1矩阵逆推导

由连杆坐标系{3}到基座坐标系{0}的齐次矩阵可以表示为

1519959-20200227134354127-1307019386.png

末端执行器的位置在基座坐标系{0}中的描述为

1519959-20200227134406865-21797856.png

末端执行器的位置在连杆坐标系{3}中的描述为

1519959-20200227134416218-1346375315.png

关系为:

1519959-20200227134425097-328273226.png

根据矩阵对应元素相等,由MATLAB计算可得可得下面等式:

x=-(7*cos(a2)*sin(a1))/25-(7*cos(a2)*sin(a1)*sin(a3))/20(7*cos(a3)*sin(a1)*sin(a2))/20y=(7*cos(a1)*cos(a2))/25+(7*cos(a1)*cos(a2)*sin(a3))/20+(7*cos(a1)*cos(a3)*sin(a2))/20z=(7*sin(a2))/25 + (7*sin(a2)*sin(a3))/20 - (7*cos(a2)*cos(a3))/20 + 47/100

1519959-20200227134502063-23659803.png

则:

1519959-20200227134543475-199776750.png

由对应元素相等,得:

(x*cos(a1))/(cos(a1)^2 + sin(a1)^2) + (y*sin(a1))/(cos(a1)^2 + sin(a1)^2)=0(y*cos(a1))/(cos(a1)^2 + sin(a1)^2) - (x*sin(a1))/(cos(a1)^2 + sin(a1)^2)=(7*cos(a2))/25+(7*cos(a2)*sin(a3))/20+(7*cos(a3)*sin(a2))/20z=(7*sin(a2))/25 + (7*sin(a2)*sin(a3))/20 - (7*cos(a2)*cos(a3))/20 + 47/100

综上可得,

1519959-20200227134633518-1731618758.png

2.3.2几何推导

在x0y平面,将末端执行器的轨迹投影到该平面,蓝色表示原位置,橘色代表移动后的位置,黑色坐标系为基坐标系,如下图:

1519959-20200227134721138-1628436188.png

由图易见, 为末端执行器投影到xoy平面x与y的夹角,(逆时针为正),

1519959-20200227134744724-1611599371.png

在y0z平面,将末端执行器的轨迹投影到该平面,蓝色表示原位置,橘色代表移动后的位置,黑色坐标系为基坐标系,如下图:

1519959-20200227134812596-170507001.png

1519959-20200227134844188-1600193051.png

将末端执行器的轨迹投影到下图所示平面,蓝色表示原位置,橘色代表移动后的位置,黑色坐标系为基坐标系,如下图:

1519959-20200227134922671-1607743920.png

构建直角三角形,可得:

1519959-20200227134952873-430778225.png

综上,得各关节角与坐标位置的关系为:

1519959-20200227135015259-831329441.png

三、D-H模型法求解

3.1坐标系建立

0号杆件固连在基座上,建立基坐标系

1519959-20200227135040934-964885759.png

3.2 D-H参数

1519959-20200227135114810-557076278.png

3.3各关节变换矩阵

若已知四个参数就完全确定了两连杆之间的相对关系。对此,我们建立基坐标系和连杆运动坐标系之间的变换关系。对于旋转关节可以确定以下的齐次矩阵

1519959-20200227135135049-1836632940.png

即先绕x轴旋转,然后沿x轴移动,再沿基坐标系的z轴移动d,最后绕z轴旋转

将参数代入上式,由此可以得到各关节变换矩阵

1519959-20200227135157961-1341430632.png

3.4求逆变换

同2.3.1

四、软件仿真

4.1程序代码

用软件python(x,y)编写代码,如下:

1519959-20200227135240276-890416671.png

4.2仿真结果

1519959-20200227135255403-1014820987.png

图7 仿真结果

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

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

相关文章

AI 事件驱动场景 Serverless 实践

简介: 事件驱动是指事件在持续事务管理过程中,进行决策的一种策略。可以通过调动可用资源执行相关任务,从而解决不断出现的问题。通俗地说是当用户触发使用行为时对用户行为的响应。在 Serverless 场景下,事件驱动完美符合其设计初…

运维质变育新机,华为云能否引领政企运维破局?

头图 | 付费下载于视觉中国 提到IT运维,我们马上想到的,就是“7*24小时待命”、“救火”。作为IT安全运行的保障,长久以来,运维一直都是“不出事看不到价值,一出事全是锅”的角色。例如某企业自动化运维失效导致宕机…

封神-运维大脑 | 日志检测工具

简介: 封神-运维大脑 | 日志检测工具1. 背景目标 阿里云应用业务有问题,云平台监控可以发现问题,但并不能定位到问题根本原因,运维大脑监控底层日志,可快速定位问题原因,帮助现场运维同学解决问题。 运维大…

hive sql练习_经典的SparkSQL/Hive-SQL/MySQL面试-练习题

经典的SparkSQL/Hive-SQL/MySQL面试-练习题​mp.weixin.qq.com第一题需求:已知一个表order,有如下字段:date_time,order_id,user_id,amount。 数据样例:2020-10-10,1003003981,00000001,1000,请用sql进行统…

世纪联华的 Serverless 之路

简介: 2019 年 双11 过后,世纪联华快速上云,将线上核心业务改造为全 Serverless 架构的中台模式,采用“函数计算API 网关OTS”作为计算网络存储核心,弹性支撑日常和大促峰谷所需资源,轻松支撑 618 / 双11 /…

“5G+AI”到底有啥用?这篇漫画告诉你答案…

作者|小枣君来源|鲜枣课堂根据工信部最新的数据,截至8月份,我国5G基站数量已超过百万,达到103.7万个。面对这张全球规模最大的5G网络,我们不禁会思考——它究竟会发挥怎样的作用?它的价值到底体现在哪?它会…

Kubernetes 稳定性保障手册 -- 可观测性专题

简介: 伴随大家对稳定性重视程度的不断提升、社区可观测性项目的火热,可观测性成为了一个很热门的话题,站在不同的角度会产生不同的理解。 我们从软件开发的生命周期出发,尝试形成对可观测性的一个宏观理解,并从 SRE 和…

读懂 Redis 源码,我总结了这7点心得

作者|Magic Kaito来源|水滴与银弹阅读本文大约需要 8 分钟。你好,我是 Kaito。用了这么久的 Redis,也翻了很多次源码,经常有人问我到底怎么读 Redis 源码。一提到读源码,很多人都会比较畏惧,认为读源码是高手才会做的事…

linux c url下载文件,OpenCV教程之使用cmake生成MakeFile时下载文件

在编译OpenCV以及其附加模块时,有时会需要一些第三方的库,如果本地没有,会自动下载,下载地址一般为GitHub,结果当然就是卡死在那里,根本无法下载,下面教大家如何解决这种问题。问题重现比如我在…

OpenTelemetry 简析

简介: OpenTelemetry 是 CNCF 的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,提供与三方 vendor 无关的服务。 2021.02.10,OpenTelemetry 的 tracing…

涨姿势 | 一文读懂备受大厂青睐的ClickHouse高性能列存核心原理

简介: 本文尝试解读ClickHouse存储层的设计与实现,剖析它的性能奥妙 作者:和君 引言 ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域。目前国内各个大厂纷纷跟进大规模使用&…

xp正版验证补丁_实操web漏洞验证——IIS HTTP.sys 整数溢出漏洞

一、漏洞描述Http.sys 是一个位于 Windows 操作系统核心组件,能够让任何应用程序通过它提供的接口,以 Http 协议进行信息通讯。微软在 Windows 2003 Server 里引进了新的 HTTP API 和内核模式驱动 Http.sys,目的是使基于 Http 服务的程序更有…

普通公司编程水平与BAT大厂相比,差距到底有多大?

前言BAT的牛人多,普通人也多,虽然他们不是每个人都能达到令人仰望的技术水平,但毕竟平台高,所以眼光会变得宽阔;代码要求更为严格,所以普通的程序员也会被逼变得更优秀;身边的牛人多&#xff0c…

mindi linux 使用教程,Linux使用入门教程之tuned

tuned是RHEL6推出的调优工具,可以简单、动态的调整系统。默认的tuned软件包包含9个调优配置文件,对laptop、desktop、server系统的省电策略、磁盘调度算法、缓存、内存脏页回写等等的调节。tuned包安装后有两个服务,tuned和ktune,…

货运物流移动端解决方案:为货运物流行业打造高性能、高粘性的“双端”触点

简介: 在业务碎片化的情景下,怎么通过平台做整合,建立你的专业化运维池? 从 2020 年发展网络货运以来,在互联网和大数据的协作下,传统的物流企业逐渐转向信息化模式,在政策的不断推动下&#xf…

互联网泛娱乐直播安全的解决之道

简介: 阿里云的CDN和视频云产品在直播安全场景下有广泛的应用,阿里巴巴集团的淘宝、优酷等业务的直播正是基于这些产品底层能力,构建了强大的直播安全体系。这个基于阿里巴巴集团自身业务实践打磨出来的架构设计,也被众多上云客户…

wps office2019PC版和Mac版_学用系列WPS教育版的“十八般武艺”

相信不少朋友都在使用wps进行办公学习,但相信不少教师学生肯定不知道其实WPS还很用心提供教育版,里面有不少实用且好用的学习工具可以让我们的学习如虎添翼。今天胖胖老师就为大家介绍一下新版本WPS教育版的“十八般武艺”,欢迎大家一起来尝鲜…

只因“薪水过高”!被欠薪三个月后遭解雇,程序员删库反击

译者 | 弯月 责编 | 王晓曼出品 | 程序人生 (ID:coder _life)非技术出身的公司创始人往往并不了解开发人员的价值。如果他们的产品是科技产品,那么开发人员就是公司的燃料。我从一位同事那里听到了这个故事。故事的主人公叫做小…

linux模拟内存数据落盘,Linux:保证数据安全落盘

背景在很多IO场景中,我们经常需要确保数据已经安全的写到磁盘上,以便在系统宕机重启之后还能读到这些数据。但是我们都知道,linux系统的IO路径还是很复杂的,分为很多层,每一层都可能会有buffer来加速IO读写。同时&…

阿里云高级技术专家周哲:阿里云边缘云原生应用实践

简介: 为什么需要边缘云原生?边缘云原生的技术特性和优势是什么?它可以为行业提供哪些关键能力?又有哪些场景适合边缘云原生呢?在MEC全球应用开发者大会的“MEC开放论坛”上,阿里云高级技术专家周哲进行了《…