python机械臂仿真_基于Python的3R机器人运动仿真
一、问题描述
如右图所示的三自由度机械臂,关节1和关节2相互垂直,关节2和关节3相互平行。如图所示,所有关节均处于初始状态。
要求:
(1) 定义并标注出各关节的正方向;
(2) 定义机器人基坐标系{0}及连杆坐标系{1},{2},{3};
(3) 求变换矩阵 , , ;
(4) 根据末端腕部位置 (x, y, z) 返求出对应关节 , , ;
(5) 利用软件绘制出机器人模型的三维点线图,并控制机器人腕部沿半径r=0.1的圆弧运动.
图1 3R机器人示意图
二、任务求解
2.1建立坐标系
2.2变换矩阵
2.2.1变换求解
(1)连杆坐标系{1}——基坐标系{0}
原点重合,可绕z轴任意旋转
(2)连杆坐标系{2}——连杆坐标系{1}
先绕x轴旋转90°,再绕新得到的y轴旋转90°,然后沿新得到的y轴平移 ,最后得到的坐标系可绕z轴任意旋转
(3)连杆坐标系{3}——连杆坐标系{2}
绕z轴旋转-90°,再沿新得到的y轴平移 ,最后得到的坐标系可绕z轴任意旋转
2.2.2物理意义求解
变换矩阵的前三列,每列值对应的数为变换坐标系的坐标轴x、y、z在基坐标系中的坐标位置,第四列为变换坐标系的原点在基坐标系中的坐标位置,第四行为齐次补行数据,则可根据坐标系的位置直接列出下式:
可见,两种方式的结果表达式一致。
2.2.3变换矩阵终解
2.3逆运动学求解
2.3.1矩阵逆推导
由连杆坐标系{3}到基座坐标系{0}的齐次矩阵可以表示为
末端执行器的位置在基座坐标系{0}中的描述为
末端执行器的位置在连杆坐标系{3}中的描述为
关系为:
根据矩阵对应元素相等,由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
由
则:
由对应元素相等,得:
(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
综上可得,
2.3.2几何推导
在x0y平面,将末端执行器的轨迹投影到该平面,蓝色表示原位置,橘色代表移动后的位置,黑色坐标系为基坐标系,如下图:
由图易见, 为末端执行器投影到xoy平面x与y的夹角,(逆时针为正),
在y0z平面,将末端执行器的轨迹投影到该平面,蓝色表示原位置,橘色代表移动后的位置,黑色坐标系为基坐标系,如下图:
将末端执行器的轨迹投影到下图所示平面,蓝色表示原位置,橘色代表移动后的位置,黑色坐标系为基坐标系,如下图:
构建直角三角形,可得:
综上,得各关节角与坐标位置的关系为:
三、D-H模型法求解
3.1坐标系建立
0号杆件固连在基座上,建立基坐标系
3.2 D-H参数
3.3各关节变换矩阵
若已知四个参数就完全确定了两连杆之间的相对关系。对此,我们建立基坐标系和连杆运动坐标系之间的变换关系。对于旋转关节可以确定以下的齐次矩阵
即先绕x轴旋转,然后沿x轴移动,再沿基坐标系的z轴移动d,最后绕z轴旋转
将参数代入上式,由此可以得到各关节变换矩阵
3.4求逆变换
同2.3.1
四、软件仿真
4.1程序代码
用软件python(x,y)编写代码,如下:
4.2仿真结果
图7 仿真结果
python机械臂仿真_基于Python的3R机器人运动仿真相关推荐
- 【机械仿真】基于matlab GUI曲柄摇杆机构运动仿真【含Matlab源码 1608期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[机械仿真]基于matlab GUI曲柄摇杆机构运动仿真[含Matlab源码 1608期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...
- python 机械臂控制_从零开始的ROS四轴机械臂控制-gazebo仿真控制
这是一个四轴器械臂练手项目,定为arm0.1版本,使用MG90s舵机来搭建一个四轴机械臂.arm0.1版本的目标是对带颜色的方块进行识别并在Gazebo中模拟出来. 以下是这个ROS四轴机械臂控制的目 ...
- python 机械臂控制_机械臂正运动学-DH参数-Python快速实现
机械臂正运动学-DH参数-Python快速实现 前言: 最近在玩一个非常弱智的机械臂,好多功能都没有,连个配套的仿真环境都没, 虚拟边界和碰撞检测的功能都非常难用. 没办法,我只能自己实现一个简陋的虚 ...
- python仿真智能驾驶_基于Python的3R机器人运动仿真
一.问题描述 如右图所示的三自由度机械臂,关节1和关节2相互垂直,关节2和关节3相互平行.如图所示,所有关节均处于初始状态. 要求: (1) 定义并标注出各关节的正方向: (2) 定义机器人基坐标系{ ...
- python参数化建模加工图_基于Python的ABAQUS层压板参数化建模
唐维 康泽毓 杨婷 曾凤 蒋莉 摘要:为了提高层压板在ABAQUS仿真中建模的效率与准确性,提出利用Python语言对ABAQUS二次开发进行层压板参数化建模的方法.基于ABAQUS有限元软件,采用P ...
- python人脸识别库_基于Python的face_recognition库实现人脸识别
Python Python开发 Python语言 基于Python的face_recognition库实现人脸识别 一.face_recognition库简介 face_recognition是Pyt ...
- python多叉树遍历_基于Python的多叉树遍历算法
[ 综直厘翹 S 赛理 ) 信息记录材料 2019 年 5 月第 20 卷第 5 期 基于 Python 的多叉树遍历算法 钱雨波 , 王金祥 ( 指导老师 ) ( 延边大学 吉林 延边 1 3300 ...
- python微信好友分析_基于python实现微信好友数据分析(简单)
一.功能介绍 本文主要介绍利用网页端微信获取数据,实现个人微信好友数据的获取,并进行一些简单的数据分析,功能包括: 1.爬取好友列表,显示好友昵称.性别和地域和签名, 文件保存为 xlsx 格式 2. ...
- python电影推荐算法_基于Python的电影推荐算法
原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...
最新文章
- 实战排查由于系统负载引起的服务响应异常
- numpy shape函数
- LuoguP1948 电话线 【二分答案/图论】
- dbda.class.php 下载,DBDA
- MySQL多表事务课堂笔记
- 大数据最核心的关键技术——32个算法,记得收藏!
- Win7查看开机记录
- 外贸常用术语_最常用的外贸术语大全,收藏备用
- LightOJ-1336
- YoungTalk-STM32入门100步-回顾总结与展望(98-100)
- VUE 组件手动渲染、组件延迟渲染
- chdir改变当前目录
- SpringBoot集成Quartz+数据库存储
- 基于 FPGA 的 UART 控制器设计(VHDL)(下)
- linux如何连接redis
- POJ 3320 Jessica's Reading Problem
- php artisan实现机制,源码解读:php artisan serve
- python3 实现公众号自动发消息
- 国产android系统哪个好用吗,国产手机中哪个系统优化的最好
- ug908 Programming and Debugging