完成日期:2021-08-31
行李箱是人们旅途中的好帮手,最早的行李箱可追溯到20世纪20年代的木制手提箱,随着航空业的发展,轮式行李箱于1972年在美国问世[1]。直至1987年才出现了装上了轮子和拉杆的立式拉杆箱,解决了乘务人员到处跑的困难,逐渐普及到全球市场。
行李箱极大地方便了人们的出行,如今的行李箱不只是设计的更美观更人性化,万向轮的使用也让拖行更加方便。而在当今的移动互联时代,各种智能化设备一步步融入人们日常生活的各个领域,智能行李箱也不例外。定位防盗、自动跟随、智能称重、USB充电等功能通过智能硬件都可以集成在行李箱上,尤其是自动跟随功能,能让你解放双手、边走边玩,智能行李箱的问世是行李箱发展史上的一次重大突破。
故而本产品——多功能智能跟随行李箱的设计,符合党的十九届五中全会提出的“强化国家科技力量、提升企业科技创新水平,以创新驱动、高质量供给创造新需求,打造经济发展新动能”的时代要求,具有助力科技进步、方便人民生活的社会意义,在实现成本减少后,销量的增加也能带来可观的成本,创造商业价值。
国外智能跟随行李箱的发展相对较早,在2015年4月,以色列AI Robotics公司曾向公众发布了一款机器人旅行箱产品的概念模型,箱子内置摄像头和动力驱动装置,可以通过蓝牙与用户手机连接,具有自主跟随用户行走并与用户进行互动交流的功能,而且箱子可以自动检测内部物品的重量,让用户在旅途中快速了解行李是否超重,同时具有防盗报警器功能,超过预定的安全距离就会报警,除此之外还能通过内置充电系统为手机和其他电子设备充电。但AI Robotics公司众筹200万美元之后,至今尚未将产品交付给消费者,目前在做无人飞行器产品。
2016年,美国的Blue smart公司向公众推出了第一代智能旅行箱产品Blue smart One,相比以色列AI Robotics公司的机器人旅行箱概念模型,Blue smart One多出了使用手机app对箱子进行GPS定位追踪、手机操控上锁解锁、记录飞行距离和降落机场等更加丰富的功能。它的出现使得旅行箱进入到智能物联网时代,试图让行李箱成为人们旅途中的有力助手。在Blue smart之后,国内外多家科技型创业公司相继推出了类似的产品,其中甚至包括美国新秀丽、德国RIMOWA(日默瓦)等国际知名箱包大牌企业,但功能水平参差不齐,存在着稳定性不高、实用性欠佳、性价比不高等诸多问题。
国内行李箱的发展可以追溯到2016年,安徽的一家机器人初创公司酷哇机器人,在2016年4月展示了一款名叫“COWROBOTR1”的智能行李箱概念模型,并开始众筹。它能够实现自动跟随及自主避障,行李箱的外观和普通行李箱相差无几,最大的创新点是其驱动轮放置在了行李箱底部的中间位置且能够自动升降,应用了飞机起落架原理。在使用中,用户能够随时切换自动跟随与手动模式。与众多国外产品一样,COWROBOTR1有GPS定位系统、距离感应系统、可拆卸的便携式移动电源USB供电等功能。30天的总共筹得58345美金,2018年产品做出后售价一度高达万元,后来公司对功能减配来降低成本,最终公司对产品实际效果和市场并不满意,目前酷哇机器人公司已经停止对智能行李箱的研究,现专注于城市复杂场景下智能驾驶和智能网联技术的研发及应用。
继COWROBOTR1之后,国内曾出现过多家研发和销售智能跟随行李箱的企业,包括上海润米科技有限公司、北京灵动科技有限公司、常州爱尔威智能科技有限公司、深圳市爱途仕智能科技有限公司等。目前除了上海润米科技发布了90FUN自平衡智能跟随行李箱后没有继续研发新品的相关媒体报道外,其余三家公司仍在继续研发和销售智能跟随行李箱,其中做的最好的是灵动科技的OVIS智能跟随行李箱,有着较强的自主跟随稳定性和丰富的人性化功能。

