KR102812660B1 - 선박 자율 항해 장치, 방법 및 기록 매체 - Google Patents

선박 자율 항해 장치, 방법 및 기록 매체 Download PDF

Info

Publication number
KR102812660B1
KR102812660B1 KR1020190130283A KR20190130283A KR102812660B1 KR 102812660 B1 KR102812660 B1 KR 102812660B1 KR 1020190130283 A KR1020190130283 A KR 1020190130283A KR 20190130283 A KR20190130283 A KR 20190130283A KR 102812660 B1 KR102812660 B1 KR 102812660B1
Authority
KR
South Korea
Prior art keywords
information
ship
navigation
surrounding environment
marine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020190130283A
Other languages
English (en)
Other versions
KR20210046500A (ko
Inventor
문경덕
박윤경
정치윤
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020190130283A priority Critical patent/KR102812660B1/ko
Priority to US17/072,675 priority patent/US11772758B2/en
Publication of KR20210046500A publication Critical patent/KR20210046500A/ko
Application granted granted Critical
Publication of KR102812660B1 publication Critical patent/KR102812660B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/644Optimisation of travel parameters, e.g. of energy consumption, journey time or distance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B49/00Arrangements of nautical instruments or navigational aids
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B79/00Monitoring properties or operating parameters of vessels in operation
    • B63B79/10Monitoring properties or operating parameters of vessels in operation using sensors, e.g. pressure sensors, strain gauges or accelerometers
    • B63B79/15Monitoring properties or operating parameters of vessels in operation using sensors, e.g. pressure sensors, strain gauges or accelerometers for monitoring environmental variables, e.g. wave height or weather data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63HMARINE PROPULSION OR STEERING
    • B63H25/00Steering; Slowing-down otherwise than by use of propulsive elements; Dynamic anchoring, i.e. positioning vessels by means of main or auxiliary propulsive elements
    • B63H25/02Initiating means for steering, for slowing down, otherwise than by use of propulsive elements, or for dynamic anchoring
    • B63H25/04Initiating means for steering, for slowing down, otherwise than by use of propulsive elements, or for dynamic anchoring automatic, e.g. reacting to compass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/203Instruments for performing navigational calculations specially adapted for water-borne vessels
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3844Data obtained from position sensors only, e.g. from inertial navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/0206Control of position or course in two dimensions specially adapted to water vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/243Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/246Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/65Following a desired speed profile
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G3/00Traffic control systems for marine craft
    • G08G3/02Anti-collision systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63HMARINE PROPULSION OR STEERING
    • B63H25/00Steering; Slowing-down otherwise than by use of propulsive elements; Dynamic anchoring, i.e. positioning vessels by means of main or auxiliary propulsive elements
    • B63H25/02Initiating means for steering, for slowing down, otherwise than by use of propulsive elements, or for dynamic anchoring
    • B63H25/04Initiating means for steering, for slowing down, otherwise than by use of propulsive elements, or for dynamic anchoring automatic, e.g. reacting to compass
    • B63H2025/045Initiating means for steering, for slowing down, otherwise than by use of propulsive elements, or for dynamic anchoring automatic, e.g. reacting to compass making use of satellite radio beacon positioning systems, e.g. the Global Positioning System [GPS]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2101/00Details of software or hardware architectures used for the control of position
    • G05D2101/10Details of software or hardware architectures used for the control of position using artificial intelligence [AI] techniques
    • G05D2101/15Details of software or hardware architectures used for the control of position using artificial intelligence [AI] techniques using machine learning, e.g. neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/30Water vehicles
    • G05D2109/34Water vehicles operating on the water surface
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Ocean & Marine Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Atmospheric Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)

Abstract

본 문서에 개시되는 일 실시 예에 따른 선박 자율 항해 장치는, 주변 환경 영상, 해양 정보 및 항해 정보를 획득하는 획득부; 상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵(grid map)을 생성하는 맵 생성부; 및 상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하는 운항 방법 결정부를 포함할 수 있다.

Description

