---
# System prepended metadata

title: 복붙

---

초록 - 음향 모뎀에서의 통신 지연으로 인한 시간 지연은 자율 수중 로봇 (AUV) 그룹이 형성되어 배치될 때 경로 추적 성능에 큰 영향을 줍니다. AUV가 해양 환경에서 사용될 때 파도의 영향으로 AUV 사이의 거리가 계속 바뀝니다. 따라서, AUV 사이의 거리에 따라 달라지는 시간 지연도 변동합니다. 이 논문에서는 경사 하강법을 기반으로 한 시간 지연 추정기를 설계하여 통신 지연을 추정하였습니다. 추정된 지연을 고려하여 적절한 제어 입력을 설계하기 위해 지연된 오차 벡터가 계산됩니다. 통신 지연을 포함한 Lyapunov 함수의 감소가 각 샘플링 간격에서 온라인으로 발생하기 때문에, 추 Christophe AUV의 경로 추적 제어 성능이 크게 향상됩니다. 시뮬레이션 및 실험 결과에서 지연 추정기가 지연을 정확하게 추정한다는 것을 보여줍니다. 게다가, 실험 중에는 추정기의 공식화 중에 리더 AUV 상태의 패킷에 대한 타임 스탬핑이 피해지면서 실제 지연이 크게 줄어듭니다. 변동하는 통신 지연의 영향 하에서도 팔로워 AUV는 리더 AUV로부터 원하는 거리를 유지합니다. 결과는 제어 입력에 제약을 부과함으로써, 액추에이터 포화가 피해진다는 것도 보여줍니다.

AUV는 해양 환경에서 바닷바닥의 해저 지형 매핑, 수생 동뤼와 식물의 생활 패턴 연구, 방어용途 및 해저 파이프라인 설치와 같은 다양한 용도로 배치됩니다. 앞서 언급한 모든 응용 프로그램에서 AUV가 그룹으로 배치되면 임무가 더 경제적이고 중복됩니다. 이로 인해 더 큰 지역을 조사하기가 쉬워지며, 단일 AUV에 결함이 발생한 경우 임무 실패를 예방합니다. 형성 제어의 다양한 접근법 ([1], [2])은 행동 기반, 동기화 기반, 가상 구조 기반 및 리더-팔로워 기반 접근법이 있습니다. 리더-팔로워 접근법은 그 간단한 구조 때문에 가장 널리 사용되는 형성 제어 접근법 중 하나로 간주됩니다. 리더-팔로워 접근법의 다양한 기법은 거리-거리 및 거리-각도 기법 [3], 비전 기반 기법 [4], 가상 목표 기법 [5]이 있습니다. 이 접근법에서 리더 AUV 상태는 형성을 유지하기 위해 팔로워 AUV에게 보내집니다. 이 상태는 음향 모뎀을 통해 전송됩니다. 음향 모뎀의 낮은 데이터 전송률로 인해 AUV 제어 시스템에 통신 지연이 발생합니다. 이 지연은 리더와 팔로워 AUV 사이의 거리가 해양류로 인해 변동함에 따라 다릅니다.

앞서 언급한 문제를 해결하기 위해, ([6], [7])에서 사용된 통신 구조는 AUV간의 통신을 최소화하는 반면 [8]에서는 이벤트 트리거 기반 제어가 사용됩니다. 참조 [5]는 통신 지연을 처리하기 위해 선형화된 AUV 모델을 위한 견고한 컨트롤러를 설계하였습니다. [5]의 지연 정보는 리더 AUV 상태의 각 보낸 패킷에 타임 스탬핑하여 얻습니다. 타임 스탬핑 정보는 패킷 크기를 증가시켜, 통신 지연이 증가하게 됩니다.

제안된 작업에서는 AUV의 형성 제어와 관련된 가변 지연 제어 문제가 해결되었습니다. 이 논문의 주요 기여는 다음과 같습니다.

• 경사 하강법 기반의 지연 추정기를 설계하여 실제 지연을 정확하게 추정합니다.
• 설계된 추정기의 공식화는 모든 전송 패킷의 타임 스탬핑을 피합니다. 이것은 차례로 시스템의 실제 통신 지연을 줄입니다.

이 논문은 다음과 같이 구성됩니다. 섹션 II에서는 오차 좌표를 정의합니다. 섹션 III에서는 경사 하강법 기반 통신 지연 추정기가 설계됩니다. 제어기 설계는 섹션 IV에서 제시됩니다. 섹션 V에서는 시뮬레이션 및 실험 결과 및 그들의 분석이 제시됩니다. 이 논문은 섹션 VI에서 결론을 내립니다.

그림 1은 AUV 시스템의 다른 좌표 프레임, 즉 관성 참조 프레임 {I}, 리더 AUV의 바디 프레임 {Bl} 및 팔로워 AUV의 바디 프레임 {Bf}, 그리고 Serret-Frenet (SF) 프레임 {P}을 보여줍니다. SF 프레임은 가상의 목표 AUV로 원하는 경로에 연결됩니다. 리더의 상태가 
τ(k)만큼 지연되었다고 가정하고, [9]의 AUV의 운동학을 참조하면, 팔로워 AUV의 오차 좌표는 다음과 같이 계산될 수 있습니다:

그림 2에서 보여지는 것처럼, 리더 AUV는 팔로워 AUV에게 참조로서 패킷 LS(k)로 묶인 자신의 상태를 보냅니다. 음향 모뎀의 낮은 데이터 전송률로 인해 리더 AUV의 상태가 지연되며, 앞서 언급한 패킷은 LS(k − τ(k))로 받아집니다. 참조 [5]는 각 패킷에 타임스탬프를 찍어서 형성 중의 통신 지연을 계산합니다. 즉, 리더 AUV 상태의 각 패킷에는 {시/분/초} 형식으로 보낸 시간 정보도 포함됩니다. 이 패킷이 팔로워 AUV에게 받아질 때, 같은 형식의 시간이 기록됩니다. 위의 두 시간 정보를 빼면 실제 통신 지연을 계산할 수 있습니다. 타임스탬프는 패킷 크기를 늘리는 것뿐만 아니라 모든 AUV의 시간을 동기화하는 데에도 필요합니다. 이 논문에서는 타임스탬핑을 피하기 위해 경사 하강법 기반 지연 추정기를 제안합니다. [10]의 선형 시스템에 대한 추정기는 리더와 팔로워 AUV의 비선형 결합 시스템 간의 지연을 추정하기 위해 수정되었습니다. τ̂(k)는 추정된 통신 지연이라고 합시다. 팔로워 끝에서, 리더 상태 θ Bl(k)와 ψ WBl/I(k)는 타임스탬프 없이 θ Bl(k − τ(k))와 ψ WBl/I(k − τ(k))로 받아집니다. 우리는 팔로워가 원하는 경로의 참조 각도 ψ P/I(k)를 알고 있다고 고려합니다. 최대 통신 지연 τ̄이 알려져 있다고 가정하면, ψ P/I(k − τ̄)까지의 ψ P/I(k)의 과거 값을 저장합니다. 이제 그림 1에서, 각 샘플링 시점에서 팔로워는 리더 각도를 계산합니다.

import numpy as np  # pip install numpy

ts = 0.01  # time sample
time = np.arange(0, 10, ts)  # x축 time step 정의
# 각각의 x값의 함숫값을 구하여 신호 정의
signal = 3*np.cos(2*np.pi*time) + 2*np.cos(4*np.pi*time-np.pi/4)

n = len(time)  # 데이터 포인트의 수
k = np.arange(n)  # 주파수 인덱스를 위한 배열
Fs = 1/ts  # 샘플링 주파수
T = n/Fs  # 전체 시간의 길이
freq = k/T  # 주파수 도메인에서의 주파수 값
freq = freq[range(int(n/2))]  # 유효 주파수 범위는 절반임

Y = np.fft.fft(signal)  # singal에 대해 fft 수행
Y = Y[range(int(n/2))]/n  # freq에 따라, 유효 주파수 범위는 절반으로
# 알고리즘에 따라, 실제 진폭값을 얻기 위해 n으로 나눔

# 그래프 plot
fig, ax = plt.subplots(3, 1, figsize=(12,12))
ax[0].plot(time, signal)
ax[0].set_xlabel('Time')
ax[0].set_ylabel('Amplitude'); ax[0].grid(True)
ax[1].stem(freq, np.abs(Y)) 
ax[1].set_xlabel('Freq (Hz)')
ax[1].set_ylabel('|Y(freq)|')
ax[1].set_xlim([0, 5]); ax[1].grid(True)
ax[2].stem(freq, np.angle(Y))
ax[2].set_xlabel('Freq (Hz)')
ax[2].set_ylabel('Phase (rad)')
ax[2].set_xlim([0, 5]); ax[2].grid(True)
plt.show
자율 수중 탐사선(Autonomous Underwater Vehicles, AUVs)은 깊은 바다의 탐사와 연구에 있어 중요한 역할을 하고 있다. AUVs의 성공적인 운용은 정확하고 신뢰성 있는 자기 위치 파악(self-localization) 기능에 크게 의존한다. 최근 몇 년 동안, 해양 환경의 도전적인 특성으로 인해 AUV의 위치 파악 기술은 많은 주목을 받아왔다. 특히, 도전적인 해양 환경으로 인한 나쁜 가시성은 AUV의 위치 파악 기술 개발에 있어 중대한 장애물로 작용하였다.