国内四款行李箱,从左到右依次为:爱途仕、酷哇、爱尔威、灵动科技
智能行李箱产品发展至今,虽相对于初代产品有了很大的改进和优化,但在功能跟上、性价比上仍有很大缺陷,部分品牌行李箱还存在着控制效果不好的情况。如:酷哇智能跟随行李箱是采用激光雷达与摄像头的技术,扫描距离箱子最近的一个人,很容易跟错人;爱途仕使用蓝牙信号定位跟踪,但存在配对麻烦、动力不线性、容易跟丢、手动时只能纵向推动等严重影响用户使用体验。
智能行李箱的发展才刚刚开始,市场上的智能行李箱有稳定性不佳、性价比不高的缺点。本文设计的多功能智能跟随行李箱亦为一种自动跟随行李箱,而且有指纹解锁、USB充电、超距报警、智能称重等实用功能。
本项目通过分析市场上已存在的多功能智能跟随行李箱产品的稳定性、可靠性、功能的丰富性以及是否符合人性化的设计,针对行李箱的定位跟随系统进行了优化设计,保证了行李箱自动跟随的稳定可靠。在人性化设计方面,增加了指纹解锁、自动称重、超距离报警、USB双向快充四大功能,充分解决了用户的使用需求。
本项目的研究重点是自动跟随,行李箱自动跟随用户的实现是基于定位技术、动力驱动和定位跟随算法的,项目人员通过分析GPS、机器视觉、UWB等七种主要的定位技术和TOA、TOF、AOA等五种定位跟随方法,对比选择出适合室外定位且具有精准度高、稳定性高、抗干扰能力强的技术方法。并针对行李箱的自动跟随功能,建立了行李箱运动模型,以便自动跟随软件编程的实现。在动力驱动设计中,利用简化理想模型对动力电机的扭矩和转速进行了计算,以便行李箱的动力满足用户正常的行走速度。
在控制方案的选择中,基于较高的实时性和可靠性需求,选择多处理器分布式控制,同时便于控制系统的升级与维护。在其他功能的实现上,通过对相关参考文献的研读,分析了各功能实现的相关技术原理,然后进行硬、软件设计。硬件设计包括模块选型和电路设计,模块选型时,本设计基于小体积、小重量、低功耗、较高的抗干扰能力和防水能力、较高的集成能力等原则,选择出适合安装于行李箱中的模块器件。在电路设计中根据自身的知识储备以及相关硬件的用户手册、数据手册,设计出合理了的硬件方案。软件设计包括自动跟随系统软件设计、指纹解锁软件设计、智能称重软件设计三大部分,软件设计中基于硬件电路和控制器对各功能部分进行了设计。
最后,对系统各功能部分进行了测试分析,在功能模块单独测试无误条件下,综合各部分模块进行联调联试,分析多功能智能跟随行李箱的综合性能。
根据对市场上智能跟随行李箱的调查研究以及用户的反馈,本项目设计的主要内容包括对定位跟随、自动避障、指纹解锁、自动称重、超距离报警、USB双向快充的设计。其中定位跟随与自动避障功能需要达到精确定位和稳定跟随,是本项目主要的研究对象。以下对几种技术进行介绍:
(2)自动避障:利用超声波、激光雷达等测距传感器识别障碍物,进而做出躲避抉择,通过驱动箱体底部的动力电机,最终达到避障效果。
(3)指纹解锁:通过光电式或电容式指纹传感器进行指纹信息的采集和识别,以指纹解锁的方式提高行李箱的安全性能。
(4)自动称重:通过设计在行李箱侧面的称重传感器,自动测量行李箱及箱内物品的整体重量。
(5)超距离报警:以定位技术为前提,识别到行李箱与用户的距离超过预定的距离后,自动发出报警信号,可显著提高行李箱安全性能。其报警分为两个距离段:距离超过1.5m时,产生一小段报警声;距离超过2.5m时,不断产生报警声,直至距离恢复至1.5m内。
(6)USB双向快充:采用USB双向快充技术,通过便携式可拆卸电源,实现为行李箱供电的同时,还可为用户的智能设备应急供电。其中快充技术的实现能够极大的节省用户充电的等待时间。
定位技术总体上分为两类:视觉定位和非视觉定位。下面对主要的定位技术进行分析。
优点:可识别用户体态特征,运用灵活,不用携带信号源或遥控器
缺点:视觉控制系统和图像处理系统算法复杂,开发难度大;成本高
优点:技术成熟稳定,不受天气影响,卫星有效覆盖范围大
缺点:GPS信号受建筑物影响大,且定位精度低
优点:受环境干扰较小,功耗低
缺点:作用距离短,定位精度低,不便于整合到其他系统中
优点:精度比较高,成本低
缺点:容易受环境影响;传输过程中衰减明显
超宽带(UWB技术)是一种无线电技术,通过标签、基站之间相互发送电磁波进行通信,进而准确地测量无线电信号的飞行时间,从而实现厘米精度的距离、位置测量。
优点:实时性好、系统复杂度低、定位精度高、抗多能力强。
缺点:模块成本高。
对于以上定位技术,蓝牙、RFID、UWB超宽带实现定位的方法属于信标定位和三角测量法,需要在环境内铺设信标或者信号基站,其中UWB超宽带定位成本较高。GPS卫星导航定位只能用于室外无遮挡环境,且民用GPS定位精度低,误差超过1m,而红外线定位技术则只能应用于可大面积布置信号发射源的室内。
蓝牙AOA发展较晚,虽然得到了业界的积极响应和支持,但目前市场上公开的蓝牙5.1定位测向技术极少,而且蓝牙信号的多径反射问题也在一定程度上影响了行李箱定位的精度。UWB在国内发展有十多年了,其应用广,市场较大,定位精度高,运行稳定。
综合考虑后,本设计采用UWB定位技术实现行李箱的自动跟随与超距离报警功能。
根据功能需求和技术原理,行李箱控制系统由控制器、电源模块、定位模块、动力驱动模块、避障模块、指纹解锁模块、智能称重模块、超距离报警模块、USB快充模块九大部分构成。电源对七大功能模块和控制器进行供电,控制器之间以及模块于控制器之间通过总线传输数据。
多功能智能跟随行李箱硬件部分包括控制器、电源、定位、动力驱动、避障、指纹解锁、自动称重、超距离报警、USB双向快充等多个部分。其中定位、动力驱动、避障三大模块构成智能跟随系统,指纹解锁、自动称重、超距离报警、USB双向快充等构成了多功能行李箱系统。项目本环节对各功能系统进行硬件设计。
2.1.1控制方案的选择
多功能智能跟随行李箱最核心的功能是自动跟随,而实现自动跟随的前提是定位技术。定位技术对系统的实时性要求非常高,因此,本设计基于较高的实时性和可靠性需求,选择多处理器分布式控制,将定位信号数据处理部分与传感器的环境感知及其他功能的数据处理分离进行,多处理器之间通过总线技术进行通讯。另外,分布式的硬件控制系统,可以非常方便的升级与维护。
2.1.2主副控制器的选择
综合考虑系统综合性能要求和成本要求,主控制器MCU使用AVR -ATmega
2560芯片;副控制器MCU采用ARMSTM32F407ZET6芯片。
2.1.3控制系统电路设计
(1)主控制器最小系统电路主要包括供电电路、复位电路、时钟电路以及串口调试接口电路。
(2)复位电路采用RC电路,可以对该芯片上电复位,同时按钮S1可以手动复位;时钟电路采用16MHz的晶体震荡器。
(3)为了方便调试,副控制器最小系统设计中增加了一个JTAG/SWD调试接口其他部分的设计与设计与主控制器相似。
自动跟随行李箱为独立行走系统,因此控制器、电机、传感器等器件都需要行李箱自身携带的电源供电。本设计采用了18650锂电池组与USB双向快充模块组成系统总电源,总电源需使用支持PD快充的充电器为电池组充电,同时可通过USB-C接口向控制系统供电,还可通过USB-A或USB-C接口作为移动电源使用。
2.1.1系统电源需求分析
本系统中电源模块的功能是设计不同的降压稳压电路,为系统各个模块稳定供电。多功能智能跟随行李箱控制系统所需的电源包括:12V的电机动力驱动模块和超距离报警模块;5V的智能称重模块、避障模块、主控制器、舵机;3.3V的指纹传感器模块、副控制器、定位模块。其中动力驱动模块的额定功率是9.6W,其他模块均为超低功耗。其中12V的电机电机驱动模块和超距离报警模块由系统总电源直接供电,5V和3.3V相关模块由降压稳压电路供电。系统总电源可供最高18W的负载使用,而负载中动力驱动模块额定功率为9.6W,其他模块均为低功耗器件,电源功率上满足要求。
2.1.2降压稳压电路设计
本设计基于AMS1117降压稳压芯片设计加稳压电路,AMS1117具有更大的输出电流,可供系统中多个模块使用。AMS1117有多种型号规格,包括可变输出和固定输出两大类型,其中固定输出类的芯片可输出1.2V,1.5V,1.8V,2.5V,2.85V,3.0V,3.3V,和5.0V等多种电压,其内部集成有过热保护和限流保护电路,具有1%的精度。本设计采用AMS1117-3.3和AMS1117-5两种固定输出降压稳压芯片。
定位模块对行李箱自动跟随功能十分重要,硬件设计的优良决定了测距和定位的准确性,硬件框架图如下:

