一种基于微信小程序控制机器人绑扎钢筋的系统和方法与流程

文档序号:33100442发布日期:2023-02-01 00:36阅读:49来源:国知局
一种基于微信小程序控制机器人绑扎钢筋的系统和方法与流程

1.本发明涉及软件控制技术领域,尤其是涉及一种基于微信小程序控制机器人 绑扎钢筋的系统和方法。


背景技术:

2.近年来,随着人工智能领域技术的高速发展,智能机器人的功能越发强大, 大量的重复性体力劳动都能由智能机器人完成。在建筑技术领域中,建筑行业大 多数智能设备都是通过设备本身操作按钮或硬件遥控器操控设备,利用专人看守 设备,对设备进行直接操作及硬件遥控,并不能远程如手机端指令操控,上述技 术方案中,存在指令简单、指令修改成本高以及操作不方便的问题。同时操作时 需要在建筑场地一直盯着智能设备工作现状,操作设备难度大、无法远程实时查 看设备工作状态,导致增加人力成本。
3.微信小程序由腾讯公司开发,于2017年在微信正式上线,应用在移动终端 上。微信小程序是一种不需要下载安装即可使用的应用,用户不用关心安装太多 应用的问题。对于开发者而言,微信小程序的开发难度远低于微信,开发成本低。 对于生活服务类手机应用而言,小程序完全能够满足用户所需的简单基础应用。
4.针对上述方案中的技术问题,亟需将微信小程序与建筑行业的智能设备联系 起来,以便于远程便捷地操控智能设备。


技术实现要素:

