[足式机器人]Part3 机构运动学与动力学分析与建模 Ch01-2 完整定常系统——杆组RRR

news2024/11/17 23:45:48

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。
2024年底本人学位论文发表后方可摘抄
若有帮助请引用
本文参考:
《空间机构的分析与综合(上册)》-张启先,感谢张启先先生对机构学的卓越贡献,希望下册有见天明之日!
《高等机构学》-白师贤
《高等空间机构学》-黄真
《机构运动微分几何学分析与综合》-王德伦

食用方法
务必自己计算编写程序

机构运动学与动力学分析与建模 Ch00-1-2 完整定常系统——杆组RRR

  • 1. RRR杆组
    • 1.1 公式推导
      • 1.1.1几何法
      • 1.1.2 公式推导——三角函数求解法
    • 1.2 程序说明
      • 1.2.1 输入变量
      • 1.2.2 输出变量
      • 1.2.3 哑元(中间变量)
      • 1.2.4 输入数据格式
      • 1.2.5 输出数据格式
      • 1.2.6 计算流程图
    • 1.3 程序算例
      • 1.3.1 四杆机构——曲柄摇杆
      • 1.3.2 五杆机构——逆解
      • 1.3.3 双平行四边形——逆解
      • 1.3.4 七杆机构——优化求解


1. RRR杆组

1.1 公式推导

1.1.1几何法

下述公式中的投影参数都是基于坐标系 { F } \left\{ F \right\} { F}进行描述的

