摘要

由于疫情的反反复复,核酸检测已然成为了生活的常态,但是现核酸检测工作中存在一些弊端需要我们去解决。通过CH32V307VCT6作为核心板,利用PID算法,小程序设计,酒精喷雾系统,L610模块等设计智能协测机器人帮助完成核酸检测中部分功能。并通过搭建实物模型验证了协测机器人能够完成如下功能:当机器人载物台承载设定核酸试管数量后语言播报提醒,机器人按规定路线向目的地出发,达到目的地开始消毒,达到设定浓度后取消消毒,取下全部试管后按规定路线返回至起点后再次消毒,前置摄像头实时监测路况,小程序显示机器人状况。

第一部分  设计概述

1、设计目的

核酸检测已然成为了生活的常态,但是现核酸检测工作存在一些弊端:

1、由于需要核酸次数的频率相对频繁,对医护人员工作量过于巨大;

2、市场上核酸协助机器人体积较大,难以携带和拆卸或添加功能;

3、对有疫情地区需要多次人工消毒;

为解决此类问题,设计和制作一款智能防疫协测机器人,设置消毒系统,设置载物台进行核酸样品物料运输,各外设易拆卸,结合移动设备小程序显示核酸试管信息等提高核酸检测在全国各地的检测效率。

2、技术特点

智能防疫协测机器人利用CHV307VCT6核心板作为主控,可以实现语音播报,循迹,消毒,实时监控路况,小程序显示数据等功能,不仅可以运用于日常核酸检测工作并且智能车带有载物台对短距离运输物资也有巨大用处,外设模块简易拆卸,可利用率高。车身整体见图1.1。

1.智能车配置载物台。采用红外对射管,当核酸试管数量达到一定规模时发送信息至小程序软件询问是否进行运输,当确认后进行运输到指定地点。

2、搭建项目有关上位机。利用L610广和通与上位机联系,并且通过软件设计程序达到利用程序控制小车的运行操作。

3、路径规划。其对指定运输路径进行规划,利用灰度传感器进行路劲规划,利用PID算法稳定智能车运行速率和方向。

图1.1 作品整体

第二部分  系统组成

车装配多类传感器模块,整体设计图,如图2.1所示。其中主要模块利用CH32V307VCT6核心板作为整个小车控制的核心部分,通过ESP32监视外界情况,众多传感器接受外界变化后将数据传输至单片机。利用单片机通过一系列计算反馈至电机从而控制智能车一系列运动及实现相关功能。并通过L610广和通模块将数据传输到搭建的移动设备显示——手机上位机显示相关数据。

图2.1  整体设计

软件设计:首先将各个模块所需要实验的IO口进行分配以及初始化,对于每个模块的情况通过串口进行监控,将L610作为智能车运行的首要入口,通过红外射管检测核酸试管的数量,当要预期的数量则利用PID控制智能车按规定路线运行,当达到目的地进行消毒处理,在智能车运行的过程中,使用ESP摄像头和小程序监控状态,具体流程见图2.2所示:

图2.2 软件流程

由于是第一次参加大型比赛,为了能够锻炼自己的能力,各个模块为独立购买并进行调试与拼接,对于部分模块通过自行设计达到团队的要求,例如灰度传感器模块,酒精喷雾模块等。四路灰度传感器见图2.3所示,目的为智能车可以沿着规定的路线行驶。

图2.3   四路灰度传感器

为了能够达到我们预定的要求,在智能车的俩边添置俩个灰度传感器来作为判断的条件,具体核心代码见下。

