Patent Description:
The automatic identification system (AIS) is used to broadcast data from ship to ship. The AIS data includes information related to the ship position: the current position and heading, the length and width of the ship, and the reference of the position, among other things. However, some of the AIS data (the length and width of the ship and the reference for the position) is entered manually, which causes a large uncertainty of the ship extent. The length and width of the ship can be double-checked against other databases, such as Lloyds register, however, the reference for the position cannot be easily checked. For an autonomous operation, any manoeuvre should be based on the worst-case scenario. A large uncertainty in the extent of the other ship means that the planned paths will be longer and in a tight manoeuvring space such as a harbour, it may not even be possible to find a feasible path. For instance, for a ship with a length of <NUM> meters, the uncertainty may be a circle with a diameter of over <NUM> meters, and this uncertainty is thus potentially large enough to block entry into many ports. The documents "<NPL>), <NPL>) and patent application publication <CIT> represent background art to the present invention.

According to an aspect, there is provided subject matter of independent claims. Dependent claims define some embodiments.

One or more examples of implementations are set forth in more detail in the accompanying drawings and the description of embodiments.

Some embodiments will now be described with reference to the accompanying drawings, in which.

Reference numbers, both in the description of the embodiments and in the claims, serve to illustrate the embodiments with reference to the drawings, without limiting it to these examples only.

The embodiments and features, if any, disclosed in the following description that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.

Let us study simultaneously <FIG> and <FIG>, which illustrate embodiments of an apparatus <NUM> for analyzing an extent of a marine vessel <NUM>, and <FIG>, which illustrates embodiments of a method for analyzing an extent of a marine vessel <NUM>. The method may be implemented as an algorithm programmed as computer program code <NUM> executed by the apparatus <NUM> as a special purpose computer.

The apparatus <NUM> comprises two interfaces <NUM>, <NUM>. These may be separate interfaces <NUM>, <NUM> as shown in <FIG>, but, alternatively, they may also utilize the same communication hardware and/or software as well.

The AIS interface <NUM> is to obtain AIS data <NUM> transmitted by the marine vessel <NUM>. The AIS data <NUM> comprises in a static part of the AIS data user-inputted overall dimensions of the marine vessel <NUM> and a user-inputted reference <NUM> for a position of the marine vessel <NUM>. Recommendation ITU-R M. <NUM>-<NUM>, <NUM>/<NUM>, "Technical characteristics for an automatic identification system using time division multiple access in the VHF maritime mobile frequency band" defines the overall dimensions for the AIS data <NUM> as shown in <FIG>:.

<FIG> illustrates an embodiment of AIS data display: a map <NUM> showing a plurality of marine vessels as triangles, and a specific selected marine vessel <NUM>, whose name and type <NUM> are shown together with an image <NUM> of the marine vessel. Further AIS data <NUM> is shown in the bottom. Basically, the AIS data <NUM> contains static data: identification (IMO = International Maritime Organization), name of ship, type of ship, vendor ID, call sign (MMSI = Maritime mobile service identity), dimensions of ship and reference for position, and dynamic data: ship's position with accuracy indication and integrity status, time, course over ground (COG), speed over ground (SOG), true heading. Position information includes position accuracy, longitude, latitude, precision, type of electronic position fixing device, time stamp. Additional data is also transmitted such as voyage specific data: estimated time of arrival, maximum present static draught, destination.

The complementary interface <NUM> is to obtain complementary data <NUM> related to the marine vessel <NUM> in addition to the AIS data <NUM>. The complementary data <NUM> comprises information related to an extent of the marine vessel <NUM>. The complementary data <NUM> may be obtained from one or more sensors <NUM>, and, additionally, from another data source such as a database <NUM>.

The apparatus <NUM> comprises one or more memories <NUM> including computer program code <NUM>.

The apparatus also comprises one or more processors <NUM> to execute the computer program code <NUM> to cause the apparatus <NUM> to perform the algorithm/method for analyzing the extent of the marine vessel <NUM>.

The term 'processor' <NUM> refers to a device that is capable of processing data. Depending on the processing power needed, the apparatus <NUM> may comprise several processors <NUM> such as parallel processors, a multicore processor, or a computing environment that simultaneously utilizes resources from several physical computer units (sometimes these are referred as cloud, fog or virtualized computing environments). When designing the implementation of the processor <NUM>, a person skilled in the art will consider the requirements set for the size and power consumption of the apparatus <NUM>, the necessary processing capacity, production costs, and production volumes, for example.

