基于Arduino设计的一种稳速上下坡的自动跟随避障行李箱

2021-07-05 07:05孙铭泽李胜琴康家豪
中国新技术新产品 2021年7期
关键词:下坡行李箱超声波

孙铭泽 李胜琴 康家豪 王 杰

(东北林业大学交通学院,黑龙江 哈尔滨 150040)

0 引言

随着交通发展,人们的出行频率变得更加频繁,行李箱的使用需求量也随之增加,人们对于行李箱的使用性能有了更高层次的要求,在智能控制技术的支撑下,行李箱的功能不断更新,出现了形式多样的智能行李箱。智能行李箱利用UWB定位模块实时检测行李箱的位置[1]、利用STM32单片机做控制单元且拥有蓝牙通信[2]和GPS高精度定位系统,它还利用NB-IoT[3]通信模块为用户提供全透明的数据传输模式,用户能够依托微信小程序平台实时了解行李箱内部的环境参数并通过手机客户端页面上的相关操作对行李箱进行控制;除此之外,还通过结合PID、PWM算法控制行李箱驱动轮的转动方向和速度等方式实现行李箱的智能跟随及避障功能,但是智能行李箱都不具有稳速上下坡的功能,这容易导致行李箱在上下坡时因速度突变而发生倾倒,不能准确地跟随避障,该文所述的基于Arduino设计的一种能够稳速上下坡的自动避障跟随行李箱能够利用超声波模块、转速传感器和控制模块检形成闭环控制系统,检测箱体运动状态的变化并控制驱动电机的转速,使行李箱运行更加平稳,跟随避障功能更加精准。

1 总体设计

1.1 结构组成

该文设计的能够稳速上下坡的自动避障行李箱由箱体[4]、电源模块、超声波模块、控制模块和驱动模块组成,总体结构图如图1所示。电源模块安装在箱体内部,且与驱动电机相连,可以给箱体内各个模块以及部件供电;超声波模块包括超声波发生器和超声波接收器,超声波接受器安装在箱体外的侧壁上,超声波发送器持于行人手中[5];控制模块包括主控板和转速传感器,转速传感器与驱动电机相连,可以检测驱动电机的转速[6],主控板利用差速驱动原理来控制驱动电机的转速,从而带动驱动轮移动和转向;驱动模块包括驱动轮、驱动板和驱动电机,驱动轮安装在箱体外底部,且与驱动电机相连,可以驱动箱体移动,驱动电机与驱动板的输出端相连,可以为行李箱移动提供动力。

图1 稳速上下坡自动避障行李箱的结构示意图

1.2 功能设计

该文采用双超声波传感器实现自动跟随及避障功能,由于单一超声波传感器存在跟踪准确度不高、灵活性不好、跟踪距离短以及跟踪效果差等问题,因此该文选用双超声波跟随模块有效地避免了上述问题,实现了智能行李箱的自动避障跟随功能,该文选用的超声波模块参数见表1。超声波发送模块通电后,超声波发送模块上的 LED 灯会有频率的闪烁,这就证明发送超声波模块已经在正常工作了。当超声波发送模块通上电之后,就会与超声波接收模块对准,超声波接收模块的 LED灯也会有频率的闪烁。证明此时超声波接收模块已经可以与超声波发送模块进行通信,并接收超声波发送模块发射的超声波,超声波接收模块上接收到的数据就是超声波发送模块与超声波接收模块之间的距离数据。假设超声波发送模块与左右接收模块之间的距离分别为L1和L2。行李箱在行驶时不断判断L1和L2值的大小,并设定1个“距离死区”,其目的在于当2个距离值在一个小的可接受值范围时,行李箱可以停止行驶,在一定程度上避免行李箱出现抖动,并根据计算出的左、右两侧传感器的距离差△L来控制电机的转动。

表1 超声波收发模块

2 应用

2.1 自动避障跟随功能

2.1.1 设计原理

为了实现自动跟随及避障功能,在行李箱左前侧和右前侧的位置分别放置1个超声波接收模块,并设计一款超声波发送装置,跟随过程中超声波收发模块的实物如图2所示,通信过程如图3所示。发送装置为跟踪目标,行李箱上2个超声波接收模块接收来自超声波发送模块发射的超声波,从而判断跟随距离;再通过串口将超声波发送与接收模块之间的距离发给 Arduino[7]单片机主控板,单片机就可以根据与目标的距离来判断智能行李箱的姿态,并通过驱动直流电机达到自动跟踪的目的。

图2 超声波收发模块

图3 超声波收发模块通信过程

2.1.2 运行过程

