一种基于Android操作系统的网络化控制实验室系统的制作方法

专利2024-07-25  56


本发明涉及一种网络化远程控制系统实验室,尤其是涉及一种基于android操作系统的网络化控制系统实验室。



背景技术:

随着互联网和各种网络通信技术的迅速发展,网络化控制系统实验室近年来在工业和科学研究中发挥着越来越重要的作用。通过有效地利用网络化远程控制实验室,学生能够利用它来加深对理论知识的理解并通过其中的实验来获得相应的实践知识,研究人员可以通过远程控制实验室系统来设计并验证他们的想法。远程实验室作为本地实验室的完美补充,已经得到了广泛地发展和应用。中国科学院自动化研究所与英国glamorgan大学联合开发了网络化控制系统实验室ncslab(networkedcontrolsystemlaboratory)。ncslab无需用户安装任何软件或插件,无需学习任何特定的编程语言,仅通过连入因特网中的web浏览器,即可设计自己的控制算法,并可进行控制系统的离线仿真、远程编译、实时控制以及可视化监控组态、实时监控等。

自2006年ncslab建立以来,其体系结构经历了如下变革:

(1)ncslabv1:web浏览器/主服务器/子服务器/实验台;

(2)ncslabv2:web浏览器/中央服务器/区域服务器/子服务器/实验台;

(3)ncslabv3:web浏览器/中央web服务器、matlab服务器/区域实验服务器/实验台。

随着移动端设备和移动通信技术的发展,人们对远程控制实验室的需求也在不断增长,人们需要一种基于移动端的远程控制实验室将用户从电脑前面解放出来。基于web的网络化控制实验室在很大程度上限制了用户的移动性。但无论是基于浏览器还是其他电脑软件,用户总是被要求呆在电脑前。这样,用户的自由受到极大的限制。



技术实现要素:

本发明为了解决用户在使用远程实验室时的移动性问题,进而使用户可以不受电脑设备情况的限制,提供了一种基于android操作系统的网络化控制实验室系统,实现用户可以随时随地地使用android设备(手机、平板)进行远程框图编程、算法编译、执行代码下载、执行控制程序和监控等操作,彻底将用户从电脑旁边解放出来。

本发明的目的是通过以下技术方案实现的:

一种基于android操作系统的网络化控制实验室系统,包括android设备、matlab服务器、实验设备和网络摄像头,其中:

所述android移动设备配备有ncslab应用程序,通过网络(如wifi,lan,移动网络等)与matlab服务器、实验设备以及网络摄像头进行通信和交互;

所述实验设备主要包括执行器和被控对象;

用户通过android移动设备配置的ncslab应用程序进行算法设计,以matlab/simulink的模式进行框图编程,完成算法设计后,android移动设备根据ncslab应用中选定的服务器地址将数据以json形式通过网络发送给matlab服务器,matlab服务器对数据进行仿真或编译、下载、执行处理操作后,再将结果(仿真结果或错误码)返回至android移动设备;此时,若执行程序已下载至手机控制器,则会自动执行;android移动设备通过网络利用tcp/ip协议向被控对象的执行器发送控制信号,进而完成对被控对象的控制,执行器将反馈信号发送给android移动设备;此时,网络摄像头将实验设备运行的视频图像实时传输至android移动设备中,用户通过网络摄像头对实验情况进行视频监控,以达到及时修正实验和观察实验结果的目的。

上述基于android操作系统的网络化控制实验室系统的工作流程如下:

一、用户进入android客户终端,即ncslabapp;

二、用户根据自身需求选择模块库中所需模块进行控制框图搭建;

三、用户完成算法控制框图搭建后,输入所对应的matlab服务器地址,选择进行仿真或者编译;

四、若用户选择进行仿真,android客户端将其所搭建的控制框图数据以json数据格式通过网络发送给matlab服务器,matlab服务器会在进行完数据转换和处理后,将结果和相关信息发送回android客户端,并在其相关界面上显示,用户根据信息进行框图调整,并得到最佳仿真结果;