动力驱动模块需要先对动力驱动方式进行选择,接着对驱动电机选型,并设计驱动控制电路。硬件框架图如下:

2.4.1动力轮的设计
2.4.2动力驱动需求分析
行李箱的驱动力来自驱动电机的扭矩,驱动电机将驱动轮与路面的附着力转化为地面对车辆的牵引力,行李箱运动时,驱动电机将驱动转矩Mk传到驱动轮上,产生路面作用于驱动轮边缘上向前的牵引力Ft,牵引力Ft通过行李箱底盘传到行李箱整个箱体,用来克服作用于汽车上空气阻力、地面摩擦阻力和坡道阻力。
根据滑动摩擦力Ff和轮胎半径r计算行李箱匀速行驶时电机所需扭矩;将扭矩分配到单个驱动轮,计算单个电机扭矩;根据最大速度和驱动轮半径r计算电机额定转速n;根据电机扭矩和电机转速,选用合适的驱动电机。
2.4.3驱动电机选型
考虑到自动跟随行李箱对调速性能要求比较高,并且电机需要提供较大的转矩,因此选用直流电机作为驱动电机。本设计采用的是自带霍尔编码器的永磁直流有刷电机。
2.4.4动力驱动电路设计
驱动电机的控制一般需要搭配驱动电路,通过对驱动电路输入PWM波形实现对占空比的控制,最终实现对电机转速的控制以及正反转的控制。本设计采用TB6612FNG电机驱动模块,此模块相对于传统的L298N,体积大幅度减少,发热量更少,因此效率更高。
2.5.1行李箱避障方案设计
行李箱在未知环境下实现自动跟随需要进行避障,避障需要传感器获取周围环境信息,包括碍物的尺寸、形状和位置等信息。行李箱的避障只需要在行李箱周围大约2.5m的区域识障碍物即可,因此避障系统相对简单。超声波传感器具有性价比高、硬件实施简单的优点,检测范围也可达到2.5m,方向性较好,尤其是能检测到玻璃、镜面等特殊物体。
本设计采用深圳信德电子生产的JSN-SR04T-V3.0超声波模块,给模块可提供21cm-600cm的非接触式距离感测功能,测量精度可达高到3mm,模块采用工业级一体化超声波探头设计,防水效果好,性能稳定,探测盲区小,体积小,使用便捷非常适合作装配到自动跟随行李箱使用。
2.5.2避障模块电路设计
一体化超声波探头通过JSN-SR04T驱动模块采集环境信息,JSN-SR04T驱动模块采用IO口TRIG触发测距,首先IO口输出10us的高电平信号,触发模块自动发送8个40khz的方波,检测到信号返回后,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。超声波探测的时序图如下:
模块与MCU之间通过串口通讯,模块RX、TX分别需要接到MCU的TX、RX。当模块被触发测距后,若因超过测量范围接收不到回波,ECHO口会在60ms后自动变为低电平,标志着此次测量结束。
本设计应用指纹解锁技术主要考虑其安全性和快捷性,提高人们出行效率。指纹解锁技术是根据手指指纹“人各不同,终生不变”的特点,利用指纹传感器检测人体指纹特征,再将这些特征信号转换成数字信号输入到控制器,通过控制器对比指纹特征并控制执行器的动作执行,达到指纹解锁的目的。