5.为了解决现有技术中操作设备难度大、无法远程实时查看设备工作状态的问 题,本发明提供一种基于微信小程序控制机器人绑扎钢筋的系统和方法。
6.第一方面,本发明提供的一种基于微信小程序控制机器人绑扎钢筋的系统, 采用如下的技术方案:
7.一种基于微信小程序控制机器人绑扎钢筋的系统,包括:
8.微信小程序,通过指令远程控制机器人绑扎钢筋;
9.云平台,通过微信小程序输入账号和密码登录云平台,为微信小程序提供数 据和界面支持;
10.机器人,根据微信小程序的指令进行绑扎动作,
11.算法端,通过mqtt服务器分别连接微信小程序和机器人。
12.优选的,所述微信小程序和云平台通过https通信,所述微信小程序通过输 入账号和密码进行登录云平台。
13.优选的,所述机器人通过mqtt服务器连接算法端,包括,所述机器人通 过摄像模块拍摄得到绑扎图片,并通过mqtt服务器将绑扎图片发送至算法端。
14.优选的,所述微信小程序通过mqtt服务器连接算法端,还包括,所述算 法端将接收到的绑扎图片进行图像识别,得到绑扎结果后通过mqtt服务发送 至微信小程序。
15.优选的,所述机器人还将行进方向通过mqtt服务器发送至算法端。
16.优选的,所述算法端对接收到的绑扎图片利用基于bof的绑扎状态识别算 法进行图像识别,得到绑扎结果。
17.优选的,所述绑扎结果包括绑扎成功、绑扎失败和绑扎遗漏。
18.优选的,所述算法端通过mqtt服务器分别连接微信小程序和机器人,具 体包括所述算法端、微信小程序和机器人分别向mqtt服务器上报topic,所 述mqtt服务器根据算法端、微信小程序和机器人是否订阅topic进行统一分 发算法端、微信小程序和机器人发来的数据。
19.第二方面,本发明提供的一种基于微信小程序控制机器人绑扎钢筋的方法, 采用如下的技术方案:
20.一种基于微信小程序控制机器人绑扎钢筋的方法,包括:
21.通过云平台登录微信小程序,并与微信绑定;
22.通过微信小程序发出指令控制机器人绑扎钢筋;
23.通过机器人拍摄绑扎图片并发送至算法端;
24.通过算法端识别绑扎图片,并将识别结果发送至微信小程序。
25.优选的,所述通过机器人拍摄绑扎图片并发送至算法端,包括机器人拍摄绑 扎图片后通过mqtt服务器发送至算法端,所述算法端通过图像识别,将识别 结果通过mqtt服务器发送至微信小程序。
26.综上所述,本发明具有如下的有益技术效果:
27.与现有技术相比,本发明的优点和积极效果在于:(1)通过小程序实现对 绑扎机器人的远程控制,操作指令修改成本低,没有硬件投入。(2)小程序相 比较微信不需要在手机单独安装应用。(3)工作人员可以远程控制机器人,远 程查看机器人工作状态,可以在办公室远程办公,解放生产力。
附图说明
28.图1是本发明实施例的一种基于微信小程序控制机器人绑扎钢筋的系统结 构示意图。
29.图2是本发明实施例的一种基于微信小程序控制机器人绑扎钢筋的方法示 意图。
30.图3是本发明实施例的基于bof的绑扎状态识别算法流程示意图。
31.图4是本发明实施例的特征向量生成的流程示意图。
32.图5是本发明实施例的监督学习模型的训练流程图。
具体实施方式
33.以下结合附图对本发明作进一步详细说明。
34.mqtt服务器:基于mqtt协议的服务器,其中mqtt:消息队列遥测传 输,是iso标准(iso/iec prf 20922)下基于发布/订阅范式的消息协议,工作在tcp/ip协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而 设计的发布/订阅型消息协议。
35.实施例1
36.参照图1,本实施例的一种基于微信小程序控制机器人绑扎钢筋的系统,包 括:微信小程序,通过指令远程控制机器人绑扎钢筋;云平台,通过微信小程序 输入账号和密码
登录云平台,为微信小程序提供数据和界面支持;机器人,根据 微信小程序的指令进行绑扎动作;算法端,通过mqtt服务器分别连接微信小 程序和机器人。通过上述技术方案,利用微信小程序对绑扎机器人进行远程控制, 并查看机器人的工作状态,极大地节约成本。
37.作为进一步实施方式,本实施例的微信小程序通过mqtt服务器连接算法 端,还包括,算法端将接收到的绑扎图片进行图像识别,得到绑扎结果后通过 mqtt服务发送至微信小程序。同时,机器人还通过算法端将行进方向反馈至微 信小程序;所述算法端对接收到的绑扎图片利用基于bof的绑扎状态识别算法 进行图像识别,得到绑扎结果。所述绑扎结果包括绑扎成功、绑扎失败和绑扎遗 漏。所述算法端通过mqtt服务器分别连接微信小程序和机器人,具体包括所 述算法端、微信小程序和机器人分别向mqtt服务器上报topic,所述mqtt 服务器根据算法端、微信小程序和机器人是否订阅topic进行统一分发算法端、 微信小程序和机器人发来的数据。
38.具体的,
39.本实施例中,所述系统包含微信小程序端、云平台端、机器人、算法端、 mqtt服务器。关于开发技术,其中微信小程序开发主要使用uni-微信框架,一 个使用vue.js(opens new window)开发所有前端应用的框架,开发者编写一套代 码,可发布到微信、以及各种小程序。通讯方式采用了http协议(主要包含登 录、设备绑定、历史轨迹查看)、mqtt协议(机器人行动轨迹、工作状态实时 查看,指令实时控制机器人),技术框架集成了mqtt.js (https://github.com/mqttjs/mqtt.js)。
40.微信小程序和云平台通讯主要是https,主要包含登录功能、设备绑定功能。 微信小程序和算法端、机器人通讯方式是mqtt,各个端都是通过账号密码和 mqtt服务器端连接,微信小程序所属的设备按照指定格式向mqtt服务器上 报topic,即平台私有协议,通过将topic提交给mqtt服务器,mqtt服 务器根据各端是否订阅此topic进行统一分发各端的信息。
41.通过微信小程序输入账号、密码登录云平台,用户登陆成功后点击首页添加 功能,进入设备绑定页面,扫码或者输入设备编号、输入设备名称,点击提交即 可绑定成功。
42.微信小程序绑定完对应机器人后,通过设备名称实现对机器人的控制。其中 自动模式下主要包含:点击启动后机器人会自动绑扎,并通过算法端将绑扎图片 和绑扎结果实时反馈到微信小程序上展示,绑扎结果包括绑扎成功、绑扎失败和 绑扎遗漏三种状态。支持绑扎图片的放大缩小,支持暂停、继续、急停。连续三 次绑扎失败会报警,有语音提示并弹窗,通知到用户。主要是机器人会把绑扎图 像(华为云图像地址)、行进方向通过mqtt服务器转发给算法端,算法端根据图 像识别绑扎结果并把绑扎结果、运行方向通过mqtt服务器转发给微信小程序, 微信小程序展示运行轨迹、绑扎结果。当绑扎失败超过3次,微信小程序调用微 信同声传译插件,进行语音播报告警,并弹出告警弹窗。需要操作人员点击启动 按钮,机器才能重新启动。同时,云平台还订阅了mqtt服务器发送的广播, 可以接收mqtt服务器发送份机器人的行进方向组成的运行轨迹。
43.实施例2
44.参照图2,本实施例的一种基于微信小程序控制机器人绑扎钢筋的方法,包 括:所述通过机器人拍摄绑扎图片并发送至算法端,包括机器人拍摄绑扎图片后 通过mqtt服务器发送至算法端,所述算法端利用基于bof的绑扎状态识别算 法进行图像识别,得到识别
结果,并将识别结果通过mqtt服务器发送至微信 小程序。其中,通过机器人拍摄绑扎图片并发送至算法端,包括机器人拍摄绑扎 图片后通过mqtt服务器发送至算法端,所述算法端通过图像识别,将识别结 果通过mqtt服务器发送至微信小程序。为了存储所拍摄的图片,所述机器人 还连接至图片服务器,用于对拍摄的绑扎图片进行保存,并获取存储地址。
45.作为进一步地实施方式,
46.本实施例采用的基于bof的绑扎状态识别算法,其中,bof借鉴于文本处 理中的bow模型,将提取到的图像特征经过处理后生成类似单词的视觉字典, 然后基于此建立每个图像的特征直方图,最后利用监督学习模型进行图像分类。 本方法主要包括图像特征提取,视觉字典生成,特征向量生成与模型训练四个步 骤,如图3所示。具体描述如下:
47.1.图像特征提取
48.图像特征以数学语言描述了图像的整体或者局部信息,有多种不同的描述特 征的角度,例如颜色、纹理、形状等。基于局部图像描述的特征提取方法在视觉 识别与跟踪中应用广泛,本方法主要包括两个步骤,关键点检测和描述子生成。 关键点检测主要实现了图像中比较有代表意义的像素点(或区域)的提取,本方 法认为这些关键点在某种意义上具有一定的独特性,而且在另外的相关图像中, 也可以找出来这种类似区域,描述子则是用来记录某个特定关键点的一组数字编 码,通常是浮点数组结构,它可以在一定程度上比较两个关键点的相似程度。
49.本方法提取了sift特征,为下一步视觉字典构建做准备,作为一种经典的 图像特征,sift具有旋转不变、光照稳定、抗噪性能好的优点,是实际应用最 广泛的特征之一。
50.图片中提取到的关键点数量与很多因素有关,既包括图像本身的一些因素, 例如大小、内容丰富程度等,也包括算法中各种阈值的设置,受益于成熟开源框 架(例如opencv、vlfeat等),可以简单通过设置程序的控制参数实现想要的提 取结果。
51.本方法使用opencv提取sift特征,通过设置参数,每张图片(最多)提 取n(n=512)个关键点及其描述子(相当于每篇文章最多提取512个单词),由 于sift默认的描述子长度为128,则每张图片可以生成一个n
×
128的特征矩阵, 所有图片按照此操作提取特征,最终生成的特征矩阵f的大小为:
52.(n1+n2+n3+

+ni)
×
128=m
×
128
53.其中ni,k=1,2,

k表示第i张图片提取到的关键点个数,k为图片总数。
54.2.视觉字典构建
55.特征矩阵f的每一行类似一个描述本幅图片的单词,与文档处理中不同的 是,不同图片中相似部分提取到的向量基本不可能完全一致,一种典型的解决方 案是将提取到的图片特征聚类,得到c个聚类中心,形成视觉字典,将这些聚类 中心作为一个一个的视觉单词。接下来,计算每张图片在这个字典下的“视觉词 频”,作为图片的特征向量。
56.采用基于kmeans的聚类算法生成视觉字典,该算法通过不断迭代随机初始 化的c个聚类中心,使得属于某个聚类的样本与该样本的聚类中心距离最近。本 算法实现简单,是许多工程应用中的首选方法。
57.3、特征向量生成
58.基于步骤2中的视觉单词生成特征向量。对于每一张图片提取到的ni个sift 特征,计算其与c个视觉单词的距离,并将其归属到距离最近的聚类类别中,统 计这张图片的
特征在聚类类别中的出现的个数,便得到了一个图片的c维直方 图,这个直方图代表了图片中所提取特征与视觉字典的相似度频率,也即这张图 片的特征向量,图4所示为一张图片生成特征向量的过程示意图,其中c=4,sift 特征数量ni=15。
59.所有图片最终得到的特征向量矩阵m的大小为k
×
c,其中k为图像总数,c 为字典长度。
60.4.模型训练
61.通过前述三个步骤,每一张照片被表示成一个长度为c的特征向量,与此同 时,该图片的绑扎状态也与特征向量一一对应。接下来采用基于监督学习的方法 进行模型训练,使得监督学习模型在输入一条新生成的特征向量时,可以判断其 绑扎状态。已经有大量的文献研究监督学习方法,从最简单的线性分类器到当前 大量研究的深度学习分类器,不论模型复杂与否,监督学习模型的总体训练方法 是一致的,如图5所示。
62.采用支持向量机作为训练模型,模型输入为特征向量矩阵m及对应的k个 绑扎状态标签,在训练时随机划分75%数据作为训练集,其余25%样本作为测 试集,记录每次训练的精确率、召回率以及f1值。
63.5.实验验证本实施例搭建了一个模拟绑扎环境,用于采集不同光照条件下的绑扎图片。机器人先按照预定路线行进,但是不进行绑扎操作,每到一个绑扎点进行未绑扎状态的拍照,然后再次重复路线行进,加上绑扎操作后拍照。在一天的不同时段多次采集图片,以模拟不同光照条件。最终共采集两种绑扎状态下训练图片共计270张(绑扎143张,未绑扎127张)。
[0064][0065]
按照第三部分的所述步骤进行特征提取与模型训练,设置提取的sift特征 点数为384,视觉字典词汇数为48,5次测试结果如表1所示,在5次测试中, 最多只有1张图片识别错误。
[0066]
测试结果如表1所示,
[0067]
表1
[0068]
编号精确率召回率f1199.399.399.321.01.01.0399.399.399.3499.399.399.351.01.01.0
[0069]
作为进一步地实施方式,
[0070]
在微信小程序和机器人之间设置调试模式,供开发人员使用,具体指令说明 如表2:
[0071]
表2
[0072][0073]
以上均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依 本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1