送药小车代码仓库:https://gitee.com/lcsc/medical_car
更好的观看体验请去:https://dri8c0qdfb.feishu.cn/wiki/UjwwwO0KZii5bykPcE4cJZafnAg
送药小车立创开源平台资料:https://oshwhub.com/li-chuang-kai-fa-ban/21-dian-sai-f-ti-zhi-neng-song-yao-xiao-che
1.赛题分析
原始题目
题目分析
结构相关
小车长×宽×高不大于 25cm×20cm×25cm,只能使用普通车轮。在转弯时不能碰到走廊边缘,所以小车要尽可能小,越小越不容易碰到走廊边缘。
药品重约 200g。
硬件相关
两个小车均由电池供电。
两车之间要能无线通讯。
外界不能有任何附加电路与控制装置。
要有一个 RGB 灯(通过不同的 PWM 值控制来切换颜色)或者直接三个红,黄,绿灯。
作品应能适应无阳光直射的自然光照明及顶置多灯照明环境,测试时不得有特殊照明条件要求。
软件相关
每次测试开始时,只允许按一次复位键,装载药品后即刻启动运送时间记时,卸载药品后即刻启动返回时间记时。不能人工干预,测试项目只能测试一次。
在药房处识别病房号的时间不超过 20s,发挥部分 1 中自选暂停点处的小车 2 与小车 1 的车头投影外沿中心点的红实线距离不小于 70cm。
有任何一个指示灯处于点亮状态的小车必须处于停止状态,运送过程中不允许在同一走廊上错车或超车。
功能(得分)相关
近端病房号位置固定不变,中部病房和远端病房号(3-8 号)在测试时随机设定。
检测到药品装载完成后就开始自动运送。
单个小车运送药品到指定的近端病房并返回到药房,运送时间和返回时间均小于 20s,超时扣分。
基本要求
根据走廊上的标识信息自动识别,寻径将药品送到指定病房,投影要在门口区域内,
到了指定病房后,点亮红色指示灯,等待卸载药品。
人工卸掉药品后,小车自动熄灭红色指示灯,开始返回。
自动返回药房,点亮绿色指示灯。
发挥部分
两个小车协同运送到同一指定的中部病房,小车 1 到达病房后等待卸载药品,小车 2 识别病房房号装载药品后启动运送,到达自选暂停点后暂停,点亮黄色指示灯,等待小车 1 卸载;小车 1 卸载药品后开始返回,同时控制小车 2 熄灭黄色指示灯,继续运送。(从小车 2 启动运送开始,到小车 1 返回药房且小车 2 到达病房的总时间越短越好,不计算小车 2 黄灯亮时的暂停时间,不超过 60s)
两个小车协同运送到不同的远端病房送、取药品,小车 1 送药,小车 2 取药。小车 1 识别病房号装载药品后开始运送,小车 2 在药房处识别病房号等待小车 1 的取药开始指令;小车 1 到达病房后卸载药品,开始返回,同时向小车 2 发送启动取药指令;小车 2 收到取药指令后开始启动,到达病房后停止,亮红色指示灯(从小车 1 返回开始,到小车 1 返回到药房且小车 2 到达取药病房的总时间越短越好,不超过 60s)
其他
如何基于梁山派制作一个送药小车
从上面的题目我们可以分析出,完成题目的基础要求有这些:
主控
驱动小车前进和转弯的动力装置(只能用普通车轮)
驱动方式选择
后驱+前置舵机转向方式(就是平常路上开的那种小轿车的结构,适用于路线直角转弯比较少的地方,相信大家也知道汽车过直角弯有多麻烦,这种对转弯半径要求较高,并且还需要考虑后两轮差速问题)
四轮驱动+差速转弯(比如最近比亚迪新出的仰望 U8,他的轮子由四个电机独立控制,每一个电机可以单独控制轮子实现正转和反转,当左侧两个轮子和右侧两个轮子以相反的方向转动时,就可以实现原地转向)
两轮驱动+万向轮||牛眼轮(对于这个比赛我认为用两个轮子+一个或两个从动轮就够用了,而且轮子电机少,做出来的小车尺寸也更小,不容易压到题目中说的走廊边缘。这个的转弯就是给两个电机不同的转动方向就行了)
电机选择
直流减速有刷电机
转速范围广,转速高,扭矩大。
控制简单,使用方便。
价格低廉。
需要外接减速器,体积较大。
转速波动较大,精度不高。
不适合高精度运动控制。
转动精度高,不需要编码器。
可以实现高精度定位和运动控制。
适合低速高精度运动。
转矩小,转速慢。
需要驱动器,控制复杂。
价格相对较高。
FOC 无刷电机
转速范围广,转速高,扭矩大。
转速精度高,控制精度高。
能够实现高效能、低噪音的运行。
硬件成本相对较高。
控制复杂,需要配合专门的控制器使用。
对控制算法的要求较高。
直流电机电机驱动选择
轮子选择
检测地图中红线以及检测门口区域(黑色)
视觉识别
Openmv(现在最火的嵌入式机器视觉模块,使用 MicroPython 驱动,可以把它当成一个可编程摄像头)
K210(是国内厂家勘智研发的一款采用 RISC-V 处理器架构,典型设备功耗 1w,算力1TOPS 的 AI 芯片,自带 SRAM,可以在本地完成数据的处理和存储,国内厂家也根据 openmv 的 IDE 重新制作了 Canmv IDE 和 Maixpy IDE)
树莓派,卡片个人电脑,可以在上面直接运行 OpenCV,进行循迹和数字识别,性能比上面两个都强得多,但是开发难度也是最大的,它可以用很高清的摄像头,用它来参赛简直可以说是降维打击。
光电二极管灰度传感器(主要是利用光电二极管对光线的敏感性,通过测量物体表面反射的光线强度来确定物体表面的灰度值,探测到不同颜色地面时会产生不同的电压值,电压值会随被测面的颜色变化而变化,所以理论上可以识别任意颜色)
模拟式(模拟式需要单片机自带 AD 采集(模拟量采集),采集到的信息更准确,需要在单片机端自己设置阈值来进行判断当前识别的颜色)
数字式(他就是基于模拟式,一般会自带一个处理芯片或者比较器,通过手动调整电路板上的旋转电阻器来设置灵敏度,针脚直接输出的就是高低电平)
红外反射传感器(只适用于黑线识别,调整非常麻烦,基本上是不能用,虽然他简单,不易受光线影响,但是他是无法区分白和红的,而本次题目中是红线)
线性CCD,可以说他是只有一个像素的摄像头,是一个一维的摄像头,他可以很容易识别红色与白色。
小车底板和固定药品装置,固定摄像头机构,供电电池,紧急开关
小车底板一般常用的板材有
亚克力板
碳纤板
玻纤板
电木板
铝合金板
固定药品装置
固定摄像头装置
供电电池
紧急开关
用来识别任务目标房号和走廊上房号的数字识别模块
用来指示小车工作状态的的 LED 灯
Reverse Voltage: 5V(最大反向电压,超过这个就会坏)
R: 25mA
G: 25mA
Y: 25mA
Forward Voltage: (正向电压)
R: 2.0V
G: 3.3V
Y: 2.0V
R:电阻值:120Ω,功率 0.075 -贴片电阻 0603 以上-立创商城编号:C22787
G:电阻值:68Ω,功率 0.0425 -贴片电阻 0402 以上-立创商城编号:C25254
Y:电阻值:120Ω,功率 0.075 -贴片电阻 0603 以上-立创商城编号:C22787
用于双车通讯的无线模块
WiFi 模块:WiFi 模块可以实现高速无线网络连接,但是其功耗较高,不适合低功耗应用。
蓝牙模块:蓝牙模块具有低功耗、短距离通信等特点,但是其传输速率较慢,适用于数据量较小的场景。
Zigbee 模块:Zigbee 模块具有低功耗、低成本、自组网等特点,适用于物联网应用。
LoRa 模块:LoRa 模块具有长距离、低功耗、低成本等特点,适用于物联网应用。
NB-IoT 模块:NB-IoT 模块具有低功耗、广覆盖等特点,适用于物联网应用。
其他附加
可以加一个无源蜂鸣器来进行提示和报警,当电池电压过低或者出现错误时进行蜂鸣器报警。
可以加一个六轴或者九轴的姿态传感器,通过姿态解算可以得到当前航向角,可以让小车在一定时间内保持车头朝向不变,这样就算车轮打滑小车的车头朝向也不会大变。但是这个方法对姿态传感器的数据要求和算法处理的要求也很高。
预留灰度传感器的接口,别万一识别巡线效果拉了,硬着头皮也走不下去就G了,多给自己留条后路。
加一个 CAN 芯片,如果你想用 can 芯片控制电机的话就可以用了,大疆的 robomaster 系列电机和市面上的一些高性能电机都是可以用 CAN 通讯来控制的
加一个 sbus 电路,参加完比赛做个小遥控车也不错。
-
单片机
+关注
关注
6030文章
44500浏览量
632230 -
智能小车
+关注
关注
86文章
548浏览量
81632 -
GD32
+关注
关注
7文章
403浏览量
24121 -
LoRa
+关注
关注
349文章
1664浏览量
231726
发布评论请先 登录
相关推荐
评论