과거의 AUV는 주로 음향 센서를 이용한 위치 파악 방법을 사용하였다. 이러한 센서는 높은 비용과 무게를 가지고 있어 AUV의 운용에 여러 제약을 가져왔다. 그러나 최근의 기술 발전은 다양한 센서 기술의 출현을 이끌어냈고, 이는 AUV의 위치 파악 방법에 다양성을 가져다주었다. 특히, 스테레오 카메라와 관성 센서의 결합은 AUV의 위치 파악에 있어 새로운 가능성을 제시하였다.

본 논문에서는 이러한 센서 기술의 최근 동향과 발전을 중점적으로 검토하고, 향후 AUV의 위치 파악 기술에 있어 기대되는 발전 방향에 대해 논의한다.

굿굿


AUV 센서 시스템의 기술 동향 및 센서 융합을 통한 정확한 데이터 수집
서론
자율 수중 로봇(AUV)는 해양 과학, 국방, 에너지 탐사 및 환경 모니터링과 같은 다양한 분야에서 중요한 도구로 자리 잡았다. AUV의 핵심 기능 중 하나는 센서를 통해 주변 환경을 탐지하고 데이터를 수집하는 것이다. 본 논문에서는 AUV의 센서 시스템의 최근 기술 동향과 센서 융합을 통한 정확한 데이터 수집에 대해 탐구한다.

1. AUV의 정의 및 응용
AUV는 자율 수중 로봇이라고도 불리며, 원격 조종 없이 독립적으로 작동하는 수중 로봇이다. 해저 지형 조사, 해양 생물학 연구, 환경 모니터링 등 과학적 연구 뿐만 아니라 잠수함 탐지, 지뢰 탐지 및 제거 등의 군사 작전에도 사용된다.

2. 수중 센서의 특성
물과 공기에서의 전파 속도는 다르다. 음향 센서는 수중에서의 전파 속도가 공기 중보다 훨씬 빠르기 때문에 수중 통신 및 탐지에 주로 사용된다. 물은 공기보다 밀도가 높고 저항이 크기 때문에, 수중에서의 움직임은 공기 중보다 더 느리고 에너지 소모가 크다. 이로 인해 AUV의 센서 및 추진 시스템은 이러한 환경에 맞게 설계되어야 한다.

3. 센서 융합을 통한 데이터 수집
① Heterogeneous Optical Fiber Sensor System for Temperature and Turbidity Assessment in Wide Range

이 연구는 액체 샘플의 온도와 탁도를 다중 파라미터로 평가하기 위한 광섬유 센서 시스템의 개발을 제시한다.
섬유 브래그 격자(FBGs), 강도 변화 및 표면 플라즈몬 공명(SPR) 센서의 조합을 기반으로 한다.
SPR 기반 센서와 FBG 센서의 특성 및 응용에 대해 자세히 설명한다.
② Probabilistic 3D Reconstruction Using Two Sonar Devices

이 연구는 음향 소나 데이터를 사용한 3D 재구성을 위한 센서 융합 방법을 제안한다.
FLS와 PS 두 가지 소나 장치의 특성 및 보완적인 특성에 대해 설명한다.
센서 융합을 통한 3D 정보 재구성 방법에 대해 자세히 설명한다.
결론
AUV의 센서 시스템은 빠르게 발전하고 있으며, 센서 융합 기술을 통해 더욱 정확하고 신뢰성 있는 데이터 수집이 가능해지고 있다. 이러한 기술 동향은 AUV의 다양한 응용 분야에서의 성능 향상을 약속한다.
굿굿


Y. Wang, D. Gu, X. Ma, J. Wang, and H. Wang, "Robust Real-Time AUV Self-Localization Based on Stereo Vision-Inertia," IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, [year], [volume(issue)], pp.[pages]. DOI: [DOI]
IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY
현대 기술의 발전은 우리의 일상 생활, 산업, 그리고 연구 분야에 광범위한 변화를 가져왔다. 특히, 자율 주행 기술은 교통과 물류 분야에서 큰 변화의 중심에 있었다. 지상에서의 자동차, 트럭, 그리고 드론 등 다양한 이동 수단에 대한 자율주행 연구가 급속도로 진행되고 있을 뿐만 아니라, 수중 환경에서도 이러한 기술의 활용이 확대되고 있다.

수중에서의 자율 주행 연구는 주로 Autonomous Underwater Vehicles (AUVs)와 같은 장치를 중심으로 진행되었다. AUVs는 깊은 바다의 탐사, 해양 생물 연구, 그리고 해저 자원 채취와 같은 다양한 분야에서 중요한 역할을 하고 있다. 지상에서의 연구와 마찬가지로, 수중 환경에서도 안전하고 효과적인 자율 주행 기술의 개발이 요구된다.

본 논문에서는 지상과 수중에서의 자율주행 연구의 현재 동향과 미래의 발전 가능성에 대해 논의한다. 또한, 기술 발전에 따른 새로운 기회와 도전에 대한 접근 방식도 함께 탐구한다.

스테레오 카메라와 관성 센서를 활용한 정밀한 위치 추적

요약:
본 논문에서는 스테레오 카메라와 관성 센서의 결합을 통해 고정밀 위치 추적을 수행하는 방법에 대해 소개한다. 두 센서의 정보를 통합함으로써 각 센서의 한계를 보완하고, 더욱 정확하고 안정적인 위치 추정이 가능하게 된다.

1. 서론

자율 주행 시스템, 특히 수중 탐사선(AUV) 등에서의 위치 추적은 중요한 연구 주제로 여겨져 왔다. 스테레오 카메라는 3D 환경 정보를 얻는 데 유용하며, 관성 센서는 동작 상태와 방향 정보를 제공한다. 이 두 센서의 정보를 융합함으로써 보다 정확한 위치 정보를 얻을 수 있다.

2. 스테레오 카메라

스테레오 카메라는 두 개의 카메라를 사용하여 3D 환경 정보를 캡처한다. 두 카메라 간의 기하학적 관계를 이용하여 깊이 정보를 추정한다.

3. 관성 센서

관성 센서는 가속도계와 자이로스코프로 구성되어 있으며, 이를 통해 움직임과 방향에 대한 정보를 얻을 수 있다.

4. 센서 융합

스테레오 카메라의 깊이 정보와 관성 센서의 움직임 정보를 결합하여 정확한 위치 추정을 수행한다. 이러한 결합은 각 센서의 노이즈와 오차를 보완하고, 더욱 안정적인 위치 정보를 제공한다.

5. 결론

스테레오 카메라와 관성 센서의 결합은 위치 추적의 정확성과 안정성을 향상시킨다. 이러한 접근 방식은 다양한 자율 주행 시스템에서의 활용 가능성이 높다.


스테레오 카메라와 관성 센서를 활용한 정밀한 위치 추적

요약:
본 논문에서는 스테레오 카메라와 관성 센서의 결합을 통한 위치 추적 기술에 대해 상세히 소개한다. 이 두 센서의 융합을 통해 얻을 수 있는 강점과 해당 기술의 응용 분야에 대해 논의한다.

1. 서론

위치 추적은 로봇학, 자율주행, 가상 현실 등 다양한 분야에서 중요한 연구 주제로 간주되어 왔다. 특히, 도전적인 환경에서의 정확한 위치 추적은 큰 관심을 받고 있다.

2. 스테레오 카메라

원리: 스테레오 카메라는 두 개의 카메라를 사용하여 같은 장면을 다른 각도에서 캡처한다. 이 두 이미지 사이의 차이를 통해 깊이 정보를 추정한다.
장점: 3D 환경 정보를 비교적 저렴한 비용으로 얻을 수 있다. 또한, 실시간으로 깊이 정보를 제공할 수 있다.
한계: 조명 변화, 반사, 텍스처가 없는 영역 등에서는 깊이 추정의 정확도가 떨어질 수 있다.
3. 관성 센서

구성: 관성 센서는 주로 가속도계와 자이로스코프로 구성되어 있으며, 가속도와 회전률 정보를 제공한다.
장점: 고속으로 데이터를 캡처할 수 있으며, GPS와 같은 외부 신호에 의존하지 않는다.
한계: 시간이 지남에 따라 오차가 누적될 수 있다. 이를 보정하기 위해 추가적인 센서나 알고리즘이 필요하다.
4. 센서 융합

원리: 스테레오 카메라의 깊이 정보와 관성 센서의 움직임 정보를 통합하여 위치와 방향을 동시에 추정한다.
장점: 각 센서의 한계를 상호 보완하여 보다 정확한 위치 정보를 제공한다. 또한, 각 센서의 노이즈와 오차를 줄일 수 있다.
응용 분야: 자율주행 차량, 드론, 로봇, 가상 현실 및 증강 현실 기기 등에서 활용 가능하다.
5. 결론

