CN111679908A - 结合协同控制的机器人软件模块间资源调度方法 - Google Patents
结合协同控制的机器人软件模块间资源调度方法 Download PDFInfo
- Publication number
- CN111679908A CN111679908A CN202010408598.3A CN202010408598A CN111679908A CN 111679908 A CN111679908 A CN 111679908A CN 202010408598 A CN202010408598 A CN 202010408598A CN 111679908 A CN111679908 A CN 111679908A
- Authority
- CN
- China
- Prior art keywords
- resource
- functional module
- module
- resources
- robot
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000001360 synchronised effect Effects 0.000 abstract 3
- 230000006870 function Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 238000007689 inspection Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Feedback Control In General (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种结合协同控制的机器人软件模块间资源调度方法,包括将整体软件系统划分为多个工作互相独立的模块,并记录各模块的资源占用、机器人对该模块的需求度等信息;考虑模块的资源占用,以及当前机器人工作状态对其的需求度等,利用单纯形法进行初次资源调度;计算各模块内的资源调整误差,并对该误差设计模块间的同步结构,设计同步补偿率,将得到的同步补偿律附加在初次资源调度结果中,得到对各模块最终的资源调度结果。本发明结合了控制工程中的控制理论,利用反馈保证系统调节的精度,并合理控制软件系统对计算环境资源的占用,保障机器人的工作性能。
Description
技术领域
本发明属于软件工程领域,具体为一种结合协同控制的机器人软件模块间资源调度方法。
背景技术
软件自适应即软件在运行期间,通过一些可观测的性能或非性能指标,在一定自定义的适应框架下,可以感知需求变化或者环境变化,并通过自身的配置、逻辑等可控量来调整整个软件系统的行为,从而达到在复杂多变的客户需求与计算环境中,维持整个软件系统的功能或非功能指标在一个符合设计者期望的水平。目前,对软件自适应技术的需求领域主要是一些存在计算环境发生大幅变化可能,且需要软件系统能保证较为鲁棒的应对能力的场景,例如,对于购物网站,人流可能在某个时间段逐渐增多,但是又应该确保整个网站的工作性能,不能崩溃,这就需要软件系统在设计时为其提供自适应方案;对于一些工作机器人,计算环境的改变包括能源限制、网络质量等不应该导致机器人的异常状态,这也就需要软件系统在感知到工作环境变化后,及时调整机器人的工作方式。
一般在使用单纯形法等动态规划进行资源调度时,仅仅考虑了理想情况下的软件系统状态,即认为资源调度决策下发后,软件系统的下层各个模块将同时调节到指定资源占用。然而由于不同软件模块内部工作逻辑不同,可调节配置参数存在差异,很难做到天然的整齐划一。因此在资源调度决策下发的短时间内,由于软件模块调整速率的差异,可能产生意外的超调等现象。若此时软件系统处于临界状态,则由于该意外超调,可能会直接引发系统崩溃等危害,不利于软件系统的自适应调整。
发明内容
本发明的目的在于提供一种结合协同控制的机器人软件模块间资源调度方法。
实现本发明目的的技术方案为:一种结合协同控制的机器人软件模块间资源调度方法,包括以下步骤:
步骤1、根据功能分布将软件系统划分为工作相互独立的功能模块,并确定各模块的计算环境资源、机器人对该模块的需求度;
步骤2、根据划分的功能模块,以及得到的计算环境资源与需求度,确定资源调度器为每一个功能模块初分配的资源量,通过资源调度器将软件系统的总许用资源分配至每一个功能模块;
步骤3、根据为每个功能模块初分配的资源量,以及当前每个功能模块的实际资源占用量,设计协同补偿器,将协同补偿器输出的协同补偿量附加至初分配的资源量上,得到为每个功能模块最终分配的资源量;
步骤4、重复进行步骤2、步骤3,使得整个软件系统的资源占用符合许用资源预期。
优选地,各模块的计算环境资源的确定方法为:
分别运行单一功能模块,记录每一个功能模块正常工作时需要消耗的计算环境资源。
优选地,定资源调度器为每一个功能模块初分配的资源量的具体方法为:
步骤2-1、构建如下单纯形表:
Min Z=c1x1+c2x2+c3x3+c4x4+c5x5
步骤2-2、对单纯形表引入人工变量得如下变式:
Min Z=c1x1+c2x2+c3x3+c4x4+c5x5+0x6+0x7+0x8
式中,ci表示机器人对第i个功能模块的需求度,aji表示第i个功能模块对第j种计算环境资源的额定消耗量,bj表示第j种计算环境资源的总许用量,xi表示资源调度器对第i个功能模块的初分配结果;
利用单纯形法对引入人工变量的单纯形表进行迭代求解,得到在当前软件系统总许用资源的限制下,资源调度器为每一个功能模块初分配的资源量xi。
优选地,设计协同补偿器,将协同补偿器输出的协同补偿量附加至初分配的资源量上,得到为每个功能模块最终分配的资源量的具体方法为:
步骤3-1、根据为每个功能模块初分配的资源量,以及当前每个功能模块的实际资源占用量确定每个功能模块的资源占用调节差,具体为:
步骤3-2、根据得到的调节差,确定第i个功能模块对第j种资源占用的协同误差ξij为:
步骤3-3、根据步骤3-2得到的每个功能模块的协同误差,设计模块内补偿律为:
Compensateij=-kijξijsgn(eij)
其中,kij为可调参数,Compensateij表示第i个功能模块对第j种资源占用的协同补偿量;
本发明与现有技术相比,其显著优点为:1)本发明更多的结合了控制工程中的控制理论,利用反馈保证系统调节的精度,并合理控制软件系统对计算环境资源的占用,保障机器人的工作性能;2)本发明通过引入控制理论的知识得到了适用于当前巡检机器人后台主控软件系统的软件自适应设计,体现了将控制理论应用于软件行为调整的有效性;3)本发明设计简单,方便应用于实际系统中。
附图说明
图1为资源控制与分配设计框架图。
图2为单纯形法计算流程图。
图3为协同补偿器设计框图。
图4为实施例中软件功能模块划分。
图5为实施例中结合协同控制的机器人软件模块间资源调度的MATLAB仿真结构。
图6为实施例中基于协同控制下的软件自适应演化模拟实验结果图。
具体实施方式
如图1~3所示,一种结合协同控制的机器人软件模块间资源调度方法,包括以下步骤:
步骤1、根据功能分布将软件系统划分为多个工作相互独立的功能模块,并确定各模块的计算环境资源、机器人对该模块的需求度等信息;
在某些实施例中,根据软件系统的功能需求,结合多线程设计方法,在软件系统中采用多个软件功能模块并行工作的编程方式,各功能模块间只存在数据通讯,互相不影响工作状态。每一个模块可以看作为一个原子整体,通过消耗一定的资源来提供相应服务。
在某些实施例中,通过分别运行单一功能模块的方式,记录每一个功能模块正常工作时需要消耗的计算环境资源(如CPU占用、内存占用等)。同时,结合实际机器人工作中的使用经验,确定机器人工作时对每个功能模块的需求度。
步骤2、根据步骤1中划分的功能模块,以及得到的计算环境资源与需求度,确定资源调度器为每一个功能模块初分配的资源量,通过资源调度器将软件系统的总许用资源分配至每一个功能模块。
进一步的实施例中,具体方法为:
结合单纯形法,设计资源调度器。令ci表示机器人对第i个功能模块的需求度,aji表示第i个功能模块对第j种计算环境资源的额定消耗量,bj表示第j种计算环境资源的总许用量,xi表示资源调度器对第i个功能模块的初分配结果,构建如下单纯形表:
Min Z=c1x1+c2x2+c3x3+c4x4+c5x5
对上式引入人工变量得如下变式:
Min Z=c1x1+c2x2+c3x3+c4x4+c5x5+0x6+0x7+0x8
由于加入的人工变量对目标函数没有贡献,所以不会影响到最后的最优解规划结果。利用单纯形法对上式进行迭代求解,可以得到在当前软件系统总许用资源的限制下,资源调度器为每一个功能模块初分配的资源量xi。
步骤3、根据步骤2得到的为每个功能模块初分配的资源量,以及当前每个功能模块的实际资源占用量,设计协同补偿器,将补偿器输出的协同补偿量附加至初分配的资源量上,得到为每个功能模块最终分配的资源量,如图3所示。从而有效的改善了由于不同功能模块内部调节速率不同而导致的局部资源占用异常情况。
进一步的实施例中,具体方法为:
其中,eij为第i个功能模块内部对第j种资源占用调节差。
步骤3-2、根据步骤3-1得到的调节差,确定第i个功能模块对第j种资源占用的协同误差ξij为:
步骤3-3、根据步骤3-2得到每个功能模块的协同误差,进一步设计模块内补偿律为:
Compensateij=-kijξijsgn(eij)
步骤4、重复进行步骤2、步骤3,使得整个软件系统的资源占用符合许用资源预期。
下面结合实施例对本发明作进一步详细的描述。
实施例
对于已有的巡检机器人人机交互后台软件,主要功能是为操作者提供对于巡检机器人的行为控制以及对于巡检工作的数据处理工作,根据设计要求与企业级软件开发规范,该后台软件体量较大,根据软件逻辑可以将该软件架构用图4表示。
对于上述软件,本文发明一种结合协同控制的机器人软件模块间资源调度方法,包括以下步骤:
步骤1、针对该巡检机器人后台主控软件系统,由于其内部功能模块较多、逻辑复杂,显然很难将其看作一个整体进行建模控制,因此需要将整个机器人后台主控软件系统分为独立工作的多个功能模块,采用主从两级控制进行整体资源调节,模块如图4中红框所示。
步骤2、对于划分得到的各个模块,假设各个模块内部可以进行自我调节,使得模块在动态运行时的实际资源占用符合期望资源占用要求。进一步在该基础上,实验求得各个构件正常工作下的资源占用,如表1所示:
表1 各功能模块工作信息
针对本发明设计的巡检机器人软件系统,可以认为视频监控是对网络带宽资源的主要占用模块,而其他模块对网络带宽资源的占用可以忽略,因此对于网络带宽资源的调控主要放在视频监控模块内部进行调整,不通过外部的资源调度控制回路。
结合上表使用单纯形法对系统进行资源分配。由于模块间已经具有了资源调度的能力,因此可以将所有模块作为一个被控目标,对该被控目标设计一级控制器,使得整个软件系统在运行中实际资源占用符合当前计算环境的许用资源要求。
步骤3、在使用单纯形法进行资源调度时,仅考虑了理想情况下的软件系统状态,即认为资源调度决策下发后,软件系统的下层各个模块将同时调节到指定资源占用。然而由于不同软件模块内部工作逻辑不同,可调节配置参数存在差异,很难做到天然的整齐划一。因此在资源调度决策下发的短时间内,由于软件模块调整速率的差异,可能产生意外的超调等现象。
考虑上述情况,结合控制理论的方法,除了利用单纯形法根据最优需求度进行资源分配调度外,为每个模块额外添加补偿量。由于该协同设计的目标是对各个软件模块的内部自我调整进度进行同步,而不是对其输出量进行同步,因此选择各个软件模块的实时内部调节误差作为补偿器输入,将补偿量添加至为每个软件模块分配的资源中。
在MATLAB仿真环境下,系统的仿真结构如图5,基于协同控制下的软件自适应演化模拟实验结果如图6。由实验结果可知,相比加入协同控制前,软件系统各个模块间可以互相作用,协调各自的软件行为调节过程,使得软件系统在自适应演变中,避免了因模块调节速率不同导致的局部异常。
本发明针对模块间资源调整出现的局部异常现象,设计了基于协同控制的资源调度方法,利用反馈保证系统调节的精度,从而合理控制软件系统对计算环境资源的占用,保障巡检机器人的工作性能。通过仿真模拟,有效去除了局部异常,得到了适用于当前巡检机器人后台主控软件系统的软件自适应设计,体现了将控制理论应用于软件行为调整的有效性。
Claims (4)
1.一种结合协同控制的机器人软件模块间资源调度方法,其特征在于,包括以下步骤:
步骤1、根据功能分布将软件系统划分为工作相互独立的功能模块,并确定各模块的计算环境资源、机器人对该模块的需求度;
步骤2、根据划分的功能模块,以及得到的计算环境资源与需求度,确定资源调度器为每一个功能模块初分配的资源量,通过资源调度器将软件系统的总许用资源分配至每一个功能模块;
步骤3、根据为每个功能模块初分配的资源量,以及当前每个功能模块的实际资源占用量,设计协同补偿器,将协同补偿器输出的协同补偿量附加至初分配的资源量上,得到为每个功能模块最终分配的资源量;
步骤4、重复进行步骤2、步骤3,使得整个软件系统的资源占用符合许用资源预期。
2.根据权利要求1所述的结合协同控制的机器人软件模块间资源调度方法,其特征在于,各模块的计算环境资源的确定方法为:
分别运行单一功能模块,记录每一个功能模块正常工作时需要消耗的计算环境资源。
3.根据权利要求1所述的结合协同控制的机器人软件模块间资源调度方法,其特征在于,定资源调度器为每一个功能模块初分配的资源量的具体方法为:
步骤2-1、构建如下单纯形表:
Min Z=c1x1+c2x2+c3x3+c4x4+c5x5
步骤2-2、对单纯形表引入人工变量得如下变式:
Min Z=c1x1+c2x2+c3x3+c4x4+c5x5+0x6+0x7+0x8
式中,ci表示机器人对第i个功能模块的需求度,aji表示第i个功能模块对第j种计算环境资源的额定消耗量,bj表示第j种计算环境资源的总许用量,xi表示资源调度器对第i个功能模块的初分配结果;
利用单纯形法对引入人工变量的单纯形表进行迭代求解,得到在当前软件系统总许用资源的限制下,资源调度器为每一个功能模块初分配的资源量xi。
4.根据权利要求1所述的结合协同控制的机器人软件模块间资源调度方法,其特征在于,设计协同补偿器,将协同补偿器输出的协同补偿量附加至初分配的资源量上,得到为每个功能模块最终分配的资源量的具体方法为:
步骤3-1、根据为每个功能模块初分配的资源量,以及当前每个功能模块的实际资源占用量确定每个功能模块的资源占用调节差,具体为:
eij=x′i-ajixi
其中,eij为第i个功能模块内部对第j种资源占用调节差,x′i表示第i个功能模块当前的实际资源占用量;
步骤3-2、根据得到的调节差,确定第i个功能模块对第j种资源占用的协同误差ξij为:
步骤3-3、根据步骤3-2得到的每个功能模块的协同误差,设计模块内补偿律为:
Compensateij=-kijξijsgn(eij)
其中,kij为可调参数,Compensateij表示第i个功能模块对第j种资源占用的协同补偿量;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010408598.3A CN111679908B (zh) | 2020-05-14 | 2020-05-14 | 结合协同控制的机器人软件模块间资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010408598.3A CN111679908B (zh) | 2020-05-14 | 2020-05-14 | 结合协同控制的机器人软件模块间资源调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111679908A true CN111679908A (zh) | 2020-09-18 |
CN111679908B CN111679908B (zh) | 2022-09-27 |
Family
ID=72452053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010408598.3A Active CN111679908B (zh) | 2020-05-14 | 2020-05-14 | 结合协同控制的机器人软件模块间资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111679908B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298324A (zh) * | 2011-06-21 | 2011-12-28 | 东华大学 | 一种协同智能精准容错控制器及方法 |
CN111103797A (zh) * | 2019-12-09 | 2020-05-05 | 南京理工大学 | 基于多变量控制的软件行为调节方法 |
-
2020
- 2020-05-14 CN CN202010408598.3A patent/CN111679908B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298324A (zh) * | 2011-06-21 | 2011-12-28 | 东华大学 | 一种协同智能精准容错控制器及方法 |
CN111103797A (zh) * | 2019-12-09 | 2020-05-05 | 南京理工大学 | 基于多变量控制的软件行为调节方法 |
Non-Patent Citations (1)
Title |
---|
胡楠等: "配电房轨道式自动巡检机器人控制系统设计与实现", 《计算机测量与控制》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111679908B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10852716B2 (en) | Secure models for model-based control and optimization | |
Mallada et al. | Optimal load-side control for frequency regulation in smart grids | |
Du et al. | Distributed MPC for coordinated energy efficiency utilization in microgrid systems | |
Morales-España et al. | Power-capacity and ramp-capability reserves for wind integration in power-based UC | |
CN113285457B (zh) | 非理想通信下区域电力系统的分布式经济调度方法及系统 | |
US20120066686A1 (en) | Demand response system incorporating a graphical processing unit | |
CN104991830A (zh) | 基于服务等级协议的yarn资源分配和节能调度方法及系统 | |
Nesmachnow et al. | Holistic multiobjective planning of datacenters powered by renewable energy | |
Kim et al. | Dynamic programming for scalable just-in-time economic dispatch with non-convex constraints and anytime participation | |
Cominesi et al. | Two-layer predictive control of a micro-grid including stochastic energy sources | |
Cominesi et al. | A multi-layer control scheme for microgrid energy management | |
Doan et al. | A dual decomposition-based optimization method with guaranteed primal feasibility for hierarchical MPC problems | |
Zhang et al. | Data center participation in demand response programs with quality-of-service guarantees | |
CN113225994B (zh) | 一种面向数据中心的智能空调控制方法 | |
CN116627237B (zh) | 一种基于芯粒Chiplet的电源管理芯片架构系统 | |
CN111679908B (zh) | 结合协同控制的机器人软件模块间资源调度方法 | |
Ulus | On discrete time infinite horizon optimal growth problem | |
Ghaemi et al. | Optimal flexibility control of large-scale distributed heterogeneous loads in the power grid | |
CN108808742A (zh) | 考虑主动配电网接入面向输电阻塞的风险调度方法及系统 | |
CN115115276A (zh) | 考虑不确定性和隐私保护的虚拟电厂调度方法及系统 | |
Maldonado et al. | Optimum frequency response with decentralized drivers in power system | |
CN115238943A (zh) | 一种主动配电网规划方法及系统 | |
Arima et al. | Simultaneous assignments of multiple types of production resources in semiconductor manufacturing | |
Aravena et al. | A distributed computing architecture for the large-scale integration of renewable energy and distributed resources in smart grids | |
CN111176835B (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 |