• 阅读数:238发布于2021-07-14 21:58:45

    只看该作者
    麦克纳姆轮原理与实现 复制本文链接

    在竞赛机器人和特殊工种机器人中,全向移动经常是一个必需的功能。「全向移动」意味着可以在平面内做出任意方向平移同时自转的动作。为了实现全向移动,一般机器人会使用「全向轮」(Omni Wheel)或「麦克纳姆轮」(Mecanum Wheel)这两种特殊轮子。
    全向轮:
    图片alt
    麦克纳姆轮:
    图片alt
    全向轮与麦克纳姆轮的共同点在于他们都由两大部分组成:轮毂和辊子(roller)。轮毂是整个轮子的主体支架,辊子则是安装在轮毂上的鼓状物。全向轮的轮毂轴与辊子转轴相互垂直,而麦克纳姆轮的轮毂轴与辊子转轴呈 45° 角。理论上,这个夹角可以是任意值,根据不同的夹角可以制作出不同的轮子,但最常用的还是这两种。
    全向轮与麦克纳姆轮(以下简称「麦轮」)在结构、力学特性、运动学特性上都有差异,其本质原因是轮毂轴与辊子转轴的角度不同。经过分析,二者的运动学和力学特性区别可以通过以下表格来体现。
    图片alt
    计算过程如下,供参考,学霸可点开大图验算:
    图片alt
    近年来,麦轮的应用逐渐增多,特别是在 Robocon、FRC 等机器人赛事上。这是因为麦克纳姆轮可以像传统轮子一样,安装在相互平行的轴上。而若想使用全向轮完成类似的功能,几个轮毂轴之间的角度就必须是 60°,90° 或 120° 等角度,这样的角度生产和制造起来比较麻烦。所以许多工业全向移动平台都是使用麦克纳姆轮而不是全向轮,比如这个国产的叉车: 全向移动平台 麦克纳姆轮叉车 美科斯叉车
    另外一个原因,可能是麦轮的造型比全向轮要酷炫得多,看起来有一种不明觉厉的感觉……
    图片alt
    图片alt
    的确,第一次看到麦轮运转起来,不少人都会惊叹。以下视频直观地说明了麦轮底盘在平移和旋转时的轮子旋转方向。
    麦轮的安装方法
    麦轮一般是四个一组使用,两个左旋轮,两个右旋轮。左旋轮和右旋轮呈手性对称,区别如下图。
    图片alt
    安装方式有多种,主要分为:X-正方形(X-square)、X-长方形(X-rectangle)、O-正方形(O-square)、O-长方形(O-rectangle)。其中 X 和 O 表示的是与四个轮子地面接触的辊子所形成的图形;正方形与长方形指的是四个轮子与地面接触点所围成的形状。
    图片alt

    • X-正方形:轮子转动产生的力矩会经过同一个点,所以 yaw 轴无法主动旋转,也无法主动保持 yaw 轴的角度。一般几乎不会使用这种安装方式。
    • X-长方形:轮子转动可以产生 yaw 轴转动力矩,但转动力矩的力臂一般会比较短。这种安装方式也不多见。
    • O-正方形:四个轮子位于正方形的四个顶点,平移和旋转都没有任何问题。受限于机器人底盘的形状、尺寸等因素,这种安装方式虽然理想,但可遇而不可求。
    • O-长方形:轮子转动可以产生 yaw 轴转动力矩,而且转动力矩的力臂也比较长。是最常见的安装方式。
      麦轮底盘的正逆运动学模型
      以O-长方形的安装方式为例,四个轮子的着地点形成一个矩形。正运动学模型(forward kinematic model)将得到一系列公式,让我们可以通过四个轮子的速度,计算出底盘的运动状态;而逆运动学模型(inverse kinematic model)得到的公式则是可以根据底盘的运动状态解算出四个轮子的速度。需要注意的是,底盘的运动可以用三个独立变量来描述:X轴平动、Y轴平动、yaw 轴自转;而四个麦轮的速度也是由四个独立的电机提供的。所以四个麦轮的合理速度是存在某种约束关系的,逆运动学可以得到唯一解,而正运动学中不符合这个约束关系的方程将无解。

    先试图构建逆运动学模型,由于麦轮底盘的数学模型比较复杂,我们在此分四步进行:

    ①将底盘的运动分解为三个独立变量来描述;

    ②根据第一步的结果,计算出每个轮子轴心位置的速度;

    ③根据第二步的结果,计算出每个轮子与地面接触的辊子的速度;

    ④根据第三部的结果,计算出轮子的真实转速。

    一、底盘运动的分解

    我们知道,刚体在平面内的运动可以分解为三个独立分量:X轴平动、Y轴平动、yaw 轴自转。如下图所示,底盘的运动也可以分解为三个量:

    v_{t_x} 表示 X 轴运动的速度,即左右方向,定义向右为正;

    v_{t_y} 表示 Y 轴运动的速度,即前后方向,定义向前为正;

    \vec{\omega} 表示 yaw 轴自转的角速度,定义逆时针为正。

    以上三个量一般都视为四个轮子的几何中心(矩形的对角线交点)的速度。
    图片alt
    二、计算出轮子轴心位置的速度

    定义:

    图片alt
    为从几何中心指向轮子轴心的矢量;

    图片alt
    为轮子轴心的运动速度矢量;

    图片alt
    为轮子轴心沿垂直于 \vec{r} 的方向(即切线方向)的速度分量;

    那么可以计算出:

    图片alt
    分别计算 X、Y 轴的分量为:

    图片alt

    同理可以算出其他三个轮子轴心的速度。
    图片alt
    同理可以算出其他三个轮子轴心的速度。
    图片alt
    三、计算辊子的速度
    根据轮子轴心的速度,可以分解出沿辊子方向的速度 图片alt和垂直于辊子方向的速度 图片alt。其中 图片alt是可以无视的(思考题:为什么垂直方向的速度可以无视?),而
    图片alt
    其中 图片alt是沿辊子方向的单位矢量。
    图片alt
    四、计算轮子的速度

    从辊子速度到轮子转速的计算比较简单:
    图片alt
    图片alt
    图片alt
    根据上图所示的 a 和 b 的定义,有
    图片alt
    结合以上四个步骤,可以根据底盘运动状态解算出四个轮子的转速:
    图片alt
    以上方程组就是O-长方形麦轮底盘的逆运动学模型,而正运动学模型可以直接根据逆运动学模型中的三个方程解出来,此处不再赘述。
    另一种计算方式
    「传统」的推导过程虽然严谨,但还是比较繁琐的。这里介绍一种简单的逆运动学计算方式。

    我们知道,全向移动底盘是一个纯线性系统,而刚体运动又可以线性分解为三个分量。那么只需要计算出麦轮底盘在「沿X轴平移」、「沿Y轴平移」、「绕几何中心自转」时,四个轮子的速度,就可以通过简单的加法,计算出这三种简单运动所合成的「平动+旋转」运动时所需要的四个轮子的转速。而这三种简单运动时,四个轮子的速度可以通过简单的测试,或是推动底盘观察现象得出。

    当底盘沿着 X 轴平移时:
    图片alt
    当底盘沿着 Y 轴平移时:
    图片alt
    将以上三个方程组相加,得到的恰好是根据「传统」方法计算出的结果。这种计算方式不仅适用于O-长方形的麦轮底盘,也适用于任何一种全向移动的机器人底盘。

    回复 (1)

    举报
举报

请选择举报理由

  • 垃圾广告
  • 违规内容
  • 恶意灌水
  • 重复发帖
提示

奥比中光 · 3D视觉开发者社区...

站长统计