#define Read_P1_left     gpio_get_level(E1)
#define Read_p2_break    gpio_get_level(E2)
#define Read_p3_front    gpio_get_level(E3)
#define Read_p4_right    gpio_get_level(E4)
#define right               gpio_get_level(D2)
#define left             gpio_get_level(E5)
void xunji_go(void)
{
if((Read_P1_left==1&&Read_p2_break==1)&&two==2)
{MOVE_Kinematics(00, 50, 00);
}
if(Read_P1_left==0||two==0)
{two=0;MOVE_Kinematics(20, 00, 00);if(left==1){MOVE_Kinematics(00, 00, 00);two=1;go_flag=0;xiaodu_flag=1;L610_to_server(beep_flag,go_flag, xiaodu_flag, test_tube_nume, ethyl_numb);}}}
void xunji_go_back(void)
{
if(one==2)
{MOVE_Kinematics(00, 50, 00);
}
if((Read_p2_break==0||one==0)&&(one!=1)&&(one!=3))
{one=0;MOVE_Kinematics(00, 00, -20);
}
if((Read_p3_front==0&&Read_p4_right==0&&Read_P1_left)||one==3)
{one=3;MOVE_Kinematics(00, 50, 00);
}if(left==1&&one==3&&right==1){MOVE_Kinematics(00, 00, 00);one=1;go_flag=0;xiaodu_flag=1;L610_to_server(beep_flag,go_flag, xiaodu_flag, test_tube_nume, ethyl_numb);gpio_set_level(C12, 1);

本次队伍所使用车轮为麦克纳姆轮,拥有灵活移动的特点,但是为了智能车能够平稳的行驶,则调试PID是非常重要,使用PID算法在生活中非常常见,本次队伍也是使用PID来稳定智能车的行驶速率,利用相关软件来测试调试程度。蓝色是预期的速率,红色是当前智能车的运行速率,可以看到,俩者之间相差极小,达到我们调试PID的效果见图2.4所示。

图2.4 调试PID效果

 short MID_MotorVelocityPidCtl_A(short spd_target, short spd_current)
{   static short motor_pwm_out;static int bias,bias_last,bias_integral = 0;bias = spd_target - spd_current;bias_integral += bias;if(bias_integral>PID_INTEGRAL_UP)bias_integral = PID_INTEGRAL_UP;if(bias_integral<-PID_INTEGRAL_UP)bias_integral =-PID_INTEGRAL_UP;motor_pwm_out += ax_motor_kp_a*bias*PID_SCALE + ax_motor_kd_a*(bias-bias_last)*PID_SCALE + ax_motor_ki_a*bias_integral*PID_SCALE;bias_last = bias;return motor_pwm_out;
}  

为了能够使用小程序端实时得到智能车的状态,搭建小程序端和利用L610模块(L610模块使用WIFI的类似功能),使用腾讯云服务器,将智能车的状态传输到小程序端,L610各个部分分布见图2.5所示。

图2.5  L610分布

void set_l610_Init(void)
{do{ clear_buff();printf("AT+MIPCALL=1\r\n");delay_ms(1000);
} while(strstr((const char *)L610_buf, "+MIPCALL: ") == NULL);
do{clear_buff();
printf(L610_TXYUN_INFO);
delay_ms(2000);
}
while(strstr((const char *)L610_buf, "OK") == NULL);
do{clear_buff();
printf(L610_ONENET_INFO);
delay_ms(2000);
}
while(strstr((const char *)L610_buf, "OK") == NULL);
do{clear_buff();
printf(L610_topic_INFO);
delay_ms(2000);
}
while(strstr((const char *)L610_buf, "OK") == NULL);
}

自行设计手机上位机见图2.6所示;

图2.6  手机上位机

第三部分   心得体会

1、本次嵌入式比赛对整个队伍是有极大的锻炼能力的,队伍软硬件相配合,从最初的材料购买,结构搭建到各传感器模块的使用和联合其中很好的体现了团队配合的能力。

2、从本次嵌入式比赛也让更多的人了解国产芯片,国产的芯片也能实现很多的功能,更多功能还需要更多的人一起来探索。

3、由于智能车需要实现功能较多,整个智能车接线较错综复杂,为了更好的达到创新的效果和锻炼自身能力,队伍选择购买单独的模块而不是整个成品,通过我们队伍的努力,智能车能达到我们预想的功能实现。

4、在整个备赛期间,非常感谢指导老师的支持,学长学姐的解答。当遇到困难无法解决时,他们会耐心询问队伍的问题并给出建议。

5、 在本次比赛中,团队为了拍摄出更好的功能展示效果,对路线的规划和拍摄熬夜进行,只为得到最好的效果。

第四部分  参考文献

[1]杨朋帅,王琪,王维西,周靖喻,高进可.基于麦克纳姆轮的智能车寻迹控制策略研究[J].工业控制计算机,2022,35(02):112-115.

[2]郭荣毓,任姝静,陈宇航,王天阳,赵永亮.医疗辅助智能车的研究与设计[J].电子世界,2021(11):156-157.DOI:10.19353/j.cnki.dzsj.2021.11.063.

[3]李海珍,王德军,赵现省.AGV智能消毒降尘喷洒车设计[J].机电产品开发与创新,2021,34(01):49-52.

[4]Nagaraj S, Srividya K, Puviyarasi B, et al. Smart Elevator Cabin Sanitization and Disinfection for COVID[C]//2022 International Conference on Communication, Computing and Internet of Things (IC3IoT). IEEE, 2022: 1-6.

[5]Zhao M, Liu P, Chen Y. Design of the Designated Disinfection Patrol Vehicle in Residential Area Based on STM32[C]//2021 3rd International Conference on Artificial Intelligence and Advanced Manufacture. 2021: 208-211.

[6]袁振洋,孔放,刘峻宇.基于PID算法的智能小车电磁循迹方法研究[J].电子制作,2022,30(01):27-30.DOI:10.16589/j.cnki.cn11-3571/tn.2022.01.008.

[7]杨志强,张春红,孟悦,山雨晨,沈闻一.一种基于OpenMV的智能医疗跟随载物车设计[J].中国科技信息,2022(06):81-83.

[8]李野,张晶.智能小车在医疗垃圾搬运系统中的应用[J].电子测试,2021(21):125-127.DOI:10.16520/j.cnki.1000-8519.2021.21.044.

RISC-V MCU 智能防疫协测机器人相关推荐

  1. 防疫机器人,走向抗疫前线——科聪整体解决方案助力智能防疫

    智能防疫 新冠疫情下,为减少人与人之间的接触传染,机器人作业需求被激发,移动机器人走上防疫一线,用于疫情中医疗.配送.巡检.家用等领域,协助医院.学校.社区等公共场所进行智能防疫. 发展政策环境 战胜 ...

  2. RISC-V MCU--基于嵌入式AI的智能防疫机器人

    一.设计概念 1.主要技术特点 基于嵌入式AI的智能防疫机器人以CH32V307为主控负责各个模块的通信控制,人员测温方面采用的是GY614红外测温模块,主控通过IIC通信协议控制红外测温模块实现人员 ...

  3. STM32应用开发实践教程:智能小车电机测速模块的应用开发

    3.4.1 任务分析 本任务要求设计一个可实现智能小车电机测速的应用程序,具体要点如下. ① 取一个电机作为测速对象. ② 支持按键控制,使用 4 个按键,功能描述如下:  Key1 控制电机正转, ...

  4. 基于stm32的智能防疫门禁管理系统

    1.选题背景与意义 经过了疫情的开端与发展,就目前我国已经处在疫情的常态化管理中.在疫情常态化管理下,与人们日常生活中的出行,总离不开测温.通行证明等等. 针对当前的疫情形式,我们设计一款智能防疫门禁 ...

  5. 我开发了一个温柔的智能客服聊天机器人ChatBot,并回答为什么不是ChatGPT(附思路和代码)

    前言 若问2023年科技领域什么最火,那当然是ChatGPT了,这么智能的对话机器人,给人带来无限的想象,围绕着ChatpGPT的各种热点和创意层出不穷.作为一个多年从事编程开发的程序员,我对于这么大 ...

  6. 【征稿倒计时—山东科技大学主办】 2021智能装备与特种机器人国际会议(ICIESR2021)...

    2021智能装备与特种机器人国际会议(ICIESR2021) 大会官网:http://www.iciesr.org/ 大会时间:2021年9月10-12日 (疫情影响,可能延后,具体另行通知) 主办方 ...

  7. MATLAB强化学习实战(十三) 使用强化学习智能体训练Biped机器人行走

    使用强化学习智能体训练Biped机器人行走 两足机器人模型 创建环境接口 选择和创建训练智能体 DDPG Agent TD3 Agent 指定训练选项和训练智能体 仿真训练过的智能体 比较智能体性能 ...

  8. RISC V (RV32+RV64) 架构 整体介绍

    文章目录 riscv 市场 芯片介绍 软件介绍 开发板介绍 PC介绍 riscv 架构 编程模型(指令集/寄存器/ABI/SBI) 运行状态 指令集 寄存器 riscv32和riscv64两者的区别 ...

  9. AI智能语音客服机器人方案介绍/优点/核心

    介绍 智能语音电话系统,在语音电话交流中自动理解客户意向,并做出最恰当的回应,智能代替人工的基本原理如下:即在呼入/呼出过程中,利用ASR+NLP技术引导用户说出需求,通过真人录制的声音模仿与客户进行 ...

最新文章

  1. oracle主备库sync模式,Oracle 探索DG备库undo工作模式
  2. 霸王洗发水经理被指冲击报社殴打记者
  3. MDA:模型驱动架构 简介
  4. 信息系统项目管理师十大常见问题汇总
  5. idea怎么更改推到github的路径_IDEA 拉取、上传、更新 项目到 Gitee+GitHub_超详细超简单版...
  6. 知网首篇被引破万论文诞生!作者是曾两次“被迫转行”的他
  7. suse12安装详解
  8. Visual Studio Code 1.42 发布
  9. Android View.onMeasure方法的理解
  10. 挖矿仍然有利可图吗?
  11. MYSQL——数据修改
  12. android自定义pickerview,一个非常好用的Android PickerView库
  13. 在envi做随机森林_【模型篇】随机森林模型(Random Forest)
  14. 开机netmeeting已删除_NetMeeting
  15. 最全的期货交易术语在这里
  16. python网课一般多少钱-十大python零基础编程在线网课一对一费用多少钱
  17. visual basic与python_学visual basic还是 python?
  18. CAP迷思:关于分区容忍性
  19. 自然底数e究竟“自然”在哪?
  20. 墨者学院Tomcat 远程代码执行漏洞利用

热门文章

  1. 我的世界java版地牢种子_我的世界pe地牢种子代码是什么
  2. Ubuntu 几个常用的更新命令
  3. 在Android Studio中实现360加固自动化,进一步提升生产力!
  4. 16G+512G SSD笔记本最适合编程
  5. Matlab:随机整数
  6. 最优化方法:四、一维搜索法
  7. Wondershare Filmora for Mac(视频编辑器)
  8. 考试能用计算机,cpa的考试能带计算器吗?
  9. 获取最新的中国IP的脚本,给ROS可以使用的脚本
  10. ibm服务器安装2008系统蓝屏,ibm x3550m3 serverguide_8.42 引导安装server 2003 蓝屏 错误代码 0x000007b...