스테레오 카메라와 관성 센서의 융합은 다양한 환경에서의 정밀한 위치 추적을 가능하게 한다. 이 기술은 빠르게 발전하는 자율주행 및 로봇 기술 분야에서의 핵심 요소로 간주된다.


ㄱ다음
스테레오 카메라 (Stereo Camera)

스테레오 카메라는 두 개의 카메라 렌즈를 사용하여 동일한 장면을 두 개의 약간 다른 각도에서 캡처하는 카메라 시스템입니다. 이 두 이미지 사이의 차이를 분석함으로써 3D 깊이 정보를 추출할 수 있습니다. 이러한 원리는 인간의 두 눈과 유사하며, 이를 통해 우리는 주변 환경의 깊이를 인지할 수 있습니다.

작동 원리:

기하학적 관계: 두 카메라는 고정된 거리 (baseline)로 분리되어 있습니다. 때문에 동일한 장면의 특정 객체는 두 이미지에서 약간 다른 위치에 나타납니다. 이 위치의 차이를 'disparity'라고 합니다.
깊이 추정: disparity는 카메라 간의 거리와 객체까지의 거리 사이에 역비례 관계에 있습니다. 즉, disparity가 클수록 객체는 카메라에 가깝습니다.
장점:

실시간 깊이 정보: 스테레오 카메라는 실시간으로 깊이 정보를 제공할 수 있습니다.
독립성: 외부 신호나 추가적인 정보 없이 3D 정보를 생성할 수 있습니다.
비용 효율성: 기존의 다른 3D 스캔 기술에 비해 상대적으로 저렴하게 구현할 수 있습니다.
한계:

텍스처가 없는 영역: 균일한 색상 또는 패턴이 없는 표면에서는 disparity를 정확하게 계산하기 어려울 수 있습니다.
조명 조건: 극단적인 조명 조건 하에서는 깊이 추정의 정확도가 감소할 수 있습니다.
해상도: 깊이의 해상도는 사용하는 카메라의 해상도와 처리 알고리즘에 따라 다를 수 있습니다.
응용 분야:

스테레오 카메라는 자율주행 차량, 로봇 항법, 가상 현실 및 증강 현실, 3D 모델링 등 다양한 분야에서 활용되고 있습니다.

관성 센서 (Inertial Sensor)

관성 센서는 객체의 운동 상태를 측정하는 센서로, 주로 가속도계와 자이로스코프로 구성됩니다. 이러한 센서는 움직임과 방향에 대한 정보를 실시간으로 제공하며, 다양한 응용 분야에서 사용됩니다.

구성 요소:

가속도계 (Accelerometer): 선형 운동에 대한 가속도를 측정합니다. 주로 3축 (X, Y, Z)으로 구성되어 있어 공간에서의 가속도를 측정할 수 있습니다.
자이로스코프 (Gyroscope): 회전 운동에 대한 각속도를 측정합니다. 마찬가지로 주로 3축으로 구성됩니다.
작동 원리:

가속도계: 내부의 작은 질량이 외부 힘에 의해 이동할 때 발생하는 변위를 측정하여 가속도를 계산합니다.
자이로스코프: 회전 운동 시 발생하는 코리올리스 힘을 측정하여 각속도를 계산합니다.
장점:

빠른 반응 시간: 관성 센서는 빠른 샘플링 속도를 가지며, 실시간 운동 정보를 제공합니다.
독립성: GPS와 같은 외부 신호나 인프라에 의존하지 않고 작동합니다.
작고 경량: 작은 크기와 경량으로 다양한 장치나 시스템에 통합하기 쉽습니다.
한계:

오차 누적: 시간이 지남에 따라 측정 오차가 누적될 수 있습니다. 이는 특히 위치 추정에서 문제가 될 수 있습니다.
외부 충격에 민감: 강한 충격이나 진동은 센서의 측정 값을 왜곡시킬 수 있습니다.
응용 분야:

관성 센서는 스마트폰, 게임 컨트롤러, 드론, 자율주행 차량, 운동 분석, 가상 현실 및 증강 현실 장치 등 다양한 기기 및 응용 프로그램에서 사용됩니다.

관성 센서는 그 작은 크기에도 불구하고 매우 정밀한 운동 정보를 제공하는 강력한 도구로, 다양한 공학 및 기술 분야에서 그 중요성이 인정되고 있습니다.
스테레오 카메라와 관성 센서의 융합을 통한 위치 추적 향상

본론:

스테레오 카메라와 관성 센서의 기본 원리

스테레오 카메라는 두 이미지 간의 차이를 활용하여 3D 깊이 정보를 추출한다. 그러나 조명 변화나 텍스처가 없는 영역에서는 성능 저하가 발생할 수 있다.
관성 센서는 빠른 샘플링 속도로 실시간 운동 정보를 제공한다. 그러나 시간이 지남에 따라 오차가 누적될 수 있다.
시간적 연속성의 확보

관성 센서의 빠른 샘플링 능력은 스테레오 카메라의 이미지 프레임 사이의 시간 간격을 보완한다. 이를 통해 연속적인 위치 추적이 가능하게 된다.
오차 보정의 중요성

스테레오 카메라의 절대적인 위치 정보를 활용하여 관성 센서의 상대적인 움직임 정보를 정기적으로 보정할 수 있다.
다양한 환경에서의 성능 향상

스테레오 카메라가 조명 변화나 텍스처 부재 영역에서의 성능 저하를 경험할 때, 관성 센서는 안정적인 운동 정보를 계속 제공하여 센싱의 연속성을 유지한다.
계산 효율성의 증대

두 센서의 상호 보완적인 특성은 처리 효율성을 향상시키며, 누락된 정보나 불충분한 데이터를 상호 보완하여 위치 추적의 정확성을 높인다.

''
네, 관성 센서와 스테레오 카메라의 융합은 수중 자율 로봇(AUV, Autonomous Underwater Vehicle)의 위치 추적과 항법에 있어서 중요한 역할을 하고 있습니다.

AUV는 GPS 신호를 직접 받을 수 없는 수중 환경에서 작동하므로, 다른 방법을 사용하여 정확한 위치 추적을 수행해야 합니다. 관성 항법 시스템 (INS, Inertial Navigation System)은 AUV의 위치와 방향을 추적하는 데 일반적으로 사용되는 도구 중 하나입니다. 그러나 INS만으로는 시간이 지남에 따라 오차가 누적될 수 있습니다.

이러한 문제를 해결하기 위해 스테레오 카메라와 같은 시각 센서가 도입되었습니다. 스테레오 카메라는 주변 환경의 특징을 캡처하여 AUV의 움직임을 추정하고, 이 정보는 INS의 누적 오차를 보정하는 데 사용됩니다.

스테레오 카메라와 관성 센서의 융합은 다음과 같은 이점을 제공합니다:

보완적인 정보: 스테레오 카메라는 외부 환경의 시각적 특징을 기반으로 위치를 추정하는 반면, 관성 센서는 내부 움직임을 기반으로 합니다. 이 두 정보의 결합은 더욱 정확한 위치 추적을 가능하게 합니다.
누적 오차의 보정: 스테레오 카메라의 절대 위치 정보를 사용하여 관성 센서의 누적 오차를 보정할 수 있습니다.
다양한 환경 대응: 스테레오 카메라가 일부 조건에서 제한적일 수 있는 반면, 관성 센서는 안정적인 정보 제공을 계속할 수 있습니다.
따라서 AUV의 위치 추적과 항법에서는 스테레오 카메라와 관성 센서의 융합이 큰 이점을 제공하며, 이러한 접근 방식이 널리 사용되고 있습니다.


11
AUV (Autonomous Underwater Vehicle)의 위치 추적 기술은 시간이 흐르면서 크게 발전해왔다. 초기에는 주로 아쿠스틱 항법 시스템, 관성 항법 시스템 (INS), 그리고 Doppler Velocity Log (DVL)와 같은 단독 센서에 의존하였다. 이러한 센서들은 각각 신호 지연, 오차 누적, 비용 및 환경적 제한과 같은 문제점들을 가지고 있었다. 반면, 현대의 AUV 위치 추적 기술은 다양한 센서의 융합, SLAM (Simultaneous Localization And Mapping) 기술의 도입, 그리고 기계 학습 및 인공지능의 적용을 통해 더욱 정밀하고 효과적인 위치 추적을 실현하고 있다. 이러한 기술적 진보는 AUV가 깊고 복잡한 수중 환경에서도 안정적으로 위치를 파악하며 다양한 작업을 수행할 수 있게 해주었다.
제한된 가시성, 빛의 빠른 감쇠
"An Underwater Positioning System for UUVs Based on LiDAR Camera and Inertial Measurement Unit"

