首页 > 匠心独运 > “火线救援”智能车
“火线救援”智能车
16精仪系
作品介绍

“火线救援”智能车

作者:2016级王广晗 精仪系;范雨晗 自动化系

指导老师:无

关键词: 电子设计大赛 自主导航 多传感器

摘要

这辆智能车是第21届“商汤杯”清华大学电子设计大赛“火线救援”的参赛作品之一,获得一等奖(第二名)。该车具有全向平移能力,装备多种传感器,能够前往任意给定坐标,在黑色网格线迷宫内进行循迹、避障、路径规划等。

硬件组成

1 小车整体

小车整体结构为常见于智能车中的多层亚克力板-铜柱结构。动力为437GB520减速电机,空载转速500r/min,带有编码器测速。4麦克纳姆轮让小车具有平面内任意移动的能力。电源为3s动力锂电池。

小车具有多种传感器。4OpenMV摄像头分别位于小车的前后左右,用于四个方向的循迹。6个红外光电开关用于检测周围的墙壁,实现避障。8个红外对管用于统计循迹中走过的格数。高精度陀螺仪用于测量yaw角度。

小车主控为基于STM32F103RC单片机的开发板,集成了编码器、电机驱动和稳压功能。ZigBee模块用于与裁判上位机通信获取坐标信息,无线烧录器和蓝牙模块用于调试。由于传感器数量较多,还有一块辅助STM32F103C8单片机,和额外的DC-DC供电模块等。

2 主要部件大致空间分布

底层硬件

传感器数量很多,接口各异,如果全部连接到主控STM32上,由于开发板引脚没有全部引出,GPIO和通信接口的数量不够。因此增加一块辅助STM32单片机,用于接收ZigBeeUART),陀螺仪(CAN),4OpenMVUART,PWM)的数据,每20ms发给主控STM32。而对实时性要求较高的电机、编码器、光电开关、红外对管,以及调试用的蓝牙模块,则连接到主控STM32上。

3 各部件电气连接

    利用编码器,电机具有PID速度环,再结合麦克纳姆轮的运动方式,可实现直接控制小车的前后速度y,左右速度x,自转速度r

上层逻辑

本次电设的任务大体分为两块,其一是要在外围区域依赖上位机给出的位置信息,实现自主行走,其二是要在内部不依赖位置信息,实现循迹避障穿过迷宫到达指定位置。

4 比赛场地及裁判上位机界面

  逻辑控制主要依赖状态机变量和switch语句,每20ms执行一次。如果当前在外场且方向朝着下一个点,就转过去,转的方向对了就走过去,快到了减速,到了再转,以此类推;如果进了迷宫,每次红外对管判断要到交叉点时就减速,到了就读取一次障碍信息并进行一次基于Dijkstra算法的路径规划,根据返回的结果判断应该前进?后退?左转?右转?掉头?左平移?右平移?,下次就进入相应状态,如果无事发生,就执行一次循迹位置环和角度环,位置环决定小车垂直于黑线的速度,角度环决定小车角速度。

 

外部链接:源代码https://github.com/wanggh16/EDC2019

 

 

评论 文明上网理性发言,请遵守评论服务协议
登录  登录后可以发言~
全部评论
主办方
承办方