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

news2024/11/18 23:24:46

目录

一、简介

二、运动学模型分析

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.coloradmin.cn/o/1642411.html

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

相关文章

Liunx磁盘管理(中)

Liunx磁盘管理(上)-CSDN博客 目录 查看块设备信息 lsblk(list block devices) fdisk gdisk parted blkid df(disk free) 虚拟机添加硬盘 步骤: 磁盘分区 MBR格式创建分区 使用方法 替代工具 GPT分区格式…

mysq重连次数过多错误和Public Key Retrieval错误解决记录

文章目录 问题记录和解决方法Public key问题解决many connection errors问题解决 问题记录和解决方法 本次出现错误是:在重启服务器,启动seata应用druid连接mysql作为存储源时出现。主要出现了两个错误:第一个问题,通常采用修改连…

STM32G474 CMAKE VSCODE FREERTOS 导入

一. 文件准备 1. 首先下载 freertos FreeRTOS - Free RTOS Source Code Downloads, the official FreeRTOS zip file release download 2. 移动 FreeRTOS-Kenel 到 moto_control 文件夹下。 3. 将 FreeRTOSConfig.h 放到 /Core/Inc 下面 4. 由于 FreeRTOSConfig.h 中使用了…

我们的手机是如何连接上网的?骨干网又是什么?

什么是骨干网(Backbone Network) 几台计算机连接起来,互相可以看到其他人的文件,这叫局域网。整个城市的计算机都连接起来,就是城域网。把城市之间连接起来的网就叫骨干网。 这些骨干网是国家批准的可以直接和国外连…

【netty系列-03】深入理解NIO的基本原理和底层实现(详解)

Netty系列整体栏目 内容链接地址【一】深入理解网络通信基本原理和tcp/ip协议https://zhenghuisheng.blog.csdn.net/article/details/136359640【二】深入理解Socket本质和BIOhttps://zhenghuisheng.blog.csdn.net/article/details/136549478【三】深入理解NIO的基本原理和底层…

如何构建用于从收据中提取信息的生成式人工智能工具

原文地址:how-to-build-a-generative-ai-tool-for-information-extraction-from-receipts 使用 LangChain 和 OpenAI 工具从 Google Drive 中存储的收据图像中提取结构化信息 2024 年 4 月 10 日 纸质收据有各种样式和格式,是自动信息提取的一个有趣目…

bpmn-js推荐几款常用的插件

bpmn-js整体框架库的风格是以组件的方式进行实现的,这样的结构也更加便于我们更好的对其进行功能扩展,以及客制化功能实现。其实bpmn.io已经为我们实现了较多场景的组件的实现,了解对应组件的功能更能便于我们区分是否需要自己实现,降低重复造轮子的行为,提高开发效率,本…

All In ai,Oracle 23C没了,等来了Oracle 23ai

今年一月份的Blog介绍Oracle命名规则的时候,说到Oracle的命名是紧紧跟随时代浪潮的前言科技的,在文章的最后还大胆预测也许Oracle的下一个版本就叫25A了,结果Oracle根本等不及,把原来已经海量宣传的Oracle 23C直接改名为23ai&…

《苍穹外卖》前端课程知识点记录

一、VUE基础知识 基于脚手架创建前端工程 1. 环境要求 安装node.js:Node.js安装与配置(详细步骤)_nodejs安装及环境配置-CSDN博客查看node和npm的版本号 安装Vue CLI:Vue.js安装与创建默认项目(详细步骤)…

分布式websocket IM即时通讯聊天开源项目如何启动

前言 自己之前分享了分布式websocket的视频有同学去fork项目了,自己启动一下更方便理解项目嘛。然后把项目启动需要的东西全部梳理出来。支持群聊单聊,表情包以及发送图片。 支持消息可靠,消息防重,消息有序。同时基础架构有分布式权限&…