요약: 이 논문에서는 빠른 전자 자기파의 감쇠, 환경의 교란 및 불확실성으로 인해 수중 위치 결정이 어려운 문제를 해결하기 위해 LiDAR 카메라와 관성 측정 장치를 기반으로 한 새로운 시각 기반 수중 위치 결정 시스템을 제안합니다.
저자: Hongbo Yang, Zhizun Xu, B. Jia
발행일: 2022-07-01
논문 링크


SINS (Strap-down Inertial Navigation System):

원리: SINS는 가속도계와 자이로스코프를 기반으로 한다. 이러한 센서들은 차량의 각속도와 가속도를 측정하여 차량의 위치와 방향을 계산한다.
특성: SINS는 초기 위치와 속도 정보가 주어지면 외부 정보나 도움 없이 위치와 속도를 추정할 수 있다는 장점이 있다. 그러나 시간이 지남에 따라 오차가 누적되는 경향이 있다.
DVL (Doppler Velocity Log):

원리: DVL은 도플러 효과를 이용하여 속도를 측정한다. 이는 아크로스틱 신호를 바닥 또는 주변 물로 보내고 반사되는 신호를 분석하여 속도를 측정하는 방식이다.
특성: DVL은 정확한 속도 정보를 제공할 수 있지만, 복잡한 해저 지형이나 강한 수류에서는 정확도가 떨어질 수 있다.
PS (Pressure Sensor):

원리: 압력 센서는 주변 환경의 압력을 측정한다. 수중에서는 압력의 변화가 깊이의 변화와 직접적으로 연관되어 있다.
특성: PS는 간단하고 정확한 깊이 정보를 제공할 수 있지만, 수평 방향의 움직임에 대한 정보는 제공하지 않는다.
SINS, DVL, 그리고 PS의 융합에 대한 정보:

SINS는 시간이 지나면서 오차가 누적되는 경향이 있지만, DVL은 정확한 속도 정보를 제공하여 이 오차를 보정해 줄 수 있다.
DVL의 정확도는 복잡한 해저 지형이나 강한 수류에서 떨어질 수 있지만, SINS는 이러한 환경에서도 계속해서 위치 정보를 제공하므로 DVL의 단점을 보완해 줄 수 있다.
PS는 수직 방향의 움직임에 대한 정보만 제공하지만, SINS와 DVL은 수평 방향의 움직임에 대한 정보도 제공하므로 PS의 정보와 결합하여 3차원의 움직임에 대한 전체적인 정보를 얻을 수 있다.
이러한 방식으로 각 센서의 단점은 다른 센서의 장점으로 보완되어, 통합된 내비게이션 시스템에서 더욱 정확하고 안정적인 위치 정보를 제공할 수 있다.


2.1. 스트랩다운 관성 내비게이션 시스템 (SINS):

원리: SINS는 가속도계와 자이로스코프를 기반으로 작동한다. 이러한 센서들은 차량의 각속도와 가속도를 측정하여 위치와 방향을 계산한다.

특성:

독립성: SINS는 외부 신호나 도움 없이 독립적으로 위치와 속도를 추정할 수 있는 장점이 있다.
오차 누적: SINS는 초기 위치와 방향 정보를 기반으로 작동하기 때문에 시간이 지남에 따라 오차가 누적된다. 이러한 누적 오차는 긴 시간 동안의 내비게이션에서 문제가 될 수 있다.
강건성: SINS는 전자적인 센서만을 사용하기 때문에, 전자적 잡음이나 간섭에는 취약하지만, 환경적 요인, 예를 들면 해저 지형이나 수류와 같은 외부 요인에는 덜 민감하다.
2.2. 도플러 속도 로그 (DVL):

원리: DVL은 도플러 효과를 이용하여 속도를 측정한다. 이는 아크로스틱 신호를 바닥 또는 주변 물로 보내고 반사되는 신호를 분석하여 속도를 측정하는 방식이다.

특성:

정확성: DVL은 바닥과의 상대적인 속도를 정확하게 측정하여 차량의 속도를 계산할 수 있다.
환경에 따른 제한: 복잡한 해저 지형이나 강한 수류에서는 DVL의 성능이 저하될 수 있다. 또한, 일정 깊이 이상에서는 바닥 신호를 잘 받지 못하여 속도를 정확하게 측정하기 어려울 수 있다.
다양한 모드: DVL은 바닥 추적 (bottom-tracking) 모드와 물 추적 (water-tracking) 모드를 통해 다양한 환경에서 속도를 측정할 수 있다.
2.3. 압력 센서 (PS):

원리: 압력 센서는 주변 환경의 압력을 측정한다. 수중에서는 압력의 변화가 깊이의 변화와 직접적으로 연관되어 있다.

특성:

정확성: PS는 간단한 원리에 기반하므로 매우 정확한 깊이 정보를 제공할 수 있다.
한계: PS는 수평 방향의 움직임에 대한 정보는 제공하지 않는다. 따라서 3차원의 움직임 정보를 얻기 위해서는 다른 센서와의 통합이 필요하다.
환경적 영향: 주변 환경의 온도나 염도 변화에 따라 측정 오차가 발생할 수 있다. 이러한 요인들을 보정하기 위한 추가적인 센서나 알고리즘이 필요하다.



3.1. SINS와 DVL의 융합:
SINS는 시간이 지남에 따라 오차가 누적되는 경향이 있다. 반면, DVL은 정확한 속도 정보를 제공한다. 이 두 센서를 융합함으로써, SINS의 누적 오차는 DVL의 속도 정보를 통해 보정될 수 있다. 또한, 복잡한 해저 지형이나 강한 수류 등에서 DVL의 성능이 저하될 때, SINS는 지속적으로 위치 정보를 제공하므로 DVL의 한계를 보완한다.

3.2. SINS, DVL 및 PS의 통합:
PS는 정확한 수직 움직임 데이터를 제공한다. SINS와 DVL은 수평 움직임에 대한 정보를 제공하므로, 이 세 센서의 정보를 통합하면 3차원 움직임에 대한 전반적인 정보를 얻을 수 있다. PS의 깊이 정보와 SINS 및 DVL의 수평 위치 정보를 결합함으로써, 더욱 정확하고 안정적인 내비게이션 정보를 얻을 수 있다.

4. 결론:

SINS, DVL, 그리고 PS의 통합 내비게이션 시스템은 각 센서의 단점을 보완하고 강점을 최대한 활용하여 해양 내비게이션에 있어서 높은 정확도와 신뢰성을 제공한다. 이러한 융합 방식은 다양한 해양 환경에서의 내비게이션과 위치 파악의 문제를 해결하는 데 크게 기여할 것으로 예상된다.

네, 제공된 내용을 다시 검토해 보니 DVL이 특정 상황에서 두 종류의 빔 정보를 사용할 수 없을 때, 유연하게 통합된 내비게이션(TLIN)은 SINS와 PS 내비게이션 모드로만 전환될 수 있다고 설명되어 있습니다. 이는 SINS, PS, DVL을 동시에 통합하여 사용하는 것이 아니라, 특정 조건이나 상황에 따라서 사용하는 센서를 바꾸어가며 내비게이션을 진행한다는 것을 의미합니다.

따라서, 이 논문에서는 각각의 센서를 다른 상황에서 교체하여 사용하는 전략에 대해 다루고 있음을 알 수 있습니다.

SINS, PS, DVL의 TLIN (유연하게 통합된 내비게이션) 구현

3. SINS, PS, 그리고 DVL의 유연하게 통합된 내비게이션 (TLIN) 구현:

해양 환경에서의 내비게이션은 굉장히 복잡한 문제로, 여러 센서의 정보를 통합하여 이 문제를 해결하는 방법이 필요하다. SINS, PS, 그리고 DVL의 통합을 통해 유연하게 통합된 내비게이션 (TLIN) 방식을 제안한다.
그림 2처럼 DVL은 복잡한 해저 지형에서 음향 신호의 반사가 제대로 이루어 지지 않아 올바른 측정이 어려울 수 있다.또, 강한 해류가 경로를 방해하거나 왜곡시켜 정확한 속도 측정을 수행하기 어려울 수 있다. 이러한 문제 상황에서, TLIN 방식은 DVL의 데이터가 부정확하거나 누락될 경우 SINS로 전환되며, 높이 정보의 정확성이 필요할 때는 PS로 전환되어 DVL의 한계를 극복하였다.SINS는 연속적인 정보를 제공하는 독립적인 내비게이션 시스템으로, 외부 신호나 데이터에 의존하지 않기 때문에 특정 센서의 정보가 누락되거나 부정확할 경우, SINS로 전환하여 내비게이션 정확도를 유지할 수 있습니다.PS (Pressure Sensor)는 수중 깊이 또는 높이 정보를 제공하는 센서입니다. 복잡한 환경에서 수직 움직임의 정확성이 중요한 경우, PS의 높이 정보는 수직 방향에서의 속도와 위치 오차를 최소화하는 데 중요하다.