2.6.1指纹传感器硬件选型
(1)目前的指纹传感器主要分为光学指纹传感器、电容式指纹传感器、超声波指纹传感器。综合考虑到行李箱的使用环境、需要较快的识别速度和较高的识别率以及较小的空间占有率,最终选择电容式指纹传感器。
(2)本设计采用MR608半导体电容式指纹模块,具有很高的性价比。MR608是集成了半导体传感器和指纹算法芯片为一体化指纹处理模块,具有体积小、功耗低、接口简单等特点,模块可靠性高、干湿手指适应性好,指纹搜索速度快。指纹图像读取时,对干湿手指都有灵敏的反应和判断。且具备自学习功能,内部算法能对比并补充每次使用是的指纹特点,在使用过程中越用越好用。MR608模块还具备感应手指功能,当手指按压到指纹采集面时,模块Touch脚输出高电平。另外,该模块具有可调节的等级功能、指纹特征数据的读/写功能。
2.6.2指纹解锁电路设计
MR608模块提供板载串口,MCU通过串口与MR608进行通讯和控制。上位机是MCU时,MCU可提供3.3V电压,模块可直接通过UART-TD和UART-RD与MUC连接,进行数据通讯。考虑到整体电路的功耗,指纹模块只有工作状态和不工作两种状态,由于电容式指纹模块采用低功耗模式,触摸感应信号在VDD(指纹电源)接通后无效。本设计采用的接法为接上VADD(触摸感应电源),触摸感应输出端接MOS管来控制VDD(指纹电源)。无指纹按压时VDD自动断电,达到省电目的。
行李箱的重量一般不超过30kg,所需的称重传感器属于小量程的压力传感器。市面上的称重传感器种类繁多,但小型传感器一般只有应变片式压力传感器(工业级除外)。
自动称重模块在行李箱中的安装位置设计如下图所示:

