当前位置:网站首页>三种常见的移动底盘运动学模型分析
三种常见的移动底盘运动学模型分析
2022-07-27 02:49:00 【K.Fire浑身是肝】
目录
前言
现在大三暑假,开学就要着手准备毕设了,接手了实验室师兄的激光SLAM小车项目,先从下位机学起,争取把整个项目接受下来,有所收获有所创新。
这篇是在学习代码过程中,对四轮差速小车、麦克纳姆轮小车以及两轮差速小车运动学模型的学习总结。
一、四轮差速运动模型

符号说明:
在四轮差速模型中,前轮和后轮的速度是同步的,这里以底盘几何中心COG沿y轴方向上的点ICR作为整个底盘进行圆周运动时的圆心,ICR和COG的距离大小与圆周运动角速度大小有关。

公式推导:
绕圆心做圆周运动的物体,其线速度v、角速度w和圆周半径d满足w=v/d。因此可以建立底盘中的约束关系:

假设线
与y轴的夹角为,可以对上式进行变形,结果如下所示:


刚体旋转时,各个位置的角速度与质心处的角速度是一样的,即四个轮子绕ICR旋转的角速度也是
。按照上式推理,同样可以得到以下约束关系式:


同时,
与
在x轴和y轴上的投影长度满足下式关系:


当四轮差速底盘设定的左轮、游轮速度分别为
和
,且前轮、后轮速度严格同步时,有下式所示关系:


综合上式可以得到以下结果:


将上式整理后,得到四轮差速底盘的前向运动学关系:
![\left[ \begin{array}{c} v_{cx}\\ \omega _z\\ \end{array} \right] =\left[ \begin{matrix} \frac{1}{2}& \frac{1}{2}\\ -\frac{1}{c}& \frac{1}{c}\\ \end{matrix} \right] \left[ \begin{array}{c} v_l\\ v_r\\ \end{array} \right]](http://img.inotgo.com/imagesLocal/202207/27/202207270248579075_10.gif)
参考博客:移动机器人运动模型(两轮、四轮、麦克纳姆轮和概率运动)_anthony-36的博客-CSDN博客_移动机器人运动模型
二、麦克纳姆轮运动学模型

已知车中心的xy方向线速度
、
和角速度
,可以计算出每个轮子的中心速度:

那么轮子中心的xy方向速度分量为:



根据轮子中心的速度,可以分解为沿辊子方向速度和垂直辊子方向速度,垂直辊子方向速度可以不记,
是沿辊子方向的单位向量(投影),可以得到:

辊子方向与x轴方向夹角为45°,则单位向量可以表示为:

则有:

化简后得到:

然后从与地面接触的辊子速度到轮子线转速:

代入上述
、
计算公式得:


依次可得四个轮子的计算公式:

式中
、
是车身横向距离和纵向距离的一半
参考博客:一文读懂麦克纳姆轮全向移动原理及剖析_苏守坤的博客-CSDN博客_麦克纳姆轮原理
在小车横向距离和纵向距离相近时,麦轮的运动学模型会退化成四轮差速小车的运动学模型,y方向的速度为0,
、
相等,看一下公式就推出来了。
三、两轮差速运动学模型
运动特性为两轮差速驱动,其底部后方两个同构驱动轮的转动为其提供动力,前方的随动轮起支撑作用并不推动其运动,两轮差速驱动如下图所示。

它的解算是要达到下图所示目的:

给定前进速度和角速度,计算出左右轮的速度。
根据高中所学的线速度角速度公式,可得:


参考博客:两轮差速机器人运动学模型_奔驰的战猪的博客-CSDN博客_两轮差速模型
总结
感谢CSDN各位大佬,让菜鸡又学到了知识
边栏推荐
- Plato Farm有望通过Elephant Swap,进一步向外拓展生态
- 【obs】动态码率:码率估算
- 222. 完全二叉树的节点个数
- 开机启动流程及营救模式
- 回归测试:意义、挑战、最佳实践和工具
- NFT数字藏品系统开发:老牌文学杂志玩起新潮数字藏品
- 次轮Okaleido Tiger即将登录Binance NFT,引发社区热议
- Redis(九) - Redis之分布式锁
- Detailed analysis of trajectory generation tool in psins toolbox
- Regression testing: meaning, challenges, best practices and tools
猜你喜欢

Specific use of multithreading

C. Cypher

一维数组的应用

科目三: 济南章丘五号线

Interview question: the difference between three instantiated objects in string class

Parallels Desktop启动虚拟机“操作失败”问题解决

On the first day of Shenzhen furniture exhibition, the three highlights of Jin Ke'er booth were unlocked!

【愚公系列】2022年7月 Go教学课程 018-分支结构之switch

222. Number of nodes of complete binary tree

JMeter interface test (login, registration)
随机推荐
科目三: 济南章丘6号线
03. Get the web page source code
Realization of regular hexagon map with two-dimensional array of unity
次轮Okaleido Tiger即将登录Binance NFT,引发社区热议
The problem that prevented the installation of umi4 for one day has been solved
A. Parkway Walk
Kettle reads file split by line
LeetCode 第二十八天
C语言入门实战(12):求自然常数e的值
Skywalking distributed system application performance monitoring tool - medium
使用redis c库,异步内存泄露的问题
An online duplicate of a hidden bug
First pass of routing strategy
SkyWalking分布式系统应用程序性能监控工具-中
NFT数字藏品系统开发:小蚁数智帮助品牌一键上链发行NFT
VR全景制作在家装行业是谈单利器?这是为什么呢?
JMeter interface test (login, registration)
Will this flinkcdc monitor all tables in the database? Or the designated table? I look at the background log. It monitors all tables. If it monitors
酷雷曼VR全景为你铺设创业之路
C#怎么实现给Word每一页设置不同文字水印