CN113311705B - 针对机器鱼的高阶迭代自学习控制方法、装置及存储介质 - Google Patents
针对机器鱼的高阶迭代自学习控制方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113311705B CN113311705B CN202110545908.0A CN202110545908A CN113311705B CN 113311705 B CN113311705 B CN 113311705B CN 202110545908 A CN202110545908 A CN 202110545908A CN 113311705 B CN113311705 B CN 113311705B
- Authority
- CN
- China
- Prior art keywords
- control gain
- control
- target
- tracking error
- input thrust
- 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
- 241000251468 Actinopterygii Species 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 17
- 230000035772 mutation Effects 0.000 claims description 9
- 230000014759 maintenance of location Effects 0.000 claims 1
- 230000009182 swimming Effects 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013178 mathematical model Methods 0.000 description 8
- 238000005183 dynamical system Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005021 gait Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003592 biomimetic effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005312 nonlinear dynamic Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101150015099 CHIA1 gene Proteins 0.000 description 1
- 101100406879 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) par-2 gene Proteins 0.000 description 1
- 101100361282 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rpm1 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 101150014959 chi1 gene Proteins 0.000 description 1
- 101150071577 chi2 gene Proteins 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/04—Control of altitude or depth
- G05D1/06—Rate of change of altitude or depth
- G05D1/0692—Rate of change of altitude or depth specially adapted for under-water vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40499—Reinforcement learning algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Automation & Control Theory (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Physiology (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
本发明涉及人工智能技术领域,公开了针对机器鱼的高阶迭代自学习控制方法、装置及存储介质;该控制方法通过对控制增益集合中的控制增益元素进行择优迭代计算,得到目标控制增益;并根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,再根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度。本发明实现了机器鱼在整个操作空间内游速的完全跟踪和快速收敛。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及针对机器鱼的高阶迭代自学习控制方法、装置及存储介质。
背景技术
目前,自主式水下机器人在海洋探测、科学研究和商业任务中应用广泛。在各种水下机器人中,鱼形机器人(即机器鱼)以其高效率、高机动性、低噪声等优点最具应用潜力。尽管在鱼类游泳的推进机制、执行器和机械结构方面已取得了一些成果,但这些成果还不足以开发出一种能够像真鱼那样在非结构化环境中自由游泳的自主机器鱼。其中一个主要的挑战在于机器鱼运动控制的难度。
以往对机器鱼运动控制的研究主要集中在两个方面:1)在机器鱼中产生类鱼的游动步态;2)驱动机器鱼实现期望的运动。前者探索机器鱼驱动部件的协调运动,后者则侧重于控制机器鱼全身的运动。从控制论的角度来看,游泳步态生成的方法可以分为基于运动学的方法和基于仿生的方法。基于运动学的方法旨在通过旋转关节连接的离散机械多连杆模仿鱼的身体运动,而仿生方法采用中心模式发生器将鱼的波动身体运动转化为机器鱼关节运动。虽然游动步态生成方法可以用来生成机器鱼的类鱼游动,但是这些方法都是开环的,不能帮助机器鱼实现所期望的运动。
为了控制机器鱼实现期望的运动,学者们提出了PID控制、模糊逻辑控制、滑模控制等方法,但这些传统控制方法有两个缺点:1)需要知道系统精确的数学模型;2)只能在时域内实现渐近误差收敛;3)跟踪误差收敛速度慢。在实践中,许多应用可能需要机器鱼沿着预先指定的速度轨迹游动并重复执行任务。例如,在两个码头之间利用机器鱼进行往复运输,并且要求机器鱼以预定的速度轨迹游动;机器鱼与水下支柱的交会对接,机器鱼必须以给定的速度轨迹运动;利用机器鱼进行管道清洗或管道泄漏检测;这些系统都可以用具有重复运动性质的动态系统来代表。
发明内容
本发明提供一种针对机器鱼的高阶迭代自学习控制方法、装置及存储介质,实现了机器鱼在整个操作区间内游速的完全跟踪和快速收敛。
本发明一实施例提供一种针对机器鱼的高阶迭代自学习控制方法,包括:
构建第一控制增益集合,所述第一控制增益集合包括N个控制增益元素,每个所述控制增益元素包括M个控制增益以及每个控制增益元素各自对应的一个元素适应度;M和N均为正整数;
对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,并将所述目标控制增益集合中适应度最高的控制增益元素中的M个控制增益作为目标控制增益进行输出;
根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,并根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度;所述第一控制输入推力的初始值为预设值,所述第一跟踪误差根据摆动速度和期望速度计算得到。
进一步的,每个所述控制增益元素各自对应的一个适应度是根据所述控制增益和所述第一跟踪误差计算而获得,具体为:
获取待计算的控制增益元素;
根据所述待计算的控制增益元素中M个控制增益和第一跟踪误差计算得到第二控制输入推力;
根据所述第二控制输入推力控制所述机器鱼进行摆动,以获得摆动速度,根据所述摆动速度和期望速度的差值得到第二跟踪误差的绝对值之和;
根据预设的第一阈值和所述第二跟踪误差的绝对值之和的差值得到所述待计算的控制增益元素的适应度。
进一步的,对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,具体包括:
对所述第一控制增益集合进行扩充:依次对所述第一控制增益集合中的控制增益元素进行判断,选择出满足第一预设条件的控制增益元素,并对所述满足预设条件的控制增益元素进行交叉算子和变异算子计算,获得用于扩充所述第一控制增益集合的多个新的控制增益元素,并将所述多个新的控制增益元素添加到所述第一控制增益集合;
对所述第一控制增益集合进行择优保留:根据第二预设条件对扩充后的第一控制增益集合中的所有控制增益元素进行择优保留,得到优化后的第一控制增益集合,直到迭代次数满足预设第二阈值,将所述第一控制增益集合作为目标控制增益集合进行输出。
进一步的,根据第二预设条件对扩充后的第一控制增益集合中的所有控制增益元素进行择优保留,得到优化后的第一控制增益集合,具体为:
根据轮盘赌策略和精英保留策略对所述扩充后的第一控制增益集合中的控制增益元素进行选择,得到优化后的第一控制增益集合。
进一步的,根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,具体为:
根据所述目标控制增益、所述第一控制输入推力和所述第一跟踪误差,迭代计算目标控制输入推力,每次迭代计算均根据当前的目标控制输入推力控制所述机器鱼进行摆动,继而获得目标跟踪误差,并根据当前的目标跟踪误差和目标控制输入推力更新所述第一控制输入推力和所述第一跟踪误差,直到所述目标跟踪误差满足预设的指标条件时,输出当前的目标控制输入推力。
进一步的,根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度,具体为根据目标控制输入推力序列控制机器鱼进行摆动,以获得期望速度序列,继而实现期望运动轨迹。
本发明另一实施例提供了机器鱼的高阶迭代自学习控制装置,包括:控制增益初始化模块、目标控制增益计算模块和目标控制输入推力计算模块;
其中,所述控制增益初始化模块用于构建第一控制增益集合,所述第一控制增益集合包括N个控制增益元素,每个所述控制增益元素包括M个控制增益以及每个控制增益元素各自对应的一个元素适应度;M和N均为正整数;
所述目标控制增益计算模块用于对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,并将所述目标控制增益集合中适应度最高的控制增益元素中的M个控制增益作为目标控制增益进行输出;
所述目标控制输入推力计算模块用于根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,并根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度;所述第一控制输入推力的初始值为预设值,所述第一跟踪误差根据摆动速度和期望速度计算得到。
进一步的,所述控制增益初始化模块中,每个所述控制增益元素各自对应的一个适应度是根据所述控制增益和所述第一跟踪误差计算而获得,具体为:
获取待计算的控制增益元素;
根据所述待计算的控制增益元素中M个控制增益和第一跟踪误差计算得到第二控制输入推力;
根据所述第二控制输入推力控制所述机器鱼进行摆动,以获得摆动速度,根据所述摆动速度和期望速度的差值得到第二跟踪误差的绝对值之和;
根据预设的第一阈值和所述第二跟踪误差的绝对值之和的差值得到所述待计算的控制增益元素的适应度。
进一步的,在目标控制增益计算模块,对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,具体包括:
对所述第一控制增益集合进行扩充:依次对所述第一控制增益集合中的控制增益元素进行判断,选择出满足第一预设条件的控制增益元素,并对所述满足预设条件的控制增益元素进行交叉算子和变异算子计算,获得用于扩充所述第一控制增益集合的多个新的控制增益元素,并将所述新的控制增益元素添加到所述第一控制增益集合;
对所述第一控制增益集合进行择优保留:根据第二预设条件对扩充后的第一控制增益集合中的所有控制增益元素进行择优保留,得到优化后的第一控制增益集合,直到迭代次数满足预设第二阈值,将所述第一控制增益集合作为目标控制增益集合进行输出。
本发明另一实施例提供了一种可读存储介质,所述可读存储介质包括存储的计算机程序,所述计算机程序执行时,控制所述可读存储介质所在的设备执行本发明任意一项方法项实施例所述的针对机器鱼的高阶迭代自学习控制方法。
本发明的实施例,具有如下有益效果:
本发明提供了一种针对机器鱼的高阶迭代自学习控制方法、装置及存储介质,该控制方法通过构建第一控制增益集合,并对第一控制增益集合中的控制增益进行择优迭代,不断地优化第一控制增益集合中的控制增益,并根据适应度的高低挑选出目标控制增益,并根据所述目标控制增益和跟踪误差进行高阶迭代不断地优化机器鱼的控制输入推力,最终得到目标控制输入推力,机器鱼根据目标控制输入推力进行摆动,获得期望游速,继而实现期望的运动轨迹;本技术方案的关键在于机器鱼根据所述目标控制增益和跟踪误差对控制输入推力的高阶迭代计算实现了控制机器鱼在整个操作空间内游速的完全跟踪和快速收敛。
附图说明
图1是本发明一实施例提供的机器鱼的控制方法的流程示意图;
图2是本发明一实施例提供的机器鱼的控制装置的结构示意图;
图3是本发明一实施例提供的机器鱼的系统输出轨迹图;
图4是本发明一实施例提供的绝对误差之和在不同迭代次数时的收敛曲线;
图5是本发明一实施例提供的误差的平方和在不同迭代次数时的收敛曲线;
图6是本发明一实施例提供的最大绝对误差在不同迭代次数时的收敛曲线;
图7是本发明一实施例提供的计算机器鱼的最优控制增益流程示意图;
图8是本发明一实施例提供的计算机器鱼的目标控制输入推力序列流程示意图;
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一实施例提供的一种针对机器鱼的高阶迭代自学习控制方法,包括:
步骤S101:构建第一控制增益集合,所述第一控制增益集合包括N个控制增益元素,每个所述控制增益元素包括M个控制增益以及每个控制增益元素各自对应的一个元素适应度;M和N均为正整数。
步骤S102:对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,并将所述目标控制增益集合中适应度最高的控制增益元素中的M个控制增益作为目标控制增益进行输出。
步骤S103:根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,并根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度;所述第一控制输入推力的初始值为预设值,所述第一跟踪误差根据摆动速度和期望速度计算得到。
在一个优选的实施例中:
步骤S101:构建第一控制增益集合,所述第一控制增益集合包括N个控制增益元素,每个所述控制增益元素包括M个控制增益以及每个控制增益元素各自对应的一个元素适应度;M和N均为正整数;
每个所述控制增益元素各自对应的一个适应度是根据所述控制增益和所述第一跟踪误差序列计算而获得,具体为:
获取待计算的控制增益元素;
根据所述待计算的控制增益元素中M个控制增益和第一跟踪误差序列计算得到第二控制输入推力序列;
根据所述第二控制输入推力序列控制所述机器鱼进行摆动,以获得摆动速度序列,根据所述摆动速度序列和期望速度序列的差值得到第二跟踪误差序列的绝对值之和;
根据预设的第一阈值和所述第二跟踪误差序列的绝对值之和的差值得到所述待计算的控制增益元素的适应度。
步骤S102:对所述第一控制增益集合进行扩充:依次对所述第一控制增益集合中的控制增益元素进行判断,选择出满足第一预设条件的控制增益元素,并对所述满足预设条件的控制增益元素进行交叉算子和变异算子计算,获得用于扩充所述第一控制增益集合的多个新的控制增益元素,并将所述多个新的控制增益元素添加到所述第一控制增益集合;
对所述第一控制增益集合进行择优保留:根据轮盘赌策略和精英保留策略对所述扩充后的第一控制增益集合中的控制增益元素进行选择,得到优化后的第一控制增益集合,直到对第一控制增益集合的迭代次数满足预设第二阈值,将所述第一控制增益集合作为目标控制增益集合进行输出;
再选择所述目标控制增益集合中适应度最高的控制增益元素中的M个控制增益作为目标控制增益进行输出。
步骤S103:根据所述目标控制增益、所述第一控制输入推力序列和所述第一跟踪误差序列,迭代计算目标控制输入推力序列,每次迭代计算均根据当前的目标控制输入推力序列控制所述机器鱼进行摆动,继而获得目标跟踪误差序列,并根据当前的目标跟踪误差序列和目标控制输入推力序列更新所述第一控制输入推力序列和所述第一跟踪误差序列,直到所述目标跟踪误差序列满足预设的指标条件时,输出当前的目标控制输入推力序列,并根据所述目标控制输入推力序列控制机器鱼进行摆动,以获得期望速度序列,并实现控制机器鱼按照期望运动轨迹游动。
更为详细的例子如下:
步骤A:构建双连杆机器鱼的动态数学模型和高阶迭代控制律;
步骤A1:构建双连杆机器鱼运动时的动态数学模型为:
其中j∈{0,1,2,…}表示迭代次数,t∈[0,T]表示时间,为双连杆机器鱼的质量,τ=165.7056kg/m为水阻力系数,Vj(t)为双连杆机器鱼在第j次迭代t时刻的摆动速度,Fj(t)表示在第j次迭代t时刻由尾部运动产生的向前推力(即控制输入推力)。令采样间隔Ts=0.1,对双连杆机器鱼的摆动速度Vj(t)进行采样得到摆动速度的采样序列Vj(i·Ts),i={0,1,…,M},同样的,对控制输入推力Fj(t)进行采样得到控制输入推力的抽样序列Fj(i·Ts)。所述双连杆机器鱼运动时的动态数学模型构建了双连杆机器鱼的摆动速度Vj(t)和输入控制推力Fj(t)之间的计算关系。
其中C=1,j∈{0,1,2,…}表示迭代次数,i={0,1,…,M}表示离散时间点数,xj(i)∈R,uj(i)∈R和yj(i)∈R分别表示系统状态、控制输入和系统输出。B∈R和C∈R分别为系统的输入系数和输出系数,f(·)∈R为系统的状态函数。对于i∈{0,1,…,M},yd(i)=Cxd(i)表示期望输出,其中xd(i)为相应的期望状态。ej(i)=yd(i)-yj(i)表示第j次迭代时双连杆机器鱼的跟踪误差序列。
步骤A2:构建双连杆机器鱼的高阶迭代控制律并确定控制增益的取值范围;
根据离散非线性动态系统(3),提出以下高阶迭代学习控制方法:
其中N≥1为高阶迭代学习控制律(7)的阶数,对于v=1,2,…,N,Wv∈R和Lv∈R(|Lv|≤sL)为控制增益。
针对离散非线性动态系统(3),预设下列条件:
条件1:对于所有的迭代j,针对离散非线性动态系统(3)的初始状态满足下式:
xj(0)=xd(0) (4)
其中lz>0为Lipschitz常数。
条件3:CB≠0。
条件4:存在唯一的控制输入ud(i)使得期望输出轨迹yd(i)是可达的。
步骤B:计算双连杆机器鱼的目标控制增益;
步骤B1:确定控制增益元素的编码策略(编码策略将实际问题表示为一组编码,使计算机能够识别并进行相应的计算);
在高阶迭代学习控制律(7)中要优化的控制增益是Wv和Lv(v=1,2,…,N),因此采用实数编码来表示控制增益。由于收敛条件(8)成立,容易得到因此,采用变量向量λ∈R1×(2N-1)作为控制增益元素,所述控制增益元素编码策略则表示为
λ=[W1 W2 … WN-1 L1 L2 … LN] (11)
步骤B2:初始化控制增益集合以及计算控制增益元素的适应度;
根据步骤A2中确定的控制增益的取值范围,初始化控制增益集合中的全部控制增益元素P个,P=100;所述控制增益元素中的控制增益均满足(8)-(10)式;
在控制增益集合中控制增益元素λh∈R1×(2N-1)表示为
fith(λh)=Ma-Eh(λh) (13)
其中Ma是一个足够大的常数,Eh(λh)为第二跟踪误差的绝对值之和,即
进一步构造控制增益集合popini∈RP×2N为
popini=[λini fitini] (16)
其中,控制增益元素的初始变量为
(17)式中的第β行第α列表示控制增益元素β(1≤β≤P)的第α(1≤α≤2N-1)个控制增益。(16)式的最后一列是与控制增益元素对应的适应度值。
步骤B2的一种实施方式为:当高阶迭代学习控制律(7)的阶数为2时,则有4个控制增益需要优化,即W1,W2,L1,L2;同时,根据收敛条件(8),可得W2=1-W1,因此实际需要优化的控制增益为W1,L1,L2;
根据收敛条件(8)-(10),确定W1,L1,L2的范围分别是[0.7,0.8],[0.4,0.5]和[0.4,0.5],并在该范围内对W1,L1,L2进行初始化;确定控制增集合中的控制增益元素为100个,使用启发式的方法随机选择位于区间[0.7,0.8],[0.4,0.5]和[0.4,0.5]中的随机数分别作为每个控制增益元素的W1,L1,L2,具体为,
第一个控制增益的取值范围:W1min=0.7;W1max=0.8;
第二个控制增益的取值范围:L1min=0.4;L1max=0.5;
第三个控制增益的取值范围:L2min=0.4;L2max=0.5;
生成第一个控制增益的随机数:iniW1=W1min+(W1max-W1min)*rand(P,1);
生成第二个控制增益的随机数:iniL1=L1min+(L1max-L1min)*rand(P,1);
生成第三个控制增益的随机数iniL2=L2min+(L2max-L2min)*rand(P,1);
根据控制增益的初始值和(13)式,计算所述控制增益元素对应的适应度初始值:inifit=fitness(iniW1,iniL1,iniL2);构成控制增益元素,前三列为控制增益,最后一列为适应度值:inipop=[iniW1,iniL1,iniL2,inifit];
该针对控制增益集合初始化的方法有助于计算目标控制增益过程的快速收敛。
步骤B3:对初始化后的控制增益集合进行扩充;
步骤B3中的一种扩充方案为:控制增益元素是否需要交叉取决于交叉概率0<pc<1。对于控制增益元素h′,h′=1,3,5,…,P-1,生成一个介于0和1之间的随机数rh′。判断rh′>pc,则进行交叉操作。否则,不进行交叉操作。由于采用实数编码,因此选择算术交叉算子进行计算。假设控制增益集合中需要进行交叉的控制增益元素h′和h′+1的变量向量分别表示为par_λh′和par_λh′+1。交叉后,它们产生两个新的控制增益元素,变量向量分别表示为chi_λh′和chi_λh′+1,所述chi_λh′和chi_λh′+1的计算方法为:
其中h′=1,3,5,…,P-1,ηh′∈(0,1)为par_λh′和par_λh′+1的交叉权重。
步骤B3的一种实施方式为:
对第1,3,5,…,P-1个控制增益元素进行判断,当满足交叉条件时,应用(18)式对该控制增益元素par1与下一个控制增益元素par2进行交叉操作,生成对应的两个新的控制增益元素chi1和chi2,计算过程如下:
步骤B3中的扩充方案还可以是:根据变异概率0<pm<1来决定某个控制增益元素是否需要变异。对于控制增益元素h,随机产生一个介于0和1之间的数rh。若rh>pm,则进行变异操作。否则,不进行变异操作。设需要变异的控制增益元素h的变量向量为par_λh,变异后产生新的控制增益元素的变量向量为chi_λh,所述chi_λh的计算方法为:
chi_λh=par_λh+mh,h=1,2,…,P, (19)
其中mh∈R1×(2N-1)是控制增益元素h的变异权重。
将新的控制增益元素添加到控制增益集合,得到扩充后的新的控制增益集合。
步骤B3的另一种实施方式为:
对控制增益集合中的每个控制增益元素进行判断,当满足变异条件时,应用(19)式对该控制增益元素进行变异操作,生成一个新的控制增益元素,计算过程如下:
步骤B4:对扩充后的控制增益集合中的控制增益元素进行择优保留,淘汰掉适应度较差的控制增益元素,得到优化后的控制增益集合;
采用轮盘赌和精英保留相结合的选择策略将扩充后的控制增益集合中的控制增益元素选入新的控制增益集合,所述新的控制增益集合用于下一次迭代。所述轮盘赌策略使得适应度较大的控制增益元素能够以较高的概率选入新的控制增益集合,但其中一个缺点是可能会淘汰在较老的控制增益元素中的最好控制增益元素。因此结合使用精英保留策略,确保前几次迭代中最优秀的控制增益元素得以保留。基于这两种选择策略,可以有效减少计算目标控制增益时的迭代次数。
作为本实施例中的另一种方案,步骤B4可置于步骤B2和B3之间。
步骤B5:结束迭代计算,输出目标控制增益;
预设计算目标控制增益迭代次数为100,当迭代次数大于100时结束迭代,当迭代次数小于100时继续迭代执行B3、B4。最后,由上述迭代计算过程产生目标控制增益元素,所述目标控制增益元素的目标控制增益和为机器鱼的最优控制增益。根据收敛条件(8),最后一个控制增益可由式导出。
本实施例通过步骤B2-B5创造性改进了控制增益的计算方法,并通过所述最优控制增益控制双连杆机器鱼实现摆动速度序列快速收敛至期望速度序列;通过步骤B2-B5得到目标控制增益的关键在于:
1)、构建控制增益集合,通过将一个控制增益元素中的一组控制增益代入高阶迭代学习控制律(7)式得到双连杆机器鱼控制输入推力序列,再将控制输入推力序列代入(3)式,得到所述双连杆机器鱼的摆动速度序列,并根据摆动速度序列和期望速度序列的差值计算跟踪误差序列,继而根据所述跟踪误差序列得到所述一组控制增益的适应度,并通过该适应度来判断所述一组控制增益的对双连杆机器鱼的摆动速度的收敛效果,适应度越高,表明该适应度对应的一组控制增益的收敛效果越好。
2)、通过步骤B3的扩充方案得到新的控制增益元素,其中部分新的控制增益元素相较于原来的控制增益元素具有更高的适应度,因此本实施例通过步骤B3得到了更优的控制增益元素。并通过步骤B4对扩充后的控制增益集合进行择优保留,不仅可以选择出新的控制增益元素中较优的部分,还可以选择出原来的控制增益元素中较优的部分。再通过多次迭代,进行多次扩充和优化,最终得到目标控制增益。
步骤C:将所述目标控制增益、第一控制输入推力序列和第一跟踪误差序列输入所述高阶迭代学习控制律(7)式得到目标控制输入推力序列,将所述目标控制输入推力序列输入所述离散非线性动态系统(3)式得到机器鱼的摆动速度序列,根据所述机器鱼的摆动速度序列和期望速度序列的差值得到目标跟踪误差序列;
根据所述目标跟踪误差序列计算跟踪误差指标,当所述跟踪误差指标小于预设范围时,停止迭代,此时,所述机器鱼的摆动速度序列即为期望速度序列,本实施例实现控制机器鱼按照期望轨迹运动。
本实施例的效果检测过程如下:
针对双连杆机器鱼系统(1),采用阶数N=2的迭代学习控制律(7),通过演化计算对(7)式中的控制增益W1,L1和L2进行优化,根据收敛条件(8),最后一个控制增益可由W2=1-W1得到。假设交叉概率pc=0.7,变异概率pm=0.3。
系统的期望输出轨迹为
yd(i)=0.016[1+sin(2πi/M-π/2)],i∈{0,1,…,M+1} (20)
其中M=99。为了评价跟踪效果,分别采用以下三个跟踪误差指标:
1)绝对误差之和SEk
2)误差的平方和TEk
3)最大绝对误差MEk
运行演化计算10次得到的目标控制增益如表1所示。将演化计算得到的目标控制增益的平均值W1=0.755,W2=0.245,L1=0.4582和L2=0.446应用到本实施例的高阶迭代学习控制律(7)中,当j=15,j=22和j=39时,双连杆机器鱼的输出轨迹如图3所示。为了与传统的高阶迭代学习控制方法比较,也对传统的2阶迭代学习控制方法进行了仿真实验,其控制增益为W1=0.7,W2=0.3,L1=0.3和L2=0.2。图4-6比较了两种控制方法对应的绝对误差之和SEk、误差的平方和TEk以及最大绝对误差MEk。
表1:运行演化计算10次得到的目标控制增益
如图3所示,本实施例能够在整个操作区间内,控制机器鱼实现摆动速度的完全跟踪。如图4-6所示,本实施例所提出的针对机器鱼的高阶迭代自学习控制方法,比具有相同阶数的传统高阶迭代学习控制方法的收敛速度更快。
本实施例利用高阶迭代学习控制来解决仿生机器鱼的精确速度跟踪问题,这对于运动控制和运动规划都是必不可少的。作为一种智能控制方法,本实施例通过模拟人类的“学习”过程,根据前次迭代的跟踪信息,利用递归技术不断修正控制输入信号,逐渐减小系统跟踪误差,实现固定区间上轨迹的完全跟踪,特别适用于在相同运行区间上进行重复跟踪运动的动态系统。本实施例的最大的优势在于不依赖于系统精确的数学模型,这使得其能够应用于具有强耦合性、强非线性和不确定性的动态系统。因此,与前述传统控制方法相比,本实施例具有以下两个优势:1)不需要知道系统精确的数学模型;2)能够实现在整个操作区间内的完全跟踪。
在当前的迭代学习控制方法中,一阶迭代学习控制由于形式简单得到了广泛应用,如针对离散系统的P型迭代学习控制和针对连续系统的D型迭代学习控制。然而,这些一阶迭代学习控制方法只利用上一次迭代的跟踪信息来更新当前迭代的控制输入,而忽略了上一次迭代的跟踪信息。为了获得更快的收敛速度,学者们提出了高阶迭代学习控制算法,利用历史多次迭代的跟踪信息产生当前迭代的控制输入信号。值得注意的是,由于利用了历史多次迭代的跟踪信息,具有适当控制增益的高阶迭代学习控制算法的跟踪性能要优于一阶迭代学习控制。因此,如何选择最优控制增益是高阶迭代学习控制设计中的一个重要问题。
本实施例针对机器鱼的速度跟踪问题,采用演化算法自适应地选择高阶迭代学习控制方法中的最优控制增益。本实施例根据高阶迭代学习控制方法的特点,设计了演化算法的编码策略、种群初始化和适应度函数,减少了演化算法的迭代次数。然后将所设计的演化算法应用到高阶迭代学习控制中,优化控制增益。与传统的高阶迭代学习控制方法相比,本实施例提出的基于演化算法的高阶迭代学习控制方法提高了跟踪误差收敛速度,实现了机器鱼在整个操作区间内速度的完全跟踪。并且,由于迭代学习控制律的设计不需要知道系统精确的数学模型,本实施例所提出的方法不仅适用于前述的机器鱼模型,还适用于其他具有重复运动的动态系统。
在另一个优选的实施例中:
如图8所示,根据演化算法,经过如图8所示的步骤得到最优控制增益(即目标控制增益);
如图7所示,再根据所述最优控制增益经过如图7所示的步骤使得所述机器鱼的实际速度序列收敛至期望速度序列,并输出最后一次的控制输入推力序列即为目标控制输入推力序列,以实现控制机器鱼按照期望运动轨迹进行游动。
在上述发明实施例的基础上,本发明对应提供了装置项实施例,如图2所示;
本发明另一实施例提供了一种针对机器鱼的高阶迭代自学习控制装置,包括:控制增益初始化模块、目标控制增益计算模块和目标控制输入推力计算模块;
其中,所述控制增益初始化模块用于构建第一控制增益集合,所述第一控制增益集合包括N个控制增益元素,每个所述控制增益元素包括M个控制增益以及每个控制增益元素各自对应的一个元素适应度;M和N均为正整数;
所述目标控制增益计算模块用于对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,并将所述目标控制增益集合中适应度最高的控制增益元素中的M个控制增益作为目标控制增益进行输出;
所述目标控制输入推力计算模块用于根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,并根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度;所述第一控制输入推力的初始值为预设值,所述第一跟踪误差根据摆动速度和期望速度计算得到。
进一步的,所述控制增益初始化模块中,每个所述控制增益元素各自对应的一个适应度是根据所述控制增益和所述第一跟踪误差计算而获得,具体为:
获取待计算的控制增益元素;
根据所述待计算的控制增益元素中M个控制增益和第一跟踪误差计算得到第二控制输入推力;
根据所述第二控制输入推力控制所述机器鱼进行摆动,以获得摆动速度,根据所述摆动速度和期望速度的差值得到第二跟踪误差的绝对值之和;
根据预设的第一阈值和所述第二跟踪误差的绝对值之和的差值得到所述待计算的控制增益元素的适应度。
进一步的,在目标控制增益计算模块,对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,具体包括:
对所述第一控制增益集合进行扩充:依次对所述第一控制增益集合中的控制增益元素进行判断,选择出满足第一预设条件的控制增益元素,并对所述满足预设条件的控制增益元素进行交叉算子和变异算子计算,获得用于扩充所述第一控制增益集合的多个新的控制增益元素,并将所述新的控制增益元素添加到所述第一控制增益集合;
对所述第一控制增益集合进行择优保留:根据第二预设条件对扩充后的第一控制增益集合中的所有控制增益元素进行择优保留,得到优化后的第一控制增益集合,直到迭代次数满足预设第二阈值,将所述第一控制增益集合作为目标控制增益集合进行输出。
需要说明的是,本发明上述装置项实施例,是与本发明方法项实施例相对应的,其能够实现本发明任意一项发明项实施例所述的针对机器鱼的高阶迭代自学习控制方法。
在上述发明项实施例的基础上,本发明对应提供了可读存储介质项实施例;
本发明另一实施例提供了一种可读存储介质,所述可读存储介质包括存储的计算机程序,所述计算机程序执行时,控制所述可读存储介质所在的设备执行如本发明任意一项方法项实施例所述的针对机器鱼的高阶迭代自学习控制方法。
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质(即上述可读存储介质)中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
Claims (10)
1.针对机器鱼的高阶迭代自学习控制方法,其特征在于,包括以下步骤:
构建第一控制增益集合,所述第一控制增益集合包括N个控制增益元素,每个所述控制增益元素包括M个控制增益以及每个控制增益元素各自对应的一个元素适应度;M和N均为正整数;
对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,并将所述目标控制增益集合中适应度最高的控制增益元素中的M个控制增益作为目标控制增益进行输出;
根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,并根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度;所述第一控制输入推力的初始值为预设值,所述第一跟踪误差根据摆动速度和期望速度计算得到。
2.根据权利要求1所述的针对机器鱼的高阶迭代自学习控制方法,其特征在于,每个所述控制增益元素各自对应的一个适应度是根据所述控制增益和所述第一跟踪误差计算而获得,具体为:
获取待计算的控制增益元素;
根据所述待计算的控制增益元素中M个控制增益和第一跟踪误差计算得到第二控制输入推力;
根据所述第二控制输入推力控制所述机器鱼进行摆动,以获得摆动速度,根据所述摆动速度和期望速度的差值得到第二跟踪误差的绝对值之和;
根据预设的第一阈值和所述第二跟踪误差的绝对值之和的差值得到所述待计算的控制增益元素的适应度。
3.根据权利要求2所述的针对机器鱼的高阶迭代自学习控制方法,其特征在于,对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,具体包括:
对所述第一控制增益集合进行扩充:依次对所述第一控制增益集合中的控制增益元素进行判断,选择出满足第一预设条件的控制增益元素,并对所述满足预设条件的控制增益元素进行交叉算子和变异算子计算,获得用于扩充所述第一控制增益集合的多个新的控制增益元素,并将所述多个新的控制增益元素添加到所述第一控制增益集合;
对所述第一控制增益集合进行择优保留:根据第二预设条件对扩充后的第一控制增益集合中的所有控制增益元素进行择优保留,得到优化后的第一控制增益集合,直到迭代次数满足预设第二阈值,将所述第一控制增益集合作为目标控制增益集合进行输出。
4.根据权利要求3所述的针对机器鱼的高阶迭代自学习控制方法,其特征在于,根据第二预设条件对扩充后的第一控制增益集合中的所有控制增益元素进行择优保留,得到优化后的第一控制增益集合,具体为:
根据轮盘赌策略和精英保留策略对所述扩充后的第一控制增益集合中的控制增益元素进行选择,得到优化后的第一控制增益集合。
5.根据权利要求4所述的针对机器鱼的高阶迭代自学习控制方法,其特征在于,根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,具体为:
根据所述目标控制增益、所述第一控制输入推力和所述第一跟踪误差,迭代计算目标控制输入推力,每次迭代计算均根据当前的目标控制输入推力控制所述机器鱼进行摆动,继而获得目标跟踪误差,并根据当前的目标跟踪误差和目标控制输入推力更新所述第一控制输入推力和所述第一跟踪误差,直到所述目标跟踪误差满足预设的指标条件时,输出当前的目标控制输入推力。
6.根据权利要求1至5任一项所述的针对机器鱼的高阶迭代自学习控制方法,其特征在于,根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度,具体为根据目标控制输入推力序列控制机器鱼进行摆动,以获得期望速度序列,继而实现期望运动轨迹。
7.一种针对机器鱼的高阶迭代自学习控制装置,其特征在于,包括:控制增益初始化模块、目标控制增益计算模块和目标控制输入推力计算模块;
其中,所述控制增益初始化模块用于构建第一控制增益集合,所述第一控制增益集合包括N个控制增益元素,每个所述控制增益元素包括M个控制增益以及每个控制增益元素各自对应的一个元素适应度;M和N均为正整数;
所述目标控制增益计算模块用于对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,并将所述目标控制增益集合中适应度最高的控制增益元素中的M个控制增益作为目标控制增益进行输出;
所述目标控制输入推力计算模块用于根据所述目标控制增益、第一控制输入推力和第一跟踪误差进行高阶迭代计算得到目标控制输入推力,并根据所述目标控制输入推力控制机器鱼进行摆动,以获得期望速度;所述第一控制输入推力的初始值为预设值,所述第一跟踪误差根据摆动速度和期望速度计算得到。
8.根据权利要求7所述的针对机器鱼的高阶迭代自学习控制装置,其特征在于,所述控制增益初始化模块中,每个所述控制增益元素各自对应的一个适应度是根据所述控制增益和所述第一跟踪误差计算而获得,具体为:
获取待计算的控制增益元素;
根据所述待计算的控制增益元素中M个控制增益和第一跟踪误差计算得到第二控制输入推力;
根据所述第二控制输入推力控制所述机器鱼进行摆动,以获得摆动速度,根据所述摆动速度和期望速度的差值得到第二跟踪误差的绝对值之和;
根据预设的第一阈值和所述第二跟踪误差的绝对值之和的差值得到所述待计算的控制增益元素的适应度。
9.根据权利要求7或8所述的针对机器鱼的高阶迭代自学习控制装置,其特征在于,在目标控制增益计算模块,对所述第一控制增益集合中的控制增益元素进行择优迭代得到目标控制增益集合,具体包括:
对所述第一控制增益集合进行扩充:依次对所述第一控制增益集合中的控制增益元素进行判断,选择出满足第一预设条件的控制增益元素,并对所述满足预设条件的控制增益元素进行交叉算子和变异算子计算,获得用于扩充所述第一控制增益集合的多个新的控制增益元素,并将所述新的控制增益元素添加到所述第一控制增益集合;
对所述第一控制增益集合进行择优保留:根据第二预设条件对扩充后的第一控制增益集合中的所有控制增益元素进行择优保留,得到优化后的第一控制增益集合,直到迭代次数满足预设第二阈值,将所述第一控制增益集合作为目标控制增益集合进行输出。
10.一种可读存储介质,其特征在于,所述可读存储介质包括存储的计算机程序,所述计算机程序执行时,控制所述可读存储介质所在的设备执行如权利要求1至6中任意一项所述的针对机器鱼的高阶迭代自学习控制方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110545908.0A CN113311705B (zh) | 2021-05-19 | 2021-05-19 | 针对机器鱼的高阶迭代自学习控制方法、装置及存储介质 |
US17/464,057 US11360441B1 (en) | 2021-05-19 | 2021-09-01 | Method and apparatus for high-order iterative self-learning control for robotic fish, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110545908.0A CN113311705B (zh) | 2021-05-19 | 2021-05-19 | 针对机器鱼的高阶迭代自学习控制方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113311705A CN113311705A (zh) | 2021-08-27 |
CN113311705B true CN113311705B (zh) | 2022-03-25 |
Family
ID=77373995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110545908.0A Active CN113311705B (zh) | 2021-05-19 | 2021-05-19 | 针对机器鱼的高阶迭代自学习控制方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11360441B1 (zh) |
CN (1) | CN113311705B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118244805B (zh) * | 2024-05-28 | 2024-07-30 | 深圳大学 | 一种仿生机器海豚的控制方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005054050A2 (en) * | 2003-12-01 | 2005-06-16 | Rolls-Royce Naval Marine, Inc. | Control of a waterjet propelled vessel |
CN102411307A (zh) * | 2011-11-30 | 2012-04-11 | 中国科学院自动化研究所 | 一种快速、精确的仿生机器鱼c形起动的运动控制方法 |
US9296474B1 (en) * | 2012-08-06 | 2016-03-29 | The United States of America as represented by the Administrator of the National Aeronautics & Space Administration (NASA) | Control systems with normalized and covariance adaptation by optimal control modification |
CN108762094A (zh) * | 2018-07-11 | 2018-11-06 | 山东建筑大学 | 一种基于迭代学习的机器鱼速度轨迹跟踪方法 |
CN111650830A (zh) * | 2020-05-20 | 2020-09-11 | 天津大学 | 一种基于迭代学习的四旋翼飞行器鲁棒跟踪控制方法 |
CN112068426A (zh) * | 2020-08-26 | 2020-12-11 | 广州大学 | 轮式机器人有限时间控制方法、系统、装置及介质 |
CN112099352A (zh) * | 2020-09-08 | 2020-12-18 | 辽宁石油化工大学 | 基于控制器数量受限的半马尔可夫系统的控制器设计方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7092690B2 (en) * | 2002-03-13 | 2006-08-15 | Gregory Zancewicz | Genetic algorithm-based adaptive antenna array processing method and system |
US6950712B2 (en) * | 2002-07-30 | 2005-09-27 | Yamaha Hatsudoki Kabushiki Kaisha | System and method for nonlinear dynamic control based on soft computing with discrete constraints |
JP5235707B2 (ja) * | 2009-02-03 | 2013-07-10 | キヤノン株式会社 | 制御装置 |
US11169523B2 (en) * | 2018-11-01 | 2021-11-09 | Artificial Intelligence Robot Inc. | Control apparatus and method for swimming of robot fish |
CN110239712B (zh) * | 2019-07-10 | 2021-01-12 | 中国科学院自动化研究所 | 一种水空两栖跨介质仿生机器飞鱼 |
US10962976B1 (en) * | 2019-11-29 | 2021-03-30 | Institute Of Automation, Chinese Academy Of Sciences | Motion control method and system for biomimetic robotic fish based on adversarial structured control |
CN112034865B (zh) * | 2020-08-12 | 2021-10-08 | 浙江大学 | 基于优化算法的全驱动水下航行器航迹跟踪控制方法 |
-
2021
- 2021-05-19 CN CN202110545908.0A patent/CN113311705B/zh active Active
- 2021-09-01 US US17/464,057 patent/US11360441B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005054050A2 (en) * | 2003-12-01 | 2005-06-16 | Rolls-Royce Naval Marine, Inc. | Control of a waterjet propelled vessel |
CN102411307A (zh) * | 2011-11-30 | 2012-04-11 | 中国科学院自动化研究所 | 一种快速、精确的仿生机器鱼c形起动的运动控制方法 |
US9296474B1 (en) * | 2012-08-06 | 2016-03-29 | The United States of America as represented by the Administrator of the National Aeronautics & Space Administration (NASA) | Control systems with normalized and covariance adaptation by optimal control modification |
CN108762094A (zh) * | 2018-07-11 | 2018-11-06 | 山东建筑大学 | 一种基于迭代学习的机器鱼速度轨迹跟踪方法 |
CN111650830A (zh) * | 2020-05-20 | 2020-09-11 | 天津大学 | 一种基于迭代学习的四旋翼飞行器鲁棒跟踪控制方法 |
CN112068426A (zh) * | 2020-08-26 | 2020-12-11 | 广州大学 | 轮式机器人有限时间控制方法、系统、装置及介质 |
CN112099352A (zh) * | 2020-09-08 | 2020-12-18 | 辽宁石油化工大学 | 基于控制器数量受限的半马尔可夫系统的控制器设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113311705A (zh) | 2021-08-27 |
US11360441B1 (en) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | Optimal design of FIR fractional order differentiator using cuckoo search algorithm | |
US10962976B1 (en) | Motion control method and system for biomimetic robotic fish based on adversarial structured control | |
CN107818367B (zh) | 用于神经网络的处理系统和处理方法 | |
Arif et al. | Incorporation of experience in iterative learning controllers using locally weighted learning | |
CN110297490B (zh) | 基于强化学习算法的异构模块化机器人自重构规划方法 | |
US11759947B2 (en) | Method for controlling a robot device and robot device controller | |
Abed et al. | A review on path planning algorithms for mobile robots | |
US11562249B2 (en) | DNN training with asymmetric RPU devices | |
CN113311705B (zh) | 针对机器鱼的高阶迭代自学习控制方法、装置及存储介质 | |
Rath et al. | Application of artificial neural network for control and navigation of humanoid robot | |
CN116147627A (zh) | 一种结合深度强化学习和内在动机的移动机器人自主导航方法 | |
US11556770B2 (en) | Auto weight scaling for RPUs | |
CN109344961A (zh) | 一种基于pso的权值直接确定神经网络结构优化方法 | |
Ramirez et al. | Reinforcement learning from expert demonstrations with application to redundant robot control | |
CN116841303A (zh) | 一种针对水下机器人的智能择优高阶迭代自学习控制方法 | |
Lee et al. | A genetic algorithm based robust learning credit assignment cerebellar model articulation controller | |
CN110610231A (zh) | 一种信息处理方法、电子设备和存储介质 | |
CN115730521A (zh) | 基于超多任务进化优化算法的多足机器人智能设计方法 | |
CN115453880A (zh) | 基于对抗神经网络的用于状态预测的生成模型的训练方法 | |
Seo et al. | Continuous control with coarse-to-fine reinforcement learning | |
Kim et al. | Epsilon-greedy babbling | |
CN113625560A (zh) | 玉米收获机损失率控制方法、装置、存储介质与设备 | |
Lee et al. | Hybrid learning algorithm for fuzzy neuro systems | |
CN117532885B (zh) | 3d打印智能辅助系统、方法及存储介质 | |
Yu et al. | LSTM learn policy from dynamical system of demonstration motions for robot imitation learning |
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 |