• Tidak ada hasil yang ditemukan

Fig 4.10. USV Auto pilot operation

영되어 운항거리가 증가하였고, 경로추종 무인 수상선의 자율주행 특성으로 볼 수 있었다.

Fig 4.11. USV Auto pilot route operation

Fig 4.12. USV Auto pilot route Moving Distance

세부 동적 경로생성 주행은 아래 Fig 4.13 ~ Fig 4.15에 1차 방파제를 피해가 는 정적 경로회피에서 다음 목적지를 위한 2차 동적 경로회피를 보여주고 있으 며, 실제 해상에서 경로를 추적하며 확인한 Fig 4.16에서도 장애물을 회피하여 운항하는 주행성능을 보여주었다.

Fig 4.13. USV Auto pilot Breakwater avoidance operation 1

Fig 4.14. USV Auto pilot Breakwater avoidance operation 2

Fig 4.15. USV Auto pilot Breakwater avoidance verification

Fig 4.16. USV Auto pilot Breakwater avoidance

제5장 결론

본 논문은 해양에서 무인 관측선을 이용하여 해양/기상 관측자료를 실시간으 로 수집·제공하여 기초자료 활용성을 높일 수 있도록 소형 무인수상에 대해 연구하였다. 소형 무인수상선의 개발을 위해 선체를 설계 제작하고 동적자율운 항을 포함하는 무인선 시스템의 연구내용을 해상시험을 통해 확인하고 검증하 였다.

무인 수상선의 기본 선체 설계외 A*, IMU/GPS 및 AIS(Auto Identification system) 등 다양한 항법 시스템을 적용한 복합 운항제어시스템, 해양 및 기상 관측이 가능한 DAQ(Data Acquisition)시스템을 적용하여 제작 하였으며, 쌍동선 선체의 기본 운동성능과 운항 시험을 Simulation 하고, 실해역에서 복합자율운 항시스템의 경로추종과 장애물 인지를 통한 능동적 경로생성과 회피를 위한 최 적경로추종 알고리즘이 정상적으로 운영되는지를 해상 실험을 통해 검증하였 다.

무인 수상선의 복합 자율운항시스템을 통한 동적경로추종과, AIS 기반의 피 선박 항로를 예측하고 자율운항에 반영 할 수 있도록 장애물 회피 알고리즘이 적용된 무인 수상선의 자율운항 실험에서 1차 경로생성 최단 거리보다 2차 동 적경로추종 알고리즘에 의한 운항거리가 각각 1,046m와 1,119m로 실제운항 거 리가 약 6.97% 증가하는 결과를 보여주었다. 이는 외란에 대해 지속적으로 경 로점을 향해 heading을 제어하며 능동적으로 자율운항하는 무인 수상선의 자율 주행 특성을 잘 보여주었다.

자율주행을 통한 무인선의 자율주행 시스템이 시험조건을 만족하면서 경로오차 및 실주행거리와 자율운항 동적대응 거리에 대한 우수한 데이터를 보여줌으로 써 무인 수상선의 운영성능이 매우 성공적으로 작동하고 운영됨을 확인하였다.

향후 고도화된 무인 자동시스템 기반의 해양조사, 관측정보 시스템을 통해 무인수상선이 해양관측과 조사업무를 수행하고 기존 유인 조사에 비하여 인력 및 비용의 효율성을 높여 해양관측 산업의 고부가 가치를 창출 하고, 이를 위 해 본 연구 결과에서 도출된 무인 수상선(USV)의 실해역 실험을 통해 현장에서 도 즉시 적용 가능할 것으로 판단하며, 국내외적으로 무인 관측선에 대한 인지 도를 높일 수 있을 것으로 전망한다. 더불어 앞으로 해양산업에 있어서 무인 해양관측선 활용과 현장운용을 통해 지속적인 실증자료를 축적하고, 무인 수상 선의 제작공정 개선과 고도화 등 추가 연구를 지속하여 사용자의 요구사항을 즉시 반영 할 수 있는 모듈형 장비 등이 적용된다면 더욱 경쟁력을 확보하고 외산장비와 견주어 전략적인 해양조사 활용 등 추가 시장진입과 무인조사 분야 사업화에도 기여 할 수 있을 것으로 기대한다.

참고문헌

1. 무인 수중글라이더의 설계 및 제어 연구. 2015년도 한국해양과학기술협의회 공동 학술대회, 2015, 정상기 등

2. Design and Control of High Speed Unmanned Underwater Glider. International Journal of Precision Engineering and Manufacturing-Green Technology, Vol.3, No. 3, 정상기 등, 2016. pp273~279

3. A Study of the feasibility of Autonomous Surface Vehicles, D. Rodriguez, 2012

4. 최형식, Tran Knoc Hui, 백세훈, “USV의 동적위치제어 연구” 한국마린엔지니어링학회 학술대회 논문집 pp. 179~179, 2012. 10.