如图,四个称重传感器安装于行李箱后侧面四个角的位置,当行李箱平方在地上放入物品的时候,将会自动显示出行李箱实时重量信息。
2.7.1应变片压力传感器原理
金属导体电阻值随机械形变而改变的现象称为“应变效应”,利用金属电阻应变效应可制成应变片,进而制成电阻式压力传感器,在连接上形成桥式电路后,通过应变片的阻值变化,即可测量物体所受压力的压力值。其中,应变片阻值的变化,通过桥式电路可成倍提高其灵敏度,并使输入和输出呈线性关系,并获得相应的毫伏级电势输出,用毫伏计或其他记录仪表显示出被测压力,从而组成应变片式压力传感器。
2.7.2称重传感器于AD转换模块选型
2.7.4自动称重硬件电路设计
首先,对四只半桥应变压力传感器进行设计,组成一个全桥电路。半桥应变压力传感器内部结构如下。图中R1为正应变电阻,R2为负应变电阻,将4个相同的传感器连接可得到全桥应变电路。

全桥应变电路连接过程如图所示:
2.8超距离报警模式超距离报警技术是基于定位技术实现的,定位系统检测到行李箱距离用户超过0.8m时,产生一小段报警声,当距离超过2m时,不断产生报警声,直至距离恢复至0.5m以内。报警信号可由喇叭、蜂鸣器等器件产生,本设计采用蜂鸣器报警。
2.8.1蜂鸣器选型

2.8.2报警模块电路设计
蜂鸣器需要驱动电路才能正常工作,电路设计如下。

首先,控制MCU输出PWM波形到驱动电路,可驱动蜂鸣器发声;二极管D1可以提供续流;电容C1的主要作用是滤波;三极管起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;,而基极低电平则使三极管关闭,蜂鸣器停止发声。
USB_IF协会推出的USBPD协议支持100W最大功率,并统一使用Type-C接口,提高了易用性,快充技术是解决续航问题的关键技术之一。本设计采用快充技术来实现行李箱电源的快速充电,同时行李箱电源设计为双向快充,即可以作为用户的应急充电宝,给用户的智能设备进行快充,快充技术在目前已经比较成熟,本系统直接使用市场上现有的快充模块,不进行电路设计。
2.9.1蓄电池的选型
(1)锂离子电池具有容量大、能量高、体积小、很低的自放电率、几乎没有“记忆效应”以及不含有毒物质等优点,18650锂电池和软包装锂聚合物电池是最长用的两种锂电池,18650锂电池体积固定(直径18mm、高为65mm、圆柱体电池,并采用钢外壳封装),而软包装锂聚合物电池体积、形状一般可以随意定制。
8650成本相对较低,寿命相对较长,性价比高。因此选用18650电池拼装为电池组,为行李箱控制系统及驱动部分进行供电。