The term 'memory' <NUM> refers to a device that is capable of storing data run-time (= working memory) or permanently (= non-volatile memory). The working memory and the non-volatile memory may be implemented by a random-access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM), a flash memory, a solid state disk (SSD), PROM (programmable read-only memory), a suitable semiconductor, or any other means of implementing an electrical computer memory.

A non-exhaustive list of implementation techniques for the processor <NUM> and the memory <NUM> includes, but is not limited to: logic components, standard integrated circuits, application-specific integrated circuits (ASIC), system-on-a-chip (SoC), application-specific standard products (ASSP), microprocessors, microcontrollers, digital signal processors, special-purpose computer chips, field-programmable gate arrays (FPGA), and other suitable electronics structures.

The computer program code <NUM> may be implemented by software. In an embodiment, the software may be written by a suitable programming language, and the resulting executable code may be stored in the memory <NUM> and executed by the processor <NUM>.

An embodiment provides a computer-readable medium <NUM> storing the computer program code <NUM>, which, when loaded into the one or more processors <NUM> and executed by one or more processors <NUM>, causes the one or more processors <NUM> to perform the algorithm/method, which will be explained with reference to <FIG>. The computer-readable medium <NUM> may comprise at least the following: any entity or device capable of carrying the computer program code <NUM> to the one or more processors <NUM>, a record medium, a computer memory, a read-only memory, an electrical carrier signal, a telecommunications signal, and a software distribution medium. In some jurisdictions, depending on the legislation and the patent practice, the computer-readable medium <NUM> may not be the telecommunications signal. In an embodiment, the computer-readable medium <NUM> may be a computer-readable storage medium. In an embodiment, the computer-readable medium <NUM> may be a non-transitory computer-readable storage medium.

The computer program code <NUM> implements the algorithm for analyzing the extent of the marine vessel <NUM>. The computer program code <NUM> may be coded as a computer program (or software) using a programming language, which may be a high-level programming language, such as C, C++, or Java, or a low-level programming language, such as a machine language, or an assembler, for example. The computer program code <NUM> may be in source code form, object code form, executable file, or in some intermediate form. There are many ways to structure the computer program code <NUM>: the operations may be divided into modules, sub-routines, methods, classes, objects, applets, macros, etc., depending on the software design methodology and the programming language used. In modern programming environments, there are software libraries, i.e. compilations of ready-made functions, which may be utilized by the computer program code <NUM> for performing a wide variety of standard operations. In addition, an operating system (such as a general-purpose operating system) may provide the computer program code <NUM> with system services.

In an embodiment, the one or more processors <NUM> may be implemented as one or more microprocessors implementing functions of a central processing unit (CPU) on an integrated circuit. The CPU is a logic machine executing the computer program code <NUM>. The CPU may comprise a set of registers, an arithmetic logic unit (ALU), and a control unit (CU). The control unit is controlled by a sequence of the computer program code <NUM> transferred to the CPU from the (working) memory <NUM>. The control unit may contain a number of microinstructions for basic operations. The implementation of the microinstructions may vary, depending on the CPU design.

The apparatus <NUM> may be a stand-alone apparatus <NUM> as shown in <FIG>, i.e., the apparatus <NUM> is a separate unit, distinct from an AIS transceiver <NUM> and sensors <NUM>. However, in an embodiment, at least a part of the structure of the apparatus <NUM> may be more or less integrated with another apparatus. In another embodiment, the apparatus <NUM> is a networked server apparatus accessible through a communication network <NUM>. The networked server apparatus <NUM> may be a networked computer server, which interoperates with a plurality of marine vessels <NUM>, <NUM>, according to a client-server architecture, a cloud computing architecture, a peer-to-peer system, or another applicable computing architecture. The apparatus <NUM> may be associated with a service provider. The service provider may maintain electronic service provided by the apparatus <NUM>. In the embodiment of <FIG>, the apparatus <NUM> is onboard another marine vessel <NUM>, but the apparatus <NUM> may also be onshore <NUM>. A distributed embodiment is also feasible, wherein a part of the functionality of the apparatus <NUM> is onboard the other marine vessel <NUM> and a part of the functionality of the apparatus <NUM> is onshore <NUM> (as a standalone apparatus or a networked server apparatus).

