APP下载

基于麦克纳姆轮和Arduino的避障小车设计

2022-02-21张楠楠

现代电子技术 2022年4期
关键词:B轮A轮麦克

张 晓,张楠楠

(1.塔里木大学 信息工程学院,新疆 阿拉尔 843300;2.中国农业科学院 农业信息研究所新疆南疆农业信息化研究中心,新疆 阿拉尔 843300)

0 引言

智能小车作为一种多轮驱动的智能机器人,具有体积小、重量轻、成本低、运动灵活、操控方便等优点。自动避障技术通常指的是智能小车在行驶过程中,根据障碍物的特征自动调整运动的方向以达到及时避让的效果。据统计数据显示,全球每年约有上百万人在交通事故中失去生命,受伤的更是不计其数。自动避障功能可极大地降低因驾驶员疲劳驾驶、醉酒驾驶等导致的安全事故的发生率。

由麦克纳姆轮构成的全向移动结构使避障小车的灵活性得到了质的提升,基于其优良的转向特性,麦克纳姆轮或将成为避障小车的标准配置。国内外众多高校都有相关方面的研究,如:国外的日本Keio大学、Kanzawa理工大学、德国的Osnabruck大学等,国内的哈尔滨工业大学、浙江大学、华中科技大学等。国内外公司在麦克纳姆轮的应用机器人方面做了大量且重要的研究,如德国KUKA公司、美国Vehicle公司、成都航发公司、深圳松灵等,但大多数是应用在特定的场景下。因此,本文设计了一套基于Arduino的具有全向移动功能的自动避障智能小车,通过模拟实际的障碍场景测试其运用到实际场景中的可能性。主要内容为:首先了解麦克纳姆轮及其避障的原理;其次选择智能小车各部分硬件,并且对整体控制程序进行设计,用Android手机通过蓝牙连接实现对小车的实时控制;最后对小车的基本运动功能以及避障运动进行试验检测。

1 麦克纳姆轮简介

麦克纳姆轮是1973年由瑞典麦克纳姆公司的工程师设计的,是一种典型的全方位移动轮。麦轮与普通轮的不同之处在于轮毂周边分布一排无动力辊子,辊子可绕轮毂轴公转,并在地面摩擦力作用下绕辊子轴自转。麦克纳姆轮分为互为镜像关系的A轮和B轮两种。约定轮子前进时的方向为电机正转,轮子后退时的方向为电机反转,当电机正转时,A轮受摩擦力作用具有向右前方运动趋势,电机反转具有向左后方运动的趋势。A,B轮合力分解如图1所示。

图1 A,B轮的合力分解

由图1可得出正确的麦轮分布可以是ABBA。当4个轮子都向前转时,AB轮的轴向速度就会相互抵消,则底盘就向前直行,后退同理;如果A轮正转、B轮反转时,向前向后的速度会抵消,仅剩下向右的速度,那么底盘就会向右平移;相反,如果A轮反转、B轮正转,则底盘会向左平移。小车前后左右移动的合力分解如图2所示。

图2 小车前后左右移动的合力分解

当A轮正转、B轮不动时,底盘会向右前方运动;当A轮反转、B轮不动时,底盘向左后方运动。相应地,A轮不动、B轮正转时,底盘向左前方运动;A轮不动、B轮反转时,底盘向右后方运动。小车左右前、左右后移动的合力分解如图3所示。小车旋转的移动方式如图4所示。

图3 小车斜向移动的合力分解

图4 小车旋转运动的合力分解

2 基于Arduino的避障小车系统设计

2.1 整体流程

整个避障小车的流程图设计主要由蓝牙连接部分、手动模式和自动模式三部分组成。首先判断手机与Arduino开发板是否已经与蓝牙配对连接。蓝牙模块与开发板配对后就需要人为判断是否有障碍物。如果没有障碍物,则进入手动模式对小车进行控制;如果检测到障碍物就执行避障模式。手动模式是先将APP发来的指令存入一个变量中,然后通过蓝牙将此变量存储的数据发送给小车,最后小车按指令执行相应的移动操作。自动模式主要由信息采集与信息处理组成。信息采集依赖于小车前方的超声波测距模块和四周的4个红外测距模块,将实时采集的数据经过Arduino开发板处理后判断出相应的障碍物形状,最后根据程序执行相应的避障路线。由于Arduino开发板本身的外部中断接口不足,无法实现自主由手动模式转为自动模式,所以在手动模式与自动模式中会人为地实时判断是否有障碍物。避障小车整体流程如图5所示。

图5 避障小车的整体流程

2.2 对于小车运动的电机控制设计

使用AF motor电机驱动扩展板免去了自主设计PWM脉冲信号调速的繁杂工作,但依然会因小车整体构架而出现车体前后重量不一致,因而难以实现较好的横向和斜向移动。为了达到预期运动效果,必须对每个电机的速度进行单独设置。对电机控制的程序思路为:

1)使用4条AF_DCMotor motor1(1)语句建立4个直流电机对象,它们的名称分别是:motor1、motor2、motor3、motor4。语句括号中的数字代表各个电机对象连接在AFMotor扩展板的电机端口号码。

2)在setup()函数中使用4条motor1.set Speed(100)语句,通过set Speed库函数设置电机运行速度,括号中的参数是运行速度参数,其允许范围是0~255,速度参数越大,运转速度越快。参数为0时电机停止转动。