5. VUSUIB2030 보고서, 정부/민간 합동작업단(2006) 6. 해양조사정책, 국립해양조사원 임영태

7. HyDevelopment of Dual Mode (Autonomous and Remote Control) Unmanned Surface Vehicle, 한국마린엔지니어링학회지, pp. 376~382. 2010. 05.

8. 최형식, 김준영, “무인잠수정(AUV)의 연구개발 현황 및 전망” 대선조선학회지 49(3), pp. 25~30. 2019. 09.

9. 홍승민, 김준영, 최형식, 이영진, 최동호, “Hovering Type 무인잠수정 ‘Octagon'의 개 발과 운동성능 시험” 대한기계학회 춘추학술대회, pp. 176~178. 2014. 05.

10. 신종호 등 "무인수상정의 자율운항을 위한 시스템 식별 및 제어" 대한기계학회 춘추학 술대회, pp. 41~42. 2015. 05.

11. 해양수산부 보도자료, 해양수산 R&D 중장기계획, 2014

12. 신종호, 곽동준, 이영일, 이정석, 주상현, 윤승재, “무인수상정의 자율운항을 위한 시 스템 식별 및 제어” 대한기계학회 춘추학술대회, pp. 41~42. 2015. 05.

13. 국립해양조사원(2012), 국가해양관측망 분석보고서

14. 임종환, 강철웅, 김성근, 이상무, 김상철, 최민호, 강창모 (2002), 소형 무인 해양 계측

개발, 한국해양공학회 춘계학술대회 논문집, pp.209-214.

15. 정성훈, 이봉근, 임재홍 (2004), 임베디드 환경의 해상작업 모니터링 시스템 개발, 한국 해양정보통신학회 추계종합학술대회 제9권 제2호, pp.93-97.

16. 이성균 외, “CFD 검증을 위한 손상 선박의 횡동요 감쇠 운동 및 파중 6자유도 운동 에 대한 실험적 연구,” 대한조선학회 pp. 339-348, 2011

17. 허재경, 옥유빈, 황성철, 정세민, 박종천, “파랑 중 선박의 6자유도 운동해석을 위한 중첩격자 기반의 수치해법,” 한국전산유체공학회,한국전산유체공학회 학술대회논문집 , pp. 74-77, 2012

18. 김병종, 권수연, 김성찬, 이장현, "쌍동선의 설계규정 검토를 위한 규정 비교 및구조 해석", 대한조선학회, Vol. 48, No. 6, pp. 479-489, December 2011

19. 진송한, 심상목, 고정남, "카타마란 세일링요트의 선형설계 및 선형시험 연구", 한국항 해항만학회 추계학술대회 논문집 pp. 55~60, 2006

20. 김성우 “선박 충돌회피 우선순위지정 및 회피모델 연구” 한국산학기술학회 논문지 14(11), pp. 5442~5447. 2013. 11.

21. 김태진, 이영준, 최현택, “자율 항법 연구를 위한 무인 수상선 시스템 설계” 대한전 자공학회 학술대회, pp 897~900, 2015. 06

22. 황태융, 유재관, 원병재, “무인수상정의 고정장애물 회피를 위한 향상된 A* 알고리 즘” 한국정밀공학회 학술대회 논문집, pp. 48~48. 2016. 10.

23. KS V ISO15016, 속력 시운전 자료 분석에 의한 속도 및 출력 성능의 평가 지침, 2014-12-28

24. KB금융지주경영연구소 지식비타민, 자율운항선박의 현재와 미래(2018.1.17. 18-05호) 25. 한국항공우주연구원 무인이동체 기술혁신과 성장 10개년 로드맵(2018년 1월) 26. 유럽의 스마트 선박 기술 및 정책 동향 GT2017-ER08 (2017. 10. 12)

27. 무인 해양환경 자동측정 장치 및 그 방법 특허10-2008-0014103 (국립수산과학원) 28. 무인이동체 제어 편의성과 활용성 향상을 위한 HMI 기술 (한국항공우주연구원 무인이

동체 미래선도 핵심기술개발사업단 정용운)