선박 자율 항해 장치, 방법 및 기록 매체{Apparatus and Method for Automatic Sailing of Ship and Recording Medium}
본 문서에서 개시되는 다양한 실시 예들은, 선박 자율 항해 기술과 관련된다.
지난 수년 동안 경험이 풍부한 선원뿐 아니라, 승선 가능한 선원의 수도 급격히 줄었다. 이로 인해, 선원의 실수로 인한 선박 사고가 급증하고 있다. 선박 사고는 인명 손실이나 환경 파괴의 정도가 큰 만큼 적은 수의 선원으로 선박을 안전하게 운행하기 위한 대비책이 필요하다.
종래의 선박 자동 운항 시스템은 선박을 선장의 감시 하에 정해진 항로를 따라 정해진 방법으로 자동 운행할 수 있을 뿐, 선장의 감시 없이 예기치 못한 상황 변화에 적절히 대처하면서 운행하지는 못하였다. 이러한 문제를 개선하고자, 종래의 무인 항해 시스템은 선박 운항 상태를 수학적으로 모델링하여 선박의 항해 방법을 결정하는 해석적 방법에 기반하여 선박을 운행하였다.
그러나, 해석적 방법은 복잡하지 않거나 단순화된 환경에서는 적용 가능하지만, 가변적 요인에는 대처할 수 없다. 왜냐하면, 해석적 방법으로 선박의 항해 방법을 결정하기 위해서는 모든 선박 운항 상태에 대응하는 항해 방법을 정의해야 하는데, 선박 운항 상태는 가변적인 요소와의 상호작용에 의해 결정되므로, 모든 선박 운항 상태를 정의하기는 어렵기 때문이다. 예를 들어, 동일한 선박 운항 상태도 선박의 특성, 해양의 특성 및 주변 선박들의 특성과 같은 가변적 요인들로 인하여 선박의 다른 운항으로 이어질 수 있으므로, 모든 선박 운항 상태에 대응하는 항해 방법을 정의하는 것을 실질적으로 불가능하다. 따라서, 아직까지 선원들은 해석적 방법에 기반하여 결정된 경로보다는 본인의 경험에 의한 결정에 더 의존하고 있다.
본 문서에 개시되는 다양한 실시 예들은 주변 환경 상태 및 선박 운항 상태에 기반하여 선박을 자율 항해할 수 있는 선박 자율 항해 장치, 방법 및 기록 매체를 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 선박 자율 항해 장치는, 주변 환경 영상, 해양 정보 및 항해 정보를 획득하는 획득부; 상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵(grid map)을 생성하는 맵 생성부; 및 상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하는 운항 방법 결정부를 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 선박 자율 항해 방법은, 주변 환경 영상, 해양 정보 및 항해 정보를 획득하는 동작; 상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵을 생성하는 동작; 및 상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하는 동작을 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 프로세서에 의하여 실행 가능한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체는, 상기 명령어들이 실행되었을 때 선박 자율 항해 장치의 프로세서로 하여금, 주변 환경 영상, 해양 정보 및 항해 정보를 획득하고, 상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵을 생성하고, 상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하도록 할 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, 주변 환경 상태 및 선박 운항 상태에 기반하여 선박을 자율 항해할 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시예에 따른 선박 자율 항해 장치의 개념도를 나타낸다.
도 2는 일 실시예에 따른 선박 자율 항해 장치의 구성도를 나타낸다.
도 3은 일 실시예에 따른 맵 생성부의 세부 구성을 나타낸다.
도 4는 일 실시예에 따른 운항 방법 결정부의 세부 구성을 나타낸다.
도 5는 일 실시예에 따른 선박 자율 항해 장치의 자율 항해 제어를 위한 자율 항해 데이터를 나타낸다.
도 6은 일 실시예에 따른 선박 운항 관련 정보의 표시 예를 나타낸다.
도 7은 일 실시예에 따른 선박 자율 항해 방법을 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 일 실시예에 따른 선박 자율 항해 장치의 개념도를 나타낸다.
도 1을 참조하면, 일 실시예에 따르면, 선박 자율 항해 장치(100)는 선박에 설치된 카메라 또는 해도 영상을 통해 선박의 주변 환경 영상을 획득할 수 있다. 선박 자율 항해 장치(100)는 선박에 설치된 수신 회로 및 센서 회로를 통해 선박의 주변 환경에 관련된 해양 정보 및 선박에 관련된 항해 정보를 획득할 수 있다.
일 실시예에 따르면, 선박 자율 항해 장치(100)는 주변 환경 영상에 해양 정보 및 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵(grid map)을 생성할 수 있다. 선박 자율 항해 장치(100)는 그리드 맵에 기반하여 선박의 주변 환경 상태에 관련된 제1 특징 정보를 확인(예: 추출)할 수 있다. 상기 제1 특징 정보는 예를 들면, 주변 환경의 지형 특징(예: 해안선, 등고선, 수심, 암초, 항로 표지, 위험 지역(회피 지역을 포함할 수 있음) 및 장애물 특징(예: 자선과 장애물 간의 거리) 중 적어도 하나의 주변 환경 요소에 관련된 영상 특징 벡터를 포함할 수 있다. 상기 그리드 맵은 주변 환경 영상에 포함된 각 주변 환경 요소의 픽셀 좌표를 지구 좌표계에 따른 지정된 간격(예: 위도 1° 및 경도 1.25° 간격)의 격자(그리드)에 맵핑한 맵일 수 있다.
일 실시예에 따르면, 선박 자율 항해 장치(100)는 해양 정보 및 항해 정보에 기반하여 선박의 동특성에 관련된 제2 특징 정보를 확인(예: 추출)할 수 있다. 상기 제2 특징 정보는 예를 들면, 선박(자선)의 선속(또는, 선박 속도), 선수 방향, 복원 성능, 운동 성능, 자선과 파랑의 동조 위험도 및 선속 감속률 중 적어도 하나를 포함하는 주변 해양 상태에 따른 선박 동특성에 관련된 특징 벡터를 포함할 수 있다. 상기 주변 해양 상태에 따른 선박 동특성은 주변 해양 상태가 선박 운항에 미치는 위험도(이하, "주변 해양의 위험도"라 함)를 의미하는 것일 수 있다. 이와 관련하여, 선박 자율 항해 장치(100)는 주변 환경 영상에 포함된 주변 환경에 대응하는 해양 정보 및 항해 정보에 기반하여 상기 제2 특징 정보를 추출할 수 있다.
일 실시예에 따르면, 선박 자율 항해 장치(100)는 제1 특징 정보 및 제2 특징 정보에 기반한 심층 강화 학습을 통해 선박 운항 방법(예: 선속 및 선수 방향)을 결정할 수 있다. 예를 들어, 선박 자율 항해 장치(100)는 제1 특징 정보 및 제2 특징 정보에 기반하여 주변 해양의 위험도가 지정된 범위 내(예: 선박이 안정적으로 운항 가능하도록 지정된 범위)에 있으면서, 위험 요소(예: 타선, 장애물, 암초, 위험 지역)를 회피할 수 있도록 자율 항해를 위한 선속 및 선수 방향을 결정할 수 있다. 상기 선박 운항 방법은 상기 결정된 선속 및 선수 방향이거나, 상기 결정된 선속 및 선수 방향에 대응하는 선박 제어 명령일 수 있다. 본 문서에서는 설명의 편의성을 위하여 선박 운항 방법이 결정된 선속 및 선수 방향인 경우를 예로 들어 설명한다.
일 실시예에 따르면, 선박 자율 항해 장치(100)는 결정된 선박 운항 방법에 대응하는 선박 제어 명령(예: 선속 및 선수 방향)을 선박에 포함된 제어 모듈(예: 엔진, 방향키(Rudder))에 송신함에 따라 결정된 운항 방법에 따라 선박 항해를 제어할 수 있다.
일 실시예에 따르면, 선박 자율 항해 장치(100)는 선박 제어 명령에 대응하는 선박 운항 결과(예: 선박 제어 명령을 송신한 후에 획득된 해양 정보 및 항해 정보)를 확인하고, 확인된 결과에 기반하여 기결정된 선박 운항 방법의 보상값을 결정할 수 있다. 선박 자율 항해 장치(100)는 선박 운항 방법에 따라 변화된 선박 상태가 목표에 얼마나 부합하는지 또는 소요 비용 변화에 따라 상기 운항 방법에 관련된 보상값을 결정할 수 있다. 이후, 선박 자율 항해 장치(100)는 상기 결정된 보상값이 반영된 선박 운항 방법들에 기반하여 다음 선박 운항 방법을 결정할 수 있다. 이러한 방식으로, 선박 자율 항해 장치(100)는 누적 보상값을 높을 수 있는 운항 방법을 결정할 수 있다.
이 같이, 상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 선박의 주변 환경을 그리드 맵으로 생성하고, 그리드 맵에 기반하여 선장이 눈으로 확인하듯이 선박의 주변 환경을 분석하고, 분석 결과에 기반하여 선박 운항 방법을 결정할 수 있다.
또한, 상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 지정된 간격의 격자에 맞추어 해도 정보(예: 해안선, 수심), 기상 관련 정보(예: 파도, 해수 온도, 해수 밀도, 바람, 조류)와 위험 요소 정보(예: 타선, 부유물, 위험 지역)를 관련시키고, 해도 정보, 기상 관련 정보 및 주변 환경 영상 간을 종합적으로 분석할 수 있다.
뿐만 아니라, 상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 해양 정보 및 항해 정보에 기반하여 선박 상태 정보(예: 위치, 속도 및 선수 방향)뿐만 아니라, 주변 해양의 위험도를 고려하여 선박 운항 방법을 결정함에 따라 주변 해상의 변화 시에도 선박을 안정적으로 항해할 수 있다.
도 2는 일 실시예에 따른 선박 자율 항해 장치의 구성도를 나타낸다.
도 2를 참조하면, 일 실시예에 따른 선박 자율 항해 장치(100)(예: 도 1의 선박 자율 항해 장치(100))는 통신 모듈(210), 센서 모듈(220), 출력 장치(230), 메모리(240) 및 프로세서(250)를 포함할 수 있다. 일 실시 예에서, 선박 자율 항해 장치(100)는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함할 수 있다. 예를 들어, 통신 모듈(210), 센서 모듈(220), 출력 장치(230) 및 메모리(240)은 생략될 수 있다. 본 문서에서는 선박 자율 항해 장치(100)가 통신 모듈(210), 센서 모듈(220) 및 출력 장치(230)를 포함하는 경우를 예로 들어 설명한다. 하지만, 이에 한정되지 않는다. 또한, 선박 자율 항해 장치(100)의 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
일 실시예에 따르면, 통신 모듈(210)은 선박 자율 항해 장치(100)와 다른 장치(예: 해상 기상 예보 서버) 간의 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 상기 통신 채널은 예를 들어, 위성 통신 채널일 수 있다. 통신 모듈(210)은 해상 기상 예보 서버로부터 지정된 시간(예: 6시간) 단위로 기상 예보 정보를 수신할 수 있다. 상기 기상 예보 정보는 예를 들면, 선박 위치에 관련된 바람, 조류, 파도, 해수 온도, 해수 밀도 및 물결 중 적어도 하나의 기상 상태 또는 기상 상태에 관련된 해양 상태 정보를 포함할 수 있다.
일 실시예에 따르면, 센서 모듈(220)은 AIS(Auto Identification System, 선박 자동 식별 장치) 및 ARPA(Automatic Radar Plotting Aid, 선박 자동 충돌 예방 장치) 중 적어도 하나를 포함할 수 있다. AIS는 통신 모듈(210)을 통해 위성 통신하여 타선으로부터 자선 주변을 운항하는 타선의 정보(예: 타선 위치, 타선 목적지 및 타선 속도)를 수신할 수 있다. 상기 ARPA는 레이다(미도시)를 통해 탐지된 자선의 주변에 위치하는 타선(외부 선박)과의 거리 정보를 측정할 수 있다.
일 실시예에 따르면, 센서 모듈(220)은 무인 선박 내 설치된 카메라 및 각종 센서를 포함할 수 있다. 상기 각종 센서는 예를 들면, 선박 운항 상태를 측정하기 위한 속도 측정 센서 및 방향 측정 센서를 포함할 수 있다. 상기 각종 센서는 다른 예를 들면, 선박의 주변 환경에 각기 관련된 바람 측정 센서, 조류 측정 센서, 파도 측정 센서, 해수 온도 측정 센서 및 해수 밀도 측정 센서 및 물결 측정 센서 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 출력 장치(230)는 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이 또는 유기 발광 다이오드(OLED) 디스플레이를 포함할 수 있다.
일 실시예에 따르면, 메모리(240)는 선박 자율 항해 장치(100)의 적어도 하나의 구성요소(예: 프로세서(250))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는 예를 들어, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 예를 들어, 메모리(240)는 심층 강화 학습에 기반하여 운항 방법 결정을 위한 적어도 하나의 인스트럭션을 저장할 수 있다. 메모리(240)는 프로세서(250)의 명령에 따라 선박 고유 정보, 운항 계획 정보, 해양 정보 및 항해 정보를 포함하는 자율 항해 데이터를 저장할 수 있다. 상기 선박 고유 정보는 선박의 기본 정보(예: 선박 명, 선박 번호, 선박 재원, 항해 장비 특성)로 구성된다. 상기 운항 계획 정보는 항해 계획과 관련된 정보(출발지, 목적지, 예상 운항 시간, 선박 제어 조건)을 포함할 수 있다. 상기 해양 정보 및 항해 정보에 대해서는 후술한다. 메모리(240)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
프로세서(250)는 선박 자율 항해 장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 프로세서(250)는 예를 들어, 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 애플리케이션 프로세서(application processor), 주문형 반도체(ASIC(application specific integrated circuit), FPGA(field programmable gate arrays)) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다.
일 실시예에 따르면, 프로세서(250)는 획득부(251), 맵 생성부(253), 운항 방법 결정부(255), 선박 제어부(257) 및 보상 판단부(259)를 포함할 수 있다. 프로세서(250)의 각 구성요소()는 각각 별도의 하드웨어 모듈이거나 또는 적어도 하나의 프로세서(250)에 의해 구현되는 소프트웨어 모듈일 수 있다. 예를 들어, 프로세서(250)에 포함된 각각의 모듈들이 수행하는 기능은 하나의 프로세서에 의해 수행되거나 또는 각각 별도의 프로세서에 의해 수행될 수도 있다. 본 문서에서는 설명의 편의성을 위하여 획득부(251), 맵 생성부(253), 운항 방법 결정부(255), 선박 제어부(257) 및 보상 판단부(259)를 주체로 하여 프로세서(250)의 각 구성을 설명한다.
일 실시예에 따르면, 획득부(251)는 통신 모듈(210) 및 센서 모듈(220) 중 적어도 하나의 모듈로부터 주변 환경 영상, 해양 정보 및 항해 정보를 획득할 수 있다. 획득부(251)는 획득된 주변 환경 영상, 해양 정보 및 항해 정보를 획득 시점과 관련하여 메모리(240)에 저장할 수 있다.
일 실시예에서, 획득부(251)는 선박의 전방 환경, 후방 환경 및 측방 환경을 촬영 가능한 적어도 하나의 카메라로부터 상기 전방 환경, 상기 후방 환경 및 상기 측방 환경을 포함하는 주변 환경 영상을 획득할 수 있다. 추가적으로 또는 대체적으로, 획득부(251)는 적어도 하나의 카메라로부터 주변 환경에 관련된 복수의 영상들을 수신하는 경우에 선박을 중심으로 상기 복수의 영상들을 조합함에 따라 주변 환경 영상을 생성할 수 있다.
일 실시예에서, 획득부(251)는 통신 모듈(210) 또는 센서 모듈(220) 중 적어도 하나의 모듈로부터 해양 정보 및 항해 정보를 수신할 수 있다. 예를 들어, 획득부(251)는 해양 정보 및 항해 정보 중에서 센서 모듈(220)로부터 획득 가능한 정보를 센서 모듈(220)로부터 획득하고, 센서 모듈(220)로부터 획득 불가한 정보를 통신 모듈(210)로부터 획득할 수 있다.
일 실시예에서, 획득부(251)는 통신 모듈(210)(예: GPS 센서)을 통해 선박의 현 위치를 확인하고, 메모리(240)에 저장된 해도 정보에 기반하여 확인된 현 위치에 대응하는 지형 정보를 획득할 수 있다.
상기 해양 정보는 예를 들면, 기상 관련 정보(예: 바람, 조류, 파도, 해수 온도, 해수 밀도, 또는 물결 정보), 지형 정보(예: 해안선, 등고선, 수심, 암초, 항로 표지, 위험 지역 정보) 및 장애물 정보(예: 타선, 또는 부유물 정보) 중 적어도 하나의 정보를 포함할 수 있다. 상기 항해 정보는 운항 경로 정보 및 선박 상태 정보를 포함할 수 있다. 상기 운항 경로 정보는 예를 들면, 출발지에서 목적지 사이에 포함된 적어도 하나의 구간 별로 정의될 수 있다. 상기 운항 경로 정보는 각 구간들의 시작 좌표(GPS 좌표), 각 구간들에 관련된 직선 거리, 각 구간들에 관련된 방향 및 각 구간들에 관련된 회전 반경 중 적어도 하나의 구간 관련 정보를 포함할 수 있다. 상기 선박 상태 정보(또는, 운항 상태 정보)는 예를 들면, 제어 시점, 선박 제어 명령, 선박 제어 명령에 따른 반응값, 자선 위치 정보 및 선수 방향(또는, 진행 방향) 중 적어도 하나의 선박 운항 상태와 관련된 정보를 포함할 수 있다.
일 실시예에 따르면, 맵 생성부(253)는 주변 환경 영상에 해양 정보 및 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵(grid map)을 생성할 수 있다. 상기 그리드 맵은 주변 환경 영상에 포함된 각 주변 환경 요소의 픽셀 좌표를 지구 좌표계에 따른 지정된 간격(예: 위도 1° 및 경도 1.25° 간격)의 격자(그리드)에 맵핑(mapping)한 맵일 수 있다. 예를 들어, 맵 생성부(253)는 해양 정보로부터 해안선, 등고선, 수심, 암초, 항로 표지 및 위험 지역 중 적어도 하나의 지형 요소에 관련된 지형 정보를 확인할 수 있다. 맵 생성부(253)는 항해 정보부터 자선 정보(예: 자선 위치 및 자선 크기) 및 장애물 정보(예: 타선 위치, 타선 크기)를 확인할 수 있다. 상기 자선 크기는 메모리(240)에 저장된 선박 고유 정보로부터 획득될 수 있다. 맵 생성부(253)는 주변 환경 영상에 지형 정보, 자선 정보 및 장애물 정보를 각 정보에 대하여 지정된 색상 또는 지정된 아이콘으로 나타냄에 따라 그리드 맵을 생성할 수 있다.
일 실시예에 따르면, 운항 방법 결정부(255)는 그리드 맵에 기반하여 주변 환경 요소에 관련된 제1 특징 정보(예: 영상 특징 벡터)를 추출할 수 있다. 예를 들어, 운항 방법 결정부(255)는 그리드 맵으로부터 지형 특징(예: 해안선, 등고선, 수심, 암초, 항로 표지, 위험 지역) 및 장애물 특징(예: 자선과 장애물 간의 거리) 중 적어도 하나의 주변 환경 요소에 관련된 영상 특징 벡터(제1 특징 정보)를 추출할 수 있다.
일 실시예에 따르면, 운항 방법 결정부(255)는 해양 정보 및 항해 정보에 기반하여 선박의 동특성에 관련된 제2 특징 정보를 추출할 수 있다. 예를 들어, 운항 방법 결정부(255)는 해양 정보 및 항해 정보로부터 기상 관련 특징(예: 바람, 조류, 파도, 해수 밀도 및 물결), 지형 특징(예: 해안선, 등고선, 수심, 암초, 항로 표지, 위험 지역) 및 장애물 특징(장애물 속도, 이동 방향)을 포함하는 해양 특징을 추출할 수 있다. 운항 방법 결정부(255)는 선박의 위치, 선속, 진행 방향 및 운항 제어 방법(선박 제어 명령 및 선박 제어 명령에 대응하는 반응값)에 기반하여 운항 특징을 추출할 수 있다. 운항 방법 결정부(255)는 해양 특징 및 운항 특징에 기반하여 선박 상태에 대응하는 선박 동특성에 관련된 특징 벡터(제2 특징 정보)를 추출할 수 있다. 상기 제2 특징 정보는 예를 들면, 자선(선박)의 선속(또는, 선박 속도) 및 선수 방향에 대응하는 선박 동특성(예: 복원 성능, 운동 성능, 자선과 파랑의 동조 위험도 및 선속 감속률 중 적어도 하나)에 관련된 특징 벡터를 포함할 수 있다. 상기 선박 동특성은 주변 해양 상태가 선박 운항에 미치는 위험도(이하, "주변 해양의 위험도"라 함)를 의미할 수 있다.
일 실시예에 따르면, 운항 방법 결정부(255)는 제1 특징 정보 및 제2 특징 정보에 기반하여 심층 강화 학습을 수행하고, 심층 강화 학습의 결과로서 선박 운항 방법(예: 선속 및 선수 방향)을 결정할 수 있다. 예를 들어, 운항 방법 결정부(255)는 메모리(240)에 저장된 심층 강화 학습 모델에 기반하여 제1 특징 정보(예: 주변 환경의 위험 요소 위치) 및 제2 특징 정보(예: 현재 선박 상태에 대응하는 선박 동특성)와 대응 관계에 있는(또는, 가장 유사한) 복수의 후보 운항 방법들을 선택하고, 상기 복수의 후보 운항 방법들 중에서 누적 보상값이 가장 높은 후보 운항 방법을 선박 운항 방법으로 결정할 수 있다. 상기 심층 강화 학습 모델은 예를 들면, 상호 대응되는 복수의 선박 상태들, 복수의 주변 해양의 위험도들 및 복수의 선박 운항 방법들에 대한 심층 강화 학습을 통해 결정될 수 있다. 다른 예를 들어, 운항 방법 결정부(255)는 복원 성능, 운동 성능, 자선과 파랑의 동조 위험도 및 선속 감속률이 각기 지정된 범위들 내에 있으면서 위험 요소(예: 타선, 장애물, 암초, 위험 지역)를 회피할 수 있도록 선박의 선속 및 선수 방향을 결정할 수 있다. 상기 각 지정된 범위들은 예를 들면, 주변 해양의 위험도를 고려하여 선박이 안정적으로 운항 가능하도록 기 결정된 범위일 수 있다.
일 실시예에 따르면, 선박 제어부(257)는 운항 방법 결정부(255)에 의해 결정된 선박 운항 방법에 대응하는 선박 제어 명령(예: 선속 및 선수 방향)을 선박에 포함된 각종 제어 모듈(예: 엔진, 방향키(Rudder))에 송신함에 따라 선박 자율 항해를 제어할 수 있다.
일 실시예에 따르면, 보상 판단부(259)는 선박 제어부(257)에 의한 선박 제어가 수행된 후에 선박 상태 변화를 모니터링하고, 선박 상태 변화에 기반하여 선박 운항 방법에 관련된 보상값을 결정할 수 있다. 예를 들어, 보상 판단부(259)는 선박 제어부(257)가 선박 운항 방법에 따라 선박을 제어한 후에 획득된 해양 정보 및 항해 정보에 기반하여 선박의 상태 변화가 선박 제어 명령에 대응하는 선박 제어(예: 선속 변화 및 선수 변화)에 부합하는 정도를 확인하고, 확인된 부합 정도에 대응하는 보상값을 결정할 수 있다. 다른 예를 들어, 보상 판단부(259)는 상기 결정된 선박 운항 방법에 따라 선박을 제어한 후에 획득된 주변 환경 영상, 해양 정보 및 항해 정보에 기반하여 충돌 회피 비용, 도착 시간 준수 비용, 목적지 근접 비용, 연료 소모 저감 비용 중 적어도 하나의 소요 비용을 확인할 수 있다. 보상 판단부(259)는 적어도 하나의 소요 비용이 낮을수록(또는, 목표에 부합하면) 높은 보상값을 결정하고, 적어도 하나의 소요 비용이 높을수록(또는, 목표에 부합하지 않으면) 낮은 보상값을 결정할 수 있다. 또 다른 예로, 보상 판단부(259)는 목적지 도착 여부, 예상 도착 시간 준수, 충돌 발생 여부, 연료 소모량 및 소요 비용 중 적어도 하나의 평가 요소의 중요도에 따라 보상값을 달리 결정할 수 있다. 보상 판단부(259)는 예를 들면, 선박 제어 명령에 따라 목적지 도착 시에 가장 큰 보상값을 더하고, 선박 제어 명령에 따라 도착 시간 내에 목적지에 도착하지 못할 경우와 충돌이 발생할 경우에는 가장 큰 보상값을 뺄 수 있다. 보상 판단부(259)는 목적지에 근접하거나, 예상 도착 시간과 지정된 도착 시간 간의 차이가 작아지거나, 연료 소모량이 늘거나, 총 소요 비용이 줄어드는 경우에는 상대적으로 큰 보상값을 더할 수 있다. 목적지에서 멀어지거나, 예상 도착 시간과 지정된 도착 시간 간의 차이가 커지거나, 연료 소모량이 줄어들거나, 총 소요 비용이 늘어나는 경우에는 상대적으로 작은 보상값을 뺄 수 있다. 이와 관련하여, 보상 판단부(259)는 예를 들면, 운항 계획 정보에 기반하여 목적지, 예상 도착 시간, 연료 소모량 및 소요 비용을 확인할 수 있다.
일 실시예에 따르면, 보상 판단부(259)는 상기 결정된 보상값을 상기 결정된 선박 운항 방법에 관련되어 있던 보상값과 더함에 따라 상기 선박 운항 방법에 관련된 보상값(누적 보상값)을 변화시킬 수 있다. 이에, 상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 학습을 지속할수록 누적 보상값을 높을 수 있는 운항 방법을 결정할 수 있다.
프로세서(250)(예: 선박 제어부(257))는 출력 장치(230)를 통해 선박 운항 관련 정보를 출력할 수 있다. 예를 들어, 프로세서(250)는 운항 경로 정보에 따른 출발지에서 목적지에 이르는 계획된 선박 운항 정보 및 실제 운항에 따른 선박 운항 정보가 구분되도록 선박 운항 관련 정보를 디스플레이를 통해 표시할 수 있다.
다양한 실시예에 따르면, 장애물 정보는 복수의 모듈들(예: 통신 모듈(210) 및 센서 모듈(220)에 포함된 센서 또는 카메라)로부터 획득될 수 있다. 이 경우, 획득부(251)는 각 모듈들로부터의 개별 장애물 정보 및 복수의 모듈들로부터의 복수의 장애물 정보를 통합한 통합 장애물 정보를 구분 가능하도록 장애물 정보를 관리할 수 있다. 예를 들어, 통합 장애물 정보와 개별 장애물 정보에 대하여 각기 구분되는 ID를 부여할 수 있다.
상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 선박의 주변 환경에 대한 정적 특성을 그리드 맵으로 생성하고, 그리드 맵에 기반하여 선장이 눈으로 확인하듯이 선박의 주변 환경을 분석하고, 분석 결과에 기반하여 선박 운항 방법을 결정할 수 있다.
또한, 상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 지정된 간격의 격자에 맞추어 해도 정보(예: 해안선, 수심), 기상 관련 정보(예: 파도, 해수 온도, 해수 밀도, 바람, 조류)와 위험 요소 정보(예: 타선, 부유물, 위험 지역)를 관련시키고, 해도 정보, 기상 관련 정보 및 주변 환경 영상 간을 종합적으로 분석할 수 있다.
뿐만 아니라, 상술한 실시예에 따르면, 프로세서(250)는 변화하지 않는 주변 환경(예: 지형 정보) 이외에도 변화하는 주변 환경(예: 기상 관련 정보 및 장애물(예: 타선) 정보)를 다각적으로 고려하여 선박 운항 방법을 결정할 수 있다.
더 나아가, 상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 항해 정보 및 항해 정보에 기반하여 선박 상태 정보(예: 위치, 속도 및 선수 방향)뿐만 아니라, 주변 해양의 위험도를 고려하여 선박 운항 방법을 결정함에 따라 주변 해상의 변화 시에도 선박을 안정적으로 항해할 수 있다. 따라서, 선박 자율 항해 장치(100)는 선장이 축적된 항해 경험을 토대로 상황을 판단하고 항해 하듯이, 선박이 운항하는 주변 환경과 상호 작용하여 항해 방법을 결정할 수 있다.
도 3은 일 실시예에 따른 맵 생성부의 세부 구성을 나타낸다.
도 3을 참조하면, 동작 310에서, 맵 생성부(253)는 카메라로부터 촬영된 주변 환경 영상 또는 해도 정보(예: 해도 영상) 중 적어도 하나에 기반하여 기본 맵 영상을 생성할 수 있다. 예를 들어, 맵 생성부(253)는 카메라로부터 획득된 영상을 우선적으로 이용하여 기본 맵 영상을 생성하되, 카메라로부터 영상을 획득 불가한 경우에는 해도 영상에 기반하여 기본 맵 영상을 생성할 수 있다. 다른 예를 들어, 맵 생성부(253)는 선박 주변 환경에 관련된 복수의 영상들(예: 선박을 중심으로 복수 방향의 주변 환경 영상들)을 획득하는 경우에, 선박(자선)을 중심으로 복수의 영상들을 조합함에 따라 기본 맵 영상을 생성할 수 있다. 또 다른 예로, 맵 생성부(253)는 주변 환경 영상의 각 픽셀 좌표에 지구 좌표계에 따른 지정된 간격(예: 위도 1° 및 경도 1.25° 간격)의 격자(그리드)를 합성(예: 중첩)함에 따라 기본 맵 영상을 생성할 수 있다.
동작 320에서, 맵 생성부(253)는 획득부(251)로부터 기본 맵 영상으로부터 확인이 어려운 지형 요소(주변 환경의 위치에 대응하는 지형 정보(해안선, 등고선, 수심, 암초, 항로 표지 및 위험 지역 중 적어도 하나)에 관련된 지형 정보를 획득할 수 있다. 맵 생성부(253)는 기본 맵 영상에서 지형 요소에 대응하는 위치에 각 지형 요소들에 대응하는 색상을 구분하여 표시할 수 있다. 맵 생성부(253)는 예를 들면, 기본 맵 영상에서 해양 부분을 수심이 깊을수록 짙은 색상으로 표시하고, 수심이 얕을수록 옅은 색상으로 표시할 수 있다.
동작 330에서, 맵 생성부(253)는 센서 모듈(220)(예: AIS, 레이더)을 이용하여 자선 정보(예: 자선 위치, 자선 크기), 타선 정보(예: 타선 위치, 타선 크기) 및 부유물 정보(예: 부유물 위치, 부유물 크기)를 획득할 수 있다. 맵 생성부(253)는 기본 맵 영상에서 자선 위치에 자선 정보(예: 자선 크기)에 대응하는 제1 아이콘을 표시하고, 기본 맵 영상에서 타선 위치에 타선 정보(예: 타선 크기)에 대응하는 제2 아이콘을 표시하고, 기본 맵 영상에서 부유물 위치에 장애물 정보(예: 부유물 크기)에 따른 제3 아이콘을 표시함에 따라 그리드 맵(340)을 생성할 수 있다. 상기 그리드 맵(340)은 예를 들면, 그리드로 구분되면서, 제1 수심을 갖는 제1 부분(341)과 제2 수심을 갖는 제2 부분(342)으로 서로 다른 색상으로 표시하고, 자선 위치를 나타내는 제1 아이콘(341) 및 타선 위치를 나타내는 제2 아이콘(342)를 포함할 수 있다.
상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 지정된 간격의 격자에 맞추어 해도 정보(예: 해안선, 수심), 기상 관련 정보(예: 파도, 해수 온도, 해수 밀도, 바람, 조류)와 위험 요소 정보(예: 타선, 부유물, 위험 지역)를 관련시킴에 따라, 해도 정보, 기상 관련 정보 및 주변 환경 영상 간을 종합적으로 분석할 수 있다.
도 4는 일 실시예에 따른 운항 방법 결정부의 세부 구성을 나타낸다.
도 4를 참조하면, 동작 410에서, 운항 방법 결정부(255)는 그리드 맵에 기반하여 지형 특징(예: 해안선, 등고선, 수심, 암초, 항로 표지, 위험 지역) 및 장애물 특징(예: 자선과 장애물(부유물, 타선) 간의 거리) 중 적어도 하나의 주변 환경 요소에 관련된 영상 특징 벡터(제1 특징 정보)를 추출할 수 있다.
동작 420에서, 운항 방법 결정부(255)는 기상 관련 정보, 지형 정보 및 장애물 정보에 기반하여 기상 관련 특징 벡터, 지형 특징 벡터 및 장애물 특징 벡터를 포함하는 해양 특징 벡터를 생성할 수 있다. 예를 들어, 운항 방법 결정부(255)는 기상 관련 정보에 기반하여 기상 관련 특징(예: 바람, 조류, 파도, 해수 밀도 및 물결)에 관련된 수치를 종합하여 기상 관련 특징 벡터(예: 특징 벡터)을 추출할 수 있다. 또한, 운항 방법 결정부(255)는 지형 정보에 기반하여 지형 특징(예: 해안선, 등고선, 수심, 암초, 항로 표지, 위험 지역)에 관련된 수치를 종합하여 지형 특징 벡터를 추출할 수 있다. 또한, 운항 방법 결정부(255)는 장애물 정보에 기반하여 장애물 특징(예: 장애물 속도 및 이동 방향)을 종합하여 장애물 특징 벡터를 추출할 수 있다.
동작 430에서, 운항 방법 결정부(255)는 선박 상태 정보에 기반하여 선박의 위치, 선속, 진행 방향 및 운항 제어 방법(선박 제어 명령 및 선박 제어 명령에 대응하는 반응값)을 포함하는 운항 특징을 확인하고, 확인된 운항 특징을 종합하여 운항 특징 벡터를 추출할 수 있다.
동작 440에서, 운항 방법 결정부(255)는 해양 특징 벡터 및 운항 특징 벡터에 기반하여 선박 동특성에 관련된 동특성 특징 벡터를 추출할 수 있다. 예를 들어, 운항 방법 결정부(255)는 선박(자선)의 선속 및 선수 방향에 대응하는 선박 동특성(예: 복원 성능, 운동 성능, 자선과 파랑의 동조 위험도 및 선속 감속률 중 적어도 하나)에 관련된 동특성 특징 벡터(제2 특징 정보)를 추출할 수 있다.
동작 450에서, 운항 방법 결정부(255)는 주변 환경 요소에 관련된 영상 특징 벡터(제1 특징 정보) 및 선박 동특성에 관련된 동특성 특징 벡터(제2 특징 정보)에 기반하여 심층 강화 학습을 수행함에 따라 선박 운항 방법(예: 선속 및 선수 방향)을 결정할 수 있다. 예를 들어, 운항 방법 결정부(255)는 기 구축된 심층 강화 학습 모델에 기반하여 제1 특징 정보(예: 주변 환경의 위험 요소 위치) 및 제2 특징 정보(예: 현재 선박 상태에 대응하는 선박 동특성)와 대응 관계에 있는(또는, 가장 유사한) 복수의 후보 운항 방법들을 선택하고, 상기 복수의 후보 운항 방법들 중에서 누적 보상값이 가장 높은 후보 운항 방법을 선박 운항 방법으로 결정할 수 있다. 다른 예를 들어, 운항 방법 결정부(255)는 복원 성능이 제1 지정된 범위(예: 제1 지정된 값 이하)를 만족하고, 운동 성능이 제2 지정된 범위(예: 제2 지정된 갓 이하)를 만족하고, 상기 동조 위험도가 제3 지정된 범위(예: 제3 지정된 값 이하)를 만족하고, 선속 감속률이 제4 지정된 범위(예: 제4 지정된 값 초과)를 만족하도록 상기 운항 방법을 결정할 수 있다.
동작 450 이후에, 선박 제어부(257)는 운항 방법 결정부(255)에 의해 결정된 운항 방법에 대응하는 선박 제어 명령을 선박에 포함된 제어 모듈에 송신함에 따라 선박 자율 항해를 제어할 수 있다. 예를 들어, 선박 제어 명령은 운항 방법 결정부(255)에 의해 제공될 수 있다.
동작 450 이후에, 보상 판단부(259)는 선박 제어 명령에 따라 변화된 선박 상태를 모니터링하고, 선박 상태 변화에 기반하여 선박 운항 방법에 관련된 보상값을 결정할 수 있다. 보상 판단부(259)는 상기 결정된 보상값을 상기 결정된 선박 운항 방법에 관련되어 있던 보상값과 합산함에 따라 상기 선박 운항 방법에 관련된 보상값을 변화시킬 수 있다.
상술한 실시예에 따르면, 선박 자율 항해 장치(100)는 해양 정보로부터 추출된 해양 특징 벡터와 선박 상태 정보로부터 추출된 운항 특징 벡터를 입력으로 하여 자선의 운항이 해양 상태에 의해 받는 운동 특성을 분석한 자선 동특성 벡터를 생성한 후, 그리드 맵으로부터 추출된 특징 벡터와 결합하여 선박 운항 방법을 결정함에 따라 변화하지 않는 주변 환경은 물론 변화하는 주변 환경을 다각적으로 분석하여 선박 운항 방법을 결정할 수 있다.
도 5는 일 실시예에 따른 선박 자율 항해 장치의 자율 항해 제어를 위한 자율 항해 데이터를 나타낸다.
도 5를 참조하면, 자율 항해 데이터는 한번 결정되면 변경되지 않는 제1 유형 정보(운항 계획 정보, 선박 고유 정보) 및 운항하며 수시로 변경되는 제2 유형 정보(해양 정보, 항해 정보)를 포함할 수 있다. 상기 운항 계획 정보는 항해 계획과 관련된 정보(출발지, 목적지, 예상 운항 시간, 선박 제어 조건)을 포함할 수 있다. 운항 계획 정보는 선박의 운항 전에 지정될 수 있다. 상기 선박 제어 조건은 예를 들면, 선박 운항 방법의 결정 시 고려되어야 할 조건(예: 상술된 각 지정된 범위)일 수 있다. 상기 선박 고유 정보는 선박의 기본 정보(예: 선박 명, 선박 번호, 선박 재원, 항해 장비 특성)로 구성된다. 상기 제2 유형 정보는 지역에 따라 변화되는 해양 정보 및 운항 시간에 따라 변화되는 항해 정보로 분류될 수 있다.
일 실시예에 따르면, 선박 자율 항해 장치(100)는 기상 관련 정보를 지역(예: 선박에 항해한 지역) 및 시간에 따라 구분하여 관리할 수 있다. 이에, 선박 자율 항해 장치(100)는 현재 시간 및 현 위치에 대응하는 기상 관련 정보를 이용하여 선박 운항 방법을 결정할 수 있다.
일 실시예에 따르면, 선박 자율 항해 장치(100)는 제어 시점에 맞추어 선박 운항 경로 정보와 선박 상태 정보를 관리할 수 있다. 따라서, 선박 자율 항해 장치(100)는 선박 운항 경로를 직선 운항 구간을 기준으로 구분하고, 직선 운항 구간을 따라가기 위해 운항 방법을 미세 조정하는 지점 정보, 미세 조정에 따른 선박 상태, 선박 운항 방법 및 선박의 반응값을 구분하여 통합적으로 관리할 수 있다. 이와 관련하여, 일 실시예에 따른 선박 자율 항해 장치(100)는 선박 상태 정보와 타선 정보를 일정 주기(0.5초 ~ 1초)로 계속 수집하면서 관리할 수 있다. 따라서, 일 실시예에 따른 선박 자율 항해 장치(100)는 COLREGs(International Regulations for Preventing Collisions at Sea)의 운항규정을 위반하는 타선에 대해서도 그 운항 경로를 예측하여 충돌에 대비할 수 있다.
도 6은 일 실시예에 따른 선박 운항 관련 정보의 표시 예를 나타낸다.
도 6에서, 선박 운항 관련 정보는 WP1(출발지)에서 출발하여 WP3(목적지)에 도착하기 위한 선박 운항에 관련된 정보를 나타낸다. WP2는 선박이 WP3로 가는 도중에 선박 회전이 발생된 변곡점일 수 있다. 전체 항로는 크게 2개의 직선 구간(R1, R3)과 1개의 회전 구간(R2)을 포함하는 총 3개의 구역(즉, R1, R2, R3)으로 구분될 수 있다. 해양 정보, 해도 정보 및 장애물(타선부유물) 정보는 각 구역들에 관련되어 정의될 수 있다. 계획된 구간 정보는 WP1 지점과 WP2 지점을 잇는 계획된 제1 구간 및 W2 지점과 WP3 지점 간을 잇는 계획된 제2 구간을 포함하는 총 2개의 구간으로 구성될 수 있다.
도 6에서, 선박 자율 주행 장치()는 총 2개의 계획된 구간 정보에 기반하여 선박 운항을 시작하였으나, 실제로 선박 운항 시에는 총 5개 제어 지점(CP1, CP2, CP3, CP4, CP5)에서 선박 항해를 제어할 수 있다. 선박 자율 주행 장치()는 선박 항해 시에 각 구역들에 관련하여 해양 정보, 해도 정보 및 장애물 정보를 관리(예: 저장)하고, 각 구간(또는, 각 제어 지점으로 구분되는 구간)에 관련하여 선박의 운항 상태(방향, 위치, 속도, 동역학 특성)와 제어 명령(엔진, 방향키) 정보를 관리할 수 있다. 이에, 선박 자율 항해 장치(100)는 선박 운항이 종료된 때에 선박 운항의 시작 시에 계획된 경로와 실제 운항된 경로 간의 차이뿐 아니라, 차이가 발생한 이유, 선박의 운항 효율이 나쁜 원인을 분석할 수 있고, 이러한 원인 분석을 통해 운항 효율을 개선시킬 수 있다.
도 7은 일 실시예에 따른 선박 자율 항해 방법을 나타낸다.
동작 710에서, 선박 자율 항해 장치(100)는 주변 환경 영상, 해양 정보 및 항해 정보를 획득할 수 있다. 예를 들어, 선박 자율 항해 장치(100)는 선박에 설치된 카메라로부터 주변 환경 영상을 획득할 수 있다. 상기 해양 정보는 예를 들면, 기상 관련 정보(예: 바람, 조류, 파도, 해수 온도, 해수 밀도, 또는 물결 정보), 지형 정보(예: 해안선, 등고선, 수심, 암초, 항로 표지, 위험 지역 정보) 및 장애물 정보(예: 타선, 또는 부유물 정보) 중 적어도 하나의 정보를 포함할 수 있다. 상기 항해 정보는 운항 경로 정보(예: 구간별 시작 좌표, 구간 직선 거리, 방향, 회전 반경) 선박 상태 정보(예: 제어 시점, 선박 제어 명령, 선박 제어 명령에 따른 반응값, 자선 위치 정보 및 선수 방향)를 포함할 수 있다.
동작 720에서, 선박 자율 항해 장치(100)는 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵을 생성할 수 있다. 상기 그리드 맵은 주변 환경 영상에 포함된 각 주변 환경 요소의 픽셀 좌표를 지구 좌표계에 따른 지정된 간격(예: 위도 1° 및 경도 1.25° 간격)의 격자(그리드)에 맵핑한 맵일 수 있다.
동작 730에서, 선박 자율 항해 장치(100)는 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정할 수 있다. 예를 들어, 선박 자율 항해 장치(100)는 제1 특징 정보 및 제2 특징 정보에 기반하여 주변 해양의 위험도가 지정된 범위 내(예: 선박이 안정적으로 운항 가능하도록 지정된 범위)에 있으면서, 위험 요소(예: 타선, 장애물, 암초, 위험 지역)를 회피할 수 있도록 자율 항해를 위한 선속 및 선수 방향을 결정할 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 선박 자율 항해 장치(100))의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)(메모리(240))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 선박 자율 항해 장치(100))의 프로세서(예: 프로세서(250)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 선박 자율 항해 장치에 있어서,
    주변 환경 영상, 해양 정보 및 항해 정보를 획득하는 획득부;
    상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵(grid map)을 생성하는 맵 생성부; 및
    상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하는 운항 방법 결정부를 포함하고,
    상기 운항 방법 결정부는,
    상기 그리드 맵에 기반하여 상기 선박의 주변 환경에 관련된 제1 특징 정보를 추출하고,
    상기 해양 정보 및 상기 항해 정보에 기반하여 상기 선박의 복원 성능을 포함하는 상기 선박의 동특성에 관련된 제2 특징 정보를 추출하고,
    상기 제1 특징 정보 및 상기 제2 특징 정보에 기반하여 심층 강화 학습함에 따라 적어도 상기 복원 성능이 지정된 범위를 만족하도록 상기 운항 방법을 결정하는 선박 자율 항해 장치.
  2. 청구항 1에 있어서, 상기 해양 정보는,
    기상 관련 정보, 지형 정보 및 장애물 정보 중 적어도 하나를 포함하는, 선박 자율 항해 장치.
  3. 청구항 1에 있어서, 상기 항해 정보는,
    운항 경로 정보 및 선박 상태 정보 중 적어도 하나를 포함하는, 선박 자율 항해 장치.
  4. 청구항 1에 있어서, 상기 획득부는,
    상기 선박에 설치된 카메라로부터 상기 주변 환경 영상을 획득하는, 선박 자율 항해 장치.
  5. 청구항 4에 있어서, 상기 맵 생성부는,
    상기 카메라로부터 상기 주변 환경 영상을 획득할 수 없으면, 해도 영상에 기반하여 상기 그리드 맵을 생성하는, 선박 자율 항해 장치.
  6. 청구항 1에 있어서, 상기 맵 생성부는,
    상기 해양 정보로부터 해안선, 수심, 등고선, 암초, 항로 표지, 위험 지역 중 적어도 하나의 지형 요소에 관련된 지형 정보를 확인하고, 상기 항해 정보부터 자선 정보 및 장애물 정보를 확인하고,
    상기 주변 환경 영상의 각 픽셀을 지구 좌표계에 따른 지정된 간격의 격자와 맵핑한 기본 맵 영상을 생성하고,
    상기 기본 맵 영상에 상기 지형 정보, 상기 자선 정보 및 상기 장애물 정보를 나타냄에 따라 상기 그리드 맵을 생성하는, 선박 자율 항해 장치.
  7. 청구항 6에 있어서, 상기 맵 생성부는,
    상기 기본 맵 영상에서 상기 지형 요소에 대응하는 위치를 상기 지형 요소에 대응하는 색상으로 표시하는, 선박 자율 항해 장치.
  8. 청구항 6에 있어서, 상기 맵 생성부는,
    상기 기본 맵 영상에서 상기 자선 정보에 따른 자선 위치에 상기 자선 정보에 따른 제1 아이콘을 표시하고,
    상기 기본 맵 영상에서 상기 장애물 정보에 따른 장애물 위치에 상기 장애물 정보에 따른 제2 아이콘을 표시하는, 선박 자율 항해 장치.
  9. 삭제
  10. 청구항 1에 있어서,
    상기 제1 특징 정보는, 상기 그리드 맵에 따른 기상 관련 특징, 지형 특징 및 장애물 특징 중 적어도 하나의 해양 특징과 관련되고,
    상기 제1 특징 정보는, 상기 해양 정보 및 상기 항해 정보에 기반하여 확인된 상기 기상 관련 특징, 상기 지형 특징 및 상기 장애물 특징 중 적어도 일부 특징이 선박 운항에 미치는 위험도를 포함하고,
    상기 지형 특징에 따른 위험 지역 및 상기 장애물 특징에 따른 장애물을 포함하는 위험 요소를 회피하고, 상기 위험도가 지정된 범위 내에 있도록 상기 운항 방법을 결정하는, 선박 자율 항해 장치.
  11. 삭제
  12. 선박 자율 항해 장치에 있어서,
    주변 환경 영상, 해양 정보 및 항해 정보를 획득하는 획득부;
    상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵(grid map)을 생성하는 맵 생성부; 및
    상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하는 운항 방법 결정부를 포함하고,
    상기 운항 방법 결정부는,
    상기 그리드 맵에 기반하여 상기 선박의 주변 환경에 관련된 제1 특징 정보를 추출하고,
    상기 해양 정보 및 상기 항해 정보에 기반하여 상기 선박의 운동 성능을 포함하는 상기 선박의 동특성에 관련된 제2 특징 정보를 추출하고,
    상기 제1 특징 정보 및 상기 제2 특징 정보에 기반하여 심층 강화 학습함에 따라 적어도 상기 운동 성능이 지정된 범위를 만족하도록 상기 운항 방법을 결정하는, 선박 자율 항해 장치.
  13. 선박 자율 항해 장치에 있어서,
    주변 환경 영상, 해양 정보 및 항해 정보를 획득하는 획득부;
    상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵(grid map)을 생성하는 맵 생성부; 및
    상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하는 운항 방법 결정부를 포함하고,
    상기 운항 방법 결정부는,
    상기 그리드 맵에 기반하여 상기 선박의 주변 환경에 관련된 제1 특징 정보를 추출하고,
    상기 해양 정보 및 상기 항해 정보에 기반하여 상기 선박과 파랑의 동조 위험도를 포함하는 상기 선박의 동특성에 관련된 제2 특징 정보를 추출하고,
    상기 제1 및 제2 특징 정보에 기반하여 심층 강화 학습함에 따라 적어도 상기 동조 위험도가 지정된 범위를 만족하도록 상기 운항 방법을 결정하는, 선박 자율 항해 장치.
  14. 선박 자율 항해 장치에 있어서,
    주변 환경 영상, 해양 정보 및 항해 정보를 획득하는 획득부;
    상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵(grid map)을 생성하는 맵 생성부; 및
    상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하는 운항 방법 결정부를 포함하고,
    상기 운항 방법 결정부는,
    상기 그리드 맵에 기반하여 상기 선박의 주변 환경에 관련된 제1 특징 정보를 추출하고,
    상기 해양 정보 및 상기 항해 정보에 기반하여 선속 감속률을 포함하는 상기 선박의 동특성에 관련된 제2 특징 정보를 추출하고,
    적어도 상기 제1 특징 정보 및 상기 제2 특징 정보에 기반하여 심층 강화 학습함에 따라 적어도 상기 선속 감속률이 제4 지정된 범위를 만족하도록 상기 운항 방법을 결정하는, 선박 자율 항해 장치
  15. 청구항 1에 있어서,
    보상 판단부를 더 포함하고, 상기 보상 판단부는,
    상기 운항 방법을 실행한 후에 획득된 주변 환경 영상, 해양 정보 및 항해 정보에 기반하여 충돌 회피 비용, 도착 시간 준수 비용, 목적지 근접 비용, 연료 소모 저감 비용 중 적어도 하나의 소요 비용을 확인하고,
    상기 적어도 하나의 소요 비용에 기반하여 상기 운항 방법에 관련된 보상 값을 결정하고,
    상기 운항 방법 결정부는, 상기 보상값에 기반하여 다음 운항 방법을 결정하는, 선박 자율 항해 장치.
  16. 청구항 1에 있어서,
    보상 판단부를 더 포함하고, 상기 보상 판단부는,
    목적지 도착 여부, 예상 도착 시간 준수, 충돌 발생 여부, 연료 소모량 및 소요 비용 중 적어도 하나의 평가 요소를 확인하고,
    상기 적어도 하나의 평가 요소의 중요도에 따라 지정된 보상 값을 결정하는, 선박 자율 항해 장치.
  17. 선박 자율 항해 장치에 의한 선박 자율 항해 방법에 있어서,
    주변 환경 영상, 해양 정보 및 항해 정보를 획득하는 동작;
    상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵을 생성하는 동작; 및
    상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하는 동작을 포함하고,
    상기 운항 방법을 결정하는 동작은,
    상기 그리드 맵에 기반하여 상기 선박의 주변 환경에 관련된 제1 특징 정보를 추출하는 동작;
    상기 해양 정보 및 상기 항해 정보에 기반하여 복원 성능을 포함하는 상기 선박의 동특성에 관련된 제2 특징 정보를 추출하는 동작; 및
    상기 제1 특징 정보 및 상기 제2 특징 정보에 기반하여 심층 강화 학습함에 따라 적어도 상기 복원 성능이 지정된 범위를 만족하도록 상기 운항 방법을 결정하는 동작을 포함하는 것인 선박 자율 항해 방법.
  18. 청구항 17에 있어서, 상기 생성하는 동작은,
    상기 해양 정보로부터 해안선, 수심, 등고선, 암초, 항로 표지, 위험 지역 중 적어도 하나의 지형 요소에 관련된 지형 정보를 확인하는 동작;
    상기 항해 정보부터 자선 정보 및 장애물 정보를 확인하는 동작;
    상기 주변 환경 영상의 각 픽셀을 지구 좌표계에 따른 지정된 간격의 격자와 맵핑한 기본 맵 영상을 생성하는 동작; 및
    상기 기본 맵 영상에 상기 지형 정보, 상기 자선 정보 및 상기 장애물 정보를 나타냄에 따라 상기 그리드 맵을 생성하는 동작을 포함하는, 선박 자율 항해 방법.
  19. 청구항 17에 있어서, 상기 결정하는 동작은,
    상기 그리드 맵에 기반하여 상기 선박의 주변 환경에 관련된 제1 특징 정보를 추출하는 동작;
    상기 해양 정보 및 상기 항해 정보에 기반하여 상기 선박의 동특성에 관련된 제2 특징 정보를 추출하는 동작; 및
    상기 제1 특징 정보 및 상기 제2 특징 정보에 기반하여 심층 강화 학습함에 따라 상기 운항 방법을 결정하는 동작을 포함하는, 선박 자율 항해 방법.
  20. 프로세서에 의하여 실행 가능한 명령어들을 저장하는 컴퓨터 판독가능 기록 매체로서,
    상기 명령어들이 실행되었을 때 선박 자율 항해 장치의 프로세서로 하여금,
    주변 환경 영상, 해양 정보 및 항해 정보를 획득하고,
    상기 주변 환경 영상에 상기 해양 정보 및 상기 항해 정보에 따른 지형, 자선 및 장애물을 나타냄에 따라 그리드 맵을 생성하고,
    상기 그리드 맵, 상기 해양 정보 및 상기 항해 정보에 기반한 심층 강화 학습을 통하여 선박의 운항 방법을 결정하도록 하되,
    상기 운항 방법을 결정하는 동작에서,
    상기 그리드 맵에 기반하여 상기 선박의 주변 환경에 관련된 제1 특징 정보를 추출하고,
    상기 해양 정보 및 상기 항해 정보에 기반하여 복원 성능을 포함하는 상기 선박의 동특성에 관련된 제2 특징 정보를 추출하고,
    상기 제1 특징 정보 및 상기 제2 특징 정보에 기반하여 심층 강화 학습함에 따라 적어도 상기 복원 성능이 지정된 범위를 만족하도록 상기 운항 방법을 결정하도록 하는, 컴퓨터 판독 가능 기록 매체.
KR1020190130283A 2019-10-18 2019-10-18 선박 자율 항해 장치, 방법 및 기록 매체 Active KR102812660B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190130283A KR102812660B1 (ko) 2019-10-18 2019-10-18 선박 자율 항해 장치, 방법 및 기록 매체
US17/072,675 US11772758B2 (en) 2019-10-18 2020-10-16 Apparatus, method, and recording medium for autonomous ship navigation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190130283A KR102812660B1 (ko) 2019-10-18 2019-10-18 선박 자율 항해 장치, 방법 및 기록 매체

Publications (2)

Publication Number Publication Date
KR20210046500A KR20210046500A (ko) 2021-04-28
KR102812660B1 true KR102812660B1 (ko) 2025-05-26

Family

ID=75492593

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190130283A Active KR102812660B1 (ko) 2019-10-18 2019-10-18 선박 자율 항해 장치, 방법 및 기록 매체

Country Status (2)

Country Link
US (1) US11772758B2 (ko)
KR (1) KR102812660B1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7044018B2 (ja) * 2018-09-07 2022-03-30 トヨタ自動車株式会社 着岸制御装置、船舶、着岸制御方法および着岸制御プログラム
US11740348B2 (en) * 2020-11-25 2023-08-29 Furuno Electric Co., Ltd. Apparatus and method for detecting objects
CN113257040B (zh) * 2021-05-14 2022-12-30 广州嘉航通信科技有限公司 内河交通安全标志监控方法、系统、计算机设备及存储介质
JP2022177402A (ja) * 2021-05-18 2022-12-01 ヤマハ発動機株式会社 船舶推進制御システム及び船舶
CN113655786B (zh) * 2021-06-29 2023-09-19 航天科工深圳(集团)有限公司 一种基于非洲蜂智能算法的无人艇艇群控制方法
KR102376927B1 (ko) * 2021-07-01 2022-03-22 주식회사 비아이씨티 해상용 지능형 cctv 관제 방법
JP2023040453A (ja) * 2021-09-10 2023-03-23 三菱造船株式会社 操縦パターン特定装置、制御装置、操縦パターン特定方法及びプログラム
KR102395807B1 (ko) * 2021-10-29 2022-05-09 한화시스템(주) 함정 추진제어 특성을 반영한 자율 운항 시스템 및 그 방법
JP7733619B2 (ja) * 2022-06-14 2025-09-03 株式会社 ミックウェア 設置エリア管理システム、管理サーバ、設置エリア管理方法およびプログラム
CN115290093B (zh) * 2022-08-15 2024-08-16 同济大学 一种水电站引水管道内无人机自动巡检的定位导航方法
KR102746194B1 (ko) * 2022-11-02 2024-12-23 네이버 주식회사 하이브리드 주행 알고리즘 기반 주행 정책 결정 방법 및 시스템
KR102578809B1 (ko) * 2022-11-23 2023-09-15 주식회사 제이디 자율 주행 수상 드론을 이용한 해양 부유물 데이터 제공 장치 및 그 방법
EP4383215A1 (en) * 2022-12-09 2024-06-12 Abb Schweiz Ag Method and system for determining a region of water clearance of a water surface
CN116400691B (zh) * 2023-03-29 2023-11-21 大连海事大学 一种新型离散时间指定性能强化学习无人艇航向跟踪控制方法及系统
CN117475526A (zh) * 2023-10-26 2024-01-30 三峡金沙江川云水电开发有限公司 一种水垫塘巡检方法及系统
KR102681475B1 (ko) * 2023-10-27 2024-07-04 (주)올포랜드 인공지능(ai)을 기반으로 하는 선박 운항정보와 해양 환경정보를 결합한 통합 항로 운용시스템 및 그 방법
KR102653419B1 (ko) * 2023-11-28 2024-04-02 한국해양과학기술원 횡요 운동 데이터를 활용한 선박의 안전상태 모니터링 시스템 및 방법
WO2025126809A1 (ja) * 2023-12-14 2025-06-19 古野電気株式会社 航行支援装置、航行支援データ生成方法、航行支援データ生成プログラム
WO2025126811A1 (ja) * 2023-12-14 2025-06-19 古野電気株式会社 航行支援装置、航行支援データ生成方法、航行支援データ生成プログラム
KR102713090B1 (ko) * 2023-12-15 2024-10-04 (주) 지엠티 스마트 선박용 반응형 수로 정보 제공 시스템 및 방법
KR102718968B1 (ko) * 2023-12-15 2024-10-17 (주) 지엠티 스마트 선박용 서비스 제공 플랫폼 및 방법
CN119861705A (zh) * 2024-12-02 2025-04-22 中国电建集团西北勘测设计研究院有限公司 海上光伏项目的船舶轨迹规划方法及装置、设备和产品
CN119354206B (zh) * 2024-12-24 2025-05-02 哈尔滨工程大学三亚南海创新发展基地 一种无人艇路径规划方法、装置、设备及存储介质
CN119714299A (zh) * 2025-02-26 2025-03-28 四川省交通勘察设计研究院有限公司 一种基于a星寻路算法的航线自动布设方法及装置
CN119961579B (zh) * 2025-04-10 2025-06-20 集美大学 基于深度强化学习的无人船动态环境路径规划系统及方法
CN120422251B (zh) * 2025-07-04 2025-09-19 浪潮通用软件有限公司 一种基于水环境因素的无人机河道巡检方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120265380A1 (en) 2011-04-13 2012-10-18 California Institute Of Technology Target Trailing with Safe Navigation with colregs for Maritime Autonomous Surface Vehicles
KR101850866B1 (ko) 2016-11-21 2018-04-20 동강엠텍(주) 선박의 항로 산출 방법
KR102005559B1 (ko) * 2018-09-04 2019-08-07 씨드로닉스(주) 이미지 세그멘테이션을 이용한 주변 환경 감지 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629037B1 (en) * 2000-06-26 2003-09-30 Westerngeco, L.L.C. Optimal paths for marine data collection
US8614633B1 (en) * 2007-01-08 2013-12-24 Lockheed Martin Corporation Integrated smart hazard assessment and response planning (SHARP) system and method for a vessel
KR101322415B1 (ko) * 2010-03-12 2013-10-25 울산대학교 산학협력단 선박 항로 제공방법 및 선박 항로 제공 시스템
KR101948574B1 (ko) 2012-03-12 2019-02-15 한국전자통신연구원 선박 충돌방지 장치 및 그 방법
US20160114867A1 (en) * 2013-05-13 2016-04-28 Stability Solutions Inc. System and method for monitoring stability of a vessel
KR101727162B1 (ko) 2014-02-27 2017-04-14 한국전자통신연구원 관제 서비스 제공 장치 및 그 방법
KR20170088123A (ko) 2016-01-22 2017-08-01 대우조선해양 주식회사 무인 선박의 항해 시스템 및 이를 이용한 항해 제어 방법
KR101918980B1 (ko) * 2017-02-20 2018-11-15 (주)뉴월드마리타임 실시간 복원성 지수를 이용한 대피 레벨 결정 기반 선박 사고시 안전한 대피를 지원하기 위한 선박 항로 및 선박 조종 지원 시스템 및 그 방법
KR102007196B1 (ko) 2017-11-21 2019-08-05 동강엠텍 (주) 다중 중첩 격자법을 이용한 북극 최적 경로 탐색 방법 및 장치
US10782691B2 (en) * 2018-08-10 2020-09-22 Buffalo Automation Group Inc. Deep learning and intelligent sensing system integration
WO2020033967A1 (en) * 2018-08-10 2020-02-13 Buffalo Automation Group Inc. Training a deep learning system for maritime applications
US12177315B2 (en) * 2019-04-18 2024-12-24 Orca Ai Ltd. Marine data collection for marine artificial intelligence systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120265380A1 (en) 2011-04-13 2012-10-18 California Institute Of Technology Target Trailing with Safe Navigation with colregs for Maritime Autonomous Surface Vehicles
KR101850866B1 (ko) 2016-11-21 2018-04-20 동강엠텍(주) 선박의 항로 산출 방법
KR102005559B1 (ko) * 2018-09-04 2019-08-07 씨드로닉스(주) 이미지 세그멘테이션을 이용한 주변 환경 감지 방법

Also Published As

Publication number Publication date
US11772758B2 (en) 2023-10-03
KR20210046500A (ko) 2021-04-28
US20210114698A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
KR102812660B1 (ko) 선박 자율 항해 장치, 방법 및 기록 매체
US11514668B2 (en) Method and device for situation awareness
EP3388327B1 (en) Route setting method for underwater vehicle, underwater vehicle optimum control method using same, and underwater vehicle
US12118777B2 (en) Method and device for situation awareness
US20220326018A1 (en) Navigational danger identification and feedback systems and methods
KR20200027870A (ko) 이미지 세그멘테이션을 이용한 자율 운항 방법
EP3594621B1 (en) Navigation device and method of creating route
Jacobi et al. Underwater pipeline and cable inspection using autonomous underwater vehicles
JP5102886B2 (ja) 画像表示システム及び画像表示方法及びプログラム
KR20240030736A (ko) 선박의 운항장치
KR20170023737A (ko) 해양 내비게이션 장치 및 항로 제공 방법
KR20170090138A (ko) 선박의 위험환경 회피 시스템 및 이를 이용한 회피 방법
US20250128798A1 (en) Sensor calibration system for watercraft and watercraft
KR20160116137A (ko) Vdr 일체형 네비게이션 시스템
JP2020193949A (ja) 学習装置、航行ルート案内システム、及び、学習方法
KR102633461B1 (ko) 선박항해 안내를 위한 드론장치 및 그 장치의 구동방법
US12397886B2 (en) Apparatus and method for calculating the collison risk of a ship
KR20220036593A (ko) 선박 항로 추천 시스템 및 방법
US20250026458A1 (en) Method for assisting with guiding a surface vessel for towing an underwater device by means of a cable
KR102501450B1 (ko) 거리 측정 방법 및 이를 이용하는 거리 측정 장치
Zhou et al. Adaptive heading controller on an underwater glider for underwater iceberg profiling
JP6300344B2 (ja) 海流推定方法及び海流推定システム
KR102665538B1 (ko) 부유식 풍황 계측 장치, 이의 제어방법, 컴퓨터 판독 가능한 기록 매체, 컴퓨터 프로그램 및 이를 이용하는 모니터링 시스템
JP7625315B1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7621672B2 (ja) 障害物推定システム

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000