0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

立创·梁山派开发板-21年电赛F题-送药小车实现思路

jf_31863339 来源:jf_31863339 作者:jf_31863339 2023-08-08 09:44 次阅读

送药小车代码仓库:https://gitee.com/lcsc/medical_car

基本要求

根据走廊上的标识信息自动识别,寻径将药品送到指定病房,投影要在门口区域内,

到了指定病房后,点亮红色指示灯,等待卸载药品。

人工卸掉药品后,小车自动熄灭红色指示灯,开始返回。

自动返回药房,点亮绿色指示灯

发挥部分

两个小车协同运送到同一指定的中部病房,小车 1 到达病房后等待卸载药品,小车 2 识别病房房号装载药品后启动运送,到达自选暂停点后暂停,点亮黄色指示灯,等待小车 1 卸载;小车 1 卸载药品后开始返回,同时控制小车 2 熄灭黄色指示灯,继续运送。(从小车 2 启动运送开始,到小车 1 返回药房且小车 2 到达病房的总时间越短越好,不计算小车 2 黄灯亮时的暂停时间,不超过 60s)

两个小车协同运送到不同的远端病房送、取药品,小车 1 送药,小车 2 取药。小车 1 识别病房号装载药品后开始运送,小车 2 在药房处识别病房号等待小车 1 的取药开始指令;小车 1 到达病房后卸载药品,开始返回,同时向小车 2 发送启动取药指令;小车 2 收到取药指令后开始启动,到达病房后停止,亮红色指示灯(从小车 1 返回开始,到小车 1 返回到药房且小车 2 到达取药病房的总时间越短越好,不超过 60s)

其他

具体实现及流程图

具体实现在car_control_thread.c文件中

流程图如下所示:

wKgZomTRnfSAYq_2AAJ2TohWQ1o476.jpg



审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    4913

    浏览量

    97095
