文档详情

基于Arduino的双模式智能避障小车系统设计与实现

I***
实名认证
店铺
DOCX
46.80KB
约11页
文档ID:218316477
基于Arduino的双模式智能避障小车系统设计与实现_第1页
1/11

基于Arduino的双模式智能避障小车系统设计与实现 赵云娥 吴振强摘 要: 针对目前智能避障小车存在障碍物距离测量精度不高,存在探测盲区的问题,介绍了一种基于Arduino的智能避障系统常见的超声波避障模块探测距离远不易受到干扰,但是反应时间长红外测距探测距离近,测量速度快,精度高,但是受环境影响较大利用Arduino作为主控系统,采用超声波测距、红外测距等多传感器信息融合的采集系统,优势互补,并通过对数据的算法优化,提升小车对环境的感测精度,有效提高了小车的避障成功率基于Android开源平台的蓝牙串口通信APK,智能小车既可以自动避障,也可以接受人的帮助,进行人工避障,实现了手动和自动双操作模式,丰富了用户体验实验证明,该系统运行稳定,对障碍物的探测更加精确,可有效实现全方位避障关键词: Arduino; 智能避障; 测距传感器; Android: TN02?34; TP368 : A : 1004?373X(2017)21?0094?04Design and implementation of Arduino?based two?mode intelligentobstacle avoidance system for carZHAO Yune1, 2, WU Zhenqiang2(1. School of Computer Science, Shaanxi Normal University, Xian 710119, China; 2. Qinghai College of Architectural Technology, Xining 810012, China)Abstract: Since the available intelligent obstacle avoidance system for car has low range measurement accuracy for obstacle and exists the detection blind area, an intelligent obstacle avoidance system based on Arduino is introduced. The commonly?used ultrasonic obstacle avoidance module has far detection distance and is hard to be disturbed, but has long reaction time. The infrared range?finding module has short detection distance, fast measuring speed and high measuring precision, but is affected by the environment greatly. The Arduino is taken as the main control system of the obstacle avoidance system. The acquisition system including ultrasonic rang?finding module, infrared rang?finding module and multi sensors is used to realize the information fusion and advantage complemention. The data is opitimized with the algorithm to improve the environment sensing accuracy and obstacle avoidance success rate of the car effectively. By using the Bluetooth serial communication APK based on the open source platform Android, the smart car can realize the automatic obstacle avoidance, and accept the help of human for artificial obstacle avoidance, which can implement the manual and automatic dual?operation mode and enrich the users′ experience. The experimental results show that the system is running stably, can detect the obstacles accurately, and realize the omnibearing obstacle avoidance effectively.Keywords: Arduino; intelligent obstacle avoidance; range?finding sensor; Android0 引 言智能小车属于多轮驱动机器人的一种,它具有体积小、重心低、运动灵活、操控简单等优点,广泛应用在交通运输、军事、工业制造、生活服务以及空间探测等领域。

自动避障技术一直被认为是研究智能小车的一个核心内容智能小车自动避障综合应用了多传感器信息融合技术、蓝牙或红外数据传输等无线通信技术、机械技术、电子技术等多种尖端技術,自动避障技术集中体现了其自动化、智能化程度的高低但是,目前智能避障小车存在障碍物距离测量精度不高,存在探测盲区的问题Arduino是近年流行的一个基于开放原始代码的 Simple I/O 平台,支持多种传感器扩展板,操作简单,功能多样,广泛应用于电子系统设计和互动产品开发方面本文介绍了一种基于Arduino的智能避障系统,利用Arduino作为主控制板,采用超声波测距、红外测距等多传感器信息融合的采集系统,并通过对数据的算法优化,有效提高了小车的避障成功率利用Android开源平台的蓝牙串口通信APK,用户也可实现小车人工避障,手动和自动两种操作模式让用户充分享受到操控智能小车的乐趣endprint1 系统设计1.1 系统结构设计系统总体结构[1]如图1所示该系统以双直流电机驱动双定向轮+单向轮小车底盘为基础框架,外加信息采集模块(含超声波测距模块HC?SR04和红外测距模块GP2Y0A21K0FK0F)、电机驱动模块(L298N)、电源模块(12 V直流电源)、蓝牙模块(BT?HC05)、上位机模块(Android)等。