2.9.2 USB快充模块的选型
本设计采用了集成了IP5328P芯片的USB双向快充电路模块,IP5328P可同时支持多个USB口,并且均支持多种快充协议(QC2.0/QC3.0、FCP/AFC输入输出快充协议、SFCP输出快充协议、MTKPE+1.1&2.0输出快充协议、USBC/PD2.0/PD3.0输入输出协议、USBCPD3.0PPS输出协议),集成双向PD功能,且支持多种电压电池,涵盖市面上所有锂电池,充电电流5A,支持18W输出,可同时支持USBA,USBB,USBC三个USB口,单独使用任何一个USB口都可以支持快充,同时使用两个输出口时,只支持5V。同时内置电量计功能,内置功率管,外围元件数量少。
控制系统通过各个传感器模块获取环境信息,通过控制器进行控制决策。本章将介绍多功能智能跟随行李箱软件系统的功能程序设计,为了开发的代码结构简单、可移植性强,在设计中仍采用模块化的方式进行,系统的软件开发平台为ArduinoIDE和Keil5。
在多功能智能跟随行李箱系统中,首先根据用户佩戴的标签设备进行定位信息的采集。若用户距离行李箱位置较近,则启动静止模式,静止模式下,指纹解锁和自动称重两个模块处于工作状态,若用户距离行李箱较远,在启动运动模式,运动模式下,根据超声波传感器获取的环境信息选择正常跟随模式和避障跟随模式,正常跟随模式下,只进行定位信息采集,用于控制量驱动轮的转速,达到行李箱跟随用户效果,避障跟随模式下,需要同时采集环境中障碍物的信息以及定位信息,达到避障跟随效果。软件框架结构如下图所示。

3.2.1UWB定位模块软件设计
UWB定位模块软件设计主要包括,行李箱上固定的UWB基站模块和用户所携带的标签模块两部分。根据UWB模块的用户手册,设计基站模块和标签模块的程序流程图如下。
UWB基站流程图中的距离值是指基站到标签的距离值,也即用户与行李箱之间的距离值,此距离值是根据信号飞行时间(TOF)计算的。利用TOF+AOA定位方法即可实现UWB定位。

3.2.2避障模块软件设计
行李箱避障方式采用超声波避障,两个超声波传感器探头安装于行李箱前面两侧位置,实时监测行李箱前方的障碍物信息,避障模块程序流程图如下。

根据程序流程图,避障模块首先检测障碍物信息进行跟随模式选择,在避障跟随模式下,根据行李箱与障碍物之间的距离调整转弯半径,控制两驱动轮进行差速运动,进而使行李箱转弯,达到躲避障碍的效果。
3.2.3自动跟随软件设计
3.2.4超距离报警模块软件设计
超距离报警分两个距离段,分别是1.5m~2.5m和2.5m以上。超距离报警程序流程图如图

根据程序流程图,行李箱与用户之间的距离信号由UWB定位模块提供,当行李箱距离用户超过1.5m时,产生报警信号2;当距离超过2.5m时,报警信号1,直至距离恢复至1.5m以内。一级报警信号的强度大于二级报警信号。
(3)如果指纹传感器接触到指纹输入,则立即通过“指纹解锁函数1”子程序控制舵机开锁,进而打开行李箱,之后程序返回到上述五部分的循环。
如果检测到“K1”按键被按下,程序调用“显示菜单(MENU)”子程序,OLED显示菜单页面,菜单页面包括“指纹解锁*菜单”、“K1-录入指纹”、“K3-删除指纹”、“K5-指纹解锁”四部分,接着调用“按键扫描”子程序。
如果按键扫描子程序检测到“K1”被按下,则通过流程图中的四个部分完成录入指纹操作;如果检测到“K3”被按下,则完成删除指纹操作;如果检测到“K5”被按下进行指纹解锁。同时,每个操作都有对应的多个内容在OLED上显示。


