麦克纳姆轮 Mecanum 小车运动学模型和动力学分析

目录

一、简介

二、运动学模型分析

1. 逆运动学方程 

2. 正运动学方程

三、动力学模型

四、广泛运动学模型


一、简介

 参考文献https://www.geometrie.tugraz.at/gfrerrer/publications/MecanumWheel.pdf

        移动机器人的运动学模型是为了解决小车的正向运动学和逆向运动学问题,即我们需要知道小车的移动平台与其移动装置之间的关系,对于Mecanum模型,运动学模型表示平台速度与每个轮子旋转速度之间的关系

        移动机器人的动态模型可估算外力因素对移动平台运动的影响,并可计算出移动平台运动所需的推力和电机扭矩。  

二、运动学模型分析

由上述文献我们得到下面的公式,该公式可以推导任何矩形多轮全方位平台的运动学模型

         \varphi \dot{} = \frac{1}{R\ast sin(\sigma )} \ast (sin(\alpha +\sigma )\ast (v_{y}+\omega +a_{x}) + cos(\alpha +\varsigma ) \ast (v_{x} - \omega \ast a_{y})) (1)   

其中: \dot{\varphi }  - 为移动小车第n个全向轮的角速度 rad/s;

  • R- 为车轮半径,米;
  • 𝛿 - 全方位滚轮辊筒的倾角,度;
  • 𝛼 - 车轮相对于平台的倾斜角,度;
  • 𝑎𝑥,𝑎𝑦 - 车轮中心相对于平台几何中心的坐标,米;
  • 𝑣𝑥, 𝑣𝑦 - 移动小车的线速度,米/秒;
  • 𝜔 – 移动小车的角速度,弧度/秒。

一般的麦克纳姆轮移动机器人的车轮倾斜参数,即 𝛼 = 0,将式 (1) 转化为式 (2),方法是将 sin(𝛿) 放入普通括号中。将 sin(𝛿) 插入公共括号。

为了方便起见,我们将放入括号内,最终得到(3)

下图表示移动小车的平台 ,其中L和I分别表示小车平台尺寸的一半;轮子则表示滚轮与底面接触的斜度。

接下来我们指定万向轮中心的坐标及其滚轮的角度

  • 轮1:𝑎𝑥 = -l ;  𝑎y = L ; 𝛿 = 45°
  • 轮2:𝑎𝑥 = -l ;  𝑎y = L ; 𝛿 = 45°
  • 轮3:𝑎𝑥 = -l ;  𝑎y = L ; 𝛿 = 45°
  • 轮4:𝑎𝑥 = -l ;  𝑎y = L ; 𝛿 = 45°

将上述数值代入公式 (3),我们可以得到由每个车轮的角速度组成的方程组 (4)。

即为所求得的逆运动学模型

1. 逆运动学方程 

让我们将得到的方程以矩阵形式写成 (5),其中 K 是系数矩阵,行是系统 (4) 中每个车轮的系数,列是相应的速度𝑣𝑥、𝑣𝑦 和 𝜔。 

其中矩阵K如下所示:

将方程 (4) 的所有方程相加,并按照相应变量进行分组,我们可以写出方程 (7),这就是该移动小车正运动学问题的解。

2. 正运动学方程

三、动力学模型

        根据之前我们推导的运动学模型,我们来考虑移动小车沿 OY 轴的运动。根据方程 (7) ,为了使平台沿 OY 轴运动,四个车轮的旋转方向必须相同,并且必须是顺时针方向。

        为了建立简化动态模型,将考虑作用在每个车轮上的以下力:牵引力、车轮滚动摩擦力、滚筒滚动摩擦力。这些力的矢量排列如下图所示。

  • Fт – 电机牵引力;(牵引力的方向与小车运动方向相同) 
  • Fтр кол– 车轮滚动摩擦力(车轮的滚动摩擦力与小车运动方向相反);
  • Fтр рол– 滚轮滚动摩擦力(滚轮的滚动摩擦力与滚筒垂直,且方向与旋转方向相反);

在上图的基础上,让我们根据牛顿第二定律在 OY 轴上的投影建立一个方程(9)。

根据公式(7),对于沿OY轴的运动,轮子的转速必须相同,并且还假设整个移动平台的质量分布均匀地发生在每个轮子上,可以说,每个车轮考虑的所有力都是相等的,即:

因此,通过牛顿第二定律我们可以得到公式(11) 

接下来有移动小车受力公式滚动摩擦力公式(12)

  • m 是移动小车的质量,千克;
  • a - 移动平台的加速度,m/c2;
  • k - 滚动摩擦系数;
  • N - 反作用力

反作用力由下列公式确定:

  • 𝑚1为平台每一个轮子的质量,kg;
  • 𝑔——自由落体加速度,m/s2。

