一、问题描述

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

要求:

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

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

(3) 求变换矩阵 , , ;

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

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

二、任务求解

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}中的描述为

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

关系为:

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

x=-(7*cos(a2)*sin(a1))/25-(7*cos(a2)*sin(a1)*sin(a3))/20(7*cos(a3)*

sin(a1)*sin(a2))/20

y=(7*cos(a1)*cos(a2))/25+(7*cos(a1)*cos(a2)*sin(a3))/20+(7*cos(a1)*cos(a3)*sin(a2))/20

z=(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))/20

z=(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仿真结果

python仿真智能驾驶_基于Python的3R机器人运动仿真相关推荐

  1. 基于python的智能家居_基于Python的智能家居自动化测试脚本设计及实现

    投稿网址 http:www.VideoE.cn|<电视技术>第39 卷第5 期(总第458 期) 117 [本文献信息]沈杰,潘科,刘昕,等. 基于 Python 的智能家居自动化测试 ...

  2. python仿真智能驾驶_自动驾驶仿真工程师

    禁止私自转载,转载请联系作者. 想要做一个自动驾驶仿真工程师,我们要学的还远远不够. 对自动驾驶仿真工程师这个岗位,相关介绍还是少了些.有些公司是直接把它纳入到基础架构组里,有些是单独招聘这个岗位,还 ...

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

    一.问题描述 如右图所示的三自由度机械臂,关节1和关节2相互垂直,关节2和关节3相互平行.如图所示,所有关节均处于初始状态. 要求: (1) 定义并标注出各关节的正方向: (2) 定义机器人基坐标系{ ...

  4. python人脸识别库_基于Python的face_recognition库实现人脸识别

    Python Python开发 Python语言 基于Python的face_recognition库实现人脸识别 一.face_recognition库简介 face_recognition是Pyt ...

  5. python多叉树遍历_基于Python的多叉树遍历算法

    [ 综直厘翹 S 赛理 ) 信息记录材料 2019 年 5 月第 20 卷第 5 期 基于 Python 的多叉树遍历算法 钱雨波 , 王金祥 ( 指导老师 ) ( 延边大学 吉林 延边 1 3300 ...

  6. python参数化建模加工图_基于Python的ABAQUS层压板参数化建模

    唐维 康泽毓 杨婷 曾凤 蒋莉 摘要:为了提高层压板在ABAQUS仿真中建模的效率与准确性,提出利用Python语言对ABAQUS二次开发进行层压板参数化建模的方法.基于ABAQUS有限元软件,采用P ...

  7. 基于python的房地产数据分析_基于Python的数据分析

    转载 | CSDN 编辑 | 雷课小雷 下面来介绍一下基于Python的数据分析,主要介绍数据分析的概念.数据分析流程.Python优势.常用模块的用途以及使用Python进行数据分析的学习方法及步骤 ...

  8. python电影推荐算法_基于Python的电影推荐算法

    原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...

  9. python交通调查数据处理_基于Python的交通流数据清洗

    龙源期刊网 http://www.qikan.com.cn 基于 Python 的交通流数据清洗 作者:李红梅 唐岚 来源:<电子技术与软件工程> 2016 年第 09 期 [关键词]交通 ...

最新文章

  1. 设计模式中遵循的原则:单一职责、开发-封闭、依赖倒转
  2. python中文文本分析_python--文本分析
  3. 前端(五)——CSS之美化页面
  4. 为什么一点onclick按钮就提交表单?
  5. 一些常用的正交试验表生成: 单一水平、混合水平、交互作用
  6. i5 7200u 计算机专业,i5 7200U理论性能对比_笔记本评测-中关村在线
  7. java编译出现乱码_java编译乱码解决方法
  8. 数据结构课程设计——学生成绩查询与分析系统(简单详细版,含讲解)
  9. Windows中的ping命令
  10. 书单:《人人都是产品经理》附录书单
  11. U盘格式化了怎样恢复还原(必学技能)
  12. 服务器主机如何多开虚拟机,服务器主机多开虚拟机
  13. 生命在于学习——代码审计工具
  14. 一度智信电商:店铺转化率太低?
  15. Qualcomm QCA9379无线WiFi/蓝牙模块芯片参数介绍
  16. POJ 1076 Bowl 笔记
  17. QTimer定时器问题分析
  18. 释义:Linear temporal logic (LTL)浅析
  19. R数据分析:生存分析与有竞争事件的生存分析的做法和解释
  20. Hadoop编写MapReduce之入门案例WordCount(自带+编写java)

热门文章

  1. SAP S/4HANA的扩展字段的渲染逻辑
  2. Workflow Administration
  3. SAP Fiori Launchpad tile里显示的数字的刷新间隔是在服务器端什么地方配置的
  4. 用Visual Studio Code调试nodejs
  5. 最简单的nginx教程 - 如何把一个web应用部署到nginx上
  6. 如何定义一个类对象并用next()的方法使用_深入理解-可迭代对象、迭代器(20个为什么)...
  7. 平衡树-Treap基础内容
  8. k8s中使用MySQL共享存储_Kubernetes创建挂载共享存储的容器
  9. 测试私有方法_Java基础之抽象类、接口作为方法参数和返回值
  10. 感知器及其在python中的实现_感知器及其在Python中的实现