计算机动画和机器人运动学中,对刚体运动曲线的设计尤为重要。刚体的位置和朝向决定其特定时刻的状态,实际中常用形式简洁、计算高效的单位四元数表示法来表描述刚体的朝向。因此,本文的研究目的是提供一种简洁有效的构造C2连续的四元数插值样条曲线的构造方法,使曲线精确地插值于给定的单位四元数序列。首先,对Bézier四元数曲线的性质进行研究,计算出了曲线在端点处的一阶、二阶导矢;然后,利用Bézier四元数曲线在端点处的性质解决了它的光滑拼接问题,进一步给出了一种构造四元数插值样条曲线的方案,明确了中间控制顶点与已知数据点之间的关系; 最后对上述方案进行应用。本文方法无需求解非线性方程组,提高了运算效率。 The design of rigid body motion curve is particularly important in computer animation and robot kinematics. The position and orientation of a rigid body determine its state at a specific time. In practice, the simple and efficient unit quaternion representation is often used to describe the orientation of rigid body. Therefore, the purpose of this paper is to provide a concise and effective construction method of constructing continuous quaternion interpolation spline curves, so that the curves can be accurately interpolated into a given unit quaternion sequence. Firstly, the properties of Bézier quaternion curves are studied, and the first-order and second-order derivatives of the curves at the endpoints are calculated; Then, the problem of smooth splicing of Bézier quaternion curves is solved by using its properties at the end point. A scheme for constructing quaternion interpolation spline curve is further given, and the relationship between intermediate control vertices and known data points is clarified; Finally, the above scheme is applied. The proposed method does not need to solve nonlinear equations and improves the operation efficiency.
计算机动画和机器人运动学中,对刚体运动曲线的设计尤为重要。刚体的位置和朝向决定其特定时刻的状态,实际中常用形式简洁、计算高效的单位四元数表示法来表描述刚体的朝向。因此,本文的研究目的是提供一种简洁有效的构造C2连续的四元数插值样条曲线的构造方法,使曲线精确地插值于给定的单位四元数序列。首先,对Bézier四元数曲线的性质进行研究,计算出了曲线在端点处的一阶、二阶导矢;然后,利用Bézier四元数曲线在端点处的性质解决了它的光滑拼接问题,进一步给出了一种构造四元数插值样条曲线的方案,明确了中间控制顶点与已知数据点之间的关系; 最后对上述方案进行应用。本文方法无需求解非线性方程组,提高了运算效率。
Bézier四元数曲线,四元数样条曲线,光滑拼接,插值
Nan Sun, Qian Wang, Yao He, Lei Yang, Jiahui Chen
School of Mathematics, Liaoning Normal University, Dalian Liaoning
Received: Feb. 28th, 2022; accepted: Mar. 22nd, 2022; published: Mar. 29th, 2022
The design of rigid body motion curve is particularly important in computer animation and robot kinematics. The position and orientation of a rigid body determine its state at a specific time. In practice, the simple and efficient unit quaternion representation is often used to describe the orientation of rigid body. Therefore, the purpose of this paper is to provide a concise and effective construction method of constructing continuous quaternion interpolation spline curves, so that the curves can be accurately interpolated into a given unit quaternion sequence. Firstly, the properties of Bézier quaternion curves are studied, and the first-order and second-order derivatives of the curves at the endpoints are calculated; Then, the problem of smooth splicing of Bézier quaternion curves is solved by using its properties at the end point. A scheme for constructing quaternion interpolation spline curve is further given, and the relationship between intermediate control vertices and known data points is clarified; Finally, the above scheme is applied. The proposed method does not need to solve nonlinear equations and improves the operation efficiency.
Keywords:Bézier Quaternion Curve, Quaternion Spline Curve, Smooth Joining, Interpolation
Copyright © 2022 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
计算机动画和机器人运动学中,对刚体运动曲线的设计尤为重要 [
1985年Shoemake [
本文旨在寻求一种简洁有效的方法,通过对Bézier四元数曲线的性质进行研究,计算其端点处的一阶、二阶导矢,由此解决了曲线的光滑拼接问题,来构造出具有C2连续性的四元数插值样条曲线,精确地插值于给定的单位四元数序列,无需求解非线性方程组,并且能进行Hermite插值。
一个单位四元数 q = ( w , x , y , z ) ∈ S 3 ,其中 w 2 + x 2 + y 2 + z 2 = 1 ,令
θ = arccos w ∈ [ 0 , π ] ,
( a , b , c ) = ( x , y , z ) x 2 + y 2 + z 2 ∈ R 3 ,
我们得到单位四元数的另一种表示方法 q = ( cos θ , sin θ ⋅ ( a , b , c ) ) 。
两个单位四元数 q i = ( w i , x i , y i , z i ) , ( i = 1 , 2 ) ,它们的乘积定义为:
q 1 q 2 = ( w 1 w 2 − x 1 x 2 − y 1 y 2 − z 1 z 2 w 1 x 2 + x 1 w 2 + y 1 z 2 − z 1 y 2 w 1 y 2 + y 1 w 2 + z 1 x 2 − x 1 z 2 w 1 z 2 + z 1 w 2 + x 1 y 2 − y 1 x 2 ) ′ .
单位四元数的逆定义为 q − 1 = ( w , − x , − y , − z ) 。
单位四元数 q = ( cos θ , sin θ ⋅ ( a , b , c ) ) 将欧氏空间中的点 p 1 = ( x 1 , y 1 , z 1 ) 由以下关系:
p 2 = ( 0 , x 2 , y 2 , z 2 ) = q ⋅ ( 0 , x 1 , y 1 , z 1 ) ⋅ q − 1 ,
映射到 p 2 = ( x 2 , y 2 , z 2 ) ,其几何意义是将 p 1 绕轴 ( a , b , c ) 旋转 θ 2 个角度得到 p 2 。
给定向量 v = θ ⋅ ( a , b , c ) ∈ R 3 ,其中 0 ≤ θ ≤ π , ( a , b , c ) ∈ S 2 ,由指数映射
q = exp ( v ) = ( cos θ , sin θ ⋅ ( a , b , c ) ) ∈ S 3
将v映射到单位四元数q。
对数映射
v = log ( q ) = θ ⋅ ( a , b , c ) ∈ R 3
将单位四元数q映射到三维球面上的点v。显然,
log ( q − 1 ) = − log ( q ) (1)
结合单位四元数的几何意义,单位四元数的实值指数 α 次幂定义为 q α = exp ( α log ( q ) ) 。
给定两个单位四元数 q 1 和 q 2 ,连接 q 1 和 q 2 的测地线具有恒定的切向速度 log ( q 1 − 1 q 2 ) ,测地线方程
γ q 1 , q 2 ( t ) = q 1 ⋅ exp ( t ⋅ log ( q 1 − 1 q 2 ) ) = exp ( t ⋅ log ( q 2 q 1 − 1 ) ) ⋅ q 1 , 0 ≤ t ≤ 1 (2)
也被称为 q 1 和 q 2 之间的slerp插值。
基于KIM [
引理1:
q 1 ⋅ log ( q 1 − 1 q 2 ) = − log ( q 1 − 1 q 2 ) ⋅ q 1 . (3)
KIM2等人在对Bézier四元数曲线的研究中,首先将Bernstein基函数 B i , n ( t ) = C n i t i ( 1 − t ) n − i , i = 0 , 1 , ⋯ , n 转换为累加形式
β i , n ( t ) = ∑ j = i n B j , n ( t ) , i = 0 , 1 , ⋯ , n .
在此基础上,运用slerp插值给出了具有初始控制顶点 q i ( i = 0 , 1 , ⋯ , n ) 的n次Bézier四元数曲线的定义:
q ( t ) = q 0 ∏ i = 1 n exp ( ω i β i , n ( t ) ) , 0 ≤ t ≤ 1. (4)
其中, ω i = log ( q i − 1 − 1 q i ) 。最后,对3次Bézier四元数曲线的性质进行了研究。
为了讨论Bézier四元数曲线在端点处的性质,我们给出下面的引理。
引理2:对于 i = 1 , 2 , ⋯ , n ,Bernstein基函数累加形式 β i , n ( t ) 满足
1) β i , n ( 0 ) = 0 ,
β i , n ( 1 ) = 1.
2) β ′ i , n ( 0 ) = { n , i = 1 , 0 , i = 2 , ⋯ , n .
β ′ i , n ( 1 ) = { 0 , i = 1 , 2 , ⋯ , n − 1 , n , i = n .
3) β ″ i , n ( 0 ) = { − n ( n − 1 ) , i = 1 , n ( n − 1 ) , i = 2 , 0 , i = 3 , ⋯ , n .
β ″ i , n ( 1 ) = { 0 , i = 1 , 2 , ⋯ , n − 2 , − n ( n − 1 ) , i = n − 1 , n ( n − 1 ) , i = n .
证明:对Bernstein基函数求导得
B ′ i , n ( t ) = i C n i t i − 1 ( 1 − t ) n − i − ( i + 1 ) C n i + 1 t i ( 1 − t ) n − i − 1 ,
注意到 C n n + 1 t n ( 1 − t ) 0 = 0 ,于是有
β ′ i , n ( t ) = ∑ j = i n B ′ j , n ( t ) = i C n i t i − 1 ( 1 − t ) n − i .
求出Bernstein基函数累加形式的一阶导 β ′ i , n ( t ) 后,再对 β ′ i , n ( t ) 求导,就可以计算出Bernstein基函数累加形式的二阶导
β ″ i , n ( t ) = i ( i − 1 ) C n i t i − 2 ( 1 − t ) n − i − i ( n − i ) C n i t i − 1 ( 1 − t ) n − i − 1 .
由此,即可证明引理。
为方便起见,对于 i = 1 , 2 , ⋯ , n ,令
α i , n ( t ) = exp ( ω i β i , n ( t ) ) , (5)
我们将Bézier四元数曲线的定义式(4)改写成
q ( t ) = q 0 ∏ i = 1 n α i , n ( t ) , 0 ≤ t ≤ 1. (6)
引理3:对于 i = 1 , 2 , ⋯ , n , α i , n ( t ) 满足
1) α i , n ( 0 ) = 1 ,
α i , n ( 1 ) = q i − 1 − 1 q i .
2) α ′ i , n ( 0 ) = { n ω 1 , i = 1 , 0 , i = 2 , ⋯ , n .
α ′ i , n ( 1 ) = { 0 , i = 1 , 2 , ⋯ , n − 1 , n , i = n .
3) α ″ i , n ( 0 ) = { n 2 ω 1 2 − n ( n − 1 ) ω 1 , i = 1 , n ( n − 1 ) ω 2 , i = 2 , 0 , i = 3 , ⋯ , n .
α ″ i , n ( 1 ) = { 0 , i = 1 , 2 , ⋯ , n − 2 , − n ( n − 1 ) ω n − 1 , i = n − 1 , n 2 ω n 2 + n ( n − 1 ) ω n , i = n .
证明:对于 i = 1 , 2 , ⋯ , n ,将(5)式两端分别对参数t求导
α ′ i , n ( t ) = exp ( ω i β i , n ( t ) ) ⋅ ω i β ′ i , n ( t ) . (7)
α ″ i , n ( t ) = exp ( ω i β i , n ( t ) ) ⋅ ( ω i β ′ i , n ( t ) ) 2 + exp ( ω i β i , n ( t ) ) ⋅ ω i β ″ i , n ( t ) .
由引理2即可证明。
下面,我们对Bézier四元数曲线在端点处的性质进行讨论。为此,不妨假设
∏ i = 1 0 α i , n ( t ) = ∏ i = n n + 1 α i , n ( t ) = 1.
由引理3,可以直接得到如下结论:
定理1:Bézier四元数曲线 q ( t ) 在端点处插值首末控制顶点,即
q ( 0 ) = q 0 ,
q ( 1 ) = q n .
对于曲线 q ( t ) 在端点处的一阶导矢,我们有如下结论。
定理2:Bézier四元数曲线 q ( t ) 在端点处的一阶导矢为
q ′ ( 0 ) = n q 0 ω 1 ,
q ′ ( 1 ) = n q n ω n .
证明:对于 i = 1 , 2 , ⋯ , n ,将Bézier四元数曲线的定义式(6)两端分别对参数t求导,则
q ′ ( t ) = ∑ i = 1 n q 0 ⋅ ∏ j = 1 i − 1 α j , n ( t ) ⋅ α ′ i , n ( t ) ⋅ ∏ j = i + 1 n α j , n ( t ) , (8)
由引理3得
q ′ ( 0 ) = q 0 ⋅ α ′ 1 , n ( 0 ) ,
q ′ ( 1 ) = q 0 ( q 0 − 1 q 1 ) ⋯ ( q n − 1 − 1 q n ) ⋅ α ′ n , n ( 1 ) .
由此即可证明定理。
进一步地,对于Bézier四元数曲线的二阶导矢,我们给出如下结论:
定理3:Bézier四元数曲线 q ( t ) 在端点处的二阶导矢为
q ″ ( 0 ) = n 2 q 0 ω 1 2 − n ( n − 1 ) q 0 ω 1 + n ( n − 1 ) q 0 ω 2 ,
q ″ ( 1 ) = n 2 q n ω n 2 + n ( n − 1 ) q n ω n + n ( n − 1 ) ω n − 1 q n .
证明:对于 i = 1 , 2 , ⋯ , n ,令 f i , n ( t ) = h i , n 1 ( t ) + h i , n 2 ( t ) + h i , n 3 ( t ) ,其中,
h i , n 1 ( t ) = ∏ j = 1 i α j , n ( t ) , (9)
h i , n 2 ( t ) = α ′ i , n ( t ) , (10)
h i , n 3 ( t ) = ∏ j = i + 1 n α j , n ( t ) . (11)
显然,
q ″ ( t ) = ∑ i = 1 n f ′ i , n ( t ) .
并且,
f ′ i , n ( t ) = q 0 h i , n 1 ′ ( t ) h i , n 2 ( t ) h i , n 3 ( t ) + q 0 h i , n 1 ( t ) h i , n 2 ′ ( t ) h i , n 3 ( t ) + q 0 h i , n 1 ( t ) h i , n 2 ( t ) h i , n 3 ′ ( t ) . (12)
进一步地,将(9) (10) (11)三式两端分别对参数t求导
h i , n 1 ′ ( t ) = ∑ j = 1 i ∏ k = 1 j α k , n ( t ) ⋅ α ′ j , n ( t ) ⋅ ∏ k = j + 1 i α k , n ( t ) , (13)
h i , n 2 ′ ( t ) = α ″ i , n ( t ) , (14)
h i , n 3 ′ ( t ) = ∑ j = i + 1 i ∏ k = 1 j α k , n ( t ) ⋅ α ′ j , n ( t ) ⋅ ∏ k = j + 1 i α k , n ( t ) . (15)
将(13)~(15)式分别代到(12)式,
f ′ i , n ( t ) = ∑ j = 1 i q 0 ⋅ ∏ k = 1 j α k , n ( t ) ⋅ α ′ j , n ( t ) ⋅ ∏ k = j + 1 i α k , n ( t ) ⋅ α ′ i , n ( t ) ⋅ ∏ k = i + 1 n α k , n ( t ) + q 0 ⋅ ∏ j = 1 i α j , n ( t ) ⋅ α ″ i , n ( t ) ⋅ ∏ j = i + 1 n α j , n ( t ) + ∑ j = i + 1 n q 0 ⋅ ∏ k = 1 i α k , n ( t ) ⋅ α ′ i , n ( t ) ⋅ ∏ k = i + 1 j α k , n ( t ) ⋅ α ′ j , n ( t ) ⋅ ∏ k = j + 1 n α k , n ( t ) .
于是得到n次Bézier四元数曲线的二阶导矢 q ″ ( t ) 。
由引理3可知,
当 t = 0 时,
f ′ i , n ( 0 ) = { n 2 q 0 ω 1 2 − n ( n − 1 ) q 0 ω 1 , i = 1 , n ( n − 1 ) q 0 ω 2 , i = 2 , 0 , i = 3 , ⋯ , n .
当 t = 1 时,
f ′ i , n ( 1 ) = { 0 , i = 1 , 2 , ⋯ , n − 2 , − n ( n − 1 ) q n − 1 ω n − 1 q n − 1 − 1 q n , i = n − 1 , n 2 q n ω n 2 + n ( n − 1 ) q n ω n , i = n .
特别地,由引理1可知,
f ′ n − 1 , n ( 1 ) = n ( n − 1 ) ω n − 1 q n .
由此即可证明定理。
本节我们要考虑Bézier四元数曲线的光滑拼接问题。对于整数 n ≥ 2 ,给定两组三维单位球面S3上 n + 1 个互不相同的单位四元数 q i 0 , q i 1 , ⋯ , q i n , i = 1 , 2 ,它们分别确定两条n次Bézier四元数曲线 q i ( t ) ∈ S 3 。则问题转化为控制顶点的选取,使得曲线 q 1 ( t ) 和 q 2 ( t ) 是C2光滑拼接的。
根据定理1可知,Bézier四元数曲线具有端点插值性,因此,Bézier四元数曲线 q 1 ( t ) 和 q 2 ( t ) C0光滑拼接时,下式成立
q 2 , 0 = q 1 , n , (16)
两曲线C2光滑拼接的充要条件是它们在其公共连接点处具有相同的二阶导矢。由此给出以下两个结论。
定理4:两条n次Bézier四元数曲线 q 1 ( t ) 和 q 2 ( t ) 在其公共连接点处是C1光滑拼接的,则(16)式以及下式
q 2 , 1 = q 1 , n q 1 , n − 1 − 1 q 1 , n (17)
成立。
证明:Bézier四元数曲线 q 1 ( t ) 和 q 2 ( t ) 在其公共连接点处C1光滑拼接,当且仅当
q ′ 2 ( 0 ) = q ′ 1 ( 1 ) ,
根据定理2,
n q 2 , 0 ω 2 , 1 = n q 1 , n ω 1 , n ,
再由(16)式,
ω 2 , 1 = ω 1 , n ,
即可证明定理。
定理5:两条n次Bézier四元数曲线 q 1 ( t ) 和 q 2 ( t ) 在其公共连接点处是C2光滑拼接的,则(16) (17)式以及下式
q 2 , 2 = q 1 , n q 1 , n − 1 − 1 q 1 , n ⋅ exp ( 2 ω 1 , n − q 1 , n − 1 q 1 , n − 1 ω 1 , n − 1 q 1 , n − 1 − 1 q 1 , n ) (18)
成立。
证明:Bézier四元数曲线 q 1 ( t ) 和 q 2 ( t ) 在其公共连接点处C2光滑拼接,当且仅当
q ″ 2 ( 0 ) = q ″ 1 ( 1 ) ,
根据定理3,
n 2 q 2 , 0 ω 2 , 1 2 − n ( n − 1 ) q 2 , 0 ω 2 , 1 + n ( n − 1 ) q 2 , 0 ω 2 , 2 = n 2 q 1 , n ω 1 , n 2 + n ( n − 1 ) q 1 , n ω 1 , n + n ( n − 1 ) ω 1 , n − 1 q 1 , n ,
利用(16)(17)式,可将上式化简为
ω 2 , 2 = q 1 , n − 1 ( 2 q 1 , n ω 1 , n + ω 1 , n − 1 q 1 , n ) ,
即可证明定理。
运用以上结论,我们可以解决两条Bézier四元数曲线的光滑拼接问题。
在实际问题中,往往是给出三维球面S3上的一组数据点 q 0 , q 1 , ⋯ , q r , r ≥ 2 ,要求我们构造一条三次Bézier四元数样条曲线 q ˜ : [ 0 , r ] → S 3 ,具有C2连续性,且光滑插值于这些点。
对于 i = 1 , 2 , ⋯ , r ,记连接 q i − 1 和 q i 的三次Bézier四元数曲线段为 q ˜ i ( t ) , t ∈ [ 0 , 1 ] ,令
q ˜ ( t ) = q ˜ i ( t − i + 1 ) , t ∈ [ i − 1 , i ]
设第i段三次Bézier四元数曲线 q ˜ i ( t ) 的控制顶点为 q i − 1 , q i 1 , q i 2 , q i 。则由定理1可知, q ˜ ( t ) 插值于数据点 q 0 , q 1 , ⋯ , q r 。由此,问题转化为曲线段 q ˜ i − 1 ( t ) 和 q ˜ i ( t ) 在数据点 q i 处的C2光滑拼接问题。将 q ˜ i − 1 ( t ) 的控制顶点分别代入(17)(18)式,我们可以依次计算出曲线段 q ˜ i ( t ) 的中间控制顶点:
q i , 1 = q i − 1 q i − 1 , 2 − 1 q i − 1 ; (19)
q i , 2 = q i − 1 q i − 1 , 2 − 1 q i − 1 ⋅ exp ( 2 ω i − 1 , n − q i − 1 − 1 q i − 1 , 2 ω i − 1 , n − 1 q i − 1 , 2 − 1 q i − 1 ) , (20)
其中, ω i − 1 , n = log ( q i − 1 , 2 − 1 q i − 1 ) , ω i − 1 , n − 1 = log ( q i − 1 , 1 − 1 q i − 1 , 2 ) 。
由定理5可知,样条曲线 q ˜ ( t ) 是C2连续的。
例:表1为一组刚体旋转运动的插值数据,给出了刚体运动的4个时间点的旋转角与旋转轴。
时间点 | 旋转角 | 旋转轴 |
---|---|---|
t 0 | 1.1801 | ( 0.6957 , − 0.7179 , − 0.0268 ) |
t 1 | 0.5347 | ( − 0.2647 , 0.1579 , 0.9513 ) |
t 2 | 1.0150 | ( − 0.7805 , − 0.0450 , − 0.6235 ) |
t 3 | 0.2821 | ( − 0.4636 , − 0.4823 , 0.7446 ) |
表1. 刚体旋转运动的插值数据
运用四元数和旋转角与旋转轴的关系,可分别求出每组数据对应的单位四元数,即
q 0 = ( − 0.7099 , 0.4900 , − 0.5056 , − 0.0189 ) ,
q 1 = ( 0.4087 , − 0.2321 , 0.1385 , 0.8342 ) ,
q 2 = ( − 0.4432 , − 0.6997 , − 0.0403 , − 0.5589 ) ,
q 3 = ( 0.8450 , − 0.2479 , − 0.2579 , 0.3982 ) ,
假设连接 q 0 和 q 1 的曲线段 q ˜ 1 ( t ) 的中间控制顶点为
q 1 , 1 = ( − 0.5854 , − 0.7636 , 0.2636 , − 0.0689 ) ,
q 1 , 2 = ( − 0.1478 , 0.8967 , 0.2467 , 0.3365 ) .
由(19) (20)式,我们可以得到曲线段 q ˜ 2 ( t ) 的控制顶点
q 1 = ( 0.4807 , − 0.2321 , 0.1385 , 0.8342 ) ,
q 2 , 1 = ( 0.1821 , − 0.9133 , − 0.2368 , − 0.2769 ) ,
q 2 , 2 = ( 0.1407 , 0.8690 , 0.1493 , 0.4503 ) ,
q 2 = ( − 0.4432 , − 0.6997 , − 0.0403 , − 0.5589 ) ,
以及曲线段 q ˜ 3 ( t ) 的控制顶点
q 2 = ( − 0.4432 , − 0.6997 , − 0.0403 , − 0.5589 ) ,
q 3 , 1 = ( 0.6820 , 0.4297 , − 0.0745 , 0.5871 ) ,
q 3 , 2 = ( − 0.8227 , − 0.0980 , 0.1785 , − 0.5308 ) ,
q 3 = ( 0.8450 , − 0.2479 , − 0.2579 , 0.3982 ) .
由此构造出一条C2连续的三次Bézier四元数样条曲线 q ˜ : [ 0 , 3 ] → S 3 光滑插值于 q 0 , q 1 , q 2 , q 3 ,进而得到相应的刚体旋转运动插值于给定的数据。假设刚体的平移运动为直线运动,则我们得到图1所示的该运动的等时间离散表示,其中,黄色立方体表示运动的插值位置。
图1. 刚体运动示意图
本文首先对Bézier四元数曲线的性质进行研究,计算其端点处的一阶、二阶导矢,由此解决了曲线的光滑拼接问题,进而给出了一种构造C2连续的四元数样条曲线的方法。本文方法所构造的样条曲线精确插值给定的数据点序列,不需要迭代算法求解非线性方程组,还能进行Hermite插值。在后续的研究中,我们将会对具有高阶参数连续性的样条曲线的构造等问题进一步展开研究。
孙 楠,王 倩,何 耀,杨 雷,陈佳惠. Bézier四元数曲线相关问题研究Research on the Bézier Quaternion Curve[J]. 应用数学进展, 2022, 11(03): 1428-1437. https://doi.org/10.12677/AAM.2022.113156