机器人差速驱动方式(Differential Drive)

Posted loongembedded

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器人差速驱动方式(Differential Drive)相关的知识,希望对你有一定的参考价值。

差速驱动

差速驱动是一个两轮驱动的系统,而且每个轮子都带有独立的执行机构(如直流电动机)。该名称是基于这样的事实,机器人的运动矢量是每个独立车轮运动的总和,机械差动也是这样的(然而,该驱动系统不使用机械差动)驱动轮通常被安装在机器人的两边,而且正对前方。

Diffdrv

在上图中,较大的灰色有阴影的矩形代表驱动轮。较小的矩形是无驱动轮,这就构成了机器人身体的三角架形支撑结构。通常,这个无驱动轮是一个脚轮,一个小的带有旋轴的轮子,经常被用于办公家具上。

image.png

不幸的是,如果机器人以相反方向运动时,这个脚轮就会出现问题。因为如果那样的话,脚轮必须旋转180度,而且在这个过程中,偏转的旋轴可能会对机器人引入一个不希望的运动向量。这就可能导致平移的航向错误。然而,这个脚轮比较适合这样的情况:机器人总是在前进和转向时改变方向。另一个选择是万向滚珠,这是一种不使用旋轴装置的轮子(注意不要和球形万向轮混淆)。

球形万向轮

万向滚珠

在某些小机器人上例如机器鼠竞赛上用到的机器人,因为如果地板足够光滑就没必要严格使用滚动设备——某些机器人可以使用固定的圆形乐高零件来代替万向滚珠。这样做唯一的缺点就是增大了部件的摩擦因为乐高零件必须在地上滑动而不是滚动。

机器人的人直线运动是通过驱动轮以相同速率和方向转动来实现的,尽管这不像听起来那么容易。原地旋转(旋转角度为0)是通过驱动轮以相同速率不同方向转动来做到的。任意运动路径可以通过动态地修改角速度和/或者驱动轮的旋转方向来实现。然而实际上,通过交替的直线运动和原地旋转可以降低运动的复杂性。使用这种方法可以很容易计算里程。

Pioneer

许多商业的机器人使用差速驱动的方法例如来自ActiveMedia的Pioneer系列:

Pioneer

  • 电动机

2个:每一边各一个

  • 优点

    • 简易性:差速轮系统非常的简单,通常差速轮直接与电动机相连(通常使用减速电动机,因为大部分电动机没有足够的扭矩来直接驱动轮子)
  • 缺点

    • 控制:对于差速驱动的机器人来说直线运动可能是比较困难的。因为每个驱动轮是独立的,一旦它们的旋转速度不是精确相同的话,机器人就会向一边偏离。由于电动机轻微的速度差异、马达驱动系统的摩擦力差异以及轮子与地面的摩擦力差异,实现驱动轮电动机以相同速率旋转是很困难的。为了保证机器人直线运动,有必要频繁调整电动机的RPM(每秒多次)。这可能就要求以中断为基础的软件和汇编语言。另外,轮子位置的精确位置也是非常重要的。这通常来自于里程计传感器。

本文译自:http://groups.csail.mit.edu/drl/courses/cs54-2001s/diffdrive.html

以上是关于机器人差速驱动方式(Differential Drive)的主要内容,如果未能解决你的问题,请参考以下文章

机器人差速模型

两轮差速移动机器人从A点移动到B点的C++语言代码

两轮差速移动机器人从A点移动到B点的C++语言代码

汽车转弯时,两侧车轮转速不同?怎么解决问题

自动驾驶 4-6 Lesson 6: Vehicle Actuation

差速式AGV控制实验