在行李箱运行的整个过程中,利用遥控装置切换自动跟随以及避障行走模式,通过超声波接收器和发射器的相互配合以及差速驱动来控制驱动电机的转速,根据2个驱动轮转速的快慢调整行李箱的运动方向。当单片机检测红外接收装置接收的遥控器发送的指令时,会做出自动跟随或避障行走模式的判断,如果指令为“避障行走”那么遥控器会控制行李箱的运动;当遥控器的指令为“前进”,那么左、右两侧电机都向前转动;当遥控器的指令为“后退”,那么左、右两侧电机都向后转动;当遥控器的指令为“左转”,那么左侧电机向前转动,右侧电机向后转动;当遥控器的指令为“右转”,那么左侧电机向后转动,右侧电机向前转动。

如果指令为“自动跟随”,那么单片机检测2个超声波接收模块回传数据的帧头,当出现距离数据的帧头时,读取高八位数据存储字节和低八位数据存储字节,并按照串口通信协议解析2个接收模块的距离值,判断2个接收模块的距离值是否在4 cm~400 cm,如果在该数据之外都为无效数据,那么左、右两侧电机都停止转动;如果距离值不在4 cm~400 cm,那么该数据为有效数据。

距离值L1、L2都为有效值时,计算左、右两侧传感器的距离差△L,并判断△L是否在“距离死区”,当△L在“距离死区”时,行李箱停止前进;当△L不在“距离死区”时, 判断△L的值,如果△L>0,那么控制左侧电机后退,右侧电机前进,最终行李箱向右转,如果△L<0,那么控制左侧电机前进,右侧电机后退,最终行李箱向左转。

2.2 稳速功能

为了实现稳速功能,要根据行李箱配重、路面坡度以及附着系数计算行李箱的最佳运行速度,在程序中提前为电机设置好转速变化区间,驱动电机开始工作后,转速传感器开始对驱动电机的转速进行检测,并将检测到的转速信息反馈给主控板;当行李箱在平坦路面上行驶时,驱动电机按照预先设定好的转速进行运转,当行李箱处于下坡状态时,行李箱会在重力的作用下加速运动,此时转速传感器检测到加速信号,主控板根据转速传感器反馈的信号对驱动电机的转速做出减速调整;当行李箱上坡时,行李箱由于克服重力作用,驱动电机转速变慢,主控板发出指令,使驱动电机转速加快,整个行李箱始终以设定好的初始移动速度前进,进而达到行李箱稳速上下坡的目的。

2.3 系统设计

根据行李箱所能够实现的自动跟随、避障以及稳速上下坡的功能,采用Arduino 单片机作为主控板,利用C语言编写程序,并利用PID[8]进行控制,程序流程图如图4、图5所示。

图4 稳速控制程序流程图

图5 自动跟随避障原理程序流程图

行李箱稳速行驶功能的流程如下:转速传感器实时监测驱动电机的转速,检测驱动电机的转速是否发生变化,当行李箱上下坡时转速会发生变化,此时单片机控制驱动电机的转速做出加快或减慢的调整,保证行李箱的稳速运行。

自动跟随避障功能的原理程序流程如下:通过遥控装置切换自动跟随以及避障行走模式,如果是避障行走模式,那么通过遥控装置的“前进”、“后退”、“左转”以及“右转”命令控制行李箱的运动;如果是自动跟随模式,那么需要超声波收发模块的配合作用,先判断判2个接收模块的距离值是否在4 cm~400 cm,如果是,就继续运行,并判断不在距离死区的情况下左、右两侧传感器的距离差△L是否大于0,根据差速转向原理,当△L>0时,行李箱右转,当△L<0时,行李箱左转。

3 结论

基于Arduino设计的一种稳速上下坡的自动跟随避障行李箱以Arduino 单片机主控板为控制核心,通过双超声波跟随模块来实现智能行李箱的自动避障跟随功能,双超声波模块的使用能够让行李箱的避障跟随路线更加精准合理,且操作操作较简单,技术容易掌握,可行性高。除此之外,结合转速传感器检测驱动电机的转速,并有控制中心控制电机转速,使行李箱平稳运行,有效避免行李箱在上下坡时因突然加速或减速而造成箱体倾倒,进一步扩展了行李箱的功能,满足人们的出行需求,提升人们的出行质量。

猜你喜欢
下坡行李箱超声波
拿错行李箱
画与理
高速公路长下坡交通安全预警系统设计
基于Niosll高精度超声波流量计的研究
Driver escapes through car boot
高速公路长下坡预警系统的设计与应用
一个雪球滚下坡
蝙蝠的超声波
超声波流量计的研究
超声波流量计在兰干渠上的应用