㊀㊀基于W e b 前端应用与V C 的D e l t a
机器人远程控制∗
付瑜彬,魏㊀鑫,熊田忠,孙承志,刘海博
(三江学院,江苏南京210012
)摘㊀要:本文研究了基于W e b 前端应用的D e l t a 机器人远程控制的设计方案.该方案的开发流程分为
云上开发 和 云下P C 开发 .云上开发包括云服务器的搭建和W e b 前端应用的设计;云下P C 开发采用V C 编程实现与服务器的
MQ T T 协议通信连接和数据的订阅与接收.该技术可以拓展用于化工㊁排爆等危险行业,在确保人身安全的情况下保证机器操作的正确性.
关键词:W e b 前端应用;远程控制;MQ T T 通信协议;V C ;D e l t a 机器人中图分类号:T P 393;T P 273+.5㊀㊀文献标识码:A
R e m o t eC o n t r o l o fD e l t aR o b o t B a s e d o n W e bF r o n t GE n dA p p l i c a t i o na n dV CT e c h n o l o g y
F U Y u b i n ,W E IX i n ,X I O N
G T i a n z h o n g ,S U NC h e n g
z h i ,L I U H a i b o (S a n j i a n g U n i v e r s i t y ,N a n j i n g 2
10012,C h i n a )A b s t r a c t :T h i s p a p e r s t u d i e s t h e d e s i g n s c h e m e o f r e m o t e c o n t r o l o fD e l t a r o b o t b a s e d o nW e b f r o n t Ge n d a p p
l i c a t i o n .T h e d e v e l o p m e n t p r o c e s s o f t h e s h e m e i s d i v i d e d i n t o "d e v e l o p m e n t o n t h e c l o u d "a n d "P Cd e v e l o p m e n t u n d e r t h e c l o u d ".D e Gv e l o p m e n t o n t h e c l o u d i n c l u d e s t h e c o n s t r u c t i o n o f c l o u d s e r v e r a n d t h e d e s i g n o fW e b f r o n t Ge n d a p p l i c a t i o n .P Cd e v e l o p
Gm e n t u n d e r t h e c l o u d u s e sV C p r o g r a m m i n g
t o a c h i e v eMQ T T p r o t o c o l c o m m u n i c a t i o n c o n n e c t i o nw i t h t h e s e r v e r a n d d a t a s u b s c r i p t i o na n d r e c e p t i o n .T h e t e c h n o l o g y c a nb eu s e d e x t e n s i v e l y i n c h e m i c a l i n d u s t r y ,e x p l o s i v e o r d n a n c e d i s p o s a l a n d o t h e r d a n g e r o u s i n d u s t r i e s ,w h i c he n s u r e s t h e p e r s o n a l s a f e t y a n d t h e a c c u r a c y o fm a c h i n e o p
e r a t i o n .K e y w
o r d s :W e b f r o n t Ge n d a p p l i c a t i o n ;r e m o t e c o n t r o l ;MQ T Tc o m m u n i c a t i o n p r o t o c o l ;V C ;D e l t a r o b o t 基金项目:2018年江苏省大学生创新训练计划项目(201811122039X )
.收稿日期:2018G12G14
0引言
随着科技日益进步,全球经济不断发展,智能的工厂㊁生产㊁物流成为发展趋势,作为智能化的关键载体  机器人的应用领域也将更加广阔.D e l t a 机器人具有轻巧㊁高速㊁高精度㊁容易控制㊁稳定性好㊁适应性强等特点,可以按照固定的要求实现抓起㊁搬运或者操作其他装置的能力,在
轻工业㊁电力电子㊁医药等行业得到广泛应用[1]
.W e b 具有
成本低廉㊁维护简便㊁覆盖范围广㊁功能易实现等诸多特性,将D e l t a 机器人接入互联网以实现D e l t a 机器人的远程控制,可以使得控制更加方便㊁快捷,可以在危险㊁人为操作困难的领域加以运用,满足了企业提高自身利益的需求,保障了从业人员的生命安全.本文研究基于W e b 应用的D e l t a
机器人远程控制.
1总体设计方案
本文的开发是围绕着MQ T T 通信协议展开的.
MQ T T 通信协议是I B M 开发的一个即时通信协议,是一种基于发布/订阅(p
u b l i s h /s u b s c r i b e )模式的 轻量级 构建于T C P /I P 协议上的通信协议,
使用发布/订阅消息模式[2]
,提供一对多的消息发布,解除应用程序之间的耦合.在通信过程中,MQ T T 协议中有三种身份:发布者(P u b l i s h )
㊁代理(B r o k e r )㊁订阅者(S u b s c r i b e
).发布者与订阅者之间无需知道对方是否在线,只需要通过I P 和端口号连接到代理服务器上,订阅者向服务器发送订阅信息,服务器会根据订阅者的订阅话题(T o p
i c )来推送消息.W e b 前端应用和V C 控制软件分别作为信息的发布者和订阅者,MQ T T 代理服务器采用的是阿里云的I O T
H u b
.总体方案设计框图如图1所示
.图1总体方案设计框图
F i g .1F r a m e w o r ko f t h e o v e r a l l s c h e m e d e s i g
n 在W e b 前端应用(P u b l i s h )
将数据信息发布到云服务器(B r o k e r
),云服务器会根据订阅信息将数据信息推送给V C 控制软件(S u b s c r i b e ),这样就实现了在W e b 前端对V C
11
㊀㊀㊀控制软件发送数据信息的功能.
总体方案开发流程分为 云上开发 和 云下P C 开发
. 云上开发 包括云服务器搭建和W e b 前端应用设计, 云下P C 开发 包括V C 控制软件的本地D e l t a 机器人控制设计和MQ T T 通信功能实现.
2云上开发
2.1云服务器搭建
云服务器搭建使用的是阿里云L i n kD e v e l o p 平台,
这是一个端到端的一站式开发平台,提供了从硬件设备㊁模组㊁数据㊁服务A P I ㊁W e b 应用的开发到移动A P P 开发全链路的开发流程㊁框架/引擎和调试工具.
在入驻开发平台后,建立物联网项目,创建模拟设备,用于模拟上线㊁在线解析㊁数据调试等.根据项目需要进行定义设备的功能,便于管理及调用.
新增云端测试设备用于与实际设备进行连接和数据调试,在测试设备中可以查看设备运行状态㊁服务调用㊁事件管理㊁设备日志㊁扩展信息等.在新增测试设备后会由服务
器分配一个唯一包括了 P r o d u c t K e y
D e v i c e N a m e  D e Gv i c e S e c r e t  等信息的激活凭证.而设备端接入服务器需要的 C l i e n t I D  U s e r N a m e  P a s s w o r d
等信息也是其构成部分.最主要的是云下工程师可以直接利用测试设备来进行连接测试和数据调试,这样云端开发就可以与云下P C 开发相分离,使项目开发模块化.
2.2W e b 前端应用设计
W e b 前端应用是一个完整的基于浏览器展示的网页程
序.W e b 前端应用是一个托管运行在阿里云L i n kD e v e l o p 平台的一个程序包,用户可以根据自己的需要方便地在平台上嵌入并提供服务.
W e b 前端应用开发[3]
使用阿里云的B o n eW e b 框架,
这是一个基于r e a c t+r e d u x 封装的W e b 开发框架,
配合使用阿里云提供的U I 组件(U s e r I n t e r f a c eM o d u l e )资源可以快速搭建W e b 前端应用,
实现数据可视化.调用阿里云提供的A P I 服务向服务器发起请求并提交控制信息,对该控制信息进行了两种不同编码,实现机器人点位控制(P 2P )和循环动作控制(C y c l e )功能,循环动作控制模式(C y c l e )的编码格式如表1所示.
表1循环动作控制模式(C y
c l e )的编码格式T a b .1T h e c o
d i n g f o r m a t o fC y
c l e 字符
C
T
V
含义控制方式分隔符执行次数分隔符执行速率
㊀㊀W e b 前端应用为用户远程控制提供了一个用于选择控制方式和输入控制指令并向服务器发起服务请求的可视化人机交互界面.机器人P 2P 和C y
c l e 两种功能流程图如图2所示
.
图2W e b 前端应用控制流程图
F i g .2C o n t r o l f l o wc h a r t o fW e b f r o n t Ge n da p p
l i c a t i o n 2.3消息推送
由服务器向V C 控制软件推送的数据信息是根据
MQ T T 通信协议进行打包的.服务器发送给V C 控制软件的P u b l i s h 控制报文由固定头㊁
可变头㊁消息体三部分构成.固定头包含了数据包类型及数据包的分组类标识,可变头包含了主题名和报文标识符,经过以上编码的控制信息及通信协议版本号等信息以A L i n k 协议(A l i n k 协议是针对物数字前端工程师和web前端
联网开发领域设计的一种J S O N 数据格式的数据交换规范)格式存放于消息体内.
3云下P C 开发
本文将V C 控制软件的本地D e l t a 机器人控制设计部
分略去,重点介绍MQ T T 通信功能实现.
3.1P C 端控制软件设计概述
P C 端软件运用M i c r o s o f tV i s u a lC /C++6.0进行开
发,M i c r o s o f tV i s u a l C ++是M i c r o s o f t 公司推出的以C++语言为基础的开发W i n d o w s 环境程序,
面向对象的可视化集成编程系统[4]
.它具有程序框架自动生成㊁类管理灵活方便㊁代码编写和界面设计集成交互操作㊁可开发多种程序等优点.使用M F C 搭建人机交互界面,M F C 是微软公
司实现的一个C++类库,主要封装了大部分的W i n d o w s
A P I 函数,
并且包含一个应用程序框架,可以减少应用程序开发人员工作量.
3.2P C 端软件功能实现
P C 端软件功能为创建M F C ,与云端服务器建立连接,接收云端服务器下发的数据信息,并进行数据处理分类等.当与云端服务器连接成功后,本地端口设置为监听状态,调用本地S o c k e t 封装库中函数用来接受服务器下发的数
据[5]
,并设置函数对数据进行信息分类提取并分配到指定
内存.最后,在运动控制编程中使用这些内存单元数据,便
可以使D e l t a 执行预期动作.
3.2.1建立连接
M Q T T 通信是基于T C P 的长连接,因此先得由V C 控制软件与云端服务器建立T C P 连接,然后由
V C 控制软件发
送M Q T T 的C o n n e c t 连接报文(包含了C l i e n t I D +U s e r N a m e
+P a s s w o r d 等重要的设备信息的M Q T T 协议数据包)创建与云服务器的M Q T T 连接,
要保持与服务器的长连接,还要定时发送心跳包(每20s 发送一次心跳报文)[6
].在M Q T T
11
㊀㊀连接模式下,双方通信遵循M Q T T 协议.需要注意的是,V C 控制软件作为一个订阅者是无法和W e b 前端应用直接进行连接,只能与云服务器建立M Q T T 连接.连接建立流程按照如图3所示的顺序执行
.
图3V C 与云服务器连接示意图
F i g .3T h e s c h e m a t i c d i a g
r a mo f c o n n e c t i o no fV Ca n d c l o u d s e r v e r 3.2.2数据通信
在V C 控制软件与云服务器建立良好的通信连接后.
V C 控制软件可以向服务器发送S u b s c r i b e 报文订阅相关
T o p
i c .用户在W e b 前端应用中输入数据信息并向服务器发起服务请求,服务器接收到数据信息后对信息进行分类,根据V C 控制软件的订阅主题推送对应的数据信息.V C 控制软件收到16进制数据包后,按照约定解码格式将消息体内16进制A S C l l 控制信息转成字符串,最后将字符串数据转成一定类型的数据分配到内存,等待调用.
4数据测试与结果分析
4.1控制数据测试
考虑到演示直观效果和操作方便在此只进行W e b 前
端应用的P 2P 模式控制和V C 控制软件直接控制的结果分析,并对比分析结果.
打开V C 控制软件,其界面如图4所示,设置目标I P 为106.15.00.2,再设置目标端口为1883,点击 c o n n e c t  ,在接收到服务器返回的 20020000 后确认与云端服务器连接.访问W e b 前端应用域名即可打开如图5所示的控制界面.在P 2P 模式下输入 X  , Y  , Z  , V  即机器人的位置信息和运动速率,点击 点击发送 ,可以观察到机器人立刻开始动作,直到运动到指定位置.而W e b 前端应用发送的控制信息也显示在V C 控制软件的控制界面上
.
图4V C 控制软件界面
F i g
.4V Cc o n t r o l s o f t w a r e i n t e r f a c e 复位机器人初始位置,在V C 控制软件的控制界面点
击 D i s c o n n e c t  断开与服务器的连接,在介面内所提示的输入框中输入与W e b 前端应用相同的控制信息,
点击 P 2P G O  按钮,观察到机器人立刻开始动作,直到运动到指定位置
.图5网页W e b 应用界面F i g .5W e ba p p
l i c a t i o n i n t e r f a c e 4.2测试结果分析
进行多次实验,并记录W e b 前端应用控制和V C 控制软
件直接控制两种情况下D e l t a 机器人运动的位置.分析实验数据发现,在W e b 前端应用远程控制和V C 控制软件直接控制两种情况下,D e l t a 机器人的位置信息能确保一致.分析实验结果得到结论,W e b 应用远程控制虽然在反
应时间上有延迟,但对于位置信息的控制与V C 控制软件直接控制时确保一致.就位置控制而言,本项目达到了预期的设计效果,其远程控制效果可以和V C 控制软件直接控制效果相比.
5结语
远程W e b 应用和V C 控制软件都可以实现对机器人的控制,W e b 应用和V C 控制软件连接稳定,
指令传输正常.此外,本文W e b 前端也可以作为订阅者,D e l t a 机器人本地
V C 控制软件作为发布者,
因此在该项目的基础上可以扩展数据回传功能,实现远程实时监测.亦可将本文的单台控制拓展至多台控制,以实现多机器联动,完成复杂联动任务,提高效益.本文采用的技术可以拓展至多领域,具有广泛的应用前景.
参考文献
[1]伍经纹.三自由度D e l t a 机器人控制系统研究与设计[D ].
青岛:青岛大学,2018.
[2]S o n i D ,M a k w a n aA.AS u r v e y o nMQ T T :a p r o t o c o l o f i n t e r Gn e to f t h i n g
s (I O T )[C ].I n t e r n a t i o n a lC o n f e r e n c eo n T e l e Gc o m m u n i c a t i o n ,P o w e rA n a l y s i sa n dC o m p u t i n g T e c h n i q
u e s ,2017.
[3]王锋,李芳颂,刘晓华.敏捷开发中的W e b 应用开发框架研究[J ].数字技术与应用,2016(08):114.
[4]梁伟.V i s u a l C ++网络编程经典案例详解[M ].北京:清华大学出版社,2010.
[5]刘峰.W e b S o c k t 与MQ T T 在W e b 即时通信系统中的应用[J ].计算机系统应用,2016,25(05):28G30.[6]王瑞.基于MQ T T 协议的物联网实训云平台设计[J ].
工业控制计算机,2018,31(09):101G103.6
11

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。