CN115933643A - 机器人的控制方法、装置、电子设备及存储介质 - Google Patents

机器人的控制方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115933643A
CN115933643A CN202211462505.0A CN202211462505A CN115933643A CN 115933643 A CN115933643 A CN 115933643A CN 202211462505 A CN202211462505 A CN 202211462505A CN 115933643 A CN115933643 A CN 115933643A
Authority
CN
China
Prior art keywords
robot
state
control
current
time window
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.)
Pending
Application number
CN202211462505.0A
Other languages
English (en)
Inventor
熊伟成
周心其
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Smart Mapping Tech Co ltd
Original Assignee
Shenzhen Smart Mapping Tech Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Smart Mapping Tech Co ltd filed Critical Shenzhen Smart Mapping Tech Co ltd
Priority to CN202211462505.0A priority Critical patent/CN115933643A/zh
Publication of CN115933643A publication Critical patent/CN115933643A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Feedback Control In General (AREA)

Abstract

本发明公开了一种机器人的控制方法、装置、电子设备及存储介质,属于机器人领域。该方法包括:构建机器人的状态转移模型,其中,状态转移模型为运动状态与控制量之间的关系;接收机器人的当前运动状态的当前状态参数;根据当前状态参数和状态转移模型对机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;采用预测结果序列计算当前时间窗口的当前代价函数;采用当前代价函数和预设约束条件预测目标时间窗口内的目标控制量;在目标时间窗口采用目标控制量控制机器人。通过本发明,解决了相关技术中机器人运动控制的鲁棒性较差的技术问题。

Description