为了实现准确避障和节约成本,信息采集模块的分布如图2所示车头前方分别安装HC?SR04(两圆圈表示,与实物形状相似)和GP2Y0A21K0FK0F(矩形表示)各一个,车体左右两边各安装一个GP2Y0A21K0FK0F此传感器的配置方案主要基于两方面考虑:一方面车体关键信息采集点分布在节约资源的同时满足信息采集的全面性;另一方面,车头是信息采集的主要部位,要尽量扩大采集信息范围,而且必须具备测距精度高,时效快的特点HC?SR04探测距离远不易受到干扰,但是反应时间长,存在测量盲区红外测距探测距离近,测量速度快,精度高,但是受环境影响较大此设计中车头正前方的两种不同的传感器优势互补,有效地提升了小车对环境的感测精度L298N电机驱动板内置4通道逻辑驱动电路,工作电压为6~12V,能够驱动2个直流电机或者2个二相电机,输出电压可调,可直接接收Arduino主控板I/O接口提供的电平信号电源模块采用12 V直流电源给L298N供电( 或者8节 1.5 V 干电池),L298N内置的78M05可通过驱动电源部分取电,输出的5 V电压作为Arduino主控板和其他各模块的电源,其中Arduino板输出的3.3 V 电压可供超声波测距模块使用。

电源模块在设计中除了考虑系统各模块电压和电流等参数来确保系统工作稳定性,也最大程度地实现了各模块电源转换效率、降低噪声、防止干扰等方面的优化蓝牙模块BT?HC05默认为从机,采用串口透传模式与Android平台进行数据通信系统各硬件模块性能稳定,操作简单,具有良好的通信耦合性,符合智能小车的性能要求1.2 系统工作原理Android端操控智能小车,提供了手动模式和自动模式两种模式[2]用户首先需要在Android 2.2以上版本中安装蓝牙串口通信助手即可对小车进行操控当蓝牙串口通信助手APK运行显示和蓝牙模块BT?HC05连接成功后,用户开始发送指令来选择系统的工作模式进入自动模式后,信息采集模块开始工作当检测到障碍物距离小车大于安全距离(如10 cm,可依据小车速度在算法中动态调整)时,小车保持运动状态;当障碍物和小车距离小于安全距离,则根据各信息采集模块的返回值,Arduino通过算法判断障碍物类型,选择对应的避障策略[3?4],做出对应的避障行为如分别探测到左面和前面障碍物距离小车小于安全距离,则采取小车右转的避障动作,实现顺利避障;当收到手动控制指令,小车进入手动控制模式,用户可按自己的喜好发送命令控制小车前进、后退等各种动作,并帮助小车避障。

整个系统运行过程中,信息采集模块实时测量小车与障碍物的距离,智能小车可以进行自主避障,也可以接受用户控制指令,在用户的帮助下脱离避障困境,两种操作模式增加了互动乐趣2 系统软件平台设计系统软件平台主要分为上位机、信息传输协议、Arduino控制器三个层次Android具有开放性和硬件支持丰富的特点,Android SDK 2.0以上版本均支持蓝牙开发,采用其提供的蓝牙API接口和相应功能的类开发出蓝牙串口通信软件,实现蓝牙的开启、搜索、连接等功能信息传输协议主要是和BT?HC05的蓝牙串口通信协议,系统采用软件方式设定蓝牙模块的工作模式和工作参数,实现和上位机的通信Arduino控制器软件模块实现了小车实时接收控制命令,对超声波传感器模块、红外传感器模块收集的数据信息进行优化,对智能小车避障策略进行选择,并通过软件调节驱动直流电机的PWM信号的大小,控制左右轮转速,实现小车的各种避障动作系统流程图[2,5]如图3所示此智能小车系统信息采集模块采用超声波和红外两种不同的技术手段实现了测距GP2Y0A21K0FK0F 红外传感器测距基于三角测量原理首先红外发射器以一定的角度发射红外光束,当遇到被测物,光束会被反射回来。

反射回来的红外光束在被CCD检测器迅速检测到以后,得到一个偏移值,在已知发射角、偏移值、中心矩和滤镜焦距的情况下,传感器到被测物的距离就能利用三角形几何原理计算出来测距过程中,首先采用曲线拟合方法拟合出电压值与距离值的数学关系表达式而传感器传送给Arduino控制板的是其采样的模拟量数据,数据范围为0~1 023,其对应的电压输出值为0~5 V,经过对两者范围值的约束映射,最终推导出实际测距值与采样值之间的关系式为:[d(测量距离)=2 547.8m(模拟量数据)0.49-10.41-0.42 cm]HC?SR04传感器利用声波的反射原理进行测距[6?7],主控板通过ArduinoIDE[8]库自带的pulsein()脉冲时间长度测量函数获得电平持续时间,结合声波传播速度,进而得到测量距离本系統对以上两组传感器采集的数据进行了比较,从算法上对测量数据进行了优化,增加距离测量的精确度,提高了避障的成功率具体的算法实现如算法一所示算法一: /*测距函数*/Float meas_distan() //测量障碍物距离{float dist,。

下载提示
相似文档
正为您匹配相似的精品文档