3.2. SINS의 특성 및 TLIN에서의 활용:
SINS (Strapdown Inertial Navigation System)은 가속도계와 자이로스코프를 기반으로 하며, 외부 참조 없이 위치, 속도, 그리고 방향을 추정합니다. SINS는 연속적인 정보를 제공하는 독립적인 내비게이션 시스템으로, 외부 신호나 데이터에 의존하지 않기 때문에 특정 센서의 정보가 누락되거나 부정확할 경우, SINS로 전환하여 내비게이션 정확도를 유지할 수 있습니다.

3.3. PS의 특성 및 TLIN에서의 활용:
PS (Pressure Sensor)는 수중 깊이 또는 높이 정보를 제공하는 센서입니다. 복잡한 환경에서 수직 움직임의 정확성이 중요한 경우, PS의 높이 정보는 수직 방향에서의 속도와 위치 오차를 최소화하는 데 중요하다.

4. 결론:

SINS, PS, 그리고 DVL의 통합을 통한 TLIN 방식은 복잡한 해양 환경에서의 내비게이션 문제를 효과적으로 해결한다. 이러한 통합 방식은 각 센서의 장단점을 최대한 활용하여, 전반적인 내비게이션 성능을 향상시키는 데 중요한 역할을 한다.




해양 환경에서의 내비게이션은 굉장히 복잡한 문제로, 여러 센서의 정보를 통합하여 이 문제를 해결하는 방법이 필요하다. SINS, PS, 그리고 DVL의 통합을 통해 유연하게 통합된 내비게이션 (TLIN) 방식을 제안한다.
그림 2처럼 DVL은 복잡한 해저 지형에서 음향 신호의 반사가 제대로 이루어 지지 않아 올바른 측정이 어려울 수 있다.또, 강한 해류가 경로를 방해하거나 왜곡시켜 정확한 속도 측정을 수행하기 어려울 수 있다. 이러한 문제 상황에서, TLIN 방식은 DVL의 데이터가 부정확하거나 누락될 경우 SINS로 전환되며, 높이 정보의 정확성이 필요할 때는 PS로 전환되어 DVL의 한계를 극복하였다.SINS는 연속적인 정보를 제공하는 독립적인 내비게이션 시스템으로, 외부 신호나 데이터에 의존하지 않기 때문에 특정 센서의 정보가 누락되거나 부정확할 경우, SINS로 전환하여 내비게이션 정확도를 유지할 수 있습니다.PS (Pressure Sensor)는 수중 깊이 또는 높이 정보를 제공하는 센서입니다. 복잡한 환경에서 수직 움직임의 정확성이 중요한 경우, PS의 높이 정보는 수직 방향에서의 속도와 위치 오차를 최소화하는 데 중요하다.

Figure 2. DVL failure condition.

 Huibao Yang, Xiujing Gao, H. Huang, Bangshuai Li, Jiehong Jiang
 
 
 
 
 
 
 
 
 
 
AUV 센서 시스템 동향
: 광학 및 소나 센서의 센서 융합 전략

Trends in AUV Sensor Systems
: Sensor Fusion Strategies for Optical and Sonar Sensors

박신영
(Shinyoung Park)
Department of Electronics Engineering Kyungpook National University

Abstract: This paper explores the trends in sensor systems used by underwater Autonomous Underwater Vehicles (AUVs) and discusses the methodology for achieving enhanced information accuracy through sensor fusion.

Keywords: Autonomous driving, AUV, Under water, Sensor system, Sensor fusion


I. 서론

자율 수중 로봇(AUV)는 지난 수십 년 동안 해양 탐사와 연구 분야에서 빠르게 성장하고 있는 기술 중 하나로 각광받고 있다. 초기 AUV는 단순한 탐사 임무를 수행하는 데 주고 사용되었지만, 현재는 해저 지형 조사, 해양 생물학 연구, 환경 모니터링, 그리고 군사적인 임무와 같은 다양한 분야에서 그 중요성이 인정받고 있다. AUV의 성공적인 운용은 센서 시스템에 크게 의존한다. 센서는 AUV가 주변 환경을 인식하고, 장애물을 피하며, 목표 지점에 도달하게 하는 핵심 요소이다. 최근의 기술 발전으로 인해, AUV는 더욱 정교하고 다양한 센서를 탑재하게 되었으며, 이로 인해 그 성능과 기능도 크게 향상되었다. 그러나 각 센서는 그 자체의 한계와 제약 사항을 가지고 있다. 예를 들어, 광학 센서는 높은 해상도의 이미지를 제공할 수 있지만, 탁한 물이나 낮은 가시성 조건에서는 제한된 성능을 보인다. 반면, 소나 센서는 이러한 조건에서도 작동할 수 있지만, 그 해상도는 광학 센서보다 낮다. 이러한 문제점을 극복하기 위해, 센서 융합 기술이 주목받고 있다. 센서 융합은 다양한 센서로부터 얻은 데이터를 통합하여 더 정확하고 신뢰성 있는 정보를 제공하는 기술이다. 본 논문에서는 AUV의 센서 시스템의 최근 기술 동향에 대해 깊이 있게 살펴보고, 센서 융합을 통해 어떻게 더욱 정확한 데이터 수집이 가능해지는지에 대해 탐구한다. 이를 통해 AUV 기술의 미래 방향성과 그 중요성에 대한 통찰을 제공하고자 한다.

II. 수중 센서의 특성

수중 환경은 공기 중 환경과 매우 다르다. 물은 공기보다 밀도가 높고 저항이 크기 때문에, 센서의 움직임과 데이터 전송은 공기 중보다 더 복잡하다. 이러한 차이점으로 인해 수중 센서는 공기 중 센서와는 다른 특성과 기술을 요구한다. 수중 센서로 이용되는 센서는 크게 광학 센서, 음향 센서, 소나 센서가 있다. 먼저 광학 센서는 빛의 반사, 흡수, 산란 등의 광학적 특성을 이용하여 정보를 수집한다. 광학 센서는 빠른 반응 시간과 높은 해상도로 인해 수중 이미징 및 물의 탁도 측정에 적합하다. 그러나 물은 빛의 흡수와 산란을 증가시키기 때문에 광학 센서의 작동 거리는 수중에서 제한적이다. 음향 센서와 소나 센서는 음파의 반사와 전파 특성을 이용하여 정보를 수집한다. 물은 음파의 전파에 있어서 공기보다 훨씬 효율적인 매질이므로 수중 통신 및 탐지에 음파를 사용하는 센서가 주로 사용된다. 

III. AUV 자율 주행 센서 시스템

1. 광학 센서

그림 1. (a) sdfjsdf, (b) dfs

이 연구[1]는 액체 샘플의 온도와 탁도를 다중 파라미터로 평가하기 위한 광섬유 센서 시스템의 개발을 제시하였다. 강도 변화 및 표면 플라즈몬 공명(SPR) 센서는 수중의 탁도를 측정하는데에 사용된다. 광섬유 사이의 액체 샘플의 탁도는 각 탁도 샘플에 대한 전송 광 전력 변화로부터 추정될 수 있다. 이 경우, 한 광섬유는 광원에 연결되어 있으며, 다른 하나는 포토디텍터에 연결된다. 따라서 두 광섬유 사이의 탁도 증가는 발광 및 비발광 광섬유 사이의 전송 광 전력 감소로 이어진다. FBG 센서는 온도 평가에 사용되는 센서이다. 광섬유 내에 새겨진 주기적인 광학 그레이팅으로 구성되며, 특정 파장의 빛을 반사하고 나머지 파장을 통과시킨다. 이 반사되는 파장을 Bragg 파장이라고 한다. 온도가 변하면 광섬유의 굴절률과 그레이팅의 주기가 변화한다. 이로 인해 Bragg 파장도 변화하게 되고 파장의 변화를 측정함으로써 주변의 온도 변화를 감지할 수 있다. 또, 이 연구에서는 더 높은 정확도, 동적 범위, 해상도를 가진 센서를 달성하기 위한 데이터 간의 센서 융합의 가능성도 제시하고 있다. 센서 융합이란 여러 센서의 데이터나 데이터 세트를 결합하여 하나의 통합된, 보다 정확하고 완전한 데이터 세트를 생성하는 과정이다.

그림 . FBG 센서를 사용해 측정한 온도의 순간 응답
Fig  2. Transient response of temperature measured using FBG sensors

그림 2는 세 가지 시료(탁도 0.02 NTU, 100 NTU, 200 NTU)에 온도 변화를 가하고 각 시료의 온도 반응을 FBG 온도 센서로 수집한 결과 그래프이다. 시간의 함수로서 과도 분석과 관련된 곡선의 기울기는 샘플에 대한 열 전달 속도를 나타낸다. 기울기가 높을수록 열 전달 속도가 빠르며, 이는 시료 탁도와 관련이 있다. 따라서 시료 간 열전달률로부터 각 시료의 탁도를 추정할 수 있다. 이러한 이유로 FBG 센서는 온도를 측정하는 센서로만 사용되는 것이 아니라, 유체의 열 역학을 통한 탁도 추정에도 사용될 수 있다. SPR 센서의 탁도 측정 데이터와 FBG 센서의 운도 측정 데이터를 융합하여 더욱 정확한 탁도 정보를 얻는 것이 그 예시이다. 