已知杆组RRR两端回转副位置参数: A : ( x A , y A ) , C : ( x C , y C ) A:(x_A,y_A),C:(x_C,y_C) A:(xA,yA),C:(xC,yC) ,求解中间回转副B位置参数(要求B点位置存在——满足三角形存在条件)
在这里插入图片描述
其中,AC长为: l A C = ( x C − x A ) 2 + ( y C − y A ) 2 l_{AC}=\sqrt{(x_C-x_A)^2+(y_C-y_A)^2} lAC=(xCxA)2+(yCyA)2 ,且有:
{ φ = a r c tan ⁡ ( z C − z A x C − x A ) ∈ ( − π 2 , π 2 ) d = l A C α 1 = a r c cos ⁡ ( l A B 2 + l A C 2 − l B C 2 2 l A B l A C ) ∈ ( 0 , π ) α 2 = a r c cos ⁡ ( l A B 2 + l B C 2 − l A C 2 2 l A B l B C ) ∈ ( 0 , π ) α 3 = a r c cos ⁡ ( l A C 2 + l B C 2 − l A B 2 2 l A C l B C ) ∈ ( 0 , π ) \left\{ \begin{array}{c} \varphi =\mathrm{arc}\tan \left( \frac{z_C-z_A}{x_C-x_A} \right) \in (-\frac{\pi}{2},\frac{\pi}{2})\\ d=l_{AC}\\ \alpha _1=\mathrm{arc}\cos \left( \frac{ {l_{AB}}^2+{l_{AC}}^2-{l_{BC}}^2}{2l_{AB}l_{AC}} \right) \in (0,\pi )\\ \alpha _2=\mathrm{arc}\cos \left( \frac{ {l_{AB}}^2+{l_{BC}}^2-{l_{AC}}^2}{2l_{AB}l_{BC}} \right) \in (0,\pi )\\ \alpha _3=\mathrm{arc}\cos \left( \frac{ {l_{AC}}^2+{l_{BC}}^2-{l_{AB}}^2}{2l_{AC}l_{BC}} \right) \in (0,\pi )\\ \end{array} \right. φ=arctan(xCxAzCzA)(2π,2π)d=lACα1=arccos(2lABlAClAB2+lAC2lBC2)(0,π)α2=arccos(2lABlBClAB2+lBC2lAC2)(0,π)α3=arccos(2lAClBClAC2+lBC2lAB2)(0,π)
建立闭环矢量方程: R ⃗ F A + l ⃗ A B + l ⃗ B C = R ⃗ F C \vec{R}_{FA}+\vec{l}_{AB}+\vec{l}_{BC}=\vec{R}_{FC} R FA+l AB+l BC=R FC ,向固定坐标系基矢量投影,可得:
{ i ^ f : x A + l A B cos ⁡ θ A + l B C cos ⁡ θ B = x C j ^ f : y A + l A B sin ⁡ θ A + l B C sin ⁡ θ B = y C \left\{ \begin{array}{l} \hat{i}^f:x_A+l_{AB}\cos \theta _A+l_{BC}\cos \theta _B=x_C\\ \hat{j}^f:y_A+l_{AB}\sin \theta _A+l_{BC}\sin \theta _B=y_C\\ \end{array} \right. { i^f:xA+lABcosθA+lBCcosθB=xCj^f:yA+lABsinθA+lBCsinθB=yC
其中,位置参数 A : ( x A , y A ) , C : ( x C , y C ) A:(x_A,y_A),C:(x_C,y_C) A:(xA,yA),C:(xC,yC)已知 ,杆长 l A B , l B C l_{AB},l_{BC} lAB,lBC已知,求解可得:
θ A 1 = { φ + α 1 ( x C − x A ≥ 0 ) φ + α 1 + π ( x C − x A ≤ 0 ) , θ A 2 = { φ − α 1 ( x C − x A ≥ 0 ) φ − α 1 + π ( x C − x A ≤ 0 ) \theta _{A1}=\left\{ \begin{array}{c} \varphi +\alpha _1(x_C-x_A\ge 0)\\ \varphi +\alpha _1+\pi (x_C-x_A\le 0)\\ \end{array} \right. ,\theta _{A2}=\left\{ \begin{array}{c} \varphi -\alpha _1(x_C-x_A\ge 0)\\ \varphi -\alpha _1+\pi (x_C-x_A\le 0)\\ \end{array} \right. θA1={ φ+α1(xCxA0)φ+α

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

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

相关文章

基于springboot+微信小程序+vue实现的校园二手商城项目源码

介绍 校园二手商城,架构:springboot微信小程序vue 软件架构 软件架构说明 系统截图 技术选型 技术版本说明Spring Boot2.1.6MVC核心框架Spring Security oauth22.1.5认证和授权框架MyBatis3.5.0ORM框架MyBatisPlus3.1.0基于mybatis,使用…

JavaScript的冒泡与捕获

1.概念。 冒泡事件:微软公司提出的,事件由子元素传递到父元素的过程叫做冒泡(false)。 捕获事件:网景公司提出的,事件由父元素传递到子元素的过程叫做事件捕获(ture)。 2.冒泡事件与…

【每日一题】5.LeetCode——环形链表

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点&…

Qt6入门教程 13:QPushButton

目录 一.QPushButton 1.多选 2.互斥 3.设置菜单 4.图标按钮 4.1给按钮添加图标 4.2异形按钮 二.设置Qt样式表 一.QPushButton QPushButton是与QAbstractButton最接近的完全体按钮,它具备QAbstractButton的所有特性,并且支持设置菜单。 1.多选 …

pytest 8.0 重磅发布!2条弃用规则,7项重大变更,多项优化改进

&#xff08;全文约3200字&#xff0c;阅读约需7分钟&#xff0c;建议先收藏后阅读。首发于公众号&#xff1a;测试开发研习社&#xff0c;欢迎关注&#xff09; pytest 版本遵循 ( <major>.<minor>.<patch>) 语义控制。 昨天发布的 pytest 8.0 是全新的 maj…

使用WAF防御网络上的隐蔽威胁之反序列化攻击

什么是反序列化 反序列化是将数据结构或对象状态从某种格式转换回对象的过程。这种格式通常是二进制流或者字符串&#xff08;如JSON、XML&#xff09;&#xff0c;它是对象序列化&#xff08;即对象转换为可存储或可传输格式&#xff09;的逆过程。 反序列化的安全风险 反序…

外汇天眼:国外汇民遭遇黑平台TO FOREX,损失惨重!

大家都知道&#xff0c;判断外汇平台是否靠谱&#xff0c;并不单单只依靠交易收益情况&#xff0c;而是需要从多方面的情况进行总结&#xff0c;特别是在外汇交易前&#xff0c;就要对外汇平台进行检验&#xff0c;比如检验平台是否有正规监管牌照、口碑评价、资质、创建时间以…

C语言第十二弹--扫雷

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 扫雷 1、扫雷游戏分析和设计 1.1、扫雷游戏的功能说明 1.2 游戏的分析和设计 1.2.1、数据结构的分析 1.2.2、文件结构设计 2、扫雷游戏的结构分析 2.1、用…

静态分析Golang语言生成函数调用关系的利器——go-callvis

目录 升级go删除旧版本安装新版本配置环境变量载入环境修改当前环境修改之后进入的环境 分析安装go-callvis分析其他包总结 导出文件总结 清晰主体脉络总结 其他 参考资料 不同于之前分析C语言项目的工具&#xff0c;go-callvis还是很方便使用。只要把两项工作做好就能顺利的使…

Android 基础技术——Bitmap

笔者希望做一个系列&#xff0c;整理 Android 基础技术&#xff0c;本章是关于 Bitmap Bitmap 内存如何计算 占用内存 宽 * 缩放比例 * 高 * 缩放比例 * 每个像素所占字节 缩放比例 设备dpi/图片所在目录的dpi Bitmap加载优化&#xff1f;不改变图片质量的情况下怎么优化&am…

HX711压力传感器学习一(STM32)

目录 原理图&#xff1a;​ 引脚介绍&#xff1a; HX711介绍工作原理: 程序讲解&#xff1a; 整套工程&#xff1a; 发送的代码工程&#xff0c;与博客的不一致&#xff0c;如果编译有报错请按照报错和博客进行修改 原理图&#xff1a; 引脚介绍&#xff1a; VCC和GND引…

Leetcode刷题笔记题解(C++):1117. H2O 生成(多线程)

思路&#xff1a; 解法二&#xff1a;生产者-消费者解法 1.把 hydrogen 线程看作生产者&#xff0c;oxygen 线程看作消费者&#xff0c;缓冲队列大小为2。 2.hydrogen 把生成的氢放入队列&#xff1b;oxygen 线程每次从队列里消费两个氢元素。 3.生产者生产两个氢元素后会因为…

openGauss学习笔记-209 openGauss 数据库运维-常见故障定位案例-共享内存泄露问题

文章目录 openGauss学习笔记-209 openGauss 数据库运维-常见故障定位案例-共享内存泄露问题209.1 共享内存泄露问题209.1.1 问题现象209.1.2 原因分析209.1.3 处理方法 openGauss学习笔记-209 openGauss 数据库运维-常见故障定位案例-共享内存泄露问题 209.1 共享内存泄露问题…

精通Python第20篇—数据之美:用Pyecharts打造引人入胜的多维度仪表盘与图表联动

引言 在数据可视化领域&#xff0c;仪表盘图是一种直观而强大的工具&#xff0c;用于展示关键指标的实时状态。Pyecharts是一个基于Echarts的Python图表库&#xff0c;提供了丰富的图表类型&#xff0c;其中包括了仪表盘图。本文将介绍如何使用Pyecharts绘制多种炫酷的仪表盘图…

05.领域驱动设计:认识领域事件,解耦微服务的关键

目录 1、概述 2、领域事件 2.1 如何识别领域事件 1.微服务内的领域事件 2.微服务之间的领域事件 3、领域事件总体架构 3.1 事件构建和发布 3.2 事件数据持久化 3.3 事件总线 (EventBus) 3.4 消息中间件 3.5 事件接收和处理 4、案例 5、总结 1、概述 在事件风暴&a…

SpringBoot内置工具类

Collections java.util包下的Collections类&#xff0c;该类主要用于操作集合或者返回集合 一、排序 List<Integer> list new ArrayList<>();list.add(2);list.add(1);list.add(3);Collections.sort(list);//升序System.out.println(list);Collections.reverse(…

vue实践:构建高效的电子签名功能

前言 在现代数字化时代&#xff0c;电子签名成为了一种方便、高效且安全的签署文件的方式。本文将介绍电子签名的原理和实现方法&#xff0c;帮助你快速掌握这一重要的工具。 电子签名是什么&#xff1f; 电子签名是一种数字化的签名方式&#xff0c;用于验证和确认电子文档、…

GitLab16.8配置webhooks、Jenkins2.4配置GitLab插件实现持续集成、配置宝塔面板实现持续部署(其三)

看本篇文章的前提是已经部署完GItlab和Jenkins服务器&#xff0c;已经可以手动构建成功&#xff0c;并且经过了很多次实践&#xff0c;对这两款软件基本熟悉。 建议大家按以下顺序看 前端自动化&#xff08;其一&#xff09;部署gitlab 前端自动化&#xff08;其二&#xff0…

第五篇:express路由路径方式(字符串,字符串模式,和正则)

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4d8; 引言&#xff1a; &#x1f4…

MYSQL基本查询(CURD:创建、读取、更新、删除)

文章目录 前言一、Create1.全列插入2.指定列插入3.插入否则更新4.替换 二、Retrieve1.SELECT列2.WHERE条件3.结果排序4.筛选分页结果 三、Update四、Delete1.删除数据2.截断表 五、插入查询结果六、聚合函数 前言 操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型…