收藏 人收藏

    评论

    相关推荐

    梁山的华秋DFM解析讲解(上)

    可制造性设计(DFM)就是从产品开发设计时起,就考虑到可制造性和可测试性,使设计和制造之间紧密联系,实现从设计到制造一次成功的目的。这是保证PCB设计质量的最有效方法。基于华秋DFM来看一下
    的头像 发表于 12-12 09:07 3767次阅读
    <b class='flag-5'>立</b><b class='flag-5'>创</b><b class='flag-5'>梁山</b><b class='flag-5'>派</b>的华秋DFM解析讲解(上)

    ·梁山开发板-21F-送药小车-K210更换固件-运行基础颜色识别例程

    K210更换固件,他的IDE叫CanMV,看起来应该是官方合作出品的。但是实际使用的时候发现他里面的函数都比较老旧,连接IDE的时候经常性出现连不上或者连上很久之后才有反应。而且对机器视觉的适配没有Maixpy好,所以开始之前我们先给这个K210更换一下固件。
    的头像 发表于 07-28 11:27 1443次阅读
    <b class='flag-5'>立</b><b class='flag-5'>创</b>·<b class='flag-5'>梁山</b><b class='flag-5'>派</b><b class='flag-5'>开发板</b>-<b class='flag-5'>21</b><b class='flag-5'>年</b><b class='flag-5'>电</b><b class='flag-5'>赛</b><b class='flag-5'>F</b><b class='flag-5'>题</b>-<b class='flag-5'>送药</b><b class='flag-5'>小车</b>-K210更换固件-运行基础颜色识别例程

    ·梁山开发板-21F-送药小车-K210的KPU数字识别训练

    210自带 KPU(通用的神经网络处理器),非常适合用来作数字识别。要采集的数据集图像尺寸为 224*224(这是目前最常用的网络数据大小),为了让结果更准确,所以要训练的数据集要尽可能多,每种数字的数据量尽可能相等。但 k210 的算力也是有限的,他所能运行的模型也是有限的,对于 k210:运行 c 代码时最大可以加载 6MB 左右的模型,运行 maixpy 的最小固件时,能加载 3MB 左右的模型,运行 maixpy 的最大固件时,能够加载约 2MB 左右的模型。(值得注意的一点,模型大小和数据集没有必然关系,所以不用担心数据集采集太多导致K210的内存装载不下的问题,选好Alpha参数就能确定模型的大小)
    的头像 发表于 07-31 10:29 1141次阅读
    <b class='flag-5'>立</b><b class='flag-5'>创</b>·<b class='flag-5'>梁山</b><b class='flag-5'>派</b><b class='flag-5'>开发板</b>-<b class='flag-5'>21</b><b class='flag-5'>年</b><b class='flag-5'>电</b><b class='flag-5'>赛</b><b class='flag-5'>F</b><b class='flag-5'>题</b>-<b class='flag-5'>送药</b><b class='flag-5'>小车</b>-K210的KPU数字识别训练

    ·梁山开发板-21F-送药小车-K210功能实现代码讲解

    关键的注释都添加了,可以帮助理解代码,这段代码同时实现了寻红线和数字识别,但是还做不到同时运行,在寻红线的时候没法数字识别,这两个状态之间的切换可以通过长按K210上的用户按键或者由梁山
    的头像 发表于 08-01 09:49 1120次阅读

    开发板-21F-送药小车-小车寻红线环的调试与实现

    PID控制来说,测量值是红线相较屏幕中线的偏移,目标值是想让红线偏移为0,输出值是电机的速度。 根据14_梁山与K210串口通信协议框架搭建.md文档我们的
    的头像 发表于 08-03 10:10 1320次阅读

    2017F大家来讨论

    今年F大家都有什么思路啊,可以交流一下
    发表于 08-10 07:26

    怎样去设计一个智能送药小车

    2021F智能送药小车原文链接:openmv巡线代码:数字识别代码:HAL库keil工程(
    发表于 01-07 08:19

    梁山-21F-智能送药小车-按键检测的消抖和实现

    按键检测的消抖和实现送药小车中,预留了三个按键,药品装载检测是通过一个轻触开关来实现的,也可以把他理解成一个按键。 按键的实际电路如下: 我们通常用的按键内部都是机械弹性开关,当
    发表于 08-04 09:48

    基于OpenHarmony系统和小凌RK2206开发板的避障小车

    这是一款基于OpenHarmony系统和小凌-RK2206开发板的避障小车。同时,小车上搭载了超声波测距模块、舵机模块、红外寻迹模块、直流电机模块。
    的头像 发表于 04-21 07:58 4843次阅读

    梁山的华秋DFM解析讲解(下)

    开源的梁山开发板已经大批量生产,其中一些细节和布线布局规则还是很值得我们学习的。上期已经介绍电气信号,最小线宽,最小间距,SMD间距的
    的头像 发表于 12-12 13:17 1922次阅读
    <b class='flag-5'>立</b><b class='flag-5'>创</b><b class='flag-5'>梁山</b><b class='flag-5'>派</b>的华秋DFM解析讲解(下)

    梁山开发板-21F-送药小车-分析

    全国产开源开发板,基于GD32F4系列,21F
    的头像 发表于 07-31 10:13 1196次阅读
    <b class='flag-5'>梁山</b><b class='flag-5'>派</b><b class='flag-5'>开发板</b>-<b class='flag-5'>21</b><b class='flag-5'>年</b><b class='flag-5'>电</b><b class='flag-5'>赛</b><b class='flag-5'>F</b><b class='flag-5'>题</b>-<b class='flag-5'>送药</b><b class='flag-5'>小车</b>-<b class='flag-5'>赛</b><b class='flag-5'>题</b>分析

    梁山开发板-21F-送药小车-小车角度环的调试与实现

    来达到目标值。 第二种是在实现小车轮子位置环的基础上,控制两边轮子同时向不同的方向旋转一定的圈数(编码器脉冲),在小车轮子不打滑的情况下转过的角度就是一个确定的值,在送药
    的头像 发表于 07-27 10:18 878次阅读
    <b class='flag-5'>立</b><b class='flag-5'>创</b><b class='flag-5'>梁山</b><b class='flag-5'>派</b><b class='flag-5'>开发板</b>-<b class='flag-5'>21</b><b class='flag-5'>年</b><b class='flag-5'>电</b><b class='flag-5'>赛</b><b class='flag-5'>F</b><b class='flag-5'>题</b>-<b class='flag-5'>送药</b><b class='flag-5'>小车</b>-<b class='flag-5'>小车</b>角度环的调试与<b class='flag-5'>实现</b>

    ·梁山开发板-21F-送药小车-与K210串口通信协议框架搭建

    在K210可以识别到色块和识别数字后,就需要把这些信息传递给梁山派了。而立梁山也需要控制
    的头像 发表于 08-02 10:57 726次阅读

    梁山-21F-智能送药小车-按键检测的消抖和实现

    我们通常用的按键内部都是机械弹性开关,当它按下弹起的时候,机械触点会因为弹性作用而在闭合和断开的瞬间伴随着一连串的抖动。这种抖动会导致输入信号在高低电位之间弹跳,产生不正确的输入。 这里面电阻的作用是限流(害怕初学者不小心给设置成推挽输出了),在这里要注意的是要在芯片内部设置一个下拉(电路图上是没有加下拉电阻得到)。电容作用是硬件去抖,不过软件上还是需要软件消抖,硬件去抖只能改善不能消除,所以在有一些批量电路中,这个电容都是可以省去的,毕竟还是省不了软件消抖的。
    的头像 发表于 08-04 10:09 583次阅读
    <b class='flag-5'>立</b><b class='flag-5'>创</b><b class='flag-5'>梁山</b><b class='flag-5'>派</b>-<b class='flag-5'>21</b><b class='flag-5'>年</b><b class='flag-5'>电</b><b class='flag-5'>赛</b><b class='flag-5'>F</b><b class='flag-5'>题</b>-智能<b class='flag-5'>送药</b><b class='flag-5'>小车</b>-按键检测的消抖和<b class='flag-5'>实现</b>

    ·梁山开发板-21F-送药小车数据的发布与订阅

    推荐或不建议使用全局变量来传递信息的原因主要有以下几点: 1. 竞争条件:在多任务环境下,全局变量会面临竞争条件的问题。当多个任务同时读写同一个全局变量时,会导致数据的不一致性和错误的结果。这是因为任务的执行是并发的,无法控制它们的执行顺序。 2. 数据共享和保护:全局变量被所有任务共享,这意味着多个任务可以同时访问和修改该变量。如果没有正确的数据保护机制,可能会导致数据损坏或冲突。 3. 可维护性和调试困难:使用全局变量传递信息可能导致代码的可维护性和调试的困难。由于全局变量可以被任何任务修改,追踪问题的根源和调试错误可能会变得更加困难。
    的头像 发表于 08-07 09:55 447次阅读
    <b class='flag-5'>立</b><b class='flag-5'>创</b>·<b class='flag-5'>梁山</b><b class='flag-5'>派</b><b class='flag-5'>开发板</b>-<b class='flag-5'>21</b><b class='flag-5'>年</b><b class='flag-5'>电</b><b class='flag-5'>赛</b><b class='flag-5'>F</b><b class='flag-5'>题</b>-<b class='flag-5'>送药</b><b class='flag-5'>小车</b>数据的发布与订阅