五、若用户选择进行编译,android客户端将其所搭建的控制框图数据以json数据格式通过网络发送给matlab服务器,matlab服务器会在进行完数据转换和处理后,生成相应的执行程序,并自动将执行程序下载至手机控制器去执行;matlab服务器会将结果和相关信息发送回android客户端;手机控制器会将控制信号通过网络发送给执行器,以此来完成对被控对象的控制;

六、编译、下载并执行成功后,android客户端会提示用户进入视频监控界面,以此来获得实时的实验情况;

七、用户通过控制框图和模块参数的修改,获得最佳实验结果。

相比于现有技术,本发明具有如下优点:

1、本发明的基于android设备的网络化控制系统实验室为用户在实验设备上进行实验提供了一个完整的基于android的解决方案,利用基于android操作系统的移动设备实现了极好的移动性。

2、本发明的基于android设备的远程实验室为用户提供了一种matlab/simulink方法(用户可以建立一个框图来完成算法的设计),具有框图编程、仿真、编译、特别是可执行程序的自动下载和执行等功能。同时,android移动设备不仅扮演着设计平台的角色,还可以作为实验设备的控制器。

3、本发明通过android设备上的本地应用app完成算法的框图设计,所述的框图设计是一种类似matlab/simulink的设计方法,用户无需额外学习其他编程语言。

4、本发明提出了一种不依赖于计算机位置,用户可以随时随地地使用android设备(手机、平板)进行远程框图编程、算法编译、执行代码下载、执行控制程序和监控的新架构,该架构以移动性,易用性、直观性和最小化用户的认知负荷为核心,同时保证了实验效率。

5、本发明基于android的ncslab远程实验室打破了用户只能坐在电脑前进行远程实验的地理局限性,极大地提升了用户的可移动性,同时也提升了实验和教学的效率,具有极高的灵活性并能够满足用户的实践学习需求。

6、本发明通过android应用程序,用户能够很容易地构建控制算法框图,然后进行仿真、编译、下载、执行、监控。与其他远程实验室相比,基于android的ncslab具有更低的使用成本和更好的可扩展性和开放性,在很多领域都得到了很好地应用。

附图说明

图1是基于android操作系统的网络化控制系统实验室的架构图;

图2是基于android操作系统的网络化控制系统实验室的操作控制方法流程图;

图3是mobileconsim工作空间示意图;

图4是基于android操作系统的网络化控制系统实验室的执行代码生成流程图;

图5是基于android操作系统的网络化控制系统实验室的数据传输示意图;

图6是基于android操作系统的网络化控制系统实验室的仿真结果及视频监控示意图。

具体实施方式

下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。

本发明提供了一种基于android操作系统的网络化控制系统实验室,如图1所示,所述网络化控制系统实验室主要由android移动设备、matlab服务器、网络摄像头和实验设备(包括执行器和被控对象)组成,其中:

所述android移动设备包括如智能手机、平板电脑等基于android操作系统的电子通讯设备。网络化远程控制实验室以android设备为核心。android移动设备中安装有ncslab应用app,不仅可以作为远程实验室的应用载体,还可以作为控制器。android设备作为远程实验室的唯一客户端,供用户进行框图编程和其他相关操作,并通过网络与其他组件进行通信,用户可通过本地手机应用ncslabapp进行远程实验操作。其中,android设备通过网络(wifi或4g)与matlab服务器,实验设备以及网络摄像头等设备进行通信和交互。

所述ncslab应用程序以mobileconsim为工作空间,用户能够以单击、拖拽等操作方式来完成框图编程,从而替代了传统的繁琐复杂的c语言编程,达到提高控制算法和模型搭建的效率等。

所述matlab服务器只需要一台普通的计算机就可以满足要求,需要安装以下必要的软件和工具:1)带编译器的matlab/simulink;2)matlab服务器应用;3)android-ndk-r9d工具集;4)无线安卓调试桥adb;5)netconandroid工具。