假设小车的质量均匀分布在轮子之间,那么我们可以假设: 𝑚1 =𝑚/4,则滚动摩擦力的公式由(12)转换为(14)。

考虑到上述所有公式,我们写出完整的牛顿第二定律方程(15)。

其中r是滚轮的半径,m。

通过上述方程,我们可以通过方程(16)来表达发动机的牵引力

现在我们用公式(17)计算每个电机轴上的扭矩:

四、广泛运动学模型

        为了推导轮子扭矩与机器人速度之间的关系,我们推导了移动小车沿 X 轴和 Y 轴移动时的广义牵引力的公式。

        为此,我们用公式(17)表示牵引力的值,并根据运动学模型的公式(7)取总力矩与车轮的转速成正比

其中𝑀𝑖是平台第i个轮子的转动力矩,N*m。 

将沿OY轴移动时的广义牵引力的结果代入式(15)中进行变换。 结果我们有(Ftx = 0):

让我们对所得公式进行变换,将加速度视为沿 OY 轴运动速度的导数。 

用常数系数 𝜇1 表示滚动摩擦力的影响,由式(20)得到移动平台速度对轮子扭矩的关系: 

接下来我们可以类似的表达沿着X轴运动之间的关系 (下图为小车沿着X轴进行的运动分析)

从图中可以看出,车轮的摩擦力不影响沿OX轴的运动,因此,对于该运动,方程(15)采用(21)的形式。 

我们对所得公式(21)进行变换,将加速度设为沿 OX 轴运动速度的导数。 

用常数系数 𝜇2 表示滚动摩擦力的影响,我们得到了移动小车速度对车轮扭矩的依赖关系。 

因此,一般动态模型采用形式如下公式(24)

系数𝜇1和𝜇2由公式(25)确定。 

 

 

 

 

 

 

 

 

 

 

 

    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springmvc下

第二类初始化操作 multipartResolver应用 localeResolver应用 themeResolver应用 handlerMapping应用 handlerAdapter应用 handlerExceptionReslver requestToViewNameTranslator应用 viewResolver应用 flashMapManager应用 dispatcherServlet逻辑处理 processRequest处理web请…

【Flask 系统教程 5】视图进阶

类视图 在 Flask 中,除了使用函数视图外,你还可以使用类视图来处理请求。类视图提供了一种更为结构化和面向对象的方式来编写视图函数,使得代码组织更清晰,并且提供了更多的灵活性和可扩展性。 创建类视图 要创建一个类视图&am…

Docker高频使用命令

一、Docker常用命令总结 1.镜像命令管理 指令描述ls列出镜像build构建镜像来自Dockerfilehoistory查看历史镜像inspect显示一个或多个镜像的详细信息pull从镜像仓库拉取镜像push推送一个镜像仓库rm移除一个或多个镜像prune一处未使用的镜像,没有被标记或被任何容器…

初始化Linux或者Mac下Docker运行环境

文章目录 1 Mac下安装Docker2 Linux下安装Docker2.1 确定Linux版本2.2 安装Docker2.3 配置加速镜像 3 Docker安装校验4 安装docker-compose4.1 直接下载二进制文件4.2 移动二进制文件到系统路径4.3 设置可执行权限4.4 验证安装 1 Mac下安装Docker mac 安装 docker 还是比较方便…

哥白尼高程Copernicus DEM下载(CSDN_20240505)

哥白尼数字高程模型(Copernicus DEM, COP-DEM)由欧洲航天局(European Space Agency, 简称ESA或欧空局)发布,全球范围免费提供30米和90米分辨率DEM。COP-DEM是数字表面模型(DSM),它表示地球表面(包括建筑物、基础设施和植被)的高程。COP-DEM是经过编辑的D…

c++set和map

目录 一、set的使用 1、set对象的创建 2、multiset 二、map的使用 1、map对象的创建 2、map的operator[] 序列式容器:vector、list、deque....单纯的存储数据,数据和数据之间没有关联 关联式容器:map、set.....不仅仅是存储数据&#x…

2000-2020年县域创业活跃度数据

2000-2020年县域创业活跃度数据 1、时间:2000-2020年 2、指标:地区名称、年份、行政区划代码、经度、纬度、所属城市、所属省份、年末总人口万人、户籍人口数万人、当年企业注册数目、县域创业活跃度1、县域创业活跃度2、县域创业活跃3 3、来源&#…

python数据可视化:显示两个变量间的关系散点图scatterplot()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 python数据可视化: 显示两个变量间的关系 散点图 scatterplot() [太阳]选择题 请问关于以下代码表述错误的选项是? import seaborn as sns import matplotlib.pyplot …

VISO流程图之子流程的使用