29. 자율운항선박, 침체된 해운산업 및 조선산업의 새로운 성장 동력(한국해양수산개발원 KMI 동향분석 Vol.72 2018년 2월

시스템” 한국정밀공학회 학술대회 논문집, pp 39~39, 2018. 05.

31. 정상기, 최형식, 지대형, 정동욱, 권오순, 신창주, 서정민“Ring Laser Gyro를 이용한 ARS에 관한 연구”한국해양공학회지 31(2), pp.164~169. 2017. 04.

32. 송현우, 이광국, 김동현, "무인선박의 자율운항을 우한 저가형 Lidar 센서 기반의 장애 물 회피 시스템 구현“ 전기학회논문지 68(3) pp. 480~488. 2019. 03.

33. 서정환, 김장원, 정동원 (2019). “최적 항로 탐색 지원을 위한 자율운항선박 모형 설 계” Proceedings of KIIT Conference, 148-151

<부록>

Fig 1.1. PMS Power Circuit Diagram

Fig 1.2. USV control S/W sample

Fig 1.3. MCU interface circuit diagram

Fig 1.4. SCU interface circuit diagram

int CAStarPathFinderEx::stepSearch() { // Accume tSearch time..

class CRunOnExit { public :

double *pVal;

double tStart;

CRunOnExit( double *t ) {

tStart = getPerformanceCounter();

pVal= t;}

~CRunOnExit() {

*pVal += getPerformanceCounter() - tStart;

} } a( &m_tSearch );

if( m_deltaRouteFound != NULL ) return 1;

m_nStep++;

CDeltaRoute *path = m_openList.pop();

if( path == NULL ) {

debugPrintf( "--> No Path\n" );

m_deltaRouteFound = new CDeltaRoute( m_xStart, m_yStart, 0 );

SAFE_DELETE( m_intRouteFound );

m_intRouteFound = new CIntRoute( m_xStart, m_yStart, m_deltaRouteFound );

return -1;

}

CAutoDelete<CDeltaRoute*> ad_path( path );

m_mapData.set( path->m_x, path->m_y, MAP_VISIT );

for( int i =0 ; i < 4; i++ ) {

if( checkNeighbor( path, s_pathDirect[ i ].x, s_pathDirect[ i ].y, s_pathDirect[ i ].w ) )

return 1;

}

if( m_bDiagonal ) {

if( m_bCorner ) {

for( int i =0 ; i < 4; i++ ) {

if( checkNeighbor( path, s_pathDiagonal[ i ].x, s_pathDiagonal[ i ].y, s_pathDiagonal[ i ].w ) )

return 1;

}}

else {

for( int i =0 ; i < 4; i++ ) {

int offx = s_pathDiagonal[ i ].x;

int offy = s_pathDiagonal[ i ].y;

int weight = s_pathDiagonal[ i ].w;

if( MAP_EMPTY == m_mapData.get( path->m_x + offx, path->m_y ) )

if( MAP_EMPTY == m_mapData.get( path->m_x, path->m_y + offy ) )

if( checkNeighbor( path, offx, offy, weight ) ) return 1;

} }

} return 0;

}

Fig 1.5. A* algorithm source

int CAStarPathFinderEx::checkNeighbor( CDeltaRoute *path, int offx, int offy, int dist ) { if( MAP_EMPTY != m_mapData.get( path->m_x + offx, path->m_y + offy ) )

return 0;

int newx = path->m_x + offx;

int newy = path->m_y + offy;

if( newx == m_xDest ) if( newy == m_yDest ) {

debugPrintf( "--> Find Route !!\n" );

CDeltaRoute *newpath = makeNewRoute( path, offx, offy, dist );

m_deltaRouteFound = newpath;

SAFE_DELETE( m_intRouteFound );

m_intRouteFound = new CIntRoute( m_xStart, m_yStart, m_deltaRouteFound );

markPointEx( m_mapData, m_intRouteFound, MAP_PATH ); // mark path before optimizing.

m_mapData.set( m_xStart, m_yStart, MAP_START );

m_mapData.set( m_xDest, m_yDest, MAP_DEST );

return 1;

}

int newweight = path->getWeight() + dist;// + abs( newx - xDest ) + abs( newy - yDest );

PFMCOUNTER_START( t1 );

CDeltaRoute *oldpath = m_openList.findXy( newx, newy );

m_tFind += PFMCOUNTER_DIFF( t1 );

if( oldpath != NULL ) {

if( oldpath->getWeight() > newweight ) { PFMCOUNTER_START( tx );

m_openList.erase( oldpath );

m_tErase += PFMCOUNTER_DIFF( tx );

{

PFMCOUNTER_START( tk );

CDeltaRoute *newpath = makeNewRoute( path, offx, offy, dist );

m_tMake += PFMCOUNTER_DIFF( tk );

PFMCOUNTER_START( t2 );

m_openList.push( newpath );

m_tPush += PFMCOUNTER_DIFF( t2 );

} return 0;

} return 0;

}

{ // push new route..

PFMCOUNTER_START( tk );

CDeltaRoute *newpath = makeNewRoute( path, offx, offy, dist );

m_tMake += PFMCOUNTER_DIFF( tk );

PFMCOUNTER_START( t2 );

m_openList.push( newpath );

m_tPush += PFMCOUNTER_DIFF( t2 );

} return 0;

}

Fig 1.6. AIS ship avoidance dynamic heading control algorithm source

Fig 1.7. USV Auto pilot position Raw data

Dokumen terkait