• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Electrical and Computer Engineering, Inha University, Korea)



Trajectory optimization, Interior point differential dynamic programming, Second-order conic constraints

1. 서 론

컴퓨터 성능 및 최적화 알고리즘의 발전에 힘입어 최적화 기반의 궤적 생성(trajectory generation) 방법이 활발히 연구되고 있다. 과거에는 주로 휴리스틱한 방법으로 궤적을 생성한 반면, 최근에는 자동차, 로봇, 비행기, 우주 발사체, 미사일 등등 다양한 산업에서 최적화 기반 궤적 생성 기법이 실시간으로 사용되고 있거나 적용이 검토되고 있다(1,2).

미분 동적 프로그래밍(DDP)는 최적화 기반 궤적 생성 방법 중 하나로, 벨만의 최적 원리(Bellman's principle of optimality)를 기반으로 하며, 2번 이상 미분 가능한 함수들로 이루어진 최적 제어 문제를 풀 수 있다. DDP의 장점은 알고리즘이 간단하지만, 실전에서 잘 작동한다는 것이다(3). 하지만 DDP의 큰 단점은 필수 제약조건(hard constraint)을 다룰 수 없다는 것이다. 이를 해결하기 위하여 (4)에서는 제어 변수에 대해서만 필수 제약조건을 고려하는 control limited DDP를 제안하였다. 더 나아가 (5)에서는 기존 DDP에 augmented Lagrangian 방법을 적용하여 상태변수의 필수 제약조건까지도 다룰 수 있는 ALTRO 알고리즘을 제시하였다. (6)은 내부점법(interior point method, IPM)를 이용하여 상태 및 제어 변수의 필수 제약조건을 모두 다루는 내부점 미분 동적 프로그래밍(IPDDP)을 제시하였다.

본 연구논문에서는 기존의 IPDDP를 확장하여 이차 원뿔(second order cone) 제약조건의 대수 구조를 활용하여 계산 속도 및 수렴성을 개선하는 알고리즘인 이차 원뿔 내부점 미분 동적 프로그래밍(SOC-IPDDP)을 제안한다. 이차 원뿔의 성질에 의해 SOC-IPDDP 알고리즘은 기존의 IPDDP 알고리즘에서 큰 변화 없이 유도될 수 있다. 이차 원뿔은 대칭 원뿔(symmetric cone)의 특수한 경우로, 유클리드 조르단 대수(Euclidean Jordan Algebra, EJA)의 언어로 기술될 수 있음이 알려져 있다(7,8). 조르단 대수는 IPM 기반의 second order cone programming 또는 semidefinite programming에 적용된 사례가 있었지만(10,12), 저자가 아는 한 현재까지 DDP 기반 비선형 최적제어 알고리즘에 적용된 사례는 없었다.

본 논문의 구성은 다음과 같다. 2장에서 IPDDP 알고리즘과 이차 원뿔 제약조건의 로그 장벽 및 그의 미분 표현을 소개한다. 3장에서는 본 논문에서 제안하는 SOC-IPDDP 알고리즘을 설명한다. 4장에서 로켓 착륙 시뮬레이션을 통해 SOC-IPDDP의 성능을 IPDDP와 비교하여 평가한다. 마지막으로 5장에서 결론과 향후 연구 방향을 제시한다.

2. 배경 이론

2.1 내부점 미분 동적 프로그래밍

IPDDP는 다음과 같이 제약조건이 있는 최적 제어 문제를 다룬다:

(1)
$\begin{array}{cl}\min _u & l_f\left(x_T\right)+\sum_{t=0}^{T-1} l_t\left(x_t, u_t\right) \\ \text { s.t. } & x_{t+1}=f_t\left(x_t, u_t\right) \\ & g_t\left(x_t, u_t\right) \leq 0 \\ & x_0=\hat{x}\end{array}$

여기서 $x_{t}∊ℝ^{n}$와 $u_{t}∊ℝ^{n}$는 각각 stage $t$에서의 상태변수와 제어변수를 나타내고, $\hat x$는 초기 상태를 나타낸다. $l_t: \mathbb{R}^n \times \mathbb{R}^m \rightarrow \mathbb{R}$와 $l_f: \mathbb{R}^n \rightarrow \mathbb{R}$는 비용 함수이고, $f_t: \mathbb{R}^n \times \mathbb{R}^m \rightarrow \mathbb{R}^n$와 $g_t: \mathbb{R}^n \times \mathbb{R}^m \rightarrow \mathbb{R}^k$는 각각 상태 전이 함수와 제약조건 함수를 나타낸다. $k$는 제약조건의 개수이다. $T$는 stage 개수를 나타낸다. 모든 함수는 적어도 2번 이상 미분 가능하다고 가정한다. 식 (1)은 다음과 같이 가치 함수(value function)에 대한 벨만 방정식(Bellman equation) 형태로 표현될 수 있다:

(2)
$\begin{aligned} V_t\left(x_t\right)=\min _{u_t, s_t} & l_t\left(x_t, u_t\right)+V_{t+1}\left(f_t\left(x_t, u_t\right)\right) \\ \text { s.t. } & g_t\left(x_t, u_t\right)+s_t=0 \\ & s_t \geq 0 \end{aligned}$

여기서 $V_t: \mathbb{R}^n \rightarrow \mathbb{R}$은 가치함수이고 $s_{t}=[s_{1},\:...,\:s_{k}]_{t}$는 슬랙변수(slack variable)을 의미한다. 최종 stage $T$에서의 가치함수는 $V_{T}(x_{T})=l_{f}(x_{T})$으로 정의한다. 편의상 앞으로 stage에 대한 아래 첨자 $t$를 생략한다.

로그 장벽(logarithmic barrier)을 포함한 완화된 라그랑지안(relaxed Lagrangian)은 다음과 같이 정의된다:

(3)
\begin{align*} Q(x,\:u,\:s,\:y)=l(x,\:u)+V'(f(x,\:u))\\ +y^{\top}(g(x,\:u)+s)-\mu\sum_{i=1}^{k}\log s_{i} \end{align*}

여기서 $\mu >0$는 장벽 파라미터(barrier parameter)이고 $y$는 라그랑지 승수를 나타낸다. 완화된 가치 함수(relaxed value function)는 다음과 같이 함수 $Q$의 안장점(saddle point)으로 정의된다:

(4)
$V(x)=\min _{u, s} \max _u Q(x, u, s, y)$

이에 대한 1차 최적 필요 조건(first order necessary condition for optimality)인 Karush-Kuhn-Tucker(KKT) 조건은 다음과 같다:

(5)
\begin{align*} \nabla_{u}Q(x,\:u,\:s,\:y)=0\\ g(x,\:u)+s=0\\ y\circ s=\mu e \end{align*}

여기서 이항연산 기호 $\circ$은 아다마르 곱(Hadamard product)을 의미하고, $e=[1,\:...,\:1]∊ℝ^{k}$은 모든 성분이 1인 벡터이다. 아다마르 곱은 대각행렬 $Y=diag(y)$에 대해 행렬-벡터 곱 $y\circ s=Ys$으로 표현될 수 있다.

엄밀히 말하자면, 위의 식 (5)는 로그장벽함수를 사용하는 Central Path 방법의 섭동(perturbed) KKT 조건이며, 장벽 파라미터 $\mu >0$가 0으로 접근하면서 original KKT 조건을 ‘거의’ 만족시키게 된다[Chap. 11.2, 14].

2.1.1 역전달

기존 DDP에서 수행하는 역전달(backward pass)과 마찬가지로, 완화된 라그랑지안 $Q$를 다음과 같이 2차 항까지 절단하는 테일러 전개를 이용한 근사를 사용한다.

(6)
$\delta Q=\left[\begin{array}{l}Q_x \\ Q_u \\ Q_s \\ Q_y\end{array}\right]^{\top}\left[\begin{array}{l}\delta x \\ \delta u \\ \delta s \\ \delta y\end{array}\right]+\frac{1}{2}\left[\begin{array}{l}\delta x \\ \delta u \\ \delta s \\ \delta y\end{array}\right]^{\top}\left[\begin{array}{llll}Q_{x x} & Q_{x u} & Q_{x s} & Q_{x u} \\ Q_{u x} & Q_{u u} & Q_{u s} & Q_{u y} \\ Q_{s x} & Q_{s u} & Q_{s s} & Q_{s y} \\ Q_{y x} & Q_{y u} & Q_{y s} & Q_{s s}\end{array}\right]\left[\begin{array}{l}\delta x \\ \delta u \\ \delta s \\ \delta y\end{array}\right]$ $=Q_x^{\top} \delta x+\frac{1}{2} \delta x^{\top} Q_{x x} \delta x$ $+\delta x^{\top}\left[\begin{array}{lll}Q_{x u} & 0 & Q_{x y}\end{array}\right]\left[\begin{array}{l}\delta u \\ \delta s \\ \delta y\end{array}\right]+\left[\begin{array}{c}Q_u \\ y-\mu S^{-1} e \\ Q_y\end{array}\right]^{\top}\left[\begin{array}{l}\delta u \\ \delta s \\ \delta y\end{array}\right]$

여기서 $S=diag(s)$은 대각행렬이고, central path 방법의 섭동 KKT 조건을 따라서 대각성분이 모두 양수로서 역함수가 존재한다고 가정하였다.

식 (5)의 세 번째 등식에 해당하는 complementary slackness 조건으로부터 $\delta s^{\top}(\mu S^{-2})\delta s=\delta s^{\top}(S^{-1}Y)\delta s$으로 설정하면 다음과 같이 섭동변수 $\delta u,\:\delta s,\:\delta y$에 대한 primal-dual KKT 선형시스템을 얻을 수 있다:

(7)
$\left[\begin{array}{ccc}Q_{u u} & 0 & Q_{u y} \\ 0 & Y & S \\ Q_{u u} & I & 0\end{array}\right]\left[\begin{array}{c}\delta u \\ \delta s \\ \delta y\end{array}\right]=-\left[\begin{array}{c}Q_{u x} \\ 0 \\ Q_{u x}\end{array}\right] \delta x-\left[\begin{array}{c}Q_u \\ S y-\mu e \\ Q_u\end{array}\right]$

위의 KKT 선형시스템의 닫힌 해를 다음과 같이 얻을 수 있다:

(8)
\begin{align*} \delta u=K_{u}\delta x+d_{u},\:\delta s=K_{s}\delta x+d_{s},\:\delta y=K_{y}\delta x+d_{y},\:\\ \\ K_{u}=-\widetilde Q_{uu}^{-1}\widetilde Q_{ux},\:\\ d_{u}=-\widetilde Q_{uu}^{-1}\widetilde Q_{u},\:\\ K_{s}=-(Q_{ys}+Q_{yu}K_{u}),\:\\ d_{s}=-(r_{p}+Q_{yu}d_{u}),\:\\ K_{y}=S^{-1}Y(Q_{yx}+Q_{yu}K_{u}),\:\\ d_{y}=S^{-1}(r+YQ_{yu}d_{u}),\:\\ \\ \widetilde Q_{u}=Q_{u}+Q_{uy}S^{-1}r,\:\\ \widetilde Q_{uu}=Q_{uu}+Q_{uy}S^{-1}YQ_{yu},\:\\ \widetilde Q_{ux}=Q_{ux}+Q_{uy}S^{-1}YQ_{yx},\:\\ r=Yr_{p}-r_{d},\:\\ r_{p}=Q_{y},\:\\ r_{d}=Sy-\mu e \end{align*}

여기서 $r_{p}$와 $r_{d}$는 각각 primal residual과 dual residual을 나타낸다. 위의 식으로부터 $\delta s$와 $\delta y$는 다음과 같이 정리될 수 있다:

(9)
\begin{align*} \delta s=S^{-1}YQ_{yx}\delta x+S^{-1}YQ_{yu}\delta u+S^{-1}r\\ \delta y=-Q_{yx}\delta x-Q_{yu}\delta u-r_{p} \end{align*}

식 (6)에 $\delta s^{\top}(\mu S^{-2})\delta s=\delta s^{\top}(S^{-1}Y)\delta s$를 적용하고 위에서 구한 $\delta s$와 $\delta y$를 대입하면, 식 (6)은 다음과 같이 단순한 표현으로 정리될 수 있다.

(10)
$\delta Q=\frac{1}{2} r_p^{\top} S^{-1} Y r_p-r_d^{\top} S^{-1} r_p+\left[\begin{array}{c}\widetilde{Q}_x \\ \widetilde{Q}_u\end{array}\right]^{\top}\left[\begin{array}{l}\delta x \\ \delta u\end{array}\right]$ $+\frac{1}{2}\left[\begin{array}{l}\delta x \\ \delta u\end{array}\right]^{\top}\left[\begin{array}{cc}\widetilde{Q}_{x x} & \widetilde{Q}_{x u} \\ \widetilde{Q}_{u x} & \widetilde{Q}_{u u}\end{array}\right]\left[\begin{array}{l}\delta x \\ \delta u\end{array}\right]$ $\widetilde{Q}_x=Q_x+Q_{x y} S^{-1} r$ $\widetilde{Q}_{x x}=Q_{x x}+Q_{x u} S^{-1} Y Q_{v x}$

최종적으로 2차 테일러 급수로 근사한 완화된 가치 함수는 다음과 같이 기술된다:

(11)
$\delta V=\min _{u, s} \max _\nu \delta Q=\Delta V+V_x^{\top} \delta x+\frac{1}{2} \delta x^{\top} V_{x x} \delta x$

여기서 $\Delta V,\: V_{x},\: V_{xx}$는 다음과 같다:

(12)
\begin{align*} \Delta V=\widetilde Q_{u}^{\top}d_{u}+\dfrac{1}{2}d_{u}^{\top}\widetilde Q_{uu}d_{u}+\dfrac{1}{2}r_{p}^{\top}S^{-1}Yr_{p}-r_{d}^{\top}S^{-1}r_{p}\\ V_{x}=\widetilde Q_{x}+K_{u}^{\top}\widetilde Q_{u}+\widetilde Q_{ux}^{\top}d_{u}+K_{u}^{\top}\widetilde Q_{uu}d_{u}\\ V_{xx}=\widetilde Q_{xx}+K_{u}^{\top}\widetilde Q_{ux}+\widetilde Q_{ux}^{\top}K_{u}+K_{u}^{\top}\widetilde Q_{uu}K_{u} \end{align*}

그림. 1. IPDDP 순서도

Fig. 1. IPDDP flowchart

../../Resources/kiee/KIEE.2022.71.11.1666/fig1.png

2.1.2 순전달

순전달(forward pass)에서는 역전달에서 구한 $\delta u,\:\delta s,\:\delta y$으로부터 다음과 같이 $u,\:s,\:y$를 업데이트한다.

(13)
$u a rrow u+\gamma\delta u,\: s a rrow s+\gamma\delta s,\: y a rrow y+\gamma\delta y$

여기서 $\gamma ∊[0,\:1)$는 스텝 사이즈(step size)이다. 스텝 사이즈는 (11)에서 제안한 filter line search 방법을 이용하여 결정한다. 이는 $\gamma =1$부터 시작하여 $\gamma$값을 줄여가면서 비용 함숫값이나 제약조건 위반을 감소시키고 $s,\:y$가 양수를 유지하도록 하는 $\gamma$를 찾는 방법이다.

2.1.3 정칙화

역전달 과정에서 $Q_{uu}$의 역행렬이 존재하지 않거나, 순전달 과정에서 스텝 사이즈 $\gamma$를 찾을 수 없는 경우가 발생할 수 있다. 이런 경우, $Q_{uu}$의 대각성분에 $\rho >0$를 더하는 정칙화(regularization)를 수행한다. $\rho$가 설정한 $\rho_{\max}$보다 크게 되면 알고리즘은 실패를 반환한다.

2.1.4 수렴 조건

장벽 파라미터 $\mu$는 다음의 부등식이 만족할 때마다 감소한다:

(14)
$\max \left(\left\|Q_u\right\|_{\infty},\left\|r_p\right\|_{\infty},\left\|r_d\right\|_{\infty}\right)<100 \mu$

즉, 제약조건 위반 정도와 관련이 있는 primal 및 dual residual과 완회된 라그랑지안의 기울기가 적당히 작아지면 $\mu$를 감소시킨다. $\mu$가 충분히 작아지고 비용 함숫값의 변화가 미미하면 알고리즘을 종료한다.

2.2 이차 원뿔 제약조건, 로그 장벽 함수 그리고 조르단 스핀 EJA

이번 절에서는 SOC-IPDDP을 설명하기 위해 필요한 이차 원뿔에 대한 배경 지식을 알아본다. 이차 원뿔의 정의는 다음과 같다.

(15)
$K=\left\{x=[s,\:v]∊ℝ_{+}\times ℝ^{p+1}: ∥ v ∥_{2}\le s\right\}$

여기서 $s$는 $x$의 스칼라 부분이고 $v$는 $x$의 벡터 부분이다. 식 (3)과 유사하게, 이차 원뿔에 대한 로그 장벽 함수 $B:K arrow ℝ$을 다음과 같이 정의할 수 있다.

(16)
$B(x)=-\dfrac{\mu}{2}\log(s^{2}-v_{1}^{2}-\cdots -v_{p}^{2}),\: x∊K$

장벽 $B$에 대한 그래디언트(gradient)는

(17)
$\nabla B(x)=\dfrac{-\mu}{s^{2}- ∥ v ∥_{2}^{2}}[\begin{aligned}s\\-v\end{aligned}]∊ℝ^{p+1}$

와 같이 표현되고, 이차 원뿔의 정의에 따라 $\nabla B(x)$는 $K$의 원소이다.

이차 원뿔 $K$에 속한 임의의 두 벡터 $x_{1}=[s_{1},\:v_{1}]$와 $x_{2}=[s_{2},\:v_{2}]$에 대하여 다음과 같이 정의된 이항 연산 $\star$를 부여하자:

(18)
$x_{1}\star x_{2}=\left[\begin{aligned}x_{1}^{\top}x_{2}\\s_{1}v_{2}+s_{2}v_{1}\end{aligned}\right],\: x_{1},\:x_{2}∊K$

그러면 임의의 벡터 $x∊K$와 로그 장벽 함수 $B(x)$의 그래디언트 사이의 이항 연산에서 다음의 등식이 만족한다:

(19)
$x\star\nabla B(x)=\mu e_{K}$

여기서 $e_{K}=[1,\:0,\:...,\:0]∊ℝ^{p+1}$이다. 사실, $e_{K}$는 $(K,\:\star)$의 항등원이고, $(K,\:\star)$는 조르단 스핀 EJA(Jordan spin EJA)이라 알려져 있다(8).

식 (17)은 다음과 같이 행렬-벡터 곱으로 표현될 수 있다:

(20)
$x_1 \star x_2=\left[\begin{array}{l}s_1 v_1^{\top} \\ v_1 s_1 I\end{array}\right]\left[\begin{array}{l}s_2 \\ v_2\end{array}\right]=L\left(x_1\right) x_2$

여기서 행렬 부분을 $L(x_{1})$으로 표기하였다.

3. SOC-IPDDP 알고리즘

이번 장에서는 SOC-IPDDP에 대해 설명한다. SOC-IPDDP는 다음의 최적 제어 문제를 고려한다:

(21)
$\begin{array}{cl}\min _u & l_f\left(x_T\right)+\sum_{t=0}^{T-1} l_t\left(x_t, u_t\right) \\ \text { s.t. } & x_{t+1}=f_t\left(x_t, u_t\right) \\ & g_t\left(x_t, u_t\right) \leq 0 \\ & -h_t\left(x_t, u_t\right) \in T \\ & x_0=\hat{x}\end{array}$

여기서 $K$는 이차 원뿔이다. 식 (2)와 마찬가지로, 위 문제를 벨만 방정식 형태로 나타내면 다음과 같다:

(22)
$\begin{array}{ll}V_t\left(x_t\right)=\min _{u_t, s_t, q_t} & l_t\left(x_t, u_t\right)+V_{t+1}\left(f_t\left(x_t, u_t\right)\right) \\ \text { s.t. } & g_t\left(x_t, u_t\right)+s_t=0 \\ & h_t\left(x_t, u_t\right)+q_t=0 \\ & s_t \geq 0 \\ & q_t \in K\end{array}$

여기서 $q_{t}$는 $s_{t}$와 마찬가지로 슬랙 변수이다. 이에 대한 완화된 라그랑지안은 다음과 같이 정의된다.

(23)
\begin{align*} Q(x,\:u,\:s,\:q,\:y,\:z)=l(x,\:u)+V'(f(x,\:u))\\ +y^{\top}(g(x,\:u)+s)-\mu\sum_{i=1}^{k}\log s_{i}\\ +z^{\top}(h(x,\:u)+q)-\dfrac{\mu}{2}\log(q_{1}^{2}- ∥\bar{q}∥_{2}^{2}) \end{align*}

여기서 $q=[q_{1},\:\bar{q}]$이고, $z$는 라그랑지 승수이다. 마찬가지로, 편의상 아래 첨자 $t$를 생략하였다. 완화된 가치 함수는 다음과 같다:

(24)
$V(x)=\min _{u, s, q} \max _{y, z} Q(x, u, s, q, y, z)$

이에 대한 1차 최적 필요조건은 다음과 같다.

(25)
\begin{align*} \nabla_{u}Q(x,\:u,\:s,\:q,\:y,\:z)=0\\ g(x,\:u)+s=0\\ h(x,\:u)+q=0\\ y\circ s=\mu e\\ z\star q=\mu e_{K} \end{align*}

위 식은 다음과 같이 다시 표현될 수 있다.

(26)
$\nabla_u Q(x, u, s, q, y, z)=0$ $\left[\begin{array}{l}g(x, u) \\ h(x, u)\end{array}\right]+\left[\begin{array}{l}s \\ q\end{array}\right]=0$ $\left[\begin{array}{cc}Y & 0 \\ 0 & L(z)\end{array}\right]\left[\begin{array}{l}s \\ q\end{array}\right]=\mu\left[\begin{array}{c}e \\ e_K\end{array}\right]$

위 식은 IPDDP의 조건 식 (5)와 동일한 구조를 가진다. 따라서, SOC-IPDDP 알고리즘은 IPDDP 알고리즘에서 $S,\:Y,\:e$를 각각 블록 대각행렬 $blkdiag(Y,\:L_{z})$, $blkdiag(S,\:L_{y})$ 그리고 $[e,\:e_{K}]$으로 치환한 것과 동일하다.

4. 시뮬레이션

본 장에서는 로켓 착륙 궤적 최적화와 그 시뮬레이션을 통하여 SOC-IPDDP의 성능을 평가하고 기존 IPDDP와 비교한다.

4.1 문제 설정

최적제어문제 및 SOC-IPDDP 알고리즘에 사용되는 로켓의 2차원 동역학 모델은 다음과 같다:

(27)
$\dot{p}=v$ $\dot{v}=g+\frac{1}{m}\left[\begin{array}{cc}\cos \theta & -\sin \theta \\ \sin \theta & \cos \theta\end{array}\right] F^b$ $\dot{\theta}=w$ $\dot{w}=-\frac{l}{J} F_2^b$

여기서 $p,\:v∊ℝ^{2}$는 로켓의 위치와 속도를 나타내고, $\theta ,\:w∊ℝ$은 로켓의 각도와 각속도를 나타낸다. $F^{b}=[F_{1}^{b},\:F_{2}^{b}]∊ℝ^{2}$는 동체 프레임(body frame)에 대한 추력 벡터를 의미한다. 추력 벡터는 위 모델의 제어 입력이다. $m,\:l,\:J$는 각각 로켓의 질량, 길이, 회전 관성이고, $g=-[9.81,\:0]$은 중력 가속도 벡터이다. 편의상 로켓의 질량 중심은 로켓의 정중앙에 있다고 가정하였다.

SOC-IPDDP에 사용되는 필수 제약조건은 다음과 같다.

(28)
$p_1 \geq 0$ $F_{\min } \leq\left\|F^b\right\|_2 \leq F_{\max }$ $\left[\begin{array}{cc}\alpha_{\max } & 0 \\ 0 & 1\end{array}\right] F^b \in K$

여기서 $p_{1}$은 로켓의 고도를 나타내고, $F_{\max},\: F_{\min}$는 각각 최대, 최소 추력이다. $\alpha$는 동체 프레임에 대한 추력 벡터의 각도를 의미하고, $\alpha_{\max}$는 $\alpha$의 최댓값이다. $K$는 이차 원뿔이다.

IPDDP에 사용될 필수 제약조건에는 이차 원뿔이 포함되면 안 되므로, $F_{1}^{b},\: F_{2}^{b}$에 각각 $F\cos\alpha$와 $F\sin\alpha$를 대입한다.

그림. 2. 2차원 로켓 모델의 도식화

Fig. 2. Planar rocket model

../../Resources/kiee/KIEE.2022.71.11.1666/fig2.png

표 1. 로켓 착륙 문제에 대한 파라미터

Table 1. Parameters of the rocket landing probelm

파라미터

파라미터

$m$ (kg)

10

$J$ (kg·m²)

3.33

$l$ (m)

0.7

$\Delta t$ (sec)

0.035

$F_{\max}$ (N)

107.91

$F_{\min}$ (N)

21.58

$\alpha_{\max}$ (deg)

20

$T$

200

이에 따라, IPDDP에 사용될 2차원 로켓의 동역학 모델은 다음과 같이 기술된다.

(29)
\begin{align*} \dot p =v\\ \dot v =g+\dfrac{F}{m}[\begin{aligned}\cos(\theta +\alpha)\\\sin(\theta +\alpha)\end{aligned}]\\ \dot\theta =w\\ \dot w =-\dfrac{l}{J}F\sin\alpha \end{align*}

IPDDP에 사용될 필수 제약조건은 다음과 같이 기술된다.

(30)
\begin{align*} p_{1}\ge 0\\ F_{\min}\le F\le F_{\max}\\ |\alpha |\le\alpha_{\max} \end{align*}

로켓이 원점에 착륙하도록 비용 함수를 다음과 같이 설정하였다. 편의상 stage에 대한 첨자를 생략하였다:

(31)
\begin{align*} l(x,\:u)=5· 10^{-3}p_{2}^{2}+2· 10^{-5}F^{2}+c·\alpha^{2}\\ l_{f}(x)=3000(∥ p ∥_{2}^{2}+ ∥ v ∥_{2}^{2}+\theta^{2}+w^{2}) \end{align*}

식 (27),(29)는 시간 간격 $\Delta t$와 오일러 방법으로 이산화되었다.

그림. 3. SOC-IPDDP와 IPDDP의 수렴 속도 비교

Fig. 3. Comparison of the convergence rate between SOC-IPDDP and IPDDP

../../Resources/kiee/KIEE.2022.71.11.1666/fig3.png

4.2 실험 결과

로켓 착륙 문제에 대한 파라미터 값은 표 1에 정리하였고, IPDDP 및 SOC-IPDDP 알고리즘에 대한 모든 파라미터와 초기값은 서로 동일하게 설정하였다. 실험 방법은 식 (30)의 $\alpha$에 대한 페널티 계수 $c$와 초기 위치 $p_{0}$를 변화시키며 진행하였다. 실험은 일반 데스크탑 컴퓨터와 MATLAB을 이용하였다.

그림 2은 경우에 따른 각 알고리즘의 수렴 속도를 나타낸다.

그림. 4. SOC-IPDDP으로 계산한 시작점 (15,10)에서 출발하여 종점 (0,0)에 착륙하는 로켓의 궤적

Fig. 4. Rocket landing trajectory from the starting point (15,10) to the end point (0,0) by SOC-IPDDP

../../Resources/kiee/KIEE.2022.71.11.1666/fig4.png

그림. 5. 그림 4의 궤적에 대한 제어 입력

Fig. 5. Control inputs of the trajectory in Fig. 4

../../Resources/kiee/KIEE.2022.71.11.1666/fig5.png

$c=4.5$인 경우, SOC-IPDDP의 수렴 속도는 IPDDP와 유사하였고, $c=0.18$인 경우, 모든 초기 위치에서 SOC-IPDDP의 수렴 속도는 IPDDP보다 빨랐다. 이런 현상이 일어나는 이유는 $c$가 작아질수록 SOC-IPDDP와 달리 IPDDP의 문제는 불량 조건 문제(ill-posed problem)에 가까워지기 때문이다. 또한, SOC-IPDDP는 모든 경우에서 30 iterations 안에 수렴하였지만, IPDDP는 40 iterations을 넘는 경우를 관찰할 수 있었다. 종합적으로 평가했을 때, SOC-IPDDP가 IPDDP에 비해 수렴 속도면에서 유사하지만 다룰 수 있는 문제의 범위는 넓다는 결론을 내릴 수 있다.

5. 결 론

본 논문에서는 이차 원뿔 제약 조건의 대수 구조를 활용할 수 있도록 IPDDP를 확장하는 연구를 수행하였다. 이차 원뿔이 속한 조르단 스핀 EJA에 의하여 기존의 IPDDP 알고리즘에서 큰 변화 없이 SOC-IPDDP를 유도 할 수 있었다. 로켓 착륙 시뮬레이션을 통해 SOC- IPDDP와 IPDDP의 수렴성을 비교하였고 SOC-IPDDP가 IPDDP에 비해 수렴 속도 면에서 유사하지만 다룰 수 있는 문제의 범위가 더 넓다는 것을 확인할 수 있었다.

향후에는 SOC-IPDDP 알고리즘을 C언어 코드로 작성하여 계산 속도를 높이고 실제 로봇의 실시간 최적 궤적 생성 프로그램에 적용할 예정이다. 또한, SOC-IPDDP의 수렴성을 해석적으로 분석할 계획이다.

Acknowledgements

This research was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (NRF-2020R1F1A1076404, NRF-2022R1F1A1076260).

References

1 
R. Chai, A. Savvaris, A. Tsourdos, S. Chai, 2020, Overview of trajectory optimization techniques, in Design of Trajectory Optimization Approach for Space Maneuver Vehicle Skip Entry Problems. Springer, pp. 7-25DOI
2 
H.-H. Kwon, H.-S. Shin, Y.-H. Kim, D.-H. Lee, 2019, Trajectory optimization for impact angle control based on sequential convex programming, The Transactions of The Korean Institute of Electrical Engineers, Vol. 68, No. 1, pp. 159-166DOI
3 
Y. Aoyama, G. Boutselis, A. Patel, E. A. Theodorou, 2021, Constrained differential dynamic programming revisited, in 2021 IEEE International Conference on Robotics and Automation (ICRA), pp. 9738-9744DOI
4 
Y. Tassa, N. Mansard, E. Todorov, 2014, Control-limited differential dynamic programming, in 2014 IEEE International Conference on Robotics and Automation (ICRA), pp. 1168-1175DOI
5 
T. A. Howell, B. E. Jackson, Z. Manchester, 2019, ALTRO: A fast solver for constrained trajectory optimization, in 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 7674-7679DOI
6 
A. Pavlov, I. Shames, C. Manzie, 2021, Interior point differential dynamic programming, IEEE Transactions on Control Systems Technology, Vol. 29, No. 6, pp. 2720-2727DOI
7 
F. Alizadeh, 2012, An introduction to formally real Jordan algebras and their applications in optimization, in Handbook on Semidefinite Conic and Polynomial Optimization Springer, pp. 297-337DOI
8 
M. Orlitzky, 2021, Euclidean Jordan algebras for optimization. draft, [Online]. Available: http://michael.orlitzky.com/Google Search
9 
A. Domahidi, E. Chu, S. Boyd, 2013, ECOS: An SOCP solver for embedded systems, in 2013 European Control Conference (ECC), pp. 3071-3076DOI
10 
J. F. Sturm, 1999, Using SeDuMi 1.02, a Matlab toolbox for optimization over symmetric cones, Optimization Methods and Software, Vol. 11, No. 1-4, pp. 625-653DOI
11 
A. Wachter, L. T. Biegler, 2006, On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming, Mathematical Programming, Vol. 106, No. 1, pp. 25-57DOI
12 
Z. Xie, C. K. Liu, K. Hauser, 2017, Differential dynamic programming with nonlinear constraints, in 2017 IEEE International Conference on Robotics and Automation (ICRA), pp. 695-702DOI
13 
J. Nocedal, S. J. Wright, 1999, Numerical Optimization. Springer, New York USAGoogle Search
14 
S. Boyd, L. Vandenberghe, 2004, Convex Optimization, Cambridge University Press CambridgeGoogle Search

저자소개

김민겸 (Min-Gyeom Kim)
../../Resources/kiee/KIEE.2022.71.11.1666/au1.png

2021년 인하대학교 항공우주공학과 학사

2021년~현재 인하대학교 전기컴퓨터공학과 대학원 석사과정

주 연구분야 : 비선형 최적화, 경로 계획 등

김광기 (Kwnag-Ki Kim)
../../Resources/kiee/KIEE.2022.71.11.1666/au2.png

2007년 연세대학교 천문우주학과 졸업

2009년 일리노이주립대학교(UIUC) 항공우주공학과 졸업(석사)

2013년 일리노이주립대학교(UIUC) 항공우주공학과 졸업(박사)

2013년~2015년 조지아 공과대학(Georgia Institute of Technology) 전기컴퓨터공학과 박사후연구원

2016년~2017년 현대자동차 연구개발본부 전자기술센터 책임연구원

2017년~현재 인하대학교 전기공학과 조교수

주 연구분야 : 제어이론, 최적화이론, 최적제어, 계산과학, 로보틱스, 센서퓨전, 공간인지 등