3)使用4条motor1.run(RELEASE)语句让4个电机在启动时停止转动,防止开机时对小车失去控制。

2.3 避障算法

假设仅一个障碍物,即障碍物表面连续,本文根据障碍物的形状分别设计不同的避障轨迹,并设计检测到障碍物的安全距离。考虑到小车是为了绕开障碍物,因此在避开障碍物后设定其向前运动,然后再检测是否存在障碍物,直到各个传感器都没检测到障碍物后执行“停止”命令。障碍物可能出现的情况及避障轨迹如图6所示。

图6 障碍物形状及避障轨迹

图6中黑色线条代表障碍物的大致形状,蓝色线条代表小车的避障轨迹。小车的避障轨迹有且仅有8条:前进:图6a)和图6l);先左移然后前进:图6c)和图6k);先右移然后前进:图6d)和图6j);先后移然后右移最后前进:图6i);先右向前移然后前进:图6e);先向左前移然后前进:图6f);先向左后移然后左移,最后前进:图6g);先向右后移然后右移,最后前进:图6h)。

2.4 蓝牙模块与小车的连接设计

对于小车的控制使用Bluetooth软件,只需要自定义每个按钮的指令,然后通过蓝牙连接发送指定,实现对智能小车的控制。操作界面中红色按钮是自动控制,绿色按钮是手动控制。控制主界面与控制盘的参数设置如图7所示。

图7 软件控制主界面

与Arduino建立连接的程序过程为:在loop()函数中判定硬件串口是否收到信息,如果硬件串口收到信息,将信息传递给cmdChar变量,然后硬件串口输出cmdChar变量信息以便于开发调试使用;如果用户输入控制指令字符为“A”,则将当前运行模式控制变量设置为AUTO;如果用户输入控制指令字符为“M”,则将当前运行模式控制变量设置为手动模式。手动模式参数设置如图8所示。

图8 手动模式参数设置

2.5 安全距离的选取

小车在自动避障过程中对信息的采集依赖于传感器,对于传感器采集的数据,要判定在一个数值范围内是否有障碍物,这时需要选择一个安全距离。由于本文小车不需要转弯就可以转变运动方向,且对安全距离的选择并不需要考虑小车的规格尺寸,因此经过实物验证最终将安全距离设定为15 cm。超声波测距模块的安全距离设定是基于其测定的距离,然后通过编程实现;红外测距模块的安全距离的选取使用手动调节旋钮就可以设定,在安全距离内检测到障碍物则返回字符“0”,否则返回字符“1”。

3 避障模拟及测试结果

3.1 避障模拟

为了对小车实际避障能力进行检验,对各种类型的障碍物与小车不同位置进行多次实验模拟,障碍物模拟如图9所示。

图9中障碍物位置模拟的a)、b)、c)、d)图形分别为同一障碍物被小车信息采集系统中1个传感器、2个传感器、3个传感器、4个传感器检测到障碍物。

图9 障碍物位置模拟图

3.2 测试结果

在同一障碍物的不同摆法基础上,对小车的避障算法进行了测试,各种形状的障碍物都能按照指定程序运行,测试结果如表1所示。避障测试成功率达88.9%。其中形状编号指图6中障碍物形状编号,测验次数是指小车对于同一障碍物处于不同位置分别进行的3次测试。

表1 避障测试结果

3.3 测试结果分析

由表1可知,本文避障系统仍然存在一定的缺陷,经过分析,出现避障未成功一方面是由于同一障碍物的摆放位置发生变化;另一方面是由于传感器的检测安全距离发生变化导致避障失败。因为红外测距模块的安全距离是通过调节外部的旋钮来设定的,所以有可能出现连续表面的障碍物被判定为2个或3个障碍物而出现避障失败。出现避障失败的情况如图10所示。

图10a)和图10b)避障失败极有可能是因为小车左侧未能够检测到障碍物,将安全距离调大,则这种避障失败情况可得到解决;图10c)和图10d)则可能是传感器故障或者是被判定为其他类型障碍物,为避免这种问题出现,可以在识别障碍物后,在串口监视器打印出检测到障碍物对应的标识并做进一步分析。

图10 避障模拟图形

4 结 语

基于麦克纳姆轮的全向移动结构的优良转向特性,本文设计了一种基于麦克纳姆轮和Arduino的避障小车。首先详细介绍麦克纳姆轮的工作原理;其次使用Arduino开发板设计避障小车系统,同时进行软硬件的设计;再进行避障算法分析,用蓝牙模块进行避障小车的无线控制;最后对避障小车进行测试,对避障失败的情形进行分析。至此,基于麦克纳姆轮和Arduino的避障小车的设计达到目标要求。

注:本文通讯作者为张楠楠。

猜你喜欢

B轮A轮麦克
1/2的魔法
小王子
华天软件完成B轮融资1.8亿元
生活很艰难,但你被爱着
JLSemi景略半导体完成数亿元B轮融资
May Mobility 获5000万美元B轮融资
满满“黑科技”——VISION TriMax 25KB轮组测试
梨视频获1.67亿元Pre—A轮融资
A轮你必须知道的
2017年西麦克展览公司展览计划