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

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

【技术实现步骤摘要】
机器人的控制方法、装置、电子设备及存储介质


[0001]本专利技术涉及机器人领域,具体而言,涉及一种机器人的控制方法、装置、电子设备及存储介质。

技术介绍

[0002]目前,轮式机器人被广泛应用于物流、清洁、餐饮等行业,其主要功能体现在能使机器人准确到达预先设置的目标点,以及在行进过程中对目标路径的精确跟踪。为了实现上述功能,准确的地图构建、稳定的实时定位、安全的导航路径规划和鲁棒的运动控制是缺一不可的,然而在很多实际场景下,定位模块可能在某些时刻无法给出非常精确的实时定位数据,或者传感器无法及时得到非常精确的底盘反馈数据,此时为了保证机器人运动的相对稳定,运动控制需要具备相当的鲁棒性,否则机器人可能无法完整执行任务,甚至与环境中的障碍物发生碰撞,造成无法挽回的后果。
[0003]相关技术中,针对轮式机器人的主流运动控制算法有:基于PID的控制算法和基于线性二次型调节的控制算法,其中,基于PID的控制算法是一种传统的控制算法,是直接通过计算输入状态和输出状态来调节整体控制量的一种经典算法。具体做法是,根据传感器得到的当前状态输出,经过比例运算、积分运算和微分运算,以加权叠加的形式加入到输入中,从而得到新一轮的输出。可以看出,PID控制算法的优势在于原理简单且易于实现,对运行中的性能基本没有要求,可是实际情况下,针对某一个机器人系统,工程师在部署该算法的时候可能需要不断进行调试来确定PID算法中的参数,这些参数可能只针对这一个系统有效,导致开发和部署的工作量较大,并且在运行的过程中如果机器人的环境发生了一些变化,控制算法可能会失效,鲁棒性较差。
[0004]基于线性二次型调节的控制算法(LQR)是一种针对线性系统的控制算法,这一类算法通常是构造系统的状态量变化模型,和系统的输入量构成二次型的代价函数,然后累计该代价函数,通过Riccati方程不断逼近求解使系统代价最小的控制量。相比于PID只考虑当前输入输出,LQR考虑了整个预测时域内的控制误差,但是LQR在求解的过程中不对输出的控制量做约束,在实际情况下往往需要后处理,并且预测时域的长度固定,灵活性较差。
[0005]针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。

技术实现思路

