- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于April Tag标记定位自动泊车系统实现
基于April Tag标记定位自动泊车系统实现
摘要:系统采用STM32F103系列单片机作为自动泊车控制系统和小车控制系统的核心,控制装置通过按钮选择小车停车位并通过无线模块发送给小车,实时通过OpenMV摄像头检测小车顶部的April Tag标记来获取小车的位置及角度,实现小车自动驶入停车位。小车通过控制装置的反馈来获取自己的当前位置,同时利用麦克纳姆轮的水平位移,让小车更加精准快速的到达停车位。
关键词:STM32F103;April Tag;麦克纳姆轮;OpenMV
DOI: 10.3969/j.issn.1 005-5517.2 018.7.011
0 引言
本设计为2017年“瑞萨杯”大学生电子设计竞赛高职高专组自动泊车系统(L题)的解决方案,本题的核心要求是设计并制作一个泊车系统,要求电动小车能自动驶入指定的停车位,停车后能自动驶出停车场。为了达成核心要求,我们设计了这套使用麦克纳姆轮做小车车轮的方式使小车具备全向移动能力,并通过OpenMV识别定位April Tag来定位小车位置的自动泊车方案。通过利用OpenMV在图像识别定位开发方面简单快速的特点,以及麦克纳姆轮全向移动的能力使得纠偏算法大大简化。使得我们得以在紧张的比赛时间内完成本套方案。
1 系统整体方案
系统整体结构如图1所示。本系统由小车部分以及控制器两大部分组成,其中小车部分由STM32单片机、无线模块、测速模块、检测碰撞电路、电机控制电路、机械结构组成:STM32单片机通过无线模块接收来自控制器的目标车位以及小车当前坐标的数据流,在STM32单片机中进行拼接格式化后小车即可获知自身的实时坐标以及要前往的目标车位。运动过程中由于使用麦克纳姆轮进行移动,且考虑到小车电机运动特性参数不会绝对一致,故使用由红外光电对管以及码盘组成的测速模块对车轮进行测速,并在STM32中做每个车轮的转速PID实时控制小车车轮转速符合麦克纳姆轮运动控制函数计算出的单个轮速度。由于题目中要求小车停入车位以及驶出车位需要有相应的声光提示,且在小车调试过程中由于小车处于移动中,不方便在外部接入串口线进行调试,故需要相应的可控LED以及蜂呜器发光发声提示,辅助程序调试。液晶显示模块用于显示无线模块初始化情况,以及碰撞次数。电源部分使用两节18650锂电池串联作为总电源,其中电机驱动供电为电池直供的最高8.4V,最低6V的电源,单片机等其他控制检测电路为经过降压稳压后的5V电源,并在单片机最小系统板上由LDO进一步稳压为3.3V。检测碰撞方面有与场地配合来检测与场地碰撞的检测碰撞电路组成。控制部分主要由摄像头、液晶显示模块、语音录放模块、激光检测模块、无线模块组成,其中摄像头用于跟?小车位置,液晶显示模块用于显示当前车位以及小车行驶信息,同时使用语音录放模块进行播报,激光检测模块用于检测小车进入场地以及驶出场地,并计算时间差,无线模块用于向小车发送数据流。
2 检测碰撞电路
因题目中有要求小车在场地中移动的过程中要能记录小车碰撞场地隔板的次数。故需要制作相应的检测碰撞电路来检测与隔板的碰撞,可参考图2、图3、图4,思路为:在场地隔板上可能碰撞的区域贴上一条有一定宽度的铜箔,在小车上方安置一个平台,并在平台四周上下间隔一定高度贴两圈铜箔,当没有发生碰撞时,小车平台上两圈铜箔不导通,一旦发生碰撞,场地隔板上的铜箔将小车平台上的两圈铜箔导通,单片机检测铜箔被导通则判断发生了碰撞,其原理类似一个常开式按钮。
3 摄像头模块
由于需要实时获取小车在场地中的位置,并将小车坐标通过控制器实时发送到小车并进行反馈控制。故需要保证小车在场地中能实时被捕获并要求小车移动过程中丢失几率尽量低,且坐标数据刷新率要求高。故选择使用OpenMV配合April Tag来实现定位。OpenMV是一个开源的机器视觉模块。相较于传统摄像头+单片机做硬件,自己写图像识别处理算法的方式,OpenMV使用PytHon语言(通过MicroPytH。n解释器在STM32F4或STM32F7上运行PytHon程序),开发速度快。一些常用功能所需的算法已经封装成PytHon库,可以直接调用,并有示例程序参考。在比赛中,由于开发时间特别宝贵,故选择使用OpenMV做摄像头模块,可以大大提升开发速度,并在数据刷新率上相对于树莓派+OpenCV有优势,在小车移动过程中丢失几率方面优于普通摄像头+STM32自写算法,通过将OpenMV固定于场地正上方,并俯视全场,小车上方平台固定April Tag标签来进行追踪,小车上的April Tag标签安装示意可参照图6。可以得出小车在摄像头画面中的XY坐标以及旋转角度,摄像头俯视场地时画面如图5。该方案虽在当前项目中具有优势,但由
文档评论(0)