2. 소나 센서
이 연구[2]는 음향 소나 데이터를 사용한 3D 재구성을 위한 센서 융합 방법에 대해 제시하였다. 전방 탐지 멀티빔 소나(FLS) 센서는 고해상도의 단거리 스캔이 가능한 고주파 멀티빔 소나이다. 프로파일링 소나(PS) 센서는 중거리 스캔이 가능하며, 수평 해상도는 낮지만 수직 스캔의 신뢰성이 높다. 두 소나 장치의 보완적인 정보를 활용하기 위해, PS는 옆으로 누워 있게 설치되었고, FLS의 위에 장착되었다. 센서 융합 방법을 이용해 3D 재구성 과정의 첫 번째 과정은 관심 영역(ROI)를 추출하는 것이다. 해저에서 산란된 반사가 물체 주위에 배경을 형성한다. 배경은 소나 이미지 내에서 관심 있는 객체나 대상이 아닌 영역으로 객체의 정확한 위치와 형태를 식별하는 데 방해가 될 수 있다. 따라서, 관심 영역을 배경과 분리하는 작업이 매우 중요하다. 객체가 FLS의 시야의 멀리 있는 위치에 있을 때, 하이라이트는 주로 배경 내에 위치하게 된다. 여기서 하이라이트는 감지하고자 하는 객체의 위치나 형태를 나타내는 뚜렷한 신호를 의미한다. FLS가 객체에 점점 가까워지면서, 하이라이트는 배경에서 점점 벗어나게 된다. 이는 객체와 FLS 간의 상대적 각도와 거리의 변화 때문이다(그림 3). 결론적으로 FLS가 객체에 접근함에 따라 객체의 실제 위치와 형태를 더욱 정확하게 파악하는 데 도움을 준다.

그림 . 소나가 물체에 접근할 때 소나 이미지의 변화
Fig  3. Changes in the sonar image when the sonar approaches an object

반복적인 데이터 수집과 점유 그리드 기반의 재귀적 업데이트를 통해 수직 정보에 대한 가능성 필드를 생성하고 생성된 가능성 맵을 사용해 중요도 샘플링 기반 가장 가능성이 높은 포인트를 추출한다. 반복적인 데이터 수집과 재귀적 업데이트는 PS를 사용하여 수행하고, 중요도 샘플링 기반 3D 포인트 클라우드 생성은 FLS를 사용하여 수행한다. 그림 4는 이 연구에서 제안한 센서 융합 방법으로 수중에서 객체를 3D 재구성한 결과이다. 두 가지 소나 유형의 데이터를 결합하기 전에는 음향 빔폭의 모호성으로 인해 점 앞쪽에 원치 않는 경사가 발생하여 3D 재구성의 오차가 존재하지만(그림 4a), 제안된 방법은 전면 경사의 정확도를 개선하고 물체의 3D 재구성 오차를 완화했다(그림 4b).








그림 . 현장 시험 결과: (a) 두 종류의 소나 데이터를 결합하기 전; (b) 제안된 방법 
Fig  4. Field test results: (a) before combining the two types of sonar data; (b) the proposed method.  


IV. 결론
본 논문에서는 자율 수중 로봇(AUV)의 센서 시스템에 대한 최근 기술 동향을 탐구하고, 센서 융합을 통해 AUV의 성능을 향상시키는 방법을 제시했다. 수중 환경의 특성을 고려하여 광학, 음향, 및 소나 센서를 사용하여 AUV의 자율 주행 능력을 향상시키고 다양한 임무를 수행할 수 있는 방법을 논의했다. 광학 센서를 활용한 연구에서는 광섬유 센서와 SPR 센서를 활용하여 수중 탁도 및 온도 측정을 수행하는 방법을 제안했고 두 센서를 융합하여 더욱 정확하고 신뢰성 있는 탁도 정보를 얻을 수 있다는 가능성을 제시했다. 또한 소나 센서를 활용한 연구에서는 전방 탐지 멀티빔 소나와 프로파일링 소나를 결합하여 3D 재구성을 수행하는 방법을 소개했다. 이러한 연구 결과들은 AUV 기술의 발전과 다양한 응용 분야에 기여할 것으로 기대한다. 센서 융합 기술은 AUV의 성능을 더욱 향상시키고, 해양 탐사, 환경 모니터링, 군사적 임무, 그리고 과학 연구 분야에서의 활용 가능성을 확장시킬 것이다.

A Tightly Integrated Navigation Method of SINS, DVL, and PS Based on RIMM in the Complex Underwater Environment

# Python code
import numpy as np  # pip install numpy
import matplotlib.pyplot as plt  # pip install matplotlib

ts = 0.01  # time sample
time = np.arange(0, 10, ts)  # x축 time step 정의
# 각각의 x값의 함숫값을 구하여 신호 정의
signal = 3*np.cos(2*np.pi*time) + 2*np.cos(4*np.pi*time-np.pi/4)

n = len(time)  # 데이터 포인트의 수
k = np.arange(n)  # 주파수 인덱스를 위한 배열
Fs = 1/ts  # 샘플링 주파수
T = n/Fs  # 전체 시간의 길이
freq = k/T  # 주파수 도메인에서의 주파수 값
freq = freq[range(int(n/2))]  # 계산될 유효 주파수 범위는 절반

Y = np.fft.fft(signal)  # singal에 대해 fft 수행
Y = Y[range(int(n/2))]/n  # 계산될 유효 주파수 범위는 절반
# 알고리즘에 따라, 실제 진폭값을 얻기 위해 n으로 나눔 (정규화)

# 그래프 plot
fig, ax = plt.subplots(3, 1, figsize=(12,12))
ax[0].plot(time, signal)
ax[0].set_xlabel('Time')
ax[0].set_ylabel('Amplitude');
ax[0].grid(True)
ax[1].stem(freq, np.abs(Y)) 
ax[1].set_xlabel('Freq (Hz)')
ax[1].set_ylabel('|Y(freq)|')
ax[1].set_xlim([0, 5])  # 범위는 time 길이의 절반
ax[1].grid(True)
ax[2].stem(freq, np.angle(Y))
ax[2].set_xlabel('Freq (Hz)')
ax[2].set_ylabel('Phase (rad)')
ax[2].set_xlim([0, 5])  # 범위는 time 길이의 절반
ax[2].grid(True)
plt.show()

% MATLAB code

% Parameters
ts = 0.01;  % time sample
time = 0:ts:10-ts;  % x축 time step 정의
signal = 3*cos(2*pi*time) + 2*cos(4*pi*time-pi/4);

n = length(time);  % 데이터 포인트의 수
k = 0:n-1;  % 주파수 인덱스를 위한 배열
Fs = 1/ts;  % 샘플링 주파수
T = n/Fs;  % 전체 시간의 길이
freq = k/T;  % 주파수 도메인에서의 주파수 값
freq = freq(1:floor(n/2));  % 계산될 유효 주파수 범위는 절반

Y = fft(signal);  % signal에 대해 fft 수행
Y = Y(1:floor(n/2))/n;  % 계산될 유효 주파수 범위는 절반
% 알고리즘에 따라, 실제 진폭값을 얻기 위해 n으로 나눔 (정규화)

% 그래프 plot
figure;
subplot(3,1,1);
plot(time, signal);
xlabel('Time');
ylabel('Amplitude');
grid on;

subplot(3,1,2);
stem(freq, abs(Y));
xlabel('Freq (Hz)');
ylabel('|Y(freq)|');
xlim([0 5]);  % 범위는 time 길이의 절반
grid on;

subplot(3,1,3);
stem(freq, angle(Y));
xlabel('Freq (Hz)');
ylabel('Phase (rad)');
xlim([0 5]);  % 범위는 time 길이의 절반
grid on;




강화학습(Reinforcement Learning, RL)은 기계 학습의 한 분야로, 에이전트(agent)가 환경(environment)과 상호작용하며 행동(action)을 통해 얻는 보상(reward)을 최대화하기 위한 최적의 전략(policy)을 학습하는 방법론을 연구한다. 이러한 프레임워크는 다양한 문제에서 최적의 해결책을 찾는 데 사용되어 왔다.

최근 몇 년 동안, 강화학습은 여러 분야에서 눈부신 성과를 거두었다. AlphaGo와 같은 알고리즘이 바둑에서 세계 챔피언을 이기는 데 성공한 것은 그 예이다. 또한 자율 주행 자동차, 로봇 제어, 재무 최적화 등 다양한 응용 분야에서도 강화학습의 효과가 입증되었다.

이 논문에서는 강화학습의 기본적인 개념을 소개하고, 현대에 어떤 분야에서 어떤 성과를 내었는지 살펴본다. 특히, 저자는 [특정 주제 or 문제]에 대한 강화학습의 적용성을 탐구하고, 직접 수행한 시뮬레이션 실험을 통해 그 성과를 검증한다.