[0006]本专利技术提供了一种机器人的控制方法、装置、电子设备及存储介质,以解决相关技术机器人运动控制的鲁棒性较差的技术问题。
[0007]根据本申请实施例的一个方面,提供了一种机器人的控制方法,包括:构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;接收所述机器人的当前运动状态的当前状态参数;根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述
预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;采用所述预测结果序列计算当前时间窗口的当前代价函数;采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;在所述目标时间窗口采用所述目标控制量控制所述机器人。
[0008]进一步地,构建机器人的状态转移模型包括:获取机器人的类型,根据所述机器人的类型构建对应的运动学模型;若所述机器人的类型为双轮差速机器人,则获取所述机器人的运动状态和控制量,所述运动状态包括机器人的位置信息、机器人底盘的速度以及机器人底盘的角速度,所述控制量包括线加速度和角加速度;根据所述运动状态和所述控制量构建如下的机器人运动学模型:其中,x和y为定位所述机器人的位置坐标,v为机器人底盘的速度,ω为机器人底盘的角速度,为定位所述机器人的航向角,a为加速度,β为角加速度,是x的微分,是y的微分,是v的微分,是的微分,是ω的微分;根据所述机器人运动学模型构建机器人的状态转移模型。
[0009]进一步地,根据所述机器人运动学模型构建机器人的状态转移模型包括:根据所述运动学模型中所述运动状态和所述控制量的函数计算运动状态的微分:为运动状态的微分,ξ为运动状态,u为控制量,ξ包括[x y vω]T
,u包括[aβ]T
,T为转置符;获取所述运动状态的参考量,将所述运动状态减去所述参考量,得出状态误差计算所述状态误差的微分,得到如下状态转移模型:其中,A和B是分别对ξ和u求导,为的微分。
[0010]进一步地,根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测包括:获取第一控制周期的当前运动状态,将所述当前运动状态的当前状态参数输入所述状态转移模型,得到第二控制周期的第一状态预测结果,其中,所述第二周期为所述第一周期的下一个周期;迭代执行以下步骤,直到所述目标时间窗口的最后一个控制周期:将所述第一状态预测结果确定为当前运动状态,将所述当前运动状态输入所述状态转移模型,得到第三控制周期的第二状态预测结果,其中,所述第三周期为所述第二周期的下一个周期。
[0011]进一步地,采用所述预测结果序列计算当前时间窗口的当前代价函数包括:采用所述预测结果序列构建当前时间窗口以下当前代价函数G:
其中,Q和R为权重参数,ξ为运动状态,u为控制量,ξ
r
为运动状态的参考量,u
r
为控制量的参考量,ξ
i
为运动状态中的任一个运动状态,N为预测状态的总周期数;采用求解器对所述当前代价函数进行求解,使得所述当前代价函数在求解空间中满足以下约束条件得到所述当前代价函数G取得最小值的控制量集合{u
i
|i∈[1...N
c
]},Nc为所述状态转移模型输出控制量的总周期数。
[0012]进一步地,采用求解器对所述当前代价函数进行求解包括:将所述代价函数转换为二次规划的基准形式,得到如下目标代价函数:其中,Y为当前时间窗口内的预测运动状态,Y
r
为所述预测运动状态的参考量,U为第k个周期的控制量误差到第k+N
c
个周期的控制量误差H和f为常量;采用二次规划求解器对所述目标代价函数进行求解。
[0013]进一步地,采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量包括:根据所述当前代价函数,计算所述目标时间窗口内的控制量序列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为所述状态转移模型输出控制量的总周期数。
[0014]根据本申请实施例的另一个方面,还提供了一种机器人的控制装置,包括:构建模块,用于构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种机器人的控制方法,其特征在于,所述方法包括:构建机器人的状态转移模型,其中,所述状态转移模型为运动状态与控制量之间的关系;接收所述机器人的当前运动状态的当前状态参数;根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测,得到预测结果序列,其中,所述预测结果序列包括多个预测运动状态,每个预测运动状态对应一个控制周期;采用所述预测结果序列计算当前时间窗口的当前代价函数;采用所述当前代价函数和预设约束条件预测所述目标时间窗口内的目标控制量;在所述目标时间窗口采用所述目标控制量控制所述机器人。2.根据权利要求1所述的方法,其特征在于,构建机器人的状态转移模型包括:获取机器人的类型,根据所述机器人的类型构建对应的运动学模型;若所述机器人的类型为双轮差速机器人,则获取所述机器人的运动状态和控制量,所述运动状态包括机器人的位置信息、机器人底盘的速度以及机器人底盘的角速度,所述控制量包括线加速度和角加速度;根据所述运动状态和所述控制量构建如下的机器人运动学模型:根据所述运动状态和所述控制量构建如下的机器人运动学模型:根据所述运动状态和所述控制量构建如下的机器人运动学模型:根据所述运动状态和所述控制量构建如下的机器人运动学模型:根据所述运动状态和所述控制量构建如下的机器人运动学模型:其中,x和y为定位所述机器人的位置坐标,v为机器人底盘的速度,ω为机器人底盘的角速度,为定位所述机器人的航向角,a为加速度,β为角加速度,是x的微分,是y的微分,是v的微分,是的微分,是ω的微分;根据所述机器人运动学模型构建机器人的状态转移模型。3.根据权利要求2所述的方法,其特征在于,根据所述机器人运动学模型构建机器人的状态转移模型包括:根据所述运动学模型中所述运动状态和所述控制量的函数计算运动状态的微分:根据所述运动学模型中所述运动状态和所述控制量的函数计算运动状态的微分:为运动状态的微分,ξ为运动状态,u为控制量,ξ包括[x y vω]
T
,u包括[aβ]
T
,T为转置符;获取所述运动状态的参考量,将所述运动状态减去所述参考量,得出状态误差计算所述状态误差的微分,得到如下状态转移模型:
其中,A和B是分别对ξ和u求导,为的微分。4.根据权利要求1所述的方法,其特征在于,根据所述当前状态参数和所述状态转移模型对所述机器人在目标时间窗口内所有控制周期的运动状态进行预测包括:获取第一控制周期的当前运动状态,将所述当前运动状态的当前状态参数输入所述状态转移模型,得到第二控制周期的第一状态预测结果,其中,所述第二周期为所述第一周期的下一个周期;迭代执行以下步骤,直到所述目标时间窗口的最后一个控制周期:将所述第一状态预测结果确定为当前运动状态,将所述当前运动状态输入所述状态转移模型,得到第三控制周期的第二状态预测结果,其中,所述第三周期为所述第二周期的下一个周期。5.根据权利要求1所述的方法,其特征在于,采用所述预测结果序列计算当前时间窗口的当前代价函数包括:采用所述预测结果序列构建当前时间窗口以下当前代价...

【专利技术属性】
技术研发人员:熊伟成周心其
申请(专利权)人:深圳市智绘科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1