The communication network <NUM> may be implemented with a suitable cellular communication technology such as GSM, GPRS, EGPRS, WCDMA, UMTS, 3GPP, IMT, LTE, LTE-A, <NUM>, <NUM>, <NUM> etc., and/or with a suitable non-cellular communication technology such as Bluetooth, Bluetooth Low Energy, Wi-Fi, WLAN, Zigbee, etc, and/or with a suitable wired communication technology such as Ethernet, the Internet, etc..

Let us now study the algorithm/method with reference to <FIG>.

The method starts in <NUM> and ends in <NUM>. Note that the method may run as long as required (after the start-up of the apparatus <NUM> until switching off) by looping from an operation <NUM> (or <NUM>, or <NUM>, or <NUM>) back to an operation <NUM>.

The operations are not strictly in chronological order in <FIG>, and some of the operations may be performed simultaneously or in an order differing from the given ones. Other functions may also be executed between the operations or within the operations and other data exchanged between the operations. Some of the operations or part of the operations may also be left out or replaced by a corresponding operation or part of the operation. It should be noted that no special order of operations is required, except where necessary due to the logical requirements for the processing order.

In <NUM>, the AIS data <NUM> transmitted by the marine vessel <NUM> is obtained.

In <NUM>, the complementary data <NUM> related to the marine vessel <NUM> is obtained in addition to the AIS data <NUM>. In general, the complementary data <NUM> may be any data, besides the AIS data <NUM>, which indicates the extent of the marine vessel <NUM>.

In an embodiment in accordance with the invention illustrated in <FIG>, the complementary data <NUM> comprises sensor data indicating an actual extent of the marine vessel <NUM> obtained from one or more sensors <NUM>, 140A, 140B.

The sensors <NUM>, 140A, 140B may utilize various technologies of the seafaring, including, but not limited to: a radar system (using radio waves to determine a range, angle, or velocity of an object, operating in various radio frequency ranges, such as a coastal marine system, a marine radar system, a short range radar, or a long range radar, for example), a lidar system (measuring distance to an object by illuminating the object with a pulsed laser light, and measuring the reflected pulses with a sensor), a sonar system (such as a passive sonar listening for the sound made by marine vessels, or an active sonar emitting pulses of sounds and listening for echoes), an ultrasound detection system, an acoustic detection system, a digital imaging sensor (such as a video camera, a near infrared camera, an infrared camera, a forward looking infrared camera, or a hyperspectral camera, for example), or another technology enabling an estimation or measurement of the extent of the marine vessel <NUM>.

In an embodiment illustrated also in <FIG>, the one or more sensors 140A are onboard one or more other marine vessels <NUM>. A part <NUM> of the marine vessel <NUM> may be detected by the onboard sensor 140A in <FIG>, and after that the uncertainty <NUM> is considerably reduced as shown in <FIG>.

In an embodiment illustrated also in <FIG>, the one or more sensors 140B are onshore <NUM>. A part <NUM> of the marine vessel <NUM> may be detected by the onshore sensor 140B in <FIG>, and after that the uncertainty <NUM> is considerably reduced as shown in <FIG>. Besides being place onboard and offshore, the one or more sensors 140C may be placed offshore on a suitable platform <NUM> such as on a buoy or another navigation mark, as shown in <FIG>.

In <NUM>, the AIS data <NUM> is evaluated in view of the complementary data <NUM> in order to generate correction data <NUM> related to the extent of the marine vessel <NUM>. In an embodiment, the extent of the marine vessel <NUM> defines the space occupied by the marine vessel <NUM>. In the sense of the invention, the extent may be defined by the outline of the marine vessel, or the overall dimensions such as the length and width of the marine vessel <NUM>.

In this way, the complementary data <NUM> is used to decrease the uncertainty of the AIS data <NUM> or to verify the accuracy of the AIS data <NUM>. Depending on the accuracy of the complementary data <NUM>, the uncertainty may be decreased dramatically and stored in a database for future use. For an autonomous operation, any manoeuvre should be based on the worst-case scenario. A large uncertainty in the position of the other ship <NUM> means that the planned path will be longer, and in a tight manoeuvring space such as a harbour, it may not even be possible to find a feasible path. Use of the correction data <NUM> makes autonomous planning feasible and the planned paths may be made shorter with the use of the correction data <NUM>.

In an embodiment, generating the correction data <NUM> comprises determining <NUM> a correction, which transfers an AIS-based extent of the marine vessel <NUM> based on the AIS data <NUM> to overlap with an estimated extent of the marine vessel <NUM> based on the complementary data <NUM>. In this way, the outline of the marine vessel <NUM> defined by the AIS data <NUM> overlaps with the outline of the marine vessel <NUM> defined by the complementary data <NUM>.

In an embodiment, generating the correction data <NUM> comprises estimating <NUM> a length and/or a width of the marine vessel <NUM> based on the extent of the marine vessel <NUM> in the complimentary data <NUM>, and determining <NUM> a correction for the user-inputted overall dimensions of the marine vessel <NUM> in the static part of the AIS data <NUM> based on the estimated length and/or the width of the marine vessel <NUM>. As the user-inputted overall dimensions of the marine vessel <NUM> are entered manually, they may contain errors.

In an embodiment, generating the correction data <NUM> comprises determining <NUM> a correction for the user-inputted reference <NUM> for the position of the marine vessel <NUM> in the static part of the AIS data <NUM> based on the information related to the extent of the marine vessel <NUM> in the complementary data <NUM>. <FIG> illustrates that the manually entered refence <NUM> for the position may be erroneous, causing that the extent <NUM>, <NUM>, <NUM>, <NUM>, <NUM> of the marine vessel <NUM> may vary considerably, causing an uncertainty <NUM> related to the extent of the marine vessel <NUM>. <FIG> illustrates that if there is additionally some error in the heading of the marine vessel <NUM>, the uncertainty <NUM> may become even bigger. <FIG> illustrates an extreme case: if the heading of the marine vessel <NUM> cannot be trusted at all, the uncertainty <NUM> is the biggest. Theoretically, the uncertainty <NUM> may be depicted by the circle with the "maximum radius", i.e., the greatest diagonal <NUM> of the marine vessel <NUM>.

In an embodiment, generating the correction data <NUM> comprises estimating <NUM> an estimated true heading and/or an estimated course over ground of the marine vessel <NUM> based on the complimentary data <NUM>, and generating the correction data <NUM> is based on a comparison <NUM> between the estimated true heading and an AIS-based true heading in a dynamic part of the AIS data <NUM>, and/or based on a comparison <NUM> between the estimated course over ground and an AIS-based course over ground in the dynamic part of the AIS data <NUM>. In this way, the possible error in the heading of the AIS data <NUM> may also be decreased.

<FIG> illustrates the problem related to the uncertainty: the other marine vessel <NUM> proceeds along the route <NUM> towards the port of Helsinki. Two marine vessels 200A, 200B lie at anchor, and, due to their uncertainty 118A, 118B, it is difficult for the mariner of the other marine vessel <NUM> to plan how to dock. For example, it is impossible to know on which side to pass <NUM>, <NUM> islands <NUM>.

In an embodiment, evaluating <NUM> the AIS data <NUM> in view of the complementary data <NUM> takes <NUM> into account a longitude and a latitude of the marine vessel <NUM> in a dynamic part of the AIS data <NUM> as compared to an estimated location based on the complementary data <NUM>. This may be useful, especially if the complementary data <NUM> contains an estimated position of the marine vessel <NUM>.

In an embodiment, the AIS data <NUM> and the complementary data <NUM> are synchronized <NUM> to relate to the same moment in time. In this way, the quality of the correction data <NUM> may be ensured and/or increased. Especially, the longitude and latitude of the marine vessel <NUM> in the dynamic part of the AIS data <NUM> and the complementary data <NUM> used for estimating the estimated location may be synchronized to relate to the same moment in time.

In an embodiment, generating the correction data <NUM> comprises estimating <NUM> an uncertainty <NUM> related to the extent of the marine vessel <NUM>. The uncertainty <NUM> may be expressed by suitable means, such as by a certain range, a certain ratio, a certain safety margin, etc..

In an embodiment, the apparatus <NUM> is further caused to determine <NUM> a location of the marine vessel <NUM> based on a longitude and a latitude of the marine vessel <NUM> in a dynamic part of the AIS data <NUM>, and determine <NUM> an uncertainty area <NUM> around the location of the marine vessel <NUM> based on the correction data <NUM>. The uncertainty area <NUM> may be a rectangle as shown in <FIG> and <FIG>, or a circle as shown in <FIG>.

In an embodiment, the complementary data <NUM> comprises data indicating unnavigable waters or shore, and determining <NUM> the uncertainty area <NUM> comprises removing <NUM> such portions from the uncertainty area <NUM>, which are geographically located in the unnavigable waters or shore in the determined location of the marine vessel <NUM>. This is illustrated in <FIG>: as the marine vessel <NUM> is in the vicinity of the shore <NUM>, a portion <NUM> of the shore <NUM> may be removed from the uncertainty area <NUM> as shown in <FIG>. Another embodiment is illustrated in <FIG>: as the marine vessel <NUM> is in a strait surrounded by shore 220A, 220B, portions 1000A, 1000B of the shore 220A, 220B may be removed from the uncertainty area <NUM> as shown in <FIG>. The information related to the unnavigable waters or shore may be obtained from sea chart data, for example.

In an embodiment illustrated in <FIG>, the apparatus <NUM> is further caused to store <NUM> the correction data <NUM>, and offer <NUM> the correction data for <NUM> use by a plurality of other marine vessels <NUM>, marine operators and onshore users. <FIG> illustrates also various other embodiments. One or more sensors 140B are onshore <NUM>, and one or more sensors 140A are onboard the other marine vessel <NUM>. The apparatus <NUM> may be onboard the same other marine vessel <NUM> that also carries the one or more sensors 140A, but they may also be onboard different marine vessels. The sea chart data and other relevant complementary data 114C may be obtained from an onboard database 142A, or from 114D a database 142B accessible through the communication network <NUM>. The AIS data 112A may be communicated from the marine vessel <NUM> to the other marine vessel <NUM> using AIS transceivers <NUM>, <NUM>. An AIS server <NUM> may also distribute the AIS data 112B obtained by a satellite network from the marine vessel <NUM>. The correction data 116A may be offered by a networked correction server <NUM>, and the correction data 116B may be obtained by a client marine vessel <NUM> with an appropriate correction client <NUM>. The networked correction server <NUM> may be integrated with an onshore apparatus <NUM>, or even with an onboard apparatus <NUM>, depending on the implementation. The client marine vessel <NUM> may also comprise an AIS transceiver <NUM> to receive the AIS data <NUM> transmitted by the marine vessel <NUM>, or the AIS data may also be obtained from the AIS server <NUM>. The client marine vessel <NUM> may also store the correction data <NUM> for future use.

Claim 1:
An apparatus (<NUM>) for analyzing an extent of a marine vessel, comprising:
an AIS transceiver (<NUM>);
one or more processors (<NUM>); and
one or more memories (<NUM>) including computer program code (<NUM>),
the one or more memories (<NUM>) and the computer program code (<NUM>) are configured to, with the one or more processors (<NUM>), cause the apparatus (<NUM>) at least to perform:
obtaining (<NUM>) automatic identification system (AIS) data (<NUM>) transmitted by an AIS transceiver (<NUM>) of a marine vessel (<NUM>) and received by the AIS transceiver (<NUM>), the AIS data (<NUM>) comprising in a static part of the AIS data user-inputted overall dimensions of the marine vessel (<NUM>) and a user-inputted reference (<NUM>) for a position of the marine vessel (<NUM>);
characterized in that the apparatus (<NUM>) comprises one or more sensors (<NUM>, 140A, 140B), wherein the one or more sensors (<NUM>, 140A, 140B) are onboard one or more other marine vessels (<NUM>), and/or onshore (<NUM>), and/or on an offshore platform (<NUM>), and wherein the one or more sensors (<NUM>, 140A, 140B) utilize various technologies comprising one or more of a radar system, a marine radar system, a lidar system, a sonar system, an acoustic detection system, a digital imaging sensor, and wherein the apparatus (<NUM>) is further caused to perform:
determining (<NUM>) a location of the marine vessel (<NUM>) based on a longitude and a latitude of the marine vessel (<NUM>) in a dynamic part of the AIS data (<NUM>);
obtaining (<NUM>), in addition to the AIS data (<NUM>), complementary data (<NUM>) related to the marine vessel (<NUM>), the complementary data (<NUM>) comprising information related to an extent of the marine vessel (<NUM>), wherein the complementary data (<NUM>) comprises sensor data indicating an actual extent of the marine vessel (<NUM>) obtained from the one or more sensors (<NUM>), the extent of the marine vessel (<NUM>) relating to space occupied by the marine vessel (<NUM>), an outline of the marine vessel (<NUM>) or overall dimensions of the marine vessel (<NUM>);
evaluating (<NUM>) the AIS data (<NUM>) in view of the complementary data (<NUM>) comprising the sensor data indicating the actual extent of the marine vessel (<NUM>) in order to generate correction data (<NUM>) related to the extent of the marine vessel (<NUM>); and
determining (<NUM>) an uncertainty area (<NUM>) around the location of the marine vessel (<NUM>) based on the correction data (<NUM>).