所述实验设备包括执行器和被控对象,而执行器的主要任务是将控制信号转化为驱动信号,将反馈数据从传感器传递到控制器。

所述网络摄像头主要用于实时传输实验设备运行的视频图像,这种方法可以使用户对实验的效果有更直观的感受,也便于帮助用户及时对实验进行调整。

本发明中,用户首先通过android移动端进行算法设计,以matlab/simulink的模式进行框图编程,这样用户就无须再进行有关c语言的编程学习。完成算法设计后,android设备会根据指定的服务器地址将数据通过网络发送给matlab服务器,matlab服务器对数据进行相应的处理操作后(仿真或编译、下载、执行),再将结果返回至android移动端;此时,若执行程序已下载至手机控制器,则会自动执行;android设备将通过网络利用tcp/ip协议向执行器发送控制信号,进而完成对被控对象的控制,而执行器也会根据传感器将反馈信号发送回给android移动端;此时,为了更直观地进行实验,用户同样可以选择通过网络对实验情况进行视频监控,以达到及时修正实验和观察实验结果的目的。

图2为本发明基于android操作系统的网络化控制系统实验室的操作控制方法的流程图,本发明具有搭建控制框图、离线仿真、实时编译、手机自动下载执行、视频监控等功能。通过ncslabapp,用户可以构建自己的控制算法框图。mobileconsim是android应用程序中用于框图编程的工作空间,参见图3。只要用户知道如何使用matlab/simulink,他们就可以快速学习如何使用这个android原生应用程序。ncslab应用程序为用户提供了一个丰富的块库,同时可以像simulink一样编辑这些块的参数。用户还可以设置仿真配置,如求解器、步长、启动和停止时间等。如果用户选择仿真,则此信息将包含在客户端发送的json数据中。matlab服务器从客户端接收到json数据后,将解析json数据并将其转换为相应的simulink模型文件(model.slx)。得到仿真结果后,matlab服务器也会将仿真结果发送回客户端供用户使用。如果用户选择编译,matlab服务器也会首先将接收到的json数据转换成simulink模型文件。然后根据执行代码生成流程,并通过一系列工具集的配合使用,生成相对应的执行代码。matlab服务器再将执行代码下载至android移动端并执行。最后用户可以通过网络摄像头进行实时监控。

图4为基于android操作系统的网络化控制系统实验室的执行代码生成流程图,当进行编译任务时,matlab服务器会按照执行代码生成流程进行处理。首先,simulink模型文件将在matlab和simulink编码器中转换成目标语言。在这个步骤中,tlc文件、tmf文件和main.c文件都起着至关重要的作用。本发明中系统的目标语言是c代码,它由相应的tlc文件决定的。所述的tlc文件是一个ascii文件,它还决定如何生成代码。所述的tmf文件用于生成与android相关的makefile(mk文件)。通过使用这些makefile和ndk工具,被编译和链接c代码。而main.c文件的主要作用是协调控制应用程序的子程序。最后生成android平台可执行的平面文件。

图5是基于android操作系统的网络化控制系统实验室的数据传输示意图,android设备发送json数据至matlab服务器,matlab服务器将仿真结果和执行代码发送回android设备;android设备通过发送控制信号至执行器以完成对被控对象的控制,同时执行器将根据传感器将反馈信号发送回android设备;android设备可以发送视频监控命令或截图命令至网络摄像头,而网络摄像头将根据客户端的需要发送实时视频或截图。

图6是基于android操作系统的网络化控制系统实验室的仿真结果及视频监控示意图,仿真时matlab服务器将仿真结果传送回移动端,并显示;实时实验时,移动端可以通过网络摄像头进行实时监控。

实施例:

被控对象为三自由度气浮台,android设备选用android4.0以上的操作系统。用户在移动端上开始进行实验后,数据通过tcp协议在各组件中传输和通信,用户以android设备作为控制器,当用户完成仿真、编译、下载和执行后,android设备作为控制器向执行器发送控制信号,完成对气浮台的位姿控制,并通过网络摄像头对实验进行实时监控。