机器人的控制方法、装置、电子设备及存储介质
技术领域
本发明涉及机器人领域,具体而言,涉及一种机器人的控制方法、装置、电子设备及存储介质。
背景技术
目前,轮式机器人被广泛应用于物流、清洁、餐饮等行业,其主要功能体现在能使机器人准确到达预先设置的目标点,以及在行进过程中对目标路径的精确跟踪。为了实现上述功能,准确的地图构建、稳定的实时定位、安全的导航路径规划和鲁棒的运动控制是缺一不可的,然而在很多实际场景下,定位模块可能在某些时刻无法给出非常精确的实时定位数据,或者传感器无法及时得到非常精确的底盘反馈数据,此时为了保证机器人运动的相对稳定,运动控制需要具备相当的鲁棒性,否则机器人可能无法完整执行任务,甚至与环境中的障碍物发生碰撞,造成无法挽回的后果。
相关技术中,针对轮式机器人的主流运动控制算法有:基于PID的控制算法和基于线性二次型调节的控制算法,其中,基于PID的控制算法是一种传统的控制算法,是直接通过计算输入状态和输出状态来调节整体控制量的一种经典算法。具体做法是,根据传感器得到的当前状态输出,经过比例运算、积分运算和微分运算,以加权叠加的形式加入到输入中,从而得到新一轮的输出。可以看出,PID控制算法的优势在于原理简单且易于实现,对运行中的性能基本没有要求,可是实际情况下,针对某一个机器人系统,工程师在部署该算法的时候可能需要不断进行调试来确定PID算法中的参数,这些参数可能只针对这一个系统有效,导致开发和部署的工作量较大,并且在运行的过程中如果机器人的环境发生了一些变化,控制算法可能会失效,鲁棒性较差。
基于线性二次型调节的控制算法(LQR)是一种针对线性系统的控制算法,这一类算法通常是构造系统的状态量变化模型,和系统的输入量构成二次型的代价函数,然后累计该代价函数,通过Riccati方程不断逼近求解使系统代价最小的控制量。相比于PID只考虑当前输入输出,LQR考虑了整个预测时域内的控制误差,但是LQR在求解的过程中不对输出的控制量做约束,在实际情况下往往需要后处理,并且预测时域的长度固定,灵活性较差。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明提供了一种机器人的控制方法、装置、电子设备及存储介质,以解决相关技术机器人运动控制的鲁棒性较差的技术问题。
根据本申请实施例的一个方面,提供了一种机器人的控制方法,包括:构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;接收所述机器人的当前运动状态的当前状态参数;根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;采用所述预测结果序列计算当前时间窗口的当前代价函数;采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;在所述目标时间窗口采用所述目标控制量控制所述机器人。
进一步地,构建机器人的状态转移模型包括:获取机器人的类型,根据所述机器人的类型构建对应的运动学模型;若所述机器人的类型为双轮差速机器人,则获取所述机器人的运动状态和控制量,所述运动状态包括机器人的位置信息、机器人底盘的速度以及机器人底盘的角速度,所述控制量包括线加速度和角加速度;根据所述运动状态和所述控制量构建如下的机器人运动学模型:
Figure BDA0003954105540000031
其中,x和y为定位所述机器人的位置坐标,v为机器人底盘的速度,ω为机器人底盘的角速度,
Figure BDA0003954105540000032
为定位所述机器人的航向角,a为加速度,β为角加速度,
Figure BDA0003954105540000033
是x的微分,
Figure BDA0003954105540000034
是y的微分,
Figure BDA0003954105540000035
是v的微分,
Figure BDA0003954105540000036
Figure BDA0003954105540000037
的微分,
Figure BDA0003954105540000038
是ω的微分;根据所述机器人运动学模型构建机器人的状态转移模型。
进一步地,根据所述机器人运动学模型构建机器人的状态转移模型包括:根据所述运动学模型中所述运动状态和所述控制量的函数计算运动状态的微分:
Figure BDA0003954105540000039
为运动状态的微分,ξ为运动状态,u为控制量,ξ包括[x y v
Figure BDA00039541055400000310
ω]T,u包括[aβ]T,T为转置符;获取所述运动状态的参考量,将所述运动状态减去所述参考量,得出状态误差
Figure BDA00039541055400000311
计算所述状态误差的微分,得到如下状态转移模型:
Figure BDA00039541055400000312
其中,A和B是
Figure BDA00039541055400000313
分别对ξ和u求导,
Figure BDA00039541055400000314
Figure BDA00039541055400000315
的微分。
进一步地,根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测包括:获取第一控制周期的当前运动状态,将所述当前运动状态的当前状态参数输入所述状态转移模型,得到第二控制周期的第一状态预测结果,其中,所述第二周期为所述第一周期的下一个周期;迭代执行以下步骤,直到所述目标时间窗口的最后一个控制周期:将所述第一状态预测结果确定为当前运动状态,将所述当前运动状态输入所述状态转移模型,得到第三控制周期的第二状态预测结果,其中,所述第三周期为所述第二周期的下一个周期。
进一步地,采用所述预测结果序列计算当前时间窗口的当前代价函数包括:采用所述预测结果序列构建当前时间窗口以下当前代价函数G:
Figure BDA0003954105540000041
其中,Q和R为权重参数,ξ为运动状态,u为控制量,ξr为运动状态的参考量,ur为控制量的参考量,ξi为运动状态中的任一个运动状态,N为预测状态的总周期数;采用求解器对所述当前代价函数进行求解,使得所述当前代价函数在求解空间
Figure BDA0003954105540000042
中满足以下约束条件
Figure BDA0003954105540000043
得到所述当前代价函数G取得最小值的控制量集合{ui|i∈[1...Nc]},Nc为所述状态转移模型输出控制量的总周期数。
进一步地,采用求解器对所述当前代价函数进行求解包括:将所述代价函数转换为二次规划的基准形式,得到如下目标代价函数:
Figure BDA0003954105540000044
其中,Y为当前时间窗口内的预测运动状态,Yr为所述预测运动状态的参考量,
Figure BDA0003954105540000045
U为第k个周期的控制量误差
Figure BDA0003954105540000046
到第k+Nc个周期的控制量误差
Figure BDA0003954105540000047
H和f为常量;采用二次规划求解器对所述目标代价函数进行求解。
进一步地,采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量包括:根据所述当前代价函数,计算所述目标时间窗口内的控制量序列U*;获取所述控制量序列中的第一个控制量作为第k个周期的控制量输出;在第k+1个周期,将时间窗口向前滚动N,获取第k+1控制周期的参考状态ξr(k+1)至k+N+1控制周期的参考状态ξr(k+N+1),根据所述当前代价函数,ξr(k+1)至ξr(k+N+1),求解得到第k+1个周期输出的目标控制量U* (k+1),N为所述状态转移模型输出控制量的总周期数。
根据本申请实施例的另一个方面,还提供了一种机器人的控制装置,包括:构建模块,用于构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;接收模块,用于接收所述机器人的当前运动状态的当前状态参数;第一预测模块,用于根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;计算模块,用于采用所述预测结果序列计算当前时间窗口的当前代价函数;第二预测模块,用于采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;控制模块,用于在所述目标时间窗口采用所述目标控制量控制所述机器人。
进一步地,所述构建模块包括构建子模块,用于获取机器人的类型,根据所述机器人的类型构建对应的运动学模型;若所述机器人的类型为双轮差速机器人,则获取所述机器人的运动状态和控制量,所述运动状态包括机器人的位置信息、机器人底盘的速度以及机器人底盘的角速度,所述控制量包括线加速度和角加速度;根据所述运动状态和所述控制量构建如下的机器人运动学模型:
Figure BDA0003954105540000051
其中,x和y为定位所述机器人的位置坐标,v为机器人底盘的速度,ω为机器人底盘的角速度,
Figure BDA0003954105540000052
为定位所述机器人的航向角,a为加速度,β为角加速度,
Figure BDA0003954105540000053
是x的微分,
Figure BDA0003954105540000054
是y的微分,
Figure BDA0003954105540000055
是v的微分,
Figure BDA0003954105540000058
Figure BDA0003954105540000056
的微分,
Figure BDA0003954105540000057
是ω的微分;根据所述机器人运动学模型构建机器人的状态转移模型。
进一步地,所述构建子模块,还用于根据所述运动学模型中所述运动状态和所述控制量的函数计算运动状态的微分:
Figure BDA0003954105540000061
为运动状态的微分,ξ为运动状态,u为控制量,ξ包括[x y v
Figure BDA0003954105540000062
ω]T,u包括[aβ]T,T为转置符;获取所述运动状态的参考量,将所述运动状态减去所述参考量,得出状态误差
Figure BDA0003954105540000063
计算所述状态误差的微分,得到如下状态转移模型:
Figure BDA0003954105540000064
其中,A和B是
Figure BDA0003954105540000065
分别对ξ和u求导,
Figure BDA0003954105540000066
Figure BDA0003954105540000067
的微分。
进一步地,所述第一预测模块包括第一预测子模块,用于获取第一控制周期的当前运动状态,将所述当前运动状态的当前状态参数输入所述状态转移模型,得到第二控制周期的第一状态预测结果,其中,所述第二周期为所述第一周期的下一个周期;迭代执行以下步骤,直到所述目标时间窗口的最后一个控制周期:将所述第一状态预测结果确定为当前运动状态,将所述当前运动状态输入所述状态转移模型,得到第三控制周期的第二状态预测结果,其中,所述第三周期为所述第二周期的下一个周期。
进一步地,所述计算模块包括计算子模块,用于采用所述预测结果序列构建当前时间窗口以下当前代价函数G:
Figure BDA0003954105540000068
其中,Q和R为权重参数,ξ为运动状态,u为控制量,ξr为运动状态的参考量,ur为控制量的参考量,ξi为运动状态中的任一个运动状态,N为预测状态的总周期数;采用求解器对所述当前代价函数进行求解,使得所述当前代价函数在求解空间
Figure BDA0003954105540000069
中满足以下约束条件
Figure BDA00039541055400000610
得到所述当前代价函数G取得最小值的控制量集合{ui|i∈[1...Nc]},Nc为所述状态转移模型输出控制量的总周期数。
进一步地,所述计算子模块,还用于将所述代价函数转换为二次规划的基准形式,得到如下目标代价函数:
Figure BDA0003954105540000071
其中,Y为当前时间窗口内的预测运动状态,Yr为所述预测运动状态的参考量,
Figure BDA0003954105540000072
U为第k个周期的控制量误差
Figure BDA0003954105540000073
到第k+Nc个周期的控制量误差
Figure BDA0003954105540000074
H和f为常量;采用二次规划求解器对所述目标代价函数进行求解。
进一步地,所述第二预测模块包括第二预测子模块,用于根据所述当前代价函数,计算所述目标时间窗口内的控制量序列U*;获取所述控制量序列中的第一个控制量作为第k个周期的控制量输出;在第k+1个周期,将时间窗口向前滚动N,获取第k+1控制周期的参考状态ξr(k+1)至k+N+1控制周期的参考状态ξr(k+N+1),根据所述当前代价函数,ξr(k+1)至ξr(k+N+1),求解得到第k+1个周期输出的目标控制量U* (k+1),N为所述状态转移模型输出控制量的总周期数。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,构建机器人的状态转移模型,其中,状态转移模型为运动状态与控制量之间的关系;接收机器人的当前运动状态的当前状态参数;根据当前状态参数和状态转移模型对机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;采用预测结果序列计算当前时间窗口的当前代价函数;采用当前代价函数和预设约束条件预测目标时间窗口内的目标控制量;在目标时间窗口采用目标控制量控制所述机器人。相比于基于PID的控制算法未考虑机器人的运动学,仅仅依靠调参数的方式逼近机器人的稳定状态,调试的工作量较大,且鲁棒性不高。及基于线性二次型调节的控制算法考虑了机器人的运动学,但不考虑状态的约束,在实际应用中无法直接在求解时限制机器人的速度和角速度等状态,需要更多的后处理。而本发明中基于模型预测控制的算法充分考虑机器人运动学,机器人状态的约束,对参数的调试没有依赖,具有较好的适用性,不需要后处理,且能在滚动的时域中实时求解当前的控制输出,具有较好的鲁棒性和灵活性。本发明使得在底盘传感器或者定位模块出现一定的误差或者延迟的时候,机器人能保持一定的稳定状态。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种计算机的硬件结构框图;
图2是根据本发明实施例的一种机器人的控制方法的流程图;
图3是本发明实施例基于模型预测控制的算法的流程示意图;
图4是本发明实施例的机器人模型示意图;
图5是根据本发明实施例的一种机器人的控制装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在手机、计算机、平板或者类似的运算装置中执行。以运行在计算机上为例,图1是本发明实施例的一种计算机的硬件结构框图。如图1所示,计算机可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种视频动静率识别方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种机器人的控制方法,图2是根据本发明实施例的一种机器人的控制方法的流程图,如图2所示,该流程包括如下步骤:
步骤S10,构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;
系统状态的变化与系统状态本身和控制量相关,基于此,对机器人的状态转移进行建模,构建机器人的状态转移模型,其中,状态转移模型为运动状态与控制量之间的关系。
步骤S20,接收所述机器人的当前运动状态的当前状态参数;
步骤S30,根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;
步骤S40,采用所述预测结果序列计算当前时间窗口的当前代价函数;
步骤S50,采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;
步骤S60,在所述目标时间窗口采用所述目标控制量控制所述机器人。
接收机器人的当前运动状态对应的当前状态参数,示例性地,可参考图3,接收定位模块实时发送的机器人的位置信息,以及底盘实时反馈的速度和角速度等信息,机器人的位置信息可以为机器人几何中心的位姿,根据当前状态参数和状态转移模型对机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,从预设的规划模块从中获取参考路径,运动模块根据实时定位和实施底盘反馈的信息以及参考路径,可在窗口滚动下进行航迹推算,输出控制指令,控制指令为控制量。其中,预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期,采用预测结果序列计算当前时间窗口的当前代价函数,采用当前代价函数和预设约束条件预测目标时间窗口内的目标控制量,在目标时间窗口采用目标控制量控制所述机器人。实际运行时,获取参考路径,参考路径可从预设的规划模块中获取,结合机器人的位置信息、机器人的速度和角速度作为当前运动状态的输入,计算状态转移矩阵,采用状态转移矩阵预测目标时间窗口的状态,采用目标时间窗口的状态计算目标时间窗口的整个代价函数,在预设约束条件下进行优化,得到使代价函数最小的控制量。
在机器人的实际应用场景中,往往存在很多动态障碍物,机器人的规划模块需要根据局部的感知结果实时生成合适的路径,机器人需要根据生成的路径实时做出调整,这种情况对控制模块的实时性和鲁棒性要求很高。本实施例基于机器人的运动学模型进行建模,通过预测一个周期的控制结果与观测实际的结果计算误差构建代价函数,使用规划求解器,在一定长度的时域内进行滚动优化,得到时间序列上的所有控制量。以滚动的方式不断对预测的结果和实际的观测值进行优化,实时性强,并且使用二次规划求解器,支持对控制量做数值上的约束,具有一定鲁棒性。本实施例基于此,既能做到对传感器数据的容错,又能做到对复杂路况的实时计算。
本实施例中,构建机器人的状态转移模型包括:
步骤S101,获取机器人的类型,根据所述机器人的类型构建对应的运动学模型;
步骤S102,若所述机器人的类型为双轮差速机器人,则获取所述机器人的运动状态和控制量,所述运动状态包括机器人的位置信息、机器人底盘的速度以及机器人底盘的角速度,所述控制量包括线加速度和角加速度;
步骤S103,根据所述运动状态和所述控制量构建如下的机器人运动学模型:
Figure BDA0003954105540000121
其中,x和y为定位所述机器人的位置坐标,v为机器人底盘的速度,ω为机器人底盘的角速度,
Figure BDA0003954105540000122
为定位所述机器人的航向角,a为加速度,β为角加速度,
Figure BDA0003954105540000123
是x的微分,
Figure BDA0003954105540000124
是y的微分,
Figure BDA0003954105540000125
是v的微分,
Figure BDA0003954105540000126
Figure BDA0003954105540000127
的微分,
Figure BDA0003954105540000128
是ω的微分;
步骤S104,根据所述机器人运动学模型构建机器人的状态转移模型。
根据运动学对机器人的状态转移进行建模,对于不同类型的机器人其运动模型可能不同,可根据机器人的类型构建对应的运动学模型,若机器人的类型为双轮差速机器人,则获取机器人的运动状态和控制量,基本的运动状态ξ包含5个基本量:[x y v
Figure BDA0003954105540000129
ω]T,具体的为机器人的位置信息(定位机器人的位置坐标x和y,以及定位机器人的航向角
Figure BDA00039541055400001210
)、机器人底盘的速度v以及机器人底盘的角速度ω,控制量u包含2个基本量:[aβ]T,具体的为线加速度a和角加速度β,根据以上的运动状态和控制量构建如下的机器人运动学模型:
Figure BDA0003954105540000131
是x的微分,
Figure BDA0003954105540000132
是y的微分,
Figure BDA0003954105540000133
是v的微分,
Figure BDA0003954105540000134
Figure BDA0003954105540000135
的微分,
Figure BDA0003954105540000136
是ω的微分,进而根据机器人运动学模型构建机器人的状态转移模型。
本实施例中针对双轮差速机器人模型进行设计,该双轮差速机器人包括两个动力轮,分别位于机器人两侧,两个动力轮可向前或向后提供动力,如图4所示,W1是左轮,W2是右轮,V1是左轮的速度,V2是右轮的速度,V是机器人的总速度,L是左轮与右轮之间的距离,其中V1和V2可以从机器人底盘的码表读取,单位是米每秒。除了速度以外,机器人的反馈数据还包括角速度ω,单位是弧度每秒,这些数据之间的关系如下:
Figure BDA0003954105540000137
Figure BDA0003954105540000138
机器人底盘可以向控制模块输入速度和角速度的反馈值,也可以接收控制模块输出的加速度和角加速度的控制指令来执行运动,本实施例中控制模块输出的控制量是加速度和角加速度。
进一步地,根据所述机器人运动学模型构建机器人的状态转移模型包括:
步骤A,根据所述运动学模型中所述运动状态和所述控制量的函数计算运动状态的微分:
Figure BDA0003954105540000139
为运动状态的微分,ξ为运动状态,u为控制量,ξ包括[x y v
Figure BDA00039541055400001310
ω]T,u包括[aβ]T,T为转置符;
步骤B,获取所述运动状态的参考量,将所述运动状态减去所述参考量,得出状态误差
Figure BDA00039541055400001311
步骤C,计算所述状态误差的微分,得到如下状态转移模型:
Figure BDA0003954105540000141
其中,A和B是
Figure BDA0003954105540000142
分别对ξ和u求导,
Figure BDA0003954105540000143
Figure BDA0003954105540000144
的微分。
本实施例中,状态的微分是状态和控制量的函数,根据运动学模型中运动状态和控制量的函数计算运动状态的微分:
Figure BDA0003954105540000145
记为式1,
Figure BDA0003954105540000146
为运动状态的微分,ξ为运动状态,u为控制量,ξ包括[x y v
Figure BDA0003954105540000147
ω]T,u包括[aβ]T,T为转置符;将
Figure BDA0003954105540000148
一阶泰勒展开,得到
Figure BDA0003954105540000149
记为式2,其中,ξr为当前运动状态的参考量,可以通过参考路径计算得出,参考量的维度与状态的维度相同。将运动状态减去参考量,得出状态误差
Figure BDA00039541055400001410
即令
Figure BDA00039541055400001411
代表状态误差,根据式2,计算状态误差的微分,得到状态转移模型,具体地,状态误差的微分可以表示为
Figure BDA00039541055400001412
记为式3,继续求解
Figure BDA00039541055400001413
Figure BDA00039541055400001414
记为式4,令
Figure BDA00039541055400001415
Figure BDA00039541055400001416
简化式4,得到
Figure BDA00039541055400001417
记为式5,式5即状态转移模型,A和B是式1分别对ξ和u求导:
Figure BDA0003954105540000151
Figure BDA0003954105540000152
在本实施例中,需要说明的是,对于实际的控制系统来说,输出和输入都是离散的,本实施例设置一个控制周期的时间为T,每次输出控制指令和输入观测的状态都以控制周期为间隔,一次控制周期的输入状态是在上一周期的控制指令输出后观测得到,而当前周期的输出用于影响下一周期的状态,以此类推,对A和B进行离散化得到:
Figure BDA0003954105540000153
本实施例提出了一种由动力学模型到显式状态转移模型的变换思想,将以参数方程形式的动力学表达为等式形式的线性空间,构建状态转移模型,通过状态转移模型推测出整个时间窗口内的所有周期的状态。
本实施例中,根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测包括:
步骤D,获取第一控制周期的当前运动状态,将所述当前运动状态的当前状态参数输入所述状态转移模型,得到第二控制周期的第一状态预测结果,其中,所述第二周期为所述第一周期的下一个周期;
步骤E,迭代执行以下步骤,直到所述目标时间窗口的最后一个控制周期:将所述第一状态预测结果确定为当前运动状态,将所述当前运动状态输入所述状态转移模型,得到第三控制周期的第二状态预测结果,其中,所述第三周期为所述第二周期的下一个周期。
在基于模型预测的控制系统运行时,获取第一控制周期的当前运动状态,将当前运动状态的当前参数输入状态转移模型,通过状态转移模型预测得到第二控制周期的第一状态预测结果,其中,第二周期为第一周期的下一个周期,迭代执行以下步骤,直到目标时间窗口的最后一个控制周期:将第一状态预测结果确定为当前运动状态,将当前运动状态输入状态转移模型,预测得到第三控制周期的第二状态预测结果,其中,第三周期为第二周期的下一个周期。如第一控制周期为第0个周期,第0个周期的状态指当前时刻观测到的状态,通过状态转移模型推测出整个时间窗口内的所有周期的状态。
具体地,若目前位于第k个周期,可以通过状态转移模型得到第k+1个周期的预测结果,结合式5,可得出第k+1个周期的预测结果:
Figure BDA0003954105540000161
以此类推,可得出第k+2、k+3个周期的预测结果,分别是:
Figure BDA0003954105540000162
Figure BDA0003954105540000163
,在整个时间窗口内的预测可以简化为:
Figure BDA0003954105540000165
记为式11,其中,
Figure BDA0003954105540000166
Figure BDA0003954105540000171
Figure BDA0003954105540000172
Nc=Np-1,其中Np为预测的总周期数,Nc指状态转移模型输出控制重的总周期数。
本实施例中,采用所述预测结果序列计算当前时间窗口的当前代价函数包括:
步骤F,采用所述预测结果序列构建当前时间窗口以下当前代价函数G:
Figure BDA0003954105540000173
其中,Q和R为权重参数,ξ为运动状态,u为控制量,ξr为运动状态的参考量,ur为控制量的参考量,ξi为运动状态中的任一个运动状态,N为预测状态的总周期数;
步骤G,采用求解器对所述当前代价函数进行求解,使得所述当前代价函数在求解空间
Figure BDA0003954105540000174
中满足以下约束条件
Figure BDA0003954105540000175
得到所述当前代价函数G取得最小值的控制量集合{ui|i∈[1…Nc]},Nc为所述状态转移模型输出控制量的总周期数。
采用预测结果序列构建当前时间窗口的当前代价函数G:
Figure BDA0003954105540000181
记为式12,其中,Q和R为权重参数,ξ为运动状态,u为控制量,ξr为运动状态的参考量,ur为控制量的参考量,ξi为运动状态中任一个运动状态,N为预测状态的总周期数,采用求解器对当前代价函数进行求解,使得当前代价函数在求解空间
Figure BDA0003954105540000182
中满足以下约束条件
Figure BDA0003954105540000183
得到当前代价函数G取得最小值的控制量集合{ui|i∈[1...Nc]},Nc为状态转移模型输出控制量的总周期数,ξi为上述5个运动状态中任一个运动状态,ξmin为5个状态分别对应约束的最小值,ξmax为5个状态分别对应约束的最大值,ui为上述2个控制量中的任一个,umin为2个控制量分别对应约束的最小值,umax为2个控制量分别对应约束的最大值。
进一步地,采用求解器对所述当前代价函数进行求解包括:
步骤H,将所述代价函数转换为二次规划的基本形式,得到如下目标代价函数:
Figure BDA0003954105540000184
其中,Y为当前时间窗口内的预测运动状态,Yr为所述预测运动状态的参考量,
Figure BDA0003954105540000185
U为第k个周期的控制量误差
Figure BDA0003954105540000186
到第k+Nc个周期的控制量误差
Figure BDA0003954105540000187
H和f为常量;
步骤I,采用二次规划求解器对所述目标代价函数进行求解。
求解器的目标是在空间
Figure BDA0003954105540000188
中,求得满足以下约束条件:
Figure BDA0003954105540000189
使代价函数G取得最小值的控制量的集合{ui|i∈[1…Nc]}。本实施例中采用二次规划求解器,一般二次规划的基本形式为:
Figure BDA0003954105540000191
记为式13,其中p和q代指常量参数。本实施例将式12转换为式13的基准形式,具体转化过程如下:根据上述式11:
Figure BDA0003954105540000192
将式12简化为:(Y-Yr)TQ(Y-Yr)+UTRU记为式14,令E=Ψξ-Ψξr,根据式11可得Y-Yr=Y-Ψξr=E+ΘU记为式15,将式15代入式14可以得到:目标代价函数
Figure BDA0003954105540000193
其中,Y为当前时间窗口内的预测运动状态,Yr为预测运动状态的参考量,
Figure BDA0003954105540000194
U为第k个周期的控制量误差
Figure BDA0003954105540000195
到第k+Nc个周期的控制量误差
Figure BDA0003954105540000196
Nc为状态转移模型输出控制量的总周期数,H和f为常量,H=ΘTQΘ+R,fT=2ETQΘ;采用二次规划求解器对目标代价函数进行求解使目标代价函数取得最小值的解U,E=Ψξ-Ψξr
Figure BDA0003954105540000197
Np为预测的总周期数,Nc=Np-1。本实施例将代价函数转换为二次规划的基本形式,使代价函数能够适用于二次规划求解器。
本实施例中,采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量包括:
步骤J,根据所述当前代价函数,计算所述目标时间窗口内的控制量序列U*;
步骤K,获取所述控制量序列中的第一个控制量作为第k个周期的控制量输出;
步骤L,在第k+1个周期,将时间窗口向前滚动N,获取第k+1控制周期的参考状态ξr(k+1)至k+N+1控制周期的参考状态ξr(k+N+1),根据所述当前代价函数,ξr(k+1)至ξr(k+N+1),求解得到第k+1个周期输出的目标控制量U* (k+1),N为所述状态转移模型输出控制量的总周期数。
本实施例中,若控制系统处于第k个周期,时间窗口一共为N个周期,即是从第k个周期到第k+N个周期,此时参考状态为ξr(k)到ξr(k+N),根据目标代价函数求解
Figure BDA0003954105540000201
得到U*为整个时间窗口内的控制量序列,通常实际情况下只取序列中第一个控制量U* 0(k)作为第k个周期的控制量输出,在第k+1个周期,将时间窗口向前滚动,参考状态为ξr(k+1)到ξr(k+N+1),同样根据目标代价函数求解得到第k+1个周期的输出U* 0(k+1),如下:
Figure BDA0003954105540000202
Figure BDA0003954105540000203
不断将时间窗口进行滚动求解,从而可得到实时的控制量输出。本实施例通过轮式机器人的运动学模型构建状态转移模型,计算预测与观测的代价函数,以时间作为窗口对函数进行滚动优化,从而得到实时的控制输出。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种机器人的控制装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的一种机器人的控制装置的结构框图,如图5所示,该装置包括:构建模块60,接收模块61,第一预测模块62,计算模块63,第二预测模块64,控制模块65,其中,
构建模块60,用于构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;
接收模块61,用于接收所述机器人的当前运动状态的当前状态参数;
第一预测模块62,用于根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;
计算模块63,用于采用所述预测结果序列计算当前时间窗口的当前代价函数;
第二预测模块64,用于采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;
控制模块65,用于在所述目标时间窗口采用所述目标控制量控制所述机器人。
可选的,所述构建模块包括构建子模块,用于获取机器人的类型,根据所述机器人的类型构建对应的运动学模型;若所述机器人的类型为双轮差速机器人,则获取所述机器人的运动状态和控制量,所述运动状态包括机器人的位置信息、机器人底盘的速度以及机器人底盘的角速度,所述控制量包括线加速度和角加速度;根据所述运动状态和所述控制量构建如下的机器人运动学模型:
Figure BDA0003954105540000221
其中,x和y为定位所述机器人的位置坐标,v为机器人底盘的速度,ω为机器人底盘的角速度,
Figure BDA0003954105540000222
为定位所述机器人的航向角,a为加速度,β为角加速度,
Figure BDA0003954105540000223
是x的微分,
Figure BDA0003954105540000224
是y的微分,
Figure BDA0003954105540000225
是v的微分,
Figure BDA0003954105540000226
Figure BDA0003954105540000227
的微分,
Figure BDA0003954105540000228
是ω的微分;根据所述机器人运动学模型构建机器人的状态转移模型。
可选的,所述构建子模块,还用于根据所述运动学模型中所述运动状态和所述控制量的函数计算运动状态的微分:
Figure BDA0003954105540000229
为运动状态的微分,ξ为运动状态,u为控制量,ξ包括[x y v
Figure BDA00039541055400002210
ω]T,u包括[aβ]T,T为转置符;获取所述运动状态的参考量,将所述运动状态减去所述参考量,得出状态误差
Figure BDA00039541055400002211
计算所述状态误差的微分,得到如下状态转移模型:
Figure BDA00039541055400002212
其中,A和B是
Figure BDA00039541055400002213
分别对ξ和u求导,
Figure BDA00039541055400002214
Figure BDA00039541055400002215
的微分。
可选的,所述第一预测模块包括第一预测子模块,用于获取第一控制周期的当前运动状态,将所述当前运动状态的当前状态参数输入所述状态转移模型,得到第二控制周期的第一状态预测结果,其中,所述第二周期为所述第一周期的下一个周期;迭代执行以下步骤,直到所述目标时间窗口的最后一个控制周期:将所述第一状态预测结果确定为当前运动状态,将所述当前运动状态输入所述状态转移模型,得到第三控制周期的第二状态预测结果,其中,所述第三周期为所述第二周期的下一个周期。
可选的,所述计算模块包括计算子模块,用于采用所述预测结果序列构建当前时间窗口以下当前代价函数G:
Figure BDA0003954105540000231
其中,Q和R为权重参数,ξ为运动状态,u为控制量,ξr为运动状态的参考量,ur为控制量的参考量,ξi为运动状态中的任一个运动状态,N为预测状态的总周期数;采用求解器对所述当前代价函数进行求解,使得所述当前代价函数在求解空间
Figure BDA0003954105540000232
中满足以下约束条件
Figure BDA0003954105540000233
得到所述当前代价函数G取得最小值的控制量集合{ui|i∈[1...Nc]},Nc为所述状态转移模型输出控制量的总周期数。
可选的,所述计算子模块,还用于将所述代价函数转换为二次规划的基准形式,得到如下目标代价函数:
Figure BDA0003954105540000234
其中,Y为当前时间窗口内的预测运动状态,Yr为所述预测运动状态的参考量,
Figure BDA0003954105540000235
U为第k个周期的控制量误差
Figure BDA0003954105540000236
到第k+Nc个周期的控制量误差
Figure BDA0003954105540000237
H和f为常量;采用二次规划求解器对所述目标代价函数进行求解。
可选的,所述第二预测模块包括第二预测子模块,用于根据所述当前代价函数,计算所述目标时间窗口内的控制量序列U*;获取所述控制量序列中的第一个控制量作为第k个周期的控制量输出;在第k+1个周期,将时间窗口向前滚动N,获取第k+1控制周期的参考状态ξr(k+1)至k+N+1控制周期的参考状态ξr(k+N+1),根据所述当前代价函数,ξr(k+1)至ξr(k+N+1),求解得到第k+1个周期输出的目标控制量U*(k+1),N为所述状态转移模型输出控制量的总周期数。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;
S2,接收所述机器人的当前运动状态的当前状态参数;
S3,根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;
S4,采用所述预测结果序列计算当前时间窗口的当前代价函数;
S5,采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;
S6,在所述目标时间窗口采用所述目标控制量控制所述机器人。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;
S2,接收所述机器人的当前运动状态的当前状态参数;
S3,根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;
S4,采用所述预测结果序列计算当前时间窗口的当前代价函数;
S5,采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;
S6,在所述目标时间窗口采用所述目标控制量控制所述机器人。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种机器人的控制方法,其特征在于,所述方法包括:
构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;
接收所述机器人的当前运动状态的当前状态参数;
根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;
采用所述预测结果序列计算当前时间窗口的当前代价函数;
采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;
在所述目标时间窗口采用所述目标控制量控制所述机器人。
2.根据权利要求1所述的方法,其特征在于,构建机器人的状态转移模型包括:
获取机器人的类型,根据所述机器人的类型构建对应的运动学模型;
若所述机器人的类型为双轮差速机器人,则获取所述机器人的运动状态和控制量,所述运动状态包括机器人的位置信息、机器人底盘的速度以及机器人底盘的角速度,所述控制量包括线加速度和角加速度;
根据所述运动状态和所述控制量构建如下的机器人运动学模型:
Figure FDA0003954105530000021
Figure FDA0003954105530000022
Figure FDA0003954105530000023
Figure FDA0003954105530000024
Figure FDA0003954105530000025
其中,x和y为定位所述机器人的位置坐标,v为机器人底盘的速度,ω为机器人底盘的角速度,
Figure FDA0003954105530000026
为定位所述机器人的航向角,a为加速度,β为角加速度,
Figure FDA0003954105530000027
是x的微分,
Figure FDA0003954105530000028
是y的微分,
Figure FDA0003954105530000029
是v的微分,
Figure FDA00039541055300000210
Figure FDA00039541055300000211
的微分,
Figure FDA00039541055300000212
是ω的微分;
根据所述机器人运动学模型构建机器人的状态转移模型。
3.根据权利要求2所述的方法,其特征在于,根据所述机器人运动学模型构建机器人的状态转移模型包括:
根据所述运动学模型中所述运动状态和所述控制量的函数计算运动状态的微分:
Figure FDA00039541055300000213
Figure FDA00039541055300000214
为运动状态的微分,ξ为运动状态,u为控制量,ξ包括[x y v
Figure FDA00039541055300000215
ω]T,u包括[aβ]T,T为转置符;
获取所述运动状态的参考量,将所述运动状态减去所述参考量,得出状态误差
Figure FDA00039541055300000216
计算所述状态误差的微分,得到如下状态转移模型:
Figure FDA00039541055300000217
其中,A和B是
Figure FDA00039541055300000218
分别对ξ和u求导,
Figure FDA0003954105530000031
Figure FDA0003954105530000032
的微分。
4.根据权利要求1所述的方法,其特征在于,根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测包括:
获取第一控制周期的当前运动状态,将所述当前运动状态的当前状态参数输入所述状态转移模型,得到第二控制周期的第一状态预测结果,其中,所述第二周期为所述第一周期的下一个周期;
迭代执行以下步骤,直到所述目标时间窗口的最后一个控制周期:将所述第一状态预测结果确定为当前运动状态,将所述当前运动状态输入所述状态转移模型,得到第三控制周期的第二状态预测结果,其中,所述第三周期为所述第二周期的下一个周期。
5.根据权利要求1所述的方法,其特征在于,采用所述预测结果序列计算当前时间窗口的当前代价函数包括:
采用所述预测结果序列构建当前时间窗口以下当前代价函数G:
Figure FDA0003954105530000033
其中,Q和R为权重参数,ξ为运动状态,u为控制量,ξr为运动状态的参考量,ur为控制量的参考量,ξi为运动状态中的任一个运动状态,N为预测状态的总周期数;
采用求解器对所述当前代价函数进行求解,使得所述当前代价函数在求解空间
Figure FDA0003954105530000034
中满足以下约束条件
Figure FDA0003954105530000035
得到所述当前代价函数G取得最小值的控制量集合{ui|i∈[1...Nc]},Nc为所述状态转移模型输出控制量的总周期数。
6.根据权利要求5所述的方法,其特征在于,采用求解器对所述当前代价函数进行求解包括:
将所述代价函数转换为二次规划的基准形式,得到如下目标代价函数:
Figure FDA0003954105530000041
其中,Y为当前时间窗口内的预测运动状态,Yr为所述预测运动状态的参考量,
Figure FDA0003954105530000042
U为第k个周期的控制量误差
Figure FDA0003954105530000043
到第k+Nc个周期的控制量误差
Figure FDA0003954105530000044
H和f为常量;
采用二次规划求解器对所述目标代价函数进行求解。
7.根据权利要求1所述的方法,其特征在于,采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量包括:
根据所述当前代价函数,计算所述目标时间窗口内的控制量序列U*
获取所述控制量序列中的第一个控制量作为第k个周期的控制量输出;
在第k+1个周期,将时间窗口向前滚动N,获取第k+1控制周期的参考状态ξr(k+1)至k+N+1控制周期的参考状态ξr(k+N+1),根据所述当前代价函数,ξr(k+1)至ξr(k+N+1),求解得到第k+1个周期输出的目标控制量U* (k+1),N为所述状态转移模型输出控制量的总周期数。
8.一种机器人的控制装置,其特征在于,包括:
构建模块,用于构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;
接收模块,用于接收所述机器人的当前运动状态的当前状态参数;
第一预测模块,用于根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;
计算模块,用于采用所述预测结果序列计算当前时间窗口的当前代价函数;
第二预测模块,用于采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;
控制模块,用于在所述目标时间窗口采用所述目标控制量控制所述机器人。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法步骤。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法步骤。
CN202211462505.0A 2022-11-21 2022-11-21 机器人的控制方法、装置、电子设备及存储介质 Pending CN115933643A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211462505.0A CN115933643A (zh) 2022-11-21 2022-11-21 机器人的控制方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211462505.0A CN115933643A (zh) 2022-11-21 2022-11-21 机器人的控制方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115933643A true CN115933643A (zh) 2023-04-07