根据前文硬件、软件部分的设计,首先搭建底盘模型和各部分硬件电路、编写各模块程序,然后对各部分模块进行功能测试,最后综合各部分模块进行联调联试,分析多功能智能跟随行李箱的综合性能。
多功能智能跟随行李箱控制系统实验平台平台按照20寸行李箱的长和宽搭建,高度进行了缩减。其中,超声波传感器安装于平台正面两侧,称重传感器安装于平台后侧面四个角,UWB模块安装于平台顶面两侧位置,控制系统电路和USB双向快充模块均位于平台箱体内部,指纹传感器模块、OLED和按键安装于平台顶面以便操作。

图中,下层电路为电源模块电路,中层为MCU,上层从左到右依次为超声波模块电路、指纹解锁模块电路、智能称重模块电路。
4.2.1指纹解锁模块测试
指纹模块前期调试需要用到PC上位机,将指纹模块通过USB转串口模块与计算机相连。通过计算机可以设置模块的安全等级、数据包大小、波特率等,还可查看模块参数,最主要的是进行模块调试。
模块调试顺序是:
(1)用上位机与指纹模块通讯,在上位机上设置波特率,通过上位机检测模块识别和对比指纹图像功能是否正常;
(2)连接模块硬件电路,包括指纹传感器模块、MCU、OLED、按键,测量电路中是否由短路、短路、接触不良等问题;
(3)编译、下载程序,检查OLED显示、按键、指纹录入、指纹删除、指纹解锁功能是否正常。
测试前期发现计算机串口经常出现无法检查到设备的情况,PC上位机或MCU与指纹模块之间无法进行通讯。PC上位机与模块之间出现通讯异常的情况较少,MCU与模块之间经常通讯失败。经过研究和查阅资料发现,PC与模块通讯时需要断开计算机其他串口设备才能通讯成功;MCU与模块通讯时,需要上电后等待一段时间(10s左右),模块才能启动完成,如果过早运行程序,将会导致通讯失败,此时应将模块复位,稍等片刻重新运行程序即可通讯成功。程序运行正常,调试中优化了OLED显示界面。
4.2.2智能称重模块测试
智能称重模块调试顺序是:
(1)将四个半桥应变传感器连接成一个全桥应变电路,对传感器施加外力,用万用表检测全桥电路的正负应变电阻的变化是否正常,排除线路问题;
(2)连接模块硬件电路,包括全桥应变电路、LCD1602液晶屏、HX711AD转换模块,测量电路中是否由短路、短路、接触不良等问题;
(3)编译、下载程序,检查LCD显示的重量信息是否正常,是否能够自动去除皮重和自动校准。
测试中发现有轻微的零点漂移现象,由于全桥电路具有温度补偿功能,因此分析是外部电路电压不稳定导致的示数跳动,替换稳压电源、将杜邦线改为铜导线直接连接后,零点漂移现象有所改善,在程序中将重量由克改为千克,保留一位小数时,OLED显示的重量值基本稳定,不会跳动。另外,在硬件中增加了OLED对比度调节电位器,让OLED显示更适应环境。
某一正常测试结果:

本项目在市场上的一些多功能智能行李箱的基础上,对各方面进行了改进和功能扩充。
首先,通过对互联网上现有产品进行分析,大量搜索相关产品的论坛讨论情况和口碑情况,了解人们的需求和现有产品的优缺点,最终确定多功能智能跟随行李箱所要实现的功能。
其次,通过查阅大量的文献资料,对设计中的所需要的各种功能进行理论分析,尤其是对定位技术进行分析讨论,决定出最合适的定位模式。
然后,基于设计中涉及到的相关技术,结合自身所学知识,进行补充性学习。深入学习了Arduino与Stm32的编程与运行调试,结合互联网中的大量学习资料、例程,掌握了相关模块的软件编程技巧和调试技巧。
[6]赵云霞,易育智,魏新,王靖.一种具有音响、防丢报警、称重功能的智能行李箱[P].广东:CN205696222U,2016-11-23
[7]彭秋洁,刘凯磊,康绍鹏,向承金,刘佳帅,况明鑫,王海斌.基于Arduino的多功能自动跟随行李箱设计[J].物联网技术,2020,10(08):63-65+70.
[8]王铖,刘中姐,袁新枚,史书恒,李柏毅.智能车辆自动跟随控制的目标跟踪算法研究[J].汽车技术,2020(07):1-6.
[9]赵艳妮,马顺,张书源,刘大伟,金城凯.基于视觉传感器的自动跟随行李箱设计[J].智能城市,2017,3(08):23-24.
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数
只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,:
因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实