【牛客网】值周

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 差分。 因为l<100000000,所以数组开1e8。 唯一需要注意的点就是前面给b[0]单独赋值为1&#xff08;因为如果在循环中给b[0]赋值&…

【进程间通信】管道和命名管道

文章目录 进程间通信的目的管道匿名管道管道的读写规则 命名管道命名管道和匿名管道区别 进程间通信的目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程资源共享&#xff1a;多个进程之间共享同样的资源。通知事件&#xff1a;一个进程需要向另一个或一组进程…

构建智能化商旅服务:酒店中台云服务架构设计与实践

随着商旅行业的不断发展和智能化趋势的兴起&#xff0c;酒店中台云服务成为了提升服务质量和效率的关键。本文将探讨酒店商旅中台云服务的架构设计与实现&#xff0c;介绍其关键特点和最佳实践&#xff0c;助力商旅行业迈向智能化未来。 1. **需求分析与场景设计&#xff1a;*…

私域运营的崛起:企业第三极销售渠道的战略思考与定制开发AI智能名片B2B2C商城小程序

在数字化营销的新时代&#xff0c;私域运营如同璀璨新星&#xff0c;已然崛起为企业不可或缺的第三极销售渠道。那么&#xff0c;如何善用这一新兴领域的价值&#xff0c;使之为企业带来持续增长和竞争力&#xff0c;已成为众多企业需要从战略层面深入思考的问题。而在这一过程…

力扣hot100:101. 对称二叉树(双指针以不同方式递归)

LeetCode&#xff1a;101. 对称二叉树 看了第一个样例&#xff0c;很容易直接层序遍历看每一层的前后是否相同。但接下来这个样例告诉你&#xff0c;不能这样做。 层序遍历 仔细思考会发现&#xff0c;层序遍历不能看本结点&#xff0c;但是可以看儿子结点是否对称&#xf…

【b站vue教程】1 宏观视角下的浏览器——前端大厂面试必刷:前后端必学的网络安全浏览器工作原理:从入门到精通全套【附带所有源码】

课程地址&#xff1a;【前端大厂面试必刷&#xff1a;前后端必学的网络安全浏览器工作原理&#xff1a;从入门到精通全套【附带所有源码】】 https://www.bilibili.com/video/BV1UL41157hP/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、宏…

计算机毕业设计springboot基于vue电商抢购限时秒杀系统ch0h8

技术栈 ide工具&#xff1a;IDEA 或者eclipse 编程语言: java 数据库: mysql5.7以上版本 可选框架&#xff1a;ssmspringboot都有的 前端&#xff1a;vue.jsElementUI 详细技术&#xff1a;springbootSSMvueMYSQLMAVEN 数据库工具&#xff1a;Navicat/SQLyog都可以 开发工具 Ec…

树莓派-服务自启配置方式测试

测试脚本&#xff1a; 一、 向rc.local文件添加启动代码(未找到&#xff0c;不测试) 修改/etc/rc.local文件&#xff0c;在文件中exit 0之前添加代码在启动时都会被执行&#xff0c;如&#xff1a;su pi -c “exec /home/pi/testboot.sh” 其中&#xff1a;su pi表示切换至pi…

设计模式之前端控制器模式

想象一下&#xff0c;你的Java Web应用是个交响乐团&#xff0c;每个功能模块是乐手&#xff0c;而用户请求就像是一首首待演绎的曲目。在这场音乐盛宴中&#xff0c;谁来保证演出的流畅与协调&#xff1f;答案就是——前端控制器模式&#xff01;它如同乐队的指挥&#xff0c;…

ORAN C平面优化

使用section扩展6的C平面优化 在时域和频域中&#xff0c;都可以使用section扩展6进行非连续PRB分配。Section扩展6有两个位掩码&#xff1a;symbolMask和rbgMask。使用symbolMask可以选择一个slot内任意的symbol子集。使用rbgMask可以选择startPrbc和&#xff08;startPrbc …