子流程的作用 整个流程图的框图多而且大,进行分块;让流程图简洁对于重复使用的流程,可以归结为一个子流程图,方便使用,避免大量的重复性工作; 新建子流程 方法1: 随便布局 框选3 和4 &#…

SQL:NOT IN与NOT EXISTS不等价

在对SQL语句进行性能优化时,经常用到一个技巧是将IN改写成EXISTS,这是等价改写,并没有什么问题。问题在于,将NOT IN改写成NOT EXISTS时,结果未必一样。 目录 一、举例验证二、三值逻辑简述三、附录:用到的S…

3.3Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3框架-企业级应用-Vue组合式API

为什么要使用Composition API 一个Options API实例 在前面的课程中&#xff0c;我们都是采用 Options API&#xff08;基于选项的 API &#xff09; 来写一个组件的。下面是一个实例&#xff1a; <template> Count is: {{ count }}, doubleCount is: {{ doubleCount…

深入理解网络原理3----TCP核心特性介绍(上)【面试高频考点】

文章目录 前言TCP协议段格式一、确认应答【保证可靠性传输的机制】二、超时重传【保证可靠性传输的机制】三、连接管理机制【保证可靠性传输的机制】3.1建立连接&#xff08;TCP三次握手&#xff09;---经典面试题3.2断开连接&#xff08;四次挥手&#xff09;3.3TCP状态转换 四…

【skill】onedrive的烦人问题

Onedrive的迷惑行为 安装Onedrive&#xff0c;如果勾选了同步&#xff0c;会默认把当前用户的数个文件夹&#xff08;桌面、文档、图片、下载 等等&#xff09;移动到安装时提示的那个文件夹 查看其中的一个文件的路径&#xff1a; 这样一整&#xff0c;原来的文件收到严重影…

政安晨:【Keras机器学习示例演绎】(三十五)—— 使用 LayerScale 的类注意图像变换器

目录 简介 导入 层刻度层 随机深度层 类注意力 会说话的头注意力 前馈网络 其他模块 拼凑碎片&#xff1a;CaiT 模型 定义模型配置 模型实例化 加载预训练模型 推理工具 加载图像 获取预测 关注层可视化 结论 政安晨的个人主页&#xff1a;政安晨 欢迎 &#…

Topaz Video AI 5.0.3激活版 AI视频无损缩放增强

Topaz Video AI专注于很好地完成一些视频增强任务&#xff1a;去隔行&#xff0c;放大和运动插值。我们花了五年时间制作足够强大的人工智能模型&#xff0c;以便在真实世界的镜头上获得自然的结果。 Topaz Video AI 还将充分利用您的现代工作站&#xff0c;因为我们直接与硬件…

【数学建模】矩阵微分方程

一、说明 我相信你们中的许多人都熟悉微分方程&#xff0c;或者至少知道它们。微分方程是数学中最重要的概念之一&#xff0c;也许最著名的微分方程是布莱克-斯科尔斯方程&#xff0c;它控制着任何股票价格。 ​​ 股票价格的布莱克-斯科尔斯模型 微分方程可以由数学中的许多…

MidJourney提示词大全

大家好&#xff0c;我是无界生长。 这篇文章分享一下MidJourney提示词&#xff0c;篇幅内容有限&#xff0c;关注公众号&#xff1a;无界生长&#xff0c;后台回复&#xff1a;“MJ”&#xff0c;获取全部内容。 我是无界生长&#xff0c;如果你觉得我分享的内容对你有帮助&…

ArcGIS软件:地图投影的认识、投影定制

这一篇博客介绍的主要是如何在ArcGIS软件中查看投影数据&#xff0c;如何定制投影。 1.查看地图坐标系、投影数据 首先我们打开COUNTIES.shp数据&#xff08;美国行政区划图&#xff09;&#xff0c;并点击鼠标右键&#xff0c;再点击数据框属性就可以得到以下的界面。 我们从…

【Mac】graphpad prism for Mac(专业医学绘图工具) v10.2.3安装教程

软件介绍 GraphPad Prism for Mac是一款专业的科学数据分析和绘图软件&#xff0c;广泛用于生物医学和科学研究领域。它具有强大的统计分析功能&#xff0c;可以进行各种数据分析&#xff0c;包括描述性统计、生存分析、回归分析、方差分析等。同时&#xff0c;它还提供了丰富…

C++奇迹之旅:string类接口详解(上)

文章目录 &#x1f4dd;为什么学习string类&#xff1f;&#x1f309; C语言中的字符串&#x1f309;string考察 &#x1f320;标准库中的string类&#x1f309;string类的常用接口说明&#x1f320;string类对象的常见构造 &#x1f6a9;总结 &#x1f4dd;为什么学习string类…
最新文章