Family

ID=86553238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211462505.0A Pending CN115933643A (zh) 2022-11-21 2022-11-21 机器人的控制方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115933643A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117111479A (zh) * 2023-10-23 2023-11-24 深圳市智绘科技有限公司 机器人控制方法、装置、电子设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111665850A (zh) * 2020-06-29 2020-09-15 合肥工业大学 一种无人驾驶方程式赛车轨迹跟踪横向控制方法及装置
WO2021224532A1 (es) * 2020-05-07 2021-11-11 Universidad Del País Vasco /Euskal Herriko Unibertsitatea Método de control predictivo basado en modelo para la reducción de carga estructural en turbinas eólicas
CN113671957A (zh) * 2021-08-13 2021-11-19 哈尔滨工业大学 星球熔岩管探测机器人的控制方法
CN114510063A (zh) * 2022-04-06 2022-05-17 北京理工大学 一种无人履带车辆及其轨迹跟踪控制方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021224532A1 (es) * 2020-05-07 2021-11-11 Universidad Del País Vasco /Euskal Herriko Unibertsitatea Método de control predictivo basado en modelo para la reducción de carga estructural en turbinas eólicas
CN111665850A (zh) * 2020-06-29 2020-09-15 合肥工业大学 一种无人驾驶方程式赛车轨迹跟踪横向控制方法及装置
CN113671957A (zh) * 2021-08-13 2021-11-19 哈尔滨工业大学 星球熔岩管探测机器人的控制方法
CN114510063A (zh) * 2022-04-06 2022-05-17 北京理工大学 一种无人履带车辆及其轨迹跟踪控制方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
H. MICHALSKA: "Robust receding horizon control of constrained nonlinear systems", 《IEEE TRANSCATIONS ON AUTOMATIC CONTROL》 *
占红武: "非完整移动机器人路径跟踪的快速非线性模型预测控制方法", 《高技术通讯》, vol. 31, no. 4 *
张震: "非完整约束移动机器人的运动规划与跟踪控制技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117111479A (zh) * 2023-10-23 2023-11-24 深圳市智绘科技有限公司 机器人控制方法、装置、电子设备及可读存储介质
CN117111479B (zh) * 2023-10-23 2024-01-30 深圳市智绘科技有限公司 机器人控制方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
Zhao et al. Quadcopter formation flight control combining MPC and robust feedback linearization
Krämer et al. Model predictive control of a collaborative manipulator considering dynamic obstacles
García-Sánchez et al. Tracking control for mobile robots considering the dynamics of all their subsystems: Experimental implementation
CN109017984A (zh) 一种无人车的轨迹跟随控制方法、控制系统及相关装置
JP6784003B2 (ja) 統合システム用の共同シミュレーションを構成する方法、装置、コンピュータ可読記憶媒体、及びプログラム
CN106933105A (zh) 受限条件下的轨迹更新综合预测迭代学习控制算法
Yan et al. Adaptive practical leader‐following formation control of multiple nonholonomic wheeled mobile robots
Fang et al. Distributed optimization for the multi-robot system using a neurodynamic approach
CN115933643A (zh) 机器人的控制方法、装置、电子设备及存储介质
Ribeiro et al. Nonlinear model predictive visual path following control to autonomous mobile robots
Xiao et al. Two-level structure swarm formation system with self-organized topology network
Baranski et al. Comparative study of neighbor communication approaches for distributed model predictive control in building energy systems
Nikou et al. Scalable time-constrained planning of multi-robot systems
US12078972B2 (en) Model-based control with uncertain motion model
Bonci et al. Execution time of optimal controls in hard real time, a minimal execution time solution for nonlinear SDRE
CN114967465A (zh) 轨迹规划方法、装置、电子设备及存储介质
Bernardeschi et al. Co-simulation and formal verification of co-operative drone control with logic-based specifications
Kralev et al. Design and experimental evaluation of robust controllers for a two-wheeled robot
Tang et al. Mecanum wheel AGV trajectory tracking control based on efficient MPC algorithm
Shahbazzadeh et al. Trajectory tracking control for mobile robots considering position of mass center
Yin et al. An anti-disturbance lane-changing trajectory tracking control method combining extended Kalman filter and robust tube-based model predictive control
US11790247B2 (en) Robust adaptive dynamic mode decomposition for modeling, prediction, and control of high dimensional physical systems
Cubuktepe et al. Shared control with human trust and workload models
Xiong et al. Consensus based formation control for multi-uav systems with time-varying delays and jointly connected topologies
CN113031593A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20230407