技术特征:

1.一种基于android操作系统的网络化控制实验室系统,其特征在于所述网络化控制实验室系统包括android设备、matlab服务器、实验设备和网络摄像头,其中:

所述android移动设备中配备有ncslab应用程序,通过网络与matlab服务器、实验设备以及网络摄像头进行通信和交互;

所述实验设备主要包括执行器和被控对象;

用户通过android移动设备配置的ncslab应用程序进行算法设计,以matlab/simulink的模式进行框图编程,完成算法设计后,android移动设备根据ncslab应用中选定的服务器地址将数据以json形式通过网络发送给matlab服务器,matlab服务器对数据进行仿真或编译、下载、执行处理操作后,再将仿真结果或错误码返回至android移动设备;此时,若执行程序已下载至手机控制器,则会自动执行;android移动设备通过网络利用tcp/ip协议向被控对象的执行器发送控制信号,进而完成对被控对象的控制,执行器将反馈信号发送给android移动设备;此时,网络摄像头将实验设备运行的视频图像实时传输至android移动设备中,用户通过网络摄像头对实验情况进行视频监控,以达到及时修正实验和观察实验结果的目的。

2.根据权利要求1所述的基于android操作系统的网络化控制实验室系统,其特征在于所述android移动设备为智能手机或平板电脑。

3.根据权利要求1所述的基于android操作系统的网络化控制实验室系统,其特征在于所述matlab服务器为一台计算机,安装以下软件和工具:1)带编译器的matlab/simulink;2)matlab服务器应用;3)android-ndk-r9d工具集;4)无线安卓调试桥adb;5)netconandroid工具。

4.一种权利要求1-3任一项所述基于android操作系统的网络化控制实验室系统的工作方法,其特征在于所述方法的流程如下:

一、用户进入android客户终端,即ncslabapp;

二、用户根据自身需求选择模块库中所需模块进行控制框图搭建;

三、用户完成算法控制框图搭建后,输入所对应的matlab服务器地址,选择进行仿真或者编译;

四、若用户选择进行仿真,android客户端将其所搭建的控制框图数据以json数据格式通过网络发送给matlab服务器,matlab服务器会在进行完数据转换和处理后,将结果和相关信息发送回android客户端,并在其相关界面上显示,用户根据信息进行框图调整,并得到最佳仿真结果;

五、若用户选择进行编译,android客户端将其所搭建的控制框图数据以json数据格式通过网络发送给matlab服务器,matlab服务器会在进行完数据转换和处理后,生成相应的执行程序,并自动将执行程序下载至手机控制器去执行;matlab服务器会将结果和相关信息发送回android客户端;手机控制器会将控制信号通过网络发送给执行器,以此来完成对被控对象的控制;

六、编译、下载并执行成功后,android客户端会提示用户进入视频监控界面,以此来获得实时的实验情况;

七、用户通过控制框图和模块参数的修改,获得最佳实验结果。

技术总结
本发明公开了一种基于Android操作系统的网络化控制实验室系统,所述网络化控制实验室系统包括Android设备、MATLAB服务器、实验设备和网络摄像头,Android移动设备中配备有NCSLAB应用程序,通过网络与MATLAB服务器、实验设备以及网络摄像头进行通信和交互。本发明解决了用户在使用远程实验室时的移动性问题,实现用户可以随时随地地使用Android设备(手机、平板)进行远程框图编程、算法编译、执行代码下载、执行控制程序和监控等操作,彻底将用户从电脑旁边解放出来。与其他远程实验室相比,基于android的NCSLab具有更低的使用成本和更好的可扩展性和开放性。

技术研发人员:曹雷;刘国平
受保护的技术使用者:哈尔滨工业大学
技术研发日:2021.01.14
技术公布日:2021.04.06

转载请注明原文地址:https://xbbs.6miu.com/read-20654.html