基于Arduino的智能越障小车设计

• 122
基于Arduino的智能越障小车设计
岭南师范学院物理科学与技术学院  林佳纯
广州鱼窝头中学  梁士儒
岭南师范学院物理科学与技术学院  周小燕
本文基于智能机器人设计这一方向,针对当前越障机器人结构的局限,设计一款八轮驱动,具备自主反应、防倒退的越障小车。实验以Arduino为控制中心,集合红外传感器、碰撞传感器和超声波传感器等多种传感器,采用可伸缩八轮式结构,结合分步越障的运行模式,对障碍准确快速做出反应。通过多次实
验测试,该小车能够很好适应复杂的环境。
应用于非结构性环境中的智能机器人一直以来都是技术研究的重点(汤天骄.基于DSTAR和神经网络的未知环境移动机器人路径规划方法:哈尔滨工业大学,2010,23-40)。越
障小车作为典型的智能越障机器人,集合机械、电子控制、车辆工程等相关领域的研究,能够工作在险恶地形上,协助人类完成任务。目前现有的越障机器人按越障功能实现的原理主要分为腿式、履带式、轮式等几类(徐国华,谭民.移动机器人的发展现状及其趋势:机器人技术与应用,2011(3):7-
14),而后又衍生了诸如轮履式(曹冲振,王凤芹,张吉
亮.虾形六轮机器人尾部越障性能分析:机械设计与制造,2009(11):164-166)、轮腿式(唐鸿儒,宋爱国,章小兵.基于传感器信息融合的移动机器人自主爬楼梯技术研究:传感技术学报,2005(04):828-833)、铰接式(任常吉,贺继林,周烜亦.铰接式串联八轮机器人越障机理研究:机械科学与技术)
等复合式行走机构。由于结构上的设计限制了越障的尺度,在稳定性和自我恢复性上不能很好地适应复杂的地形结构。
本文设计的越障小车采用可伸缩八轮式结构,其结构如图1所示。小车在平坦地面行驶时,八轮着地,其中第一、四组轮作为主动轮带动其余轮组前进。当遇障碍物时,具备升降功能的第二、四组轮分别做出反应,固定在车身上的舵机驱动轮腿使轮组升起实现越障功能。
1  系统工作原理
小车的工作流程如图2所示。该车四组轮中,作为主动轮的第一、四组轮使用独立的电机和驱动系统,从动轮组使用轴承连接。作为升降装置的第二、四组轮则通过独立的检测装置和执行程序,对环境做出反
图1 小车设计图与实物图
图2 越障流程图
应。在车头设计超声波检测装置,收发超声波,通过程序算法获取障碍物距离和位置信息。当检测障碍物在安全距离之内,小车减速至停止,并执行越障环节。
越障环节采用先整体后分步越障模式。车头超声波持续检测障碍物,升降装置通过舵机使车身整体上升,待超声波检测距离超过安全距离后,升降装置轮腿上的红外传感器检测并靠近障碍物,借助障碍物支撑车身
和地面支撑第四轮组,第二轮组上升。第四轮组依照程序,将轮腿上升并前进,这时小车完整越过一个障碍。
2  系统硬件设计
实验使用超声波传感器和(SKU:SEN0019)红外数字避障传感器作为检测装置,R B -02S033A碰撞开关模块作为触发装置,其设计和工作流程如图3所示。电子检测与机械反应相结合,进一步提高检测障碍物的能
力。综合比较后,采用Arduino开源平台,
• 123
双层pcb板
使用(SKU:DFR0004)RoMeo控制器V1.2Arduino主板作为核心控件;使用RB-04M004RB-65CS360度可控舵机和GA12-N20减速直流电机作为动力装置。Arduino是一款基于AVR单片机的硬件电路和软件开发环境共同开源的控制系统,是交互式编程学习的一种媒介、是为嵌入式开发的学习而研发的一种控制终端(黄辉健,程良鸿,黄明杰,林垣华,李志杰.基于语音识别的家居控制系统设计:无线互联科技,2014(03):57-58+117)。RoMeo不仅可直插各类Switch,Sensor 等输入设备,同样可直插多类LED,舵机等输出设备。板子还集成了电机驱动模块,可通过外接6~20V电压,直接驱动电机。RRomeo 不但有完整的ArduinoLeonardo的功能,还集成了多路电机驱动、无线数传模块、数字与模拟IO扩展口、I2C总线接口等功能。只需一片芯片就能完全满足实验设计的需要,且使得硬件结构得到简化,提高系统反应的灵敏性(朱志强,张潇宇,王林童,虞楠.基于Arduino+LabVIEW的高精度超声波测距系统设计:单片机与嵌入式系
统应用,2016(09):49-51+56)。
图3 系统硬件设计
3  系统软件设计
车载主控板的任务是接收来自超声波、红外传感器和碰撞传感器的信号,通过程序算法控制舵机和电机运行。软件程序包括主程序和中断程序。首先对电机模块、舵机模块和超声波模块进行初始化,之后编写舵机运转的四个模式和中断程序。主程序执行超声波模块函数,对传感器数据信号运算判断,控制小车前进或停止。调用各模块函数并执行,进入死循环。循环里不断检测传感器数据并判断,从而执行不同的命令。
Arduino开源平台的优势,体现在程序的模块化和开源的库函数。基于开源的库函数,可以通过简单的指令执行复杂的程序。实邀请注册
验的软件设计主要由超声波模块程序、电机模块程序、舵机模块程序和中断模块程序,有逻辑地组合在主程序中循环执行。软件流程
图如图4所示。
图4 系统软件设计
图5 超声波程序
3.1  超声波程序设计
通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了(蔡睿妍.基于Arduino的舵机控制系统设计:电脑知识与技术,2012(15):3719-3721)。图5所示函数利用超声波传感器发出超声波与接受超声波时所用时间,通过公式计算得出障碍物的位置和距离信息。控制小车前进与停止的电机程序模块
• 124
是通过分配加在电机电阻上的电压值实现对电机转速的调节。主控制板Arduino板上引脚电压值5v对应8字节(0-255),写入对应电压值的数值来控制电机转速。3.2  舵机程序设计蓝牙天线
舵机换向和转速的是在通过PWM调制完成的。舵机作为一种位置伺服的驱动器,其工作原理是由接收机或者单片机发出信号给舵机,其内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出经由电路板上的IC判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到达定位(胡小江,董飞垚,雷虎民,李刚.基于虚拟仪器的舵机半实物仿真系统研究:测控技术,2011(01):75-78)。适用于那些需要角度不断变化并可以保持的控制系统。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动(刘贤锴.同一个外部中断的Arduino随机睡眠与唤醒:单片机与嵌入式系统应用,2015(11):8-10+14)。图6所示函数指令使电
机停止运转,位于第二、四轮组的舵机正向旋转使车身整体上升。
图6 舵机程序示例
3.3 中断程序设计
当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,申请CPU中断的请求源称为中断源,单片机的中断系统一般允许多个中断源,当多个中断源同时向CPU请求中断时,就存在一个中断优先权的问题。通常根据中断源的优先级别,优先处理最紧急事件的中断请求源,即最先响应级别最高的中断请求。主控制器中断程序根据多个中断源的级别,优先处理级别高的中断请求。中断的触发,采用的是红外传感器和碰撞传感器。其中第二轮腿上的红外传感器级别高于第四轮腿上的,以避免小车运行的紊乱。当传感器检测到的距离
远于设定的值时不触发中断。当车子靠近障碍物时触发中断,程序进入中断函数中执行相应的命令,直到中断信号消失为止。
图7所示的中断程序通过中断指令和中断触发子程序构成,在第二、四组轮轮腿上的红外传感器和碰撞传感器触发后执行。当车身整体上升后,第二、四轮组处于检测障碍物状态,第四轮组驱
动小车前进使第二轮组轮腿上传感器检测障碍物位置并执行中断程
序,轮腿跨上障碍物。第四轮组越障过程与前轮类似。
图8 中断程序
4  实验效果
热熔铜螺母经测试,越障小车在指定的几种典型障碍中高效稳定完成越障。实际应用于各种场合时,可根据功能和需求对小车电机功率、重量负载、传感器灵敏度进行修改调整,以达到目标性能。
主要性能指标:(1)车重:5公斤(2)电源:24伏蓄电池(3)载重:20公斤
混合3ph古代(4)平地行驶速度:25公里/小时(5)障碍反应时间:0.47秒
(6)越障时间:图8所示
图9 越障时间
5  结论
结合前人设计作品,考虑当前越障小车局限,本文设计一款可伸缩式智能越障小车。该小车的八轮结构可适应不同的环境,实现不同的工作目的。在平整地面上,具快速移动能力;遇到障碍时,通过八轮协调伸缩运动,分步越过障碍。实验验证该越障小车具较强稳定性和越障能力,有广泛应用前景。负离子加湿器
通讯作者:周小燕。

本文发布于:2024-09-21 19:54:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/268467.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:越障   中断   传感器   超声波
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议