이러한 배경 하에서, 이 논문의 주요 목적은 강화학습의 기본 개념을 명확히 이해하고, 그 응용 분야에서의 중요성을 인식하는 것이다. 또한, 저자의 시뮬레이션 결과를 통해 강화학습이 어떻게 실제 문제 해결에 도움을 줄 수 있는지를 보여준다.

에이전트와 환경: 강화학습에서는 에이전트가 환경과 상호작용하며 학습한다. 에이전트는 환경에서 얻은 보상을 기반으로 행동을 선택하며, 이 행동은 환경의 상태를 변경할 수 있다.
보상과 반환값: 에이전트는 행동을 선택함으로써 보상을 얻는다. 목표는 미래의 총 보상, 즉 반환값을 최대화하는 것이다.
정책: 에이전트의 행동 전략을 정의하는 함수나 방법론을 말한다.


강화학습 (RL)은 에이전트가 환경과 직접 상호 작용하여 원하는 동작이나 정책을 배우는 의사 결정 프레임워크 이다. 그림2의 강화학습 제어 루프를 보면 각 시간 단계마다 에이전트는 상태 s에서 동작 a를 수행한다. 따라서 새로운 상태 s에 있으며 환경으로부터 보상 r을 받는다. 처음에 보상 와 상태 가 있고 딥러닝 에이전트가 행동 를 하면 환경이 다음 보상과 상태를 반환하고 이 값으로 업데이트 된다. 에이전트의 목표는 미래의 총 보상, 즉 반환 값을 최대화하는 것이다.
강화학습 (RL)은 에이전트가 환경과 상호작용하면서 원하는 정책을 학습하는 의사 결정 프레임워크입니다. 그림 2에서 볼 수 있는 RL의 제어 루프를 통해, 에이전트는 주어진 상태 
s에서 행동 a를 선택하고 실행합니다. 이로 인해 에이전트는 새로운 상태로 전환되며, 해당 행동에 대한 보상 r을 환경으로부터 받게 됩니다. 초기 상태와 보상을 기반으로, 딥러닝 기반의 에이전트는 행동을 선택하고, 이에 따라 환경은 다음 상태와 보상을 반환합니다. 이러한 과정을 통해 에이전트는 미래의 총 보상을 최대화하는 방향으로 학습을 진행합니다.

1. 게임과 엔터테인먼트

AlphaGo와 바둑: DeepMind의 AlphaGo는 딥러닝과 몬테카를로 트리 탐색을 결합하여 세계 바둑 챔피언을 능가하는 수준의 성능을 보였다.
비디오 게임: OpenAI의 DOTA 2 AI와 같은 프로젝트는 복잡한 전략 게임에서도 뛰어난 성능을 보여준다.
2. 자율 주행 및 로봇 제어

자율 주행 자동차: 강화학습은 자동차의 경로 계획 및 최적화에서 중요한 역할을 한다.
다리 건너기, 물체 피하기 등의 로봇 동작: 로봇의 복잡한 동작을 학습하기 위해 강화학습이 사용된다.
3. 재무 및 주식 시장

포트폴리오 최적화: 강화학습은 다양한 자산 간의 최적의 투자 조합을 찾는 데 사용된다.
시장 거래 전략: 주식 시장의 패턴을 학습하여 거래 전략을 최적화한다.
4. 건강 관리 및 의료

치료 계획 최적화: 환자의 상태와 반응을 기반으로 최적의 치료 계획을 제안한다.
진단 지원: 복잡한 의료 데이터를 분석하여 진단을 지원한다.
5. 에너지 관리 및 최적화

스마트 그리드: 에너지 수요와 공급을 균형있게 맞추기 위한 최적화 전략을 학습한다.
재생 가능 에너지: 태양광 및 풍력 발전의 예측 및 최적화에서 강화학습이 활용된다.
결론
강화학습은 다양한 분야에서 중요한 연구 동향을 보이며, 실제 응용 분야에서 큰 잠재력을 지니고 있다. 이러한 연구 동향은 강화학습의 기술적 발전과 함께 계속 진화하고 있으며, 앞으로도 많은 분야에서 그 중요성이 증대될 것으로 예상된다.


# AI for Logistics - Robots in a warehouse

# Importing the libraries
import numpy as np

# Setting the parameters gamma and alpha for the Q-Learning
gamma = 0.75
alpha = 0.9

# PART 1 - BUILDING THE ENVIRONMENT

# Defining the states
location_to_state = {'A': 0,
                     'B': 1,
                     'C': 2,
                     'D': 3,
                     'E': 4,
                     'F': 5,
                     'G': 6,
                     'H': 7,
                     'I': 8,
                     'J': 9,
                     'K': 10,
                     'L': 11}

# Defining the actions
actions = [0,1,2,3,4,5,6,7,8,9,10,11]

# Defining the rewards
R = np.array([[0,1,0,0,0,0,0,0,0,0,0,0],
              [1,0,1,0,0,1,0,0,0,0,0,0],
              [0,1,0,0,0,0,1,0,0,0,0,0],
              [0,0,0,0,0,0,0,1,0,0,0,0],
              [0,0,0,0,0,0,0,0,1,0,0,0],
              [0,1,0,0,0,0,0,0,0,1,0,0],
              [0,0,1,0,0,0,1,1,0,0,0,0],
              [0,0,0,1,0,0,1,0,0,0,0,1],
              [0,0,0,0,1,0,0,0,0,1,0,0],
              [0,0,0,0,0,1,0,0,1,0,1,0],
              [0,0,0,0,0,0,0,0,0,1,0,1],
              [0,0,0,0,0,0,0,1,0,0,1,0]])

# PART 2 - BUILDING THE AI SOLUTION WITH Q-LEARNING

# Making a mapping from the states to the locations
state_to_location = {state: location for location, state in location_to_state.items()}

# Making a function that returns the shortest route from a starting to ending location
def route(starting_location, ending_location):
    R_new = np.copy(R)
    ending_state = location_to_state[ending_location]
    R_new[ending_state, ending_state] = 1000
    Q = np.array(np.zeros([12,12]))
    for i in range(1000):
        current_state = np.random.randint(0,12)
        playable_actions = []
        for j in range(12):
            if R_new[current_state, j] > 0:
                playable_actions.append(j)
        next_state = np.random.choice(playable_actions)
        TD = R_new[current_state, next_state] + gamma * Q[next_state, np.argmax(Q[next_state,])] - Q[current_state, next_state]
        Q[current_state, next_state] = Q[current_state, next_state] + alpha * TD
    route = [starting_location]
    next_location = starting_location
    while (next_location != ending_location):
        starting_state = location_to_state[starting_location]
        next_state = np.argmax(Q[starting_state,])
        next_location = state_to_location[next_state]
        route.append(next_location)
        starting_location = next_location
    return route

# PART 3 - GOING INTO PRODUCTION

# Making the final function that returns the optimal route
def best_route(starting_location, intermediary_location, ending_location):
    return route(starting_location, intermediary_location) + route(intermediary_location, ending_location)[1:]


best_route('E', 'K', 'G')
Smart glasses for the hearing-impaired

상대방과의 대화를 유리에 문자로 head-up하는 발명에 대한 주요 내용을 작성하겠습니다.

발명의 주요 내용:
"Real-time Conversation Transcription Head-up Display (HUD) for the Hearing-Impaired"

목적: 청각 장애인이 대화 중인 상대방의 말을 실시간으로 문자로 변환하여 스마트 글래스의 유리에 표시함으로써, 대화 참여를 원활하게 돕는다.

기능:

음성 인식: 상대방의 음성을 실시간으로 인식한다.
실시간 번역: 인식된 음성을 문자로 변환한다.
HUD 디스플레이: 변환된 문자를 스마트 글래스의 유리에 투영한다.
특징:

대화 모드: 여러 사람과의 대화에서도 각 사람의 발언을 구분하여 표시할 수 있다.
사용자 설정: 글자 크기, 폰트, 색상 등을 사용자가 원하는 대로 설정할 수 있다.
배터리 효율: 긴 대화 동안에도 사용할 수 있도록 최적화된 배터리 효율을 제공한다.
배경 잡음 필터링: 주변 환경의 잡음을 필터링하여, 명확한 대화 내용만을 표시한다.
적용 분야:

일상 대화: 일상 생활에서의 대화, 회의, 강의 등 다양한 상황에서 사용할 수 있다.
공공 장소: 공항, 기차역, 병원 등에서의 안내나 공지사항을 청각 장애인에게 전달하는 데 사용할 수 있다.

대화의 원활한 참여: 청각 장애인이 일상 대화, 회의, 강의 등에서 원활하게 참여할 수 있게 도와줍니다. 이로 인해 사회적 소외감을 줄이고, 의사소통의 효율성과 품질을 향상시킬 수 있습니다.
교육 및 직업 기회 확대: 교육 환경이나 직장에서의 의사소통 장벽이 줄어들게 되므로, 교육과 직업에 있어서 더 많은 기회를 얻을 수 있게 됩니다.
기술적 발전: 이러한 스마트 글래스 기술은 다른 응용 분야에서도 활용될 수 있으며, 기술적 발전을 촉진시킬 수 있습니다. 예를 들면, 다양한 언어 간의 실시간 번역, 교육용 자막 생성 등의 분야에서 활용될 수 있습니다.

대화의 원활한 참여: 청각 장애인이 일상 대화, 회의, 강의 등에서 원활하게 참여할 수 있게 도와줍니다. 이로 인해 사회적 소외감을 줄이고, 의사소통의 효율성과 품질을 향상시킬 수 있습니다.

자신감 증진: 청각 장애인들이 대화에 적극적으로 참여하며, 다른 사람들과의 의사소통에 있어 자신감을 가질 수 있게 됩니다.

사회적 인식 개선: 이러한 기술의 보급과 사용을 통해, 청각 장애에 대한 사회적 인식이 개선되며, 장애인에 대한 긍정적인 인식이 확산될 수 있습니다.

교육 및 직업 기회 확대: 교육 환경이나 직장에서의 의사소통 장벽이 줄어들게 되므로, 교육과 직업에 있어서 더 많은 기회를 얻을 수 있게 됩니다.

기술적 발전: 이러한 스마트 글래스 기술은 다른 응용 분야에서도 활용될 수 있으며, 기술적 발전을 촉진시킬 수 있습니다. 예를 들면, 다양한 언어 간의 실시간 번역, 교육용 자막 생성 등의 분야에서 활용될 수 있습니다.

경제적 효과: 청각 장애인을 대상으로 한 새로운 시장이 형성되며, 관련 산업 분야의 성장을 촉진시킬 수 있습니다.
대상 시장의 크기: 전 세계적으로 청각 장애인의 수는 상당히 많습니다. 이들을 대상으로 한 제품의 수요는 크게 나타날 것으로 예상됩니다.

기술의 활용 범위: 이 기술은 청각 장애인을 위한 것이지만, 다양한 분야에서 활용 가능성이 있습니다. 예를 들면, 노이즈가 많은 환경에서의 의사소통, 다양한 언어 간의 실시간 번역, 교육용 자막 생성 등에서 활용될 수 있습니다.
발명의 주요 내용:

스마트 글래스를 통해 상대방의 대화를 실시간으로 문자로 변환하여 유리에 표시함.
이는 청각 장애인이 대화에 원활하게 참여할 수 있게 돕는 기술임.
기존 아이디어 여부:

청각 장애인을 위한 다양한 보조 기술이 이미 연구되고 있음.
스마트 글래스나 HUD 기술을 이용한 실시간 대화 문자 변환과 같은 아이디어는 과거에 제안될 가능성 있음.
그러나 중요한 것은 기존 아이디어와의 차별점 및 새로운 기능이나 향상된 성능임.
시장성:

전 세계적으로 청각 장애인의 수가 많아, 큰 수요가 예상됨.
다양한 분야에서 활용 가능성이 있음 (예: 노이즈가 많은 환경, 실시간 번역, 교육용 자막 등).
사용자 경험에 중점을 둔 제품 개발, 합리적인 가격 설정, 홍보 및 마케팅의 중요성.


Q-러닝: 원리와 방법
1. 서론
Q-러닝은 주어진 유한한 마르코프 결정 과정에 대한 최적의 행동 선택 정책을 찾는 모델-자유 강화학습 알고리즘입니다. 간단히 말해, 모든 상태에서 취할 최적의 행동을 학습하려고 합니다.

2. 이론적 배경
Q-러닝은 Q-함수라는 개념을 기반으로 합니다. Q-함수, 
�
(
�
,
�
)
Q(s,a)로 표시되며, 상태 
�
s에서 행동 
�
a를 취할 때의 예상 반환(보상)을 나타냅니다. Q-러닝의 주요 목표는 상태 
�
s에서 행동 
�
a에 대한 최대 누적 보상을 제공하는 최적의 Q-함수, 
�
∗
(
�
,
�
)
Q 
∗
 (s,a)를 근사하는 것입니다.

3. 알고리즘
Q-러닝 알고리즘은 벨만 방정식을 사용하여 Q-값을 반복적으로 업데이트합니다. 업데이트 규칙은 다음과 같습니다:

a를 취한 후의 다음 상태입니다.
4. 탐색 vs 활용
Q-러닝에서 중요한 도전 과제는 탐색(새로운 행동 시도)과 활용(현재 지식을 기반으로 행동 취하기) 사이의 균형입니다. 이를 해결하기 위한 일반적인 전략에는 ε-탐욕적, 소프트맥스 행동 선택, 감소하는 탐색률 등이 있습니다.

5. 수렴성
특정 조건 하에서 Q-러닝 알고리즘은 최적의 정책으로 수렴한다는 것이 보장됩니다. 이러한 조건에는 상태와 행동의 유한한 수, 모든 상태-행동 쌍이 무한히 자주 방문되는 것, 적절한 학습률 설정 등이 포함됩니다.

6. 확장 및 변형
수년간 Q-러닝의 여러 변형 및 확장이 제안되었습니다:

딥 Q-러닝: 큰 상태 공간을 갖는 환경을 처리할 수 있도록 Q-함수를 근사하는 데 딥 뉴럴 네트워크를 사용합니다.
더블 Q-러닝: Q-러닝의 과대 평가 편향을 해결하기 위해 두 개의 Q-함수를 사용합니다.
7. 실제 응용 분야
Q-러닝은 로봇 공학, 게임 플레이, 금융 등 다양한 분야에서 성공적으로 적용되었습니다.

8. 결론
Q-러닝은 확률적 환경에서 최적의 정책을 학습하기 위한 강력한 프레임워크를 제공합니다. 딥러닝 기술의 발전으로 복잡한 환경에서의 적용 가능성과 효율성이 크게 향상되었습니다.

이것은 Q-러닝에 대한 기본적인 논문 본론 형식의 요약입니다. 실제 논문 작성 시에는 각 섹션에 더 자세한 내용, 그림, 그래프, 예제 등이 포함될 수 있습니다.
Recent Research Trends in Reinforcement Learning
1. 서론
Q-러닝은 강화학습의 기본적인 알고리즘 중 하나로, 벨만 방정식을 통해 최적의 행동-가치 함수를 반복적으로 추정합니다. 이 논문에서는 벨만 방정식의 복잡성을 탐구하며, Q-러닝에서의 그 중요성, 형식, 그리고 함의에 대해 빛을 비칩니다.

2. 이론적 배경
기본적으로, Q-러닝은 상태 
�
s에서 행동 
�
a를 취할 때의 예상 반환값을 나타내는 최적의 Q-함수, 
�
∗
(
�
,
�
)
Q 
∗
 (s,a),를 근사하려고 합니다.

3. 벨만 방정식: 형식화
벨만 방정식은 현재의 상태-행동 쌍의 Q-값을 이어지는 상태-행동 쌍의 Q-값과 연결하는 재귀적 관계
 의 최대 Q-값을 나타냅니다.
4. 방정식 뒤의 직관
벨만 방정식은 두 주요 구성 요소, 즉시 보상과 할인된 미래 보상을 포함합니다. 이 두 가지를 결합함으로써 주어진 상태-행동 쌍의 Q-값은 현재와 잠재적인 미래의 중요성을 모두 반영하도록 업데이트됩니다.

5. 수렴성 및 벨만 방정식
벨만 방정식을 활용하여 Q-러닝은 Q-값을 반복적으로 업데이트하며 수렴합니다. 특정 조건하에서, 이 반복 과정은 최적의 Q-함수, 
�
∗
(
�
,
�
)
Q 
∗
 (s,a)로 수렴한다는 것이 보장됩니다.

6. 도전과 함의
벨만 방정식은 개념적으로는 직관적이지만, 큰 상태와 행동 공간을 가진 환경에서의 실제 구현은 계산적으로 도전적일 수 있습니다. 또한, 할인 계수 
�
γ의 선택은 학습 과정과 결과적인 정책에 큰 영향을 줄 수 있습니다.

�
r는 상태 s에서 행동 a를 취한 후 받는 즉시 보상입니다.
γ는 할인 계수입니다.
벨만 방정식은 두 주요 구성 요소, 즉시 보상과 할인된 미래 보상을 포함합니다. 이 두 가지를 결합함으로써 주어진 상태-행동 쌍의 Q-값은 현재와 잠재적인 미래의 중요성을 모두 반영하도록 업데이트됩니다.

정의:
Q-값 또는 행동-가치 함수는 강화학습에서 사용되는 개념으로, 특정 상태에서 특정 행동을 취했을 때 기대되는 미래의 보상을 나타냅니다.

수학적 표현:
Q-값은 일반적으로 
�
(
�
,
�
)
Q(s,a)로 표현되며, 이는 상태 
�
s에서 행동 
�
a를 취했을 때의 기대 보상을 의미합니다.

벨만 방정식과의 관계:

Q-러닝의 주요 목표는 Q-값(Q-value)을 최대화하는 정책(policy)을 학습하는 것입니다.

