논문 요약: 강화학습 기반 예인선 제어방법에 의한 선박 자율 접안
본 글은 "강화학습 기반 예인선 제어방법에 의한 선박 자율 접안" (홍승조, 김진환 저자) 논문을 읽고 개인적으로 공부한 내용을 정리하였다.
1. 서론 (Introduction)
본 연구는 저속에서 기동성이 제한되는 대형 선박의 접안 작업을 지원하기 위해 예인선 자율 운항 기술을 제안한다.
- 연구 배경: 기존의 예인선 접안 작업은 도선사와 예인선 운용 인력의 직관에 의존하는 수동적인 방식으로 이루어지며, 이는 많은 비용과 인력을 필요로 한다. 예인선의 자율 운항은 이러한 제한점을 보완할 수 있는 중요한 과제이다.
- 기존 연구의 한계: 기존 연구들은 예인선의 힘을 단순히 선박에 부착된 추진기(Thruster) 형태로 모델링하여, 예인선이 선박 주변을 이동하며 밀거나 당기는 실제 운용 방식을 제대로 반영하지 못했다.
- 본 연구의 제안: 실제 운용 방식을 고려하여 예인선의 위치 이동까지 포함한 선박 접안 문제를 강화학습(PPO 알고리즘)을 통해 해결하고자 한다.
2. 시스템 모델링 (System Modeling)
선박과 예인선의 동역학 및 상호작용을 하이브리드 시스템으로 정의하고, 항구 내에서 지배적인 외란인 바람을 모델링하였다.
2.1 선박 모델링

- 3자유도(Surge, Sway, Yaw) 비선형 모델을 사용하며 운동방정식은 식 (1)과 같다.
$$M\dot{v}+Dv=\tau, \quad \dot{\eta}=R(\psi)v$$ - 여기서 $M$은 관성행렬, $D$는 제동행렬, $\tau$는 제어 입력(예인선에 의한 힘)을 의미한다.
2.2 예인선 모델링 (Tugboat Modeling)
본 연구에서는 2대의 예인선을 운용하며, 각 예인선은 선박의 지정된 위치(작용점)에 계류하여 힘을 가한다고 가정한다. 예인선의 개별적인 제어 입력이 선박 전체에 미치는 영향은 선박의 본체 고정 좌표계(Body-fixed frame)를 기준으로 한 기하학적 관계를 통해 계산된다.
- 예인선 제어 변수:
각 예인선 $i$ ($i=1, 2$)에 대하여 다음과 같은 변수를 정의한다.- $f_i$: 예인선이 작용하는 힘의 크기 (Magnitude)
- $\alpha_i$: 선박의 선수 방향($x$축)을 기준으로 한 힘의 작용 방향 (Direction angle)
- $(l_{x_i}, l_{y_i})$: 선박의 무게중심($O_b$)으로부터 $i$번째 예인선 작용점까지의 거리
- 힘과 모멘트의 변환:
두 예인선이 생성하는 힘은 선박의 무게중심에 작용하는 전체 제어력 벡터 $\tau = [\tau_u, \tau_v, \tau_r]^T$ (Surge force, Sway force, Yaw moment)로 변환된다. 이는 식 (3)과 같이 작용점의 위치와 힘의 방향에 따른 기하학적 관계 행렬을 통해 도출된다.이 식을 통해 예인선의 힘($f$)과 방향($\alpha$)이 선박의 종방향/횡방향 운동 및 회전 모멘트에 기여하는 성분으로 분해 및 합산되어 선박의 동적 모델에 입력된다.
$$
\tau = \begin{bmatrix}
\cos(\alpha_1) & \sin(\alpha_1) & -l_{y_1}\cos(\alpha_1) + l_{x_1}\sin(\alpha_1) ; \
\cos(\alpha_2) & \sin(\alpha_2) & -l_{y_2}\cos(\alpha_2) + l_{x_2}\sin(\alpha_2)
\end{bmatrix}^T
\begin{bmatrix} f_1 ; \ f_2 \end{bmatrix}
$$
2.3 하이브리드 시스템 모델링

- 예인선의 제어(연속 시간)와 위치 이동(이산 시간)이 결합된 하이브리드 시스템으로 정의한다.
- 운용 모드: 선박의 선수/선미에서 당기는 '예인모드($q_1$)'와 한쪽 현측에서 밀고 당기는 '접안모드($q_2$)'로 구분한다.
- 모드 전환 시 예인선은 위치를 변경하며, 이 시간 동안 제어 입력 $\tau$는 0이 된다.
- 예인선 제어(연속시간) + 예인선 위치 전환(이산 이벤트)이 결합된 하이브리드 시스템으로 정의.
- 두 가지 모드:
- q₁: 예인모드(towing) – 예인선이 선수·선미 방향에서 당김.
- q₂: 접안모드(berthing) – 한쪽 현측에 계류하여 밀고 당김.
- 모드 전환 시:
- 예인선이 선박에서 떨어져 새 위치로 이동하는 전이 구간 존재 (Fig. 2).
- 이 시간 T 동안 제어입력 u(t)=0u(t) = 0u(t)=0 로 설정.
- G 함수: 이전 q와 현재 q를 비교해 모드 유지/전환 결정.
- R 함수: 새 모드 시작 시 제어입력 초기화.
2.4 외란 모델링
- 항만 내에서는 바람이 주요 외란이라 보고 바람만 고려.
- 바람에 의한 힘·모멘트는 선체 전·측면 투영면적과 풍력계수, 상대풍 속도/방향으로 표현한다.
- 바람의 힘은 풍속, 상대 풍향, 선박의 투영 면적 및 풍력 계수를 기반으로 계산된다. 이때, 바람 속도와 방향은 평균값을 중심으로 한 가우시안 분포에서 샘플링된다.
3. 강화학습 알고리즘 (Reinforcement Learning Algorithm)
연속적인 행동 공간 처리에 적합하고 안정적인 성능을 보이는 PPO(Proximal Policy Optimization) 알고리즘을 적용하였다.
3.1 PPO 알고리즘
- 행동공간이 연속인 문제에 적합한 PPO(Proximal Policy Optimization) 채택.
- 신뢰 영역 기반의 정책 경사 알고리즘으로, 정책 업데이트 시 범위를 제한하여 학습의 안정성을 보장한다.
- 기존 정책과 새 정책의 확률비 rt(θ)r_t(\theta)rt(θ) 를 이용해
- clip된 손실함수 L(θ) 로 학습 안정성 확보.
- 이득값 A^t\hat{A}_tA^t 를 통해 좋은 행동은 강화, 나쁜 행동은 약화.
3.2 학습 네트워크

- 정책 네트워크 + 가치 네트워크를 공유하는 구조(Fig. 3)이다.
- 가치(Value)와 정책(Policy) 네트워크를 공유하며, 2개의 은닉층(64 노드, Tanh 활성함수)을 사용한다.
- 입력(State): 선박의 상태($x, y, \psi, u, v, r$), 목표와의 오차($e_d, e_\psi, e_v$), 그리고 이전 단계의 행동값(Action)을 사용한다.
- 출력(Action): 예인선 힘의 변화량($\Delta f$), 방향 변화량($\Delta \alpha$), 그리고 모드 변경을 결정하는 변수 $k$를 포함한 총 5개의 값을 출력한다.
- $-1 \le k < 0$ 이면 예인모드($q_1$), $0 \le k \le 1$ 이면 접안모드($q_2$)를 선택한다.
3.3 보상 함수
- 목표: 목표 위치·방위·속력을 만족할수록 보상이 커지도록 설계되었다.
- 보상 R:
- 거리오차 ed, 방위오차 eψ, 속도오차 ev를 기반으로 음의 가중합 형태.
- 속도오차는 크기가 작으므로 계수 c를 곱해 비중 보정.
- 정규화 인자 α로 전체 보상을 0~1 사이로 조정.
- 선박이 부두에 충돌 시 벌점 p = –1 부여.
- 매 타임스텝마다 보상을 계산해 PPO의 손실함수에 사용.
- 선박이 부두에 충돌할 경우 벌점($p=-1$)을 부여한다.
$$R=\frac{-||e_{d}||-||e_{\varphi}||-c||e_{\nu}||+\alpha}{\alpha}+p$$
4. 시뮬레이션 결과 (Simulation Results)
Python 기반의 OpenAI Gym 환경을 구축하여 검증을 수행하였다.
4.1 예비 시뮬레이션
- 6,000톤급 선박 모델을 사용하여 장애물이 없는 환경에서 학습을 진행한 결과, 예인선 2대에 의해 성공적으로 자율 접안함을 확인하였다.


4.2 본 시뮬레이션 (인천 내항 시나리오)

- 실제 인천 내항 부두 입항 시나리오 구성.
- 좁은 갑문을 통과해 목표 부두에 접안하는 상황.
- 각 모드(예인/접안)별 예인선 힘과 방향각, 변화량에 대해 제약조건(Table 1) 설정.
- 학습 과정:
- 초기에는 갑문/부두 충돌로 에피소드가 조기에 종료.
- 학습이 진행되며 선박이 갑문을 통과하고, 예인모드–접안모드 간 모드 전환이 여러 번 발생(Fig. 8 상단).
- 최종 단계에서는:
- 예인모드로 갑문 통과 후 단 한 번의 모드 전환으로 접안모드에 진입,
- 목표 위치에 도달하는 안정된 정책으로 수렴(Fig. 8 하단, 논문 확인).
- 외란 실험:
- 풍속 11–13 m/s, 풍향 205–215°의 강한 바람을 인가.
- Fig. 9:
- 외란 없는 경우(노란 궤적)와 있는 경우(빨간 궤적) 모두 목표 부두에 접안 성공.
- 녹색 구간에서 예인모드→접안모드 전환이 일어남.
→ 강한 바람에도 강화학습 기반 제어가 실용적인 자율 접안 성능을 보임을 확인.
5. 결론 (Conclusion)
- 본 연구는 PPO 알고리즘을 이용하여 예인선의 위치 이동(모드 전환)까지 고려한 선박 접안 문제를 해결하였다.
- 예인선의 운용을 '예인모드'와 '접안모드'로 정의하고, 강화학습을 통해 예인선의 이동과 운용 판단을 자율화한 국내 최초의 연구 사례이다.
'논문 리뷰' 카테고리의 다른 글
| Proximal Policy Optimization (PPO) - OpenAI (0) | 2025.09.03 |
|---|---|
| [논문 리뷰] USV Formation Path Planning Based on Behavior Trees and Fast Marching Method (1) | 2025.06.05 |