CN111694637B - 一种在线全自动多智能体控制仿真编译系统 - Google Patents
一种在线全自动多智能体控制仿真编译系统 Download PDFInfo
- Publication number
- CN111694637B CN111694637B CN202010444375.2A CN202010444375A CN111694637B CN 111694637 B CN111694637 B CN 111694637B CN 202010444375 A CN202010444375 A CN 202010444375A CN 111694637 B CN111694637 B CN 111694637B
- Authority
- CN
- China
- Prior art keywords
- unit
- agent
- page platform
- intelligent
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
一种在线全自动多智能体控制仿真编译系统,本发明涉及多智能体控制仿真编译系统。本发明的目的是为了解决现有多智能控制系统仿真编译实验实现困难的问题。系统包括:算法列表页面平台、主系统页面平台、子系统页面平台;算法列表页面平台用于展示当前登录的用户已经设计的算法,用户点击算法列表页面平台上的新建/修改按钮进入到主系统页面平台,主系统页面平台包括自动设置通信单元功能模块、一键仿真功能模块、一键编译功能模块三个功能按钮;主系统页面平台提供表示智能体的单元,称为智能体单元;进入智能体单元内部,就进入子系统页面平台,在子系统页面平台提供用于智能体内部建模的功能单元。本发明用于控制科学与控制工程领域。
Description
技术领域
本发明涉及多智能体控制仿真编译系统。
背景技术
多智能体技术(multi-agent technology)的应用研究起源于20世纪80年代并在90年代中期获得了广泛的认可,发展至今,已然成为分布式人工智能(DistributedArtificial Intelligence)领域中的一个热点话题,其智能性主要体现在感知、规划、推理、学习以及决策等方面。多智能体控制系统的目标是让若干个具备简单智能且便于管理控制的系统能通过相互协作实现复杂智能,使得在降低系统建模复杂性的同时,提高系统的鲁棒性、可靠性、灵活性。目前,采用智能体技术的多智能体控制系统已经广泛应用于交通控制、智能电网、生产制造、无人机控制等众多领域。
由于上述原因,科研工作者经常要对建立的数学模型和设计的控制算法进行离线仿真和实时仿真来验证模型和算法的可行性和准确性。数学模型和控制算法的仿真的效果将直接决定在工程中的实际应用。目前,在控制领域对于系统的建模和仿真采用的是matlab软件,采用离线的matlab软件进行多智能体仿真过程十分繁琐,设计各个智能体之间的通信拓扑需要科研工作者高度集中注意力并注重细节。随着智能体个数的不断增加,通信拓扑越来越复杂,导致错误是不可避免的。此外,国内外的高校以及各大科研机构都极少对多智能体算法的实时仿真技术进行研究,实时仿真更贴近实际的工程情况,实时仿真对实际工程更具指导意义。因此,目前急需一种在线全自动多智能体控制系统仿真编译方法。
发明内容
本发明的目的是为了解决现有多智能控制系统仿真编译实验实现困难的问题,而提出一种在线全自动多智能体控制仿真编译系统。
一种在线全自动多智能体控制仿真编译系统包括:
算法列表页面平台、主系统页面平台、子系统页面平台;
算法列表页面平台用于展示当前登录的用户已经设计的算法,用户点击算法列表页面平台上的“新建/修改”按钮进入到主系统页面平台,主系统页面平台包括自动设置通信单元功能模块、一键仿真功能模块、一键编译功能模块三个功能按钮;
主系统页面平台提供表示智能体的单元,称为智能体单元;
在主系统页面平台,用单向箭头的连线表示两个智能体之间进行信息的交流;箭头连线起始端的智能体单元称为信号来源智能体单元,箭头连线指向端的智能体单元称为信号接收智能体单元;
双击智能体单元,会有一个弹窗,弹窗中显示智能体单元的属性:智能体的名字、智能体的IP、智能体的端口号、智能体的输入端口个数、智能体输出端口个数;
进入智能体单元内部,也就进入子系统页面平台,在子系统页面平台会提供用于智能体内部建模的功能单元;在子系统页面平台设计好算法以后,返回到主系统页面平台,然后按照相同的步骤对下一个智能体单元进行建模;
自动设置通信单元功能模块用于设置各个智能体单元之间进行数据传输所需要的通信单元,每一个智能体单元之间通信的通信单元会根据智能体单元的IP和端口信息唯一生成;当点击“自动设置通信功能模块”功能按钮时,会自动生成并设置每一个智能体单元所需要的通信单元;
渲染子系统页面功能模块用于当用户点击智能体单元进入智能体单元内部时,会在子系统页面自动渲染该智能体单元内部的算法框图;
一键仿真功能模块用于当用户将主系统页面平台中各个智能体单元通信拓扑设置好以及将智能体单元内部的算法框图搭建好时,用户将框图数据通过网络传输发送给后台的MATLAB服务器,得到离线仿真结果;
一键编译功能模块用于当用户将主系统页面平台中各个智能体单元通信拓扑设置好以及将智能体单元内部的算法框图搭建好时,用户将框图数据通过网络传输发送给后台的MATLAB服务器,然后自动下载到每一个智能体单元对应的IP地址的设备中进行实时仿真。
本发明的有益效果为:
1、本发明中是基于网页浏览器来实现在线仿真和编译实验,已经注册过的用户只需要登陆指定网站,就可以进行在线实验,减少了传统实验过程中需要安装各种专业软件的复杂过程,此外,后台管理员会提供一些专业的精密的实验设备供用户进行远程实验。这样使得各种昂贵精密的实验设备得到充分利用,提高了资源的利用率。
2、本发明中的只需要在网页上点击“设置通信模块”按钮,软件会自动将智能体单元用于信息交流的通信子单元添加智能体单元的内部,如果智能体单元的信息有误或者智能体单元之间的连线有误,网站会提示相应的错误方便修改,极大的简化了传统多智能体控制系统设计中通信子单元设置的流程。
3、本发明中对智能体内部进行建模时采用图形化编程,用户从菜单栏中拖拽所需要的功能单元,然后按照正确的逻辑连线。功能单元的设计模仿matlab软件,控制领域的用户学习成本几乎为0,保证用户可以快速使用该软件。
4、本发明用户搭建好多智能体控制系统的算法框图以后,只需点击网站页面的“一键仿真”功能按钮,就可以得到多智能体控制系统的离线仿真图,极大的简化了用户进行多系统离线仿真的步骤。
5、本发明中用户搭建好多智能体控制系统的算法框图以后,只需点击网站页面的“一键编译”功能按钮,网站自动将编译好的程序下载到控制器中进行实时编译,借助相应的监控软件可以实时监控算法的控制效果,弥补了传统多智能体控制系统设计时无法进行实时仿真的缺陷。
附图说明
图1为本发明系统框图;
图2为本发明自动设置通信功能模块工作流程图;
图3为本发明渲染子系统页面功能模块工作流程图;
图4为本发明一键仿真功能模块工作流程图;
图5为本发明一键编译功能模块工作流程图;
图6为系统的通信拓扑,system0,system1分别是智能体单元的标签,表示这个智能体单元的名称,也是对应的实验设备的名称,该实验中,一个智能手机叫system0,一个智能手机叫system1;
图7为system0的内部建模框图,Constant为输入信号为常值的功能单元;sum6为将两个信号进行加或减以后然后输出的功能单元;TransferFcn5为传递函数功能单元(传递函数是控制系统设计中的一个概念,指零初始条件下线性系统响应(即输出)量的拉普拉斯变换(或z变换)与激励(即输入)量的拉普拉斯变换之比);UDPSend3为通信发射子单元;fsystem1为通信接收子单元;
图8为system1的内部建模框图,scope为示波器功能单元,用于展示数据;TransferFcn为传递函数功能单元(传递函数是控制系统设计中的一个概念,指零初始条件下线性系统响应(即输出)量的拉普拉斯变换(或z变换)与激励(即输入)量的拉普拉斯变换之比);t system0为通信发射子单元;f system0:通信接收子单元;
图10为一键离线仿真曲线图;
图11为一键离线仿真数据图;
图12为本地matlab软件验证结果图;
图13为可执行程序正确下载图;
图14为输入信号为5时的实时仿真曲线图;
图15为输入信号为20时的实时仿真曲线图。
具体实施方式
具体实施方式一:本实施方式一种在线全自动多智能体控制仿真编译系统包括:
算法列表页面平台、主系统页面平台、子系统页面平台;
算法列表页面平台用于展示当前登录的用户已经设计的多智能体控制系统算法,用户点击算法列表页面平台上的“新建/修改”按钮进入到主系统页面平台,主系统页面平台包括“自动设置通信单元功能模块”、“一键仿真功能模块”、“一键编译功能模块”三个功能按钮;
主系统页面平台提供表示智能体的单元,称为智能体单元;
在主系统页面平台,用单向箭头的连线表示两个智能体之间进行信息的交流,也就是数据传输;箭头连线起始端的那个智能体单元称为信号来源智能体单元,箭头连线的指向端的那个智能体单元称为信号接收智能体单元;
双击智能体单元,会有一个弹窗,弹窗中显示智能体单元的属性:智能体的名字、智能体的IP、智能体的端口号、智能体的输入端口个数、智能体输出端口个数;(这些智能体单元的属性用户都可以自定义修改)
进入智能体单元内部,也就进入子系统页面平台,在子系统页面平台会提供大量用于智能体内部建模的功能单元,这些功能单元跟智能体单元的外观类似,属性不同;在子系统页面平台设计好算法以后,返回到主系统页面平台,然后按照相同的步骤对下一个智能体单元进行建模,至于有多少个智能体单元这个由用户自己决定的;
用户最先看到的是算法列表页面平台,该页面平台会展示每一条算法的部分信息,如:序号、算法名字、算法创建的时间、算法设计者的名字;用户可以点击算法列表页面平台上的“新建/修改”按钮进入到主系统页面平台,主系统页面平台包括“自动设置通信单元功能模块”、“一键仿真功能模块”、“一键编译功能模块”三个功能按钮;主系统页面平台会提供代表智能体(智能体是人工智能领域的一个概念,任何独立的能够思想并可以同环境交互的实体可以抽象为智能体)的图形单元,暂且称为智能体单元。
用户在主系统页面平台看到的是一个长方形,本发明中用一个长方形代表一个智能体单元。长方形有标签,即智能体单元的名字;双击智能体单元,会有一个弹窗,弹窗中显示智能体单元的属性:智能体的名字、智能体的IP、智能体的端口号、智能体的输入端口个数、智能体输出端口个数;智能体单元的属性都可以让用户自定义修改。
此外还有一个功能按钮,名称叫“进入子系统”,这个功能按钮的作用是进入这个智能体的内部,也就是子系统页面平台,在子系统页面平台会提供大量的用于设计算法的图形单元,这些单元跟智能体单元的外观类似,属性不同;在子系统页面平台设计好算法以后,返回到主系统页面平台,然后可以进行下一个智能体内部算法的设计,至于有多少个智能体这个是用户自己决定的。
自动设置通信单元功能模块用于设置各个智能体单元之间进行数据传输所需要的通信单元,每一个智能体单元之间通信的通信单元会根据智能体单元的IP和端口信息唯一生成;当点击“自动设置通信功能模块”功能按钮时,会自动生成并设置每一个智能体单元所需要的通信单元。
该软件要求在主系统页面上必须有两个或者两个以上智能体单元,才可以使用“自动设置通信单元”功能按钮、“一键仿真”功能按钮、“一键编译”功能按钮;
在前面介绍了智能体的概念以后,了解到智能体之间会进行通信,通信会用到通信单元;通信单元也是类似于智能体单元一样的一个带有属性的长方形;
智能体单元只要连线了,这个智能体单元的内部算法设计就会有一个通信单元,用户只要在主系统页面选择好智能体单元的数量,并且用箭头连线将智能体单元连接好,然后点击“自动设置通信单元功能模块”按钮,就可以自动的将各个智能体单元所需要的通信单元设计好,无需用户在智能体内部设计算法时手动添加通信单元;因为通信单元的参数的配置是很繁琐,且特别容易出错。自动设置通信功能模块就是完成这一部分的工作。
渲染子系统页面功能模块用于当用户点击智能体单元(点击的是智能体单元自己提供的一个功能按钮:“进入子系统”,每一个智能体单元都有这样一个属性功能按钮,点击这个按钮就会进入到智能体单元内部)进入智能体单元内部时,会在子系统页面自动渲染该智能体单元内部的算法框图;
一键仿真功能模块用于当用户将主系统页面平台中各个智能体单元通信拓扑设置好以及将智能体单元内部的算法框图搭建好时,用户将框图数据通过网络传输发送给后台的MATLAB服务器,得到离线仿真结果;
一键编译功能模块用于当用户将主系统页面平台中各个智能体单元通信拓扑设置好以及将智能体单元内部的算法框图搭建好时,用户将框图数据通过网络传输发送给后台的MATLAB服务器,然后自动下载到每一个智能体单元对应的IP地址的设备中进行实时仿真。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述算法列表页面平台包括(算法列表页面时展示的是一个表格,表格的每一行展示的是该用户已经搭建好的多智能体算法的名称,用户名,更新日期信息以及删除、修改功能按钮):
步骤一一、算法列表页面平台展示每一条算法的部分信息,如:序号、算法名字、算法创建的时间、算法设计者的名字;用户点击算法列表页面平台上的“新建/修改”按钮进入到主系统页面平台,主系统页面平台提供代表智能体(智能体是人工智能领域的一个概念,任何独立的能够思想并可以同环境交互的实体可以抽象为智能体)的单元,暂且称为智能体单元;主系统页面平台提供临时存储和数据库,临时存储一键仿真功能模块、一键编译功能模块和渲染子系统页面功能模块的数据;数据库存储算法列表页面平台、主系统页面平台、子系统页面平台的数据;
步骤一二、用户在主系统页面平台上可以按照需要拖拽智能体单元到页面上,点击智能体单元(是模仿MATLAB软件中的已有的模块自定义的一个模块,一个系统模块在该方法中代表一个智能体,该模块的有名称、IP、端口、输入端口个数、输出端口个数5个参数。)生成子系统页面平台;
该软件要求在主系统页面上必须有两个或者两个以上智能体单元,才可以使用“自动设置通信模块”功能按钮、“一键仿真”功能按钮、“一键编译”功能按钮;
步骤一三、在子系统页面平台提供大量的用于设计算法的图形单元,这个单元跟智能体单元的外观类似,属性不同;在子系统页面平台设计好算法以后,返回到主系统页面平台,然后进行下一个智能体内部算法的设计,至于有多少个智能体这个是用户自己决定的;
步骤一四、在主系统页面平台中点击保存返回算法列表页面平台。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述自动设置通信单元功能模块包括(只要连线了的智能体单元都会自动设置通信模块):
步骤二一、开始,判断智能体单元是否设置了通信拓扑(通信拓扑是由用户自己设置的),若是,执行步骤二二;若否,执行步骤二三;
步骤二二、在主系统页面平台,用带有箭头的连线表示两个智能体之间会进行通信,也就是数据传输;箭头的起始端的那个智能体单元称为信号来源智能体单元,箭头连线的指向端的那个智能体单元称为信号接收智能体单元;
获取所有连线信息(主系统页面上智能体单元之间的连线信息),判断是否为最后一条连线,若是,执行步骤二三;若否,执行步骤二四;
步骤二三、结束;
步骤二四、得到连线的来源智能体单元(主系统页面中,智能体单元之间会有连线连接起来,是一条有方向的连线,这条连线的起始的那个智能体单元成为来源模块),对来源智能体单元标识唯一ID,根据连线和来源智能体单元本身的信息,在该智能体单元内部设置通信发射子单元(传统的多系统仿真编译中需要用户自己新建通信模块(UDP发射模块是通信模块的一种),很繁琐,而且容易出错,本发明中这个过程通过代码可以实现一键设置),得到连线的接收智能体单元(接收智能体单元就是连线的终点那个智能体单元,有向线段箭头指向的那个智能体单元成为接收智能体单元),对接收智能体单元标识唯一ID,根据连线和智能体单元本身的信息,在该智能体单元内部设置通信接收子单元;
所述来源智能体单元本身的信息为智能体单元的IP、端口号;
智能体之间会进行通信,通信会用到通信单元;通信单元也是类似于智能体单元一样的一个带有属性的长方形;
智能体单元只要连线了,这个智能体单元的内部算法设计就会有一个通信单元,用户只要在主系统页面选择好智能体单元的数量,并且用箭头连线将智能体单元连接好,然后点击“自动设置通信模块”功能按钮,就可以自动的将各个智能体单元所需要的通信单元设计好,无需用户在智能体内部设计算法添加通信单元;因为通信单元的参数的配置是很繁琐,且特别容易出错。自动设置通信功能模块就是完成这一部分的工。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是,所述渲染子系统页面功能模块包括(每一个系统模块都对应一个多智能体子系统,用户通过点击智能体单元可以“进入”智能体单元内部,也就是子系统页面,渲染子系统重新渲染页面,下面的渲染子系统都是对这个页面上的数据进行修改):
步骤三一、开始;判断临时存储中是否存在该智能体单元内部框图数据,若是,执行步骤三二;若否,执行步骤三三(这个地方是因为子系统页面平台功能是会反复出现的,子系统页面平台会一直保存上一个智能体单元内部的数据,如果我们现在要渲染的这个智能体单元内部没有数据,就需要删除上一个智能体单元在子系统页面平台保留的数据,给用户展示一个空白的子系统页面平台,如果不进行删除操作,逻辑就会出现问题。);
步骤三二、读取该数据在子系统页面平台上渲染,执行步骤三四;
步骤三三、删除子系统页面平台(只要该子系统对应的算法框图数据发生改变就会重新渲染子系统页面)上的数据,执行步骤三四;
步骤三四、搭建渲染子系统算法框图(就是控制领域当中,用户设计算法的过程,专业名称叫simulink框图。是一个个不同的模块和连线组成的框图。本发明中本着让用户学习成本尽可能降低的原则,各个模块和simulink的中模块保持一致)(从页面的左侧菜单栏拖拽所需要的功能单元到页面的中央,然后按照正确的逻辑进行连线就可以完成搭建。功能单元:跟通信单元一样,是用一个带有标签的长方形表示的,每一个功能单元的属性各不相同,每一个功能单元都会实现一个特定的功能,如通信单元用于实现智能体单元的通信,示波器单元用于接收输出信号并展示该信号曲线。),结束。
“进入子系统”,这个功能按钮的作用是进入这个智能体的内部,也就是子系统页面,在子系统页面会提供大量的用于设计算法的图形单元,这个单元跟智能体单元的外观类似,属性不同;在子系统页面设计好算法以后,返回到主系统页面,然后可以进行下一个智能体内部算法的设计,至于有多少个智能体这个是用户自己决定的;
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述一键仿真功能模块包括
步骤四一、开始;从临时存储中获取所有智能体单元内部的框图数据(把每一个子系统“内部”的算法框图数据(用户自己设计的)提取当成一个数据单元,放到集合中,这个过程是结合第三方依赖自己用代码实现的,通过第三方提供的依赖库得到的)(框图数据就是前面所说的类似于simulink框图数据,包含各个模块信息、连线信息)集合;通过代码处理该框图数据集合,非通信模块集合,连线集合(代码实现的);
步骤四二、遍历通信模块集合,判断是否为最后一个通信发射(子)单元(自动设置通信单元就是设置通信接受(子)单元和通信发射(子)单元。自动设置通信功能模块是一个功能模块),若是,执行步骤四三;若否,执行步骤四四;
步骤四三、遍历连线集合是否为最后一根连线,若是,执行步骤四五;若否,执行步骤四六;
步骤四四、根据通信发射(子)单元的IP和端口找到对应的通信接受(子)单元(自动设置通信单元就是设置通信接受(子)单元和通信发射(子)单元。自动设置通信功能模块是一个功能模块),将通信发射(子)单元和通信接受(子)单元一一对应,放进拼接集合;执行步骤四二;
步骤四五、将非通信模块集合、网络延迟模块集合(提前写好的,程序会自动调用)和修改后的连线集合(这个修改后的连线集合是在步骤四一中得到连线信息的基础上进行修改,要将连接通信单元的连线信息删掉,将连接网络延迟单元集合、非通信单元集合的连线信息增加进去。)封装成用于仿真的数据;
发送给matlab服务器,等待仿真结果,结束;
步骤四六、判断连线是否从通信接受(子)单元发出,若否,执行步骤四三;若是,根据拼接集合找到对应的通信发射(子)单元,找到该发射模块对应的连线,将通信发射(子)单元和通信接受(子)单元替换成一个网络延迟模块的输入端口和一个输出端口;执行步骤四三;
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述一键编译功能模块包括
步骤五一、开始,从临时存储中获取所有智能体单元框图(每一个系统模块对应一个多智能子系统)(把每一个子系统“内部”的算法框图数据(用户自己设计的)提取当成一个数据单元,放到集合中,这个过程是结合第三方依赖自己用代码实现的)数据集合;
步骤五二、遍历该框图数据集合,判断是否为最后一个智能体单元(把每一个子系统的框图数据看成是一个单元存到集合中,这里所说的子系统其实就是集合中的一个数据单元),若是,结束;若否,执行步骤五三;
步骤五三、处理智能体单元(每一个系统模块对应一个子系统,这里说的子系统的原始数据是前面提到的集合中存储的数据单元,每一个数据单元里面包含很多数据,这些数据需要经过处理提取本发明中需要用到的信息)的原始数据,得到用于编译的数据,异步(是一种通信方式,现在的网站页面和后台服务器通信都采用的是这种通信方式,通信的双方不需要共同的时钟)发送给matlab服务器处理,执行步骤五二。
其它步骤及参数与具体实施方式一至五之一相同。
采用以下实施例验证本发明的有益效果:
实施例一:
本发明所述的一种在线全自动多系统仿真编译方法实施在多智能体算法设计的算法设计阶段:
1.登录网站,选择多智能体算法模块,新建算法名称。
2.在主系统页面平台中,从左侧拖拽系统模块,有几个智能体就拖拽几个智能体单元,双击智能体单元,设置智能体单元的相应属性,其中智能体单元的IP和端口必须唯一,该智能体单元将要和几个其他的智能体单元进行通信,可以通过设置输入输出端口个数来确定。
3.点击功能按钮“设置通信模块”,如果出现智能体单元属性设置错误,或者用户未设置各个智能体单元之间的通信拓扑,页面会提示出相应的错误,用户可以根据提示来进行修改。
4.双击智能体单元,点击弹窗中的“进入子系统页面平台”按钮进入各个智能体单元内部的算法设计页面平台,用户可以在这里模仿matlab软件进行智能体单元的建模和算法设计,此时,各个子系统页面平台都会提前设置好通信模块,用户无需修改这些通信模块的参数,直接使用就可以。
5.点击主系统页面平台,该子系统页面平台的框图将自动保存,用户可以进行下一个子系统页面平台框图的设计,所有的智能体单元内部算法都设计好以后,用户此时点击功能按钮“一键仿真”,得到离线仿真图,如果离线仿真满意,点击功能按钮“一键编译”,就可以将编译好的程序下载到提供的控制器中,借助其他的监控软件可以实时监控仿真效果。
实施例二:
实验过程中智能体的通信拓扑如图6所示,在主系统页面有两个智能体单元,名称是system0和system1,分别代表两个智能手机,两个手机之间存在信息的交互。图6为系统的通信拓扑,system0,system1分别是智能体单元的标签,表示这个智能体单元的名称,也是对应的实验设备的名称,该实验中,一个智能手机叫system0,一个智能手机叫system1;
其中手机system0的内部建模框图如图7,输入信号是一个常量,控制器的模型为:通过通信发射子单元(标签为UDPSend3)将输出信号发送给手机system1。该智能体还将通过接收子单元(标签为fsystem1)接受来自手机system1的负反馈信号。
手机system1的内部建模框图如图8,手机system1的模型为通过通信子单元(标签为fsystem0)接收来自手机system0的控制信号,智能体的输出信号会通过通信子单元(标签为t system0)发送给手机system0。两个手机通过网络信号传输形成闭环的负反馈。
图7为system0的内部建模框图,图中所有的长方形单元都表示功能单元。Constant:输入信号为常值的功能单元;sum6:将两个信号进行加或减以后然后输出的功能单元;TransferFcn5:传递函数功能单元(传递函数是控制系统设计中的一个概念,指零初始条件下线性系统响应(即输出)量的拉普拉斯变换(或z变换)与激励(即输入)量的拉普拉斯变换之比);UDPSend3:通信发射子单元;fsystem1:通信接收子单元;
图8为system1的内部建模框图,图中所有的长方形单元都表示功能单元。scope:示波器功能单元,用于展示数据;TransferFcn:传递函数功能单元(传递函数是控制系统设计中的一个概念,指零初始条件下线性系统响应(即输出)量的拉普拉斯变换(或z变换)与激励(即输入)量的拉普拉斯变换之比);t system0:通信发射子单元;f system0:通信接收子单元;
离线仿真
点击“开始仿真”功能按钮可以实现自动实现两个子系统的拼接,并且信号的发射和接收中间添加模拟网络延迟的延迟模块,拼接好后的框图如图9;
网络延迟设置为1ms,这个过程对于用户来说是透明的,用户点击以后只会得到仿真结果,如图10和图11;
为了验证整个多智能体仿真平台的准确性,实验过程中在本地的matlab软件中重新运行该仿真图,可以得到如下结果图12;
对比数据可以发现,从网站离线仿真结果和本地matlab软件进行的实验结果可以精确到小数点后两位。这样,可以保证软件运行的准确性。
实时仿真
点击“开始编译”功能按钮,该软件将根据提前设置好的IP地址将matlab服务器生成的可执行程序下载到对应的手机中去,在本次实验中,手机system0的IP是192.168.1.106,手机system1的IP是192.168.1.107。通过matlab服务器可以看到,可执行程序正确的下载到对应的手机中,如图13;
利用监控软件可以监控到可执行程序在手机中运行的结果,如图14;
如图14,当输入信号的常量值设置为5时,手机system1的输出信号值最终稳定在3.3333,系统的反应时间约为4秒;
当输入信号的常量值设置为20时,手机system1的输出信号值最终稳定在13.3333,系统的反应时间约为4秒。具体的仿真曲线图如图15;
综合上面分析,该软件可以准确的实现多智能体控制系统的离线仿真和实时仿真。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种在线全自动多智能体控制仿真编译系统,其特征在于:所述系统包括:
算法列表页面平台、主系统页面平台、子系统页面平台;
算法列表页面平台用于展示当前登录的用户已经设计的算法,用户点击算法列表页面平台上的新建/修改按钮进入到主系统页面平台,主系统页面平台包括自动设置通信单元功能模块、一键仿真功能模块、一键编译功能模块三个功能按钮;
主系统页面平台提供表示智能体的单元,称为智能体单元;
在主系统页面平台,用单向箭头的连线表示两个智能体之间进行信息的交流;箭头连线起始端的智能体单元称为信号来源智能体单元,箭头连线指向端的智能体单元称为信号接收智能体单元;
双击智能体单元,会有一个弹窗,弹窗中显示智能体单元的属性:智能体的名字、智能体的IP、智能体的端口号、智能体的输入端口个数、智能体输出端口个数;
进入智能体单元内部,也就进入子系统页面平台,在子系统页面平台会提供用于智能体内部建模的功能单元;在子系统页面平台设计好算法以后,返回到主系统页面平台,然后按照相同的步骤对下一个智能体单元进行建模;
自动设置通信单元功能模块用于设置各个智能体单元之间进行数据传输所需要的通信单元,每一个智能体单元之间通信的通信单元会根据智能体单元的IP和端口信息唯一生成;当点击“自动设置通信功能模块”功能按钮时,会自动生成并设置每一个智能体单元所需要的通信单元;
渲染子系统页面功能模块用于当用户点击智能体单元进入智能体单元内部时,会在子系统页面自动渲染该智能体单元内部的算法框图;
一键仿真功能模块用于当用户将主系统页面平台中各个智能体单元通信拓扑设置好以及将智能体单元内部的算法框图搭建好时,用户将框图数据通过网络传输发送给后台的MATLAB服务器,得到离线仿真结果;
一键编译功能模块用于当用户将主系统页面平台中各个智能体单元通信拓扑设置好以及将智能体单元内部的算法框图搭建好时,用户将框图数据通过网络传输发送给后台的MATLAB服务器,然后自动下载到每一个智能体单元对应的IP地址的设备中进行实时仿真。
2.根据权利要求1所述一种在线全自动多智能体控制仿真编译系统,其特征在于:所述算法列表页面平台用于:
算法列表页面平台展示每一条算法的信息:序号、算法名字、算法创建的时间、算法设计者的名字;用户点击算法列表页面平台上的新建/修改按钮进入到主系统页面平台,主系统页面平台提供代表智能体的单元,暂且称为智能体单元;主系统页面平台提供临时存储和数据库,临时存储一键仿真功能模块、一键编译功能模块和渲染子系统页面功能模块的数据;数据库存储算法列表页面平台、主系统页面平台、子系统页面平台的数据;
用户在主系统页面平台上可以按照需要拖拽智能体单元到页面上,点击智能体单元生成子系统页面平台;
在子系统页面平台提供用于设计算法的图形单元,在子系统页面平台设计好算法以后,返回到主系统页面平台,然后进行下一个智能体内部算法的设计;
在主系统页面平台中点击保存返回算法列表页面平台。
3.根据权利要求1或2所述一种在线全自动多智能体控制仿真编译系统,其特征在于:所述自动设置通信单元功能模块用于:
判断智能体单元是否设置了通信拓扑;
若是,在主系统页面平台,用带有箭头的连线表示两个智能体之间会进行通信,也就是数据传输;箭头起始端的智能体单元称为信号来源智能体单元,箭头连线指向端的智能体单元称为信号接收智能体单元;获取所有连线信息,判断是否为最后一条连线,若是,结束;若否,得到连线的来源智能体单元,对来源智能体单元标识唯一ID,根据连线和来源智能体单元本身的信息,在该智能体单元内部设置通信发射子单元,得到连线的接收智能体单元,对接收智能体单元标识唯一ID,根据连线和智能体单元本身的信息,在该智能体单元内部设置通信接收子单元;所述来源智能体单元本身的信息为智能体单元的IP、端口号;
若否,结束。
4.根据权利要求3所述一种在线全自动多智能体控制仿真编译系统,其特征在于:所述渲染子系统页面功能模块用于:
判断临时存储中是否存在该智能体单元内部框图数据,若是,读取该数据在子系统页面平台上渲染,搭建渲染子系统算法框图,结束;若否,删除子系统页面平台上的数据,搭建渲染子系统算法框图,结束。
5.根据权利要求4所述一种在线全自动多智能体控制仿真编译系统,其特征在于:所述一键仿真功能模块包括:
模块一用于从临时存储中获取所有智能体单元内部的框图数据集合;通过代码处理该框图数据集合,非通信模块集合,连线集合;
模块二用于遍历通信模块集合,判断是否为最后一个通信发射子单元,若是,执行模块三;若否,执行模块四;
模块三用于遍历连线集合是否为最后一根连线,若是,执行模块五;若否,执行模块六;
模块四用于根据通信发射子单元的IP和端口找到对应的通信接受子单元,将通信发射子单元和通信接受子单元一一对应,放进拼接集合;执行模块二;
模块五用于将非通信模块集合、网络延迟模块集合和修改后的连线集合封装成用于仿真的数据;
发送给matlab服务器,等待仿真结果,结束;
模块六用于判断连线是否从通信接受子单元发出,若否,执行模块三;若是,根据拼接集合找到对应的通信发射子单元,找到对应的通信发射子单元对应的连线,将通信发射子单元和通信接受子单元替换成一个网络延迟模块的输入端口和一个输出端口;执行模块三。
6.根据权利要求5所述一种在线全自动多智能体控制仿真编译系统,其特征在于:所述一键编译功能模块用于:
从临时存储中获取所有智能体单元框图数据集合;
遍历该框图数据集合,判断是否为最后一个智能体单元,若是,结束;若否,处理智能体单元的原始数据,得到用于编译的数据,异步发送给matlab服务器处理,遍历该框图数据集合,继续判断是否为最后一个智能体单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010444375.2A CN111694637B (zh) | 2020-05-22 | 2020-05-22 | 一种在线全自动多智能体控制仿真编译系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010444375.2A CN111694637B (zh) | 2020-05-22 | 2020-05-22 | 一种在线全自动多智能体控制仿真编译系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694637A CN111694637A (zh) | 2020-09-22 |
CN111694637B true CN111694637B (zh) | 2023-07-04 |
Family
ID=72477435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010444375.2A Active CN111694637B (zh) | 2020-05-22 | 2020-05-22 | 一种在线全自动多智能体控制仿真编译系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694637B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535154A (zh) * | 2021-07-16 | 2021-10-22 | 麦克方程(北京)科技有限责任公司 | 无代码编程方法及装置、电子设备、可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534343A (zh) * | 2016-12-07 | 2017-03-22 | 南京思德展示科技股份有限公司 | 展馆云端控制系统 |
CN107968816A (zh) * | 2017-11-13 | 2018-04-27 | 国云科技股份有限公司 | 一种利用移动终端搭建云平台的方法 |
CN109100954A (zh) * | 2018-08-06 | 2018-12-28 | 大连理工大学 | 一种控制器硬件在环仿真平台建立方法 |
CN109858111A (zh) * | 2019-01-15 | 2019-06-07 | 天津大学 | Rlv虚拟仿真平台设计及实现方法 |
-
2020
- 2020-05-22 CN CN202010444375.2A patent/CN111694637B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534343A (zh) * | 2016-12-07 | 2017-03-22 | 南京思德展示科技股份有限公司 | 展馆云端控制系统 |
CN107968816A (zh) * | 2017-11-13 | 2018-04-27 | 国云科技股份有限公司 | 一种利用移动终端搭建云平台的方法 |
CN109100954A (zh) * | 2018-08-06 | 2018-12-28 | 大连理工大学 | 一种控制器硬件在环仿真平台建立方法 |
CN109858111A (zh) * | 2019-01-15 | 2019-06-07 | 天津大学 | Rlv虚拟仿真平台设计及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111694637A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543144B (zh) | 图形化编程控制机器人的方法及系统 | |
CN103513992B (zh) | 一种通用的教育娱乐机器人应用软件研制平台 | |
US8832579B2 (en) | System for creation and management of industrial automation and information solutions and services | |
US6931622B1 (en) | System and method for creating a performance tool and a performance tool yield | |
CN106022007B (zh) | 面向生物组学大数据计算的云平台系统及方法 | |
CN111126781A (zh) | Rpa业务流程的创建方法及系统 | |
CN113836754A (zh) | 面向多智能体仿真建模的仿真方法、装置、设备和介质 | |
CN105930344B (zh) | 一种基于产品研制流程的数据库应用系统快速开发平台 | |
CN106021816A (zh) | 一种基于行为树的分布式系统行为仿真分析工具的实现方法 | |
CN110162464A (zh) | Mcok测试方法及系统、电子设备及可读存储介质 | |
CN112433702B (zh) | 一种轻量级流程设计系统及方法 | |
CN112231663A (zh) | 结合rpa和ai的数据采集方法、装置、设备及存储介质 | |
CN109376430A (zh) | 装配式建筑施工管理方法 | |
CN111694637B (zh) | 一种在线全自动多智能体控制仿真编译系统 | |
CN112364506B (zh) | 一种基于模型数据驱动的系统拓扑链路的仿真计算方法 | |
WO2023004806A1 (zh) | Ai模型的设备部署方法、系统及存储介质 | |
CN109840201B (zh) | Ui测试方法、装置、电子设备及计算机可读存储介质 | |
CN111104181A (zh) | 一种可视化编辑任务流程的网页数据填报系统 | |
CN113505054B (zh) | 一种无人机控制站的网络数据静态测试系统和测试方法 | |
US10102110B1 (en) | Simulation process for interface behavior | |
CN104834285A (zh) | 对角递归神经网络控制器在多平台中的实现方法 | |
CN113220561A (zh) | 一种测试用例管理方法、装置、设备及介质 | |
CN114466259B (zh) | 一种物联网关的数据处理方法、装置、设备及物联网关 | |
CN114063868A (zh) | 一种ai拖拽建模系统、方法、计算机设备及应用 | |
CN114579120A (zh) | 一种应用代码处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |