A system and method for routing a vessel
The system dynamically allocates vessels based on health status and sea conditions to optimize electric vessel operations, addressing inefficiencies in current allocation methods and promoting sustainable energy practices by ensuring maximum operational readiness and resource utilization.
Patent Information
- Application Number
- PCT/SG2023/050462
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2025-01-02
AI Technical Summary
The allocation of vessels in a fleet for customer orders is currently disorganized, lacking adequate operational considerations, which leads to inefficient resource utilization and operational readiness, particularly for electric vessels with limited battery capacity, necessitating an optimized approach to ensure maximum availability and sustainable energy practices.
A computer-implemented method and system that determines suitable vessel routes based on minimum health status levels, battery capacity, and sea conditions, allocating vessels dynamically to meet demand while optimizing routes and vessel availability, using a route generation server connected to user devices and vessel management systems via a network.
This approach optimizes vessel allocation, ensuring maximum operational readiness and sustainable energy use by efficiently routing vessels based on health status and sea conditions, thereby improving resource utilization and reducing energy consumption.
Smart Images

Figure SG2023050462_02012025_PF_FP_ABST
Abstract
Description
A SYSTEM AND METHOD FOR ROUTING A VESSELTechnical Field
[0001] The present disclosure generally relates to vessels. More particularly, it relates broadly, but not exclusively, to systems and methods for generating routes for an on-demand service.Background
[0002] The following discussion of the background to the invention is intended to facilitate an understanding of the present invention. However, it should be appreciated that the discussion is not an acknowledgment or admission that any of the material referred to was published, known or part of the common general knowledge in any jurisdiction as at the priority date of the application.
[0003] Vessels are an important means of transportation that carry various types of cargo, goods, passengers, and materials from one port to another. With the transition from traditional fuel-powered vessels to electric vessels, electric vessels operate on a limited travelling range due to the smaller power capacity presented by onboard batteries, such as lithium-ion batteries, nickel cadmium batteries, nickel-metal hydride batteries, etc.. To ensure an efficient and safe travel, several factors need to be taken into account to optimize vessel operations in a sustainable manner.
[0004] The allocation of vessels to customer orders in a fleet of commercial vessels is currently being done in a disorganized manner, with operators making random ad- hoc decisions that lack adequate operational considerations. It is imperative to address this issue to optimize resource availability for meeting customer demands, streamline daily operations by minimizing chokepoints, and ensure that the entire vessel fleet is at maximum operational readiness.
[0005] Therefore, the present invention attempts to overcome at least in part some of the aforementioned disadvantages and to provide for an improved approach for addressing the foregoing challenge.Summary of the Invention
[0006] According to various embodiments, there is provided a computer-implemented method for generating a route for a vessel, comprising determining, by a processor, a first route between a pickup location of a user and a waypoint location of a vessel, the pickup location being one that is indicated in an order request including a pickup time, the pickup location and a destination location, determining, by the processor, if a vessel meets a first minimum vessel health status level to complete the first route based on a first vessel speed, determining, by the processor, a second route between the pickup location and the destination location. The method further comprises determining, by the processor, if the vessel meets a second minimum vessel health status level to complete the second route based on a second vessel speed; and allocating, by the processor, the vessel to the order request, wherein a confirmation of the order request is sent to the user device and a vessel device of the vessel.
[0007] In some embodiments, the first minimum vessel health status level and the second minimum vessel health status level include a remaining vessel battery capacity and the condition of the vessel.
[0008] In some embodiments, the second minimum vessel health status level is determined based on the vessel health status level by completing the first route.
[0009] In some embodiments, if the second minimum vessel health status level is not met by completing the second route based on the second vessel speed, allocate a third vessel speed lower than the second vessel speed, and determine, by the processor, if the second minimum vessel health status level is met by completing the second route based on the third vessel speed.
[0010] In some embodiments, if the first minimum vessel health status level is not met by completing the first route based on the first vessel speed, allocate a second vessel that is next closest in proximity to the pickup location of the user.
[0011] In some embodiments, if the second minimum vessel health status level is not met by completing the second route based on the third vessel speed, allocate a fourth vessel speed lower than the third vessel speed, and determine if the second minimum vessel health status level is met by completing the second route based on the fourth vessel speed.
[0012] In some embodiments, if the second minimum vessel health status level of the vessel is not met by completing the second route based on the fourth vessel speed, allocate a second vessel that is next closest in proximity to the pickup location of the user.
[0013] In some embodiments, determining the first route further comprises calculating a first estimated travel time and distance based on the waypoint location of the vessel, weather data and sea state data.
[0014] In some embodiments, determining the first route further comprises allocating the first route with a shortest time or distance based on the first estimated travel time and distance.
[0015] In some embodiments, determining the second route further comprises calculating a second estimated travel time and distance based on the waypoint location of the vessel, weather data and sea state data.
[0016] In some embodiments, determining the second route further comprises allocating a second route with a shortest time or distance based on the second estimated travel time and distance.
[0017] In some embodiments, the pickup location is a predetermined point of interest.
[0018] In some embodiments, determining the first route further comprises: obtaining a predicted weather data of the first route, wherein the predicted weather data includes a weather forecast and a current sea state level; determining if the current sea state level is within a predetermined threshold.
[0019] In some embodiments, determining the second route further comprises: obtaining a predicted weather data of the second route, wherein the predicted weather data includes a weather forecast and a current sea state level; determining if the current sea state level is within a predetermined threshold for the second route.
[0020] In some embodiments, if the current sea state level is not within the predetermined threshold, allocate a second vessel that is next closest in proximity to the pickup location of the user.
[0021] In some embodiments, if the current sea state level is not within the predetermined threshold, allocate a second vessel that is next closest in proximity to the pickup location of the user.
[0022] According to various embodiments, there is provided a system for generating a route for a vessel, the system comprising at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the system at least to: determine, by a processor, a first route between a pickup location of a user and a waypoint location of a vessel, the pickup location being one that is indicated in an order request including a pickup time, the pickup location and a destination location, determine, by the processor, if the vessel meets a first minimum health status level to complete the first route based on a first vessel speed, determine, by the processor, a second route between the pickup location and the destination location, determine, by the processor, if the vessel meets the second minimum health status level to complete the second route based on a second vessel speed; and allocate, by the processor, the vessel to the order request, wherein a confirmation of the order request is sent to the user device and a vessel device of the vessel.
[0023] In some embodiments, the first minimum vessel health status level and the second minimum vessel health status level include a remaining vessel battery capacity and the condition of the vessel.
[0024] In some embodiments, the second minimum vessel health status level is determined based on the vessel health status level for completing the first route.
[0025] In some embodiments, if the second minimum vessel health status level is not met to complete the second route based on the second vessel speed, allocate a third vessel speed lower than the second vessel speed, and determine, by the processor, if the second minimum vessel health status level is met to complete the second route based on the third vessel speed.
[0026] In some embodiments, if the first minimum vessel health status level is not met by completing the first route based on the first vessel speed, allocate a second vessel that is next closest in proximity to the pickup location of the user.
[0027] In some embodiments, if the second minimum vessel health status level is not met by completing the second route based on the third vessel speed, allocate a fourth vessel speed lower than the third vessel speed, and determine if the remaining vessel battery capacity of the vessel is sufficient to complete the second route based on the fourth vessel speed.
[0028] In some embodiments, if the second minimum vessel health status level is not met by completing the second route based on the fourth vessel speed, allocate a second vessel that is next closest in proximity to the pickup location of the user.Brief Description of the Drawings
[0029] In the drawings, like reference characters generally refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. The dimensions of the various features or elements may be arbitrarily expanded or reduced for clarity. In the following description, various embodiments of the invention are described with reference to the following drawings, in which:
[0030] Fig. 1 illustrates a system for generating a route for a vessel in accordance with embodiments of the present invention;
[0031] Fig. 2 illustrates a schematic diagram of a route generation server in accordance with embodiments of the present invention;
[0032] Fig. 3 depicts an example illustration of a flowchart for generating a route for a vessel in accordance with embodiments of the present invention;
[0033] Fig. 4 depicts yet another example illustration of a flowchart for generating a route for a vessel in accordance with embodiments of the present invention;
[0034] Fig. 5 depicts an example illustration of a flowchart for determining a first route for a vessel in accordance with embodiments of the present invention;
[0035] Fig. 6 depicts an example illustration of a flowchart for determining a second route for a vessel in accordance with embodiments of the present invention.Detailed Description
[0036] Reference will now be made in detail to an exemplary embodiment of the present invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the embodiment, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications, and equivalents, which may be included within the spirit and scope of the invention as defined by the appended description. Furthermore, in the following detailed description of embodiments of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the embodiments of the present invention.
[0037] In the specification the term “comprising” shall be understood to have a broad meaning similar to the term “including” and will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps. This definition also applies to variations on the term “comprising” such as “comprise” and “comprises”.
[0038] Embodiments described in the context of one of a server and a method are analogously valid for the other server and method. Similarly, embodiments described in the context of a server are analogously valid for a method, and vice-versa.
[0039] It is to be appreciated the embodiments of this invention as discussed below are preferably a software algorithm, program or code residing on computer useable medium having control logic for enabling execution on a machine having a computer processor. The machine typically includes memory storage configured to provide output from execution of the computer algorithm or program.
[0040] Throughout the description, the term “module” may be understood as an application specific integrated circuit (ASIC), an electronic circuit, a combinational logic circuit, a field programmable gate array (FPGA), a processor which executes code, other suitable hardware components which provide the described functionality, or any combination thereof. The term of “module” may include a memory which stores code executed by the processor.
[0041] Features that are described in the context of an embodiment may correspondingly be applicable to the same or similar features in the other embodiments. Features that are described in the context of an embodiment may correspondingly be applicable to the other embodiments, even if not explicitly described in these other embodiments. Furthermore, additions and / or combinations and / or alternatives as described for a feature in the context of an embodiment may correspondingly be applicable to the same or similar feature in the other embodiments.
[0042] As used herein, the term “software” is meant to be synonymous with any code or program that can be in a processor of a host computer, regardless of whether the implementation is in hardware, firmware or as a software computer product available on a disc, a memory storage device, or for download from a remote machine. The embodiments described herein include such software to implement the equations,relationships and algorithms described. One skilled in the art will appreciate further features and advantages of the invention based on the above -de scribed embodiments.
[0043] As used herein, the term “waypoints” is commonly used for points of interest (POI) in vessel navigation systems. Waypoints are specific geographic coordinates or locations that are programmed into the vessel navigation system to mark important locations, such as harbours, buoys, navigational hazards, or other significant landmarks .Waypoints serve as reference points for route planning and navigation. They can be stored and accessed in a navigation system's database, allowing mariners to plot courses, calculate distances, and navigate along predetermined routes. Waypoints may also contain additional information, such as the name of the location, its characteristics, or any relevant navigational notes. Mariners can use waypoints to create routes, set course lines, and follow specific paths while navigating a vessel. Waypoints help ensure accurate navigation, enhance safety, and facilitate efficient passage planning on waterways.
[0044] Due to development of information technology, a user may request an on- demand service using a computing device. The on-demand service may allow the user to fulfil the user’s demand via an immediate access to booking a marine vessel for transportation from a start point to a destination point. The user may request the on- demand service, such as a ferry service, using a user interface presented on the computing device.
[0045] To achieve the stated features, advantages and objects, the present invention is directed to a route generation system for generating a route for a marine vessel to travel from a start location to a destination location. The advantageous embodiments also provide a method for planning a route for a vessel to travel from a start location to a destination location. The system and method include embodiments that generate routes for a vessel that includes an intermediate location between the start location and the destination location, or on the floor or portions of the floor. The advantageous embodiments of the present invention aim to better utilize resources to meet customerdemands, prevent operational bottlenecks and ensure that a fleet of electric vessels are ready for action with maximum availability and minimal downtime. The present invention aims to address the problem of optimizing electric vessels with limited range due to their smaller power capacity of their lithium-ion batteries. It also aims to promote sustainable energy practices by lowering the total fleet energy consumption for the same business requirements.
[0046] Figure 1 provides a high-level block diagram illustrating an infrastructure of a route generation system 1000 for planning the route of a fleet of vessels in accordance with the embodiments of the present invention. The route generation system 1000 may include, but is not limited to, a route generation server 100, a first database 200, a second database 300, a network 500, a plurality of user devices 600, 700 and a vessel management system 400. The route generation server 100 is connected to the user devices 600, 700 and vessel management system 400 via the communications network 500 (for example, the internet) through respective communication links 510, 520, 530. 540, implementing, for example, internet communications protocols. The user devices 600, 700 may be able to communicate through other communication networks, such as public switched telephone networks (PSTN networks), including mobile cellular communication networks. It should be appreciated that there may be one or more other communication devices similar to user devices 600, 700.
[0047] In some embodiments, the on-demand service may be a vessel booking service allowing a user 601 (also referred to as a “passenger”) to fulfil the user’s demand via an immediate access to a transportation service. The user 601 may request the on- demand service, such as a transport service, using a user interface presented on the computing device 600. The user 601 may make an order for the on-demand service.
[0048] In some embodiments, the network 500 may include, but is not limited to, a Local Area Network (LAN), a Wide Area Network (WAN), a Global Area Network (GAN), or any combination thereof. The network 500 may provide a wiredcommunication, a wireless communication, or a combination of the wired and wireless communication between the route generation server 100 and one or more user devices 600, 700 or vessel management system 400.
[0049] In some embodiments, the user devices 600, 700 may be connectable to the route generation server 100 via the network 500 or through cloud technology. In some embodiments, the user device 600 may be arranged in data or signal communication with the route generation server 100 via the network 500. In some embodiments, the client device 600, 700 may include, but is not limited to, at least one of the following: a mobile phone, a tablet computer, a laptop computer, a desktop computer, a headmounted display and a smart watch. In some embodiments, the user device 600 may be associated with a passenger 601. For example, the user device 600 may belong to a passenger 601, who wishes to book a ride to a destination location via an electric ferry. For example, the user device 700 may belong to a vessel crew 701 who wishes to disembark from a large vessel to a landing point. It may be appreciated that the system 1000 may further include a plurality of user devices 600, 700 each associated with, for example, belonging to, a plurality of different users 601, 701 respectively. It may also be appreciated that the vessel management system 400 may further include components and devices each associated with, for example, belonging to, a vessel.
[0050] In some embodiments, the user devices 600, 700, may include a location sensor. In some embodiments, the location sensor may communicate with at least one of a global positioning satellite (GPS) server, a network server, and a Wi-Fi server, to detect a location of the client devices 600, 700. In some embodiments, the user devices 600, 700 may generate information about the location of the user device 600, 700.
[0051] In some embodiments, the route generation server 100, for example, implemented by a server computer, may include a communication interface 110, a processor 120, and a memory 130 (as will be described in detail with reference to FIG. 2). In some embodiments, the user device 600 may receive a request (hereinafter,referred to as an ‘order’) from the user 601 for the on-demand service. The user device 600 may send the order to the route generation server 100 via the network 500. In some embodiments, the user device 600 may send the information about the location of the user device 600 to the server via the network 500. The location of the user device 600 may be considered a location of the user 601.
[0052] In some embodiments, the route generation server 100 may communicate with the one or more vessel management systems 400 via the network 500. Each vessel management system 400 may be associated with a vessel 401. For example, the vessel 401 is an electric vessel among a fleet or plurality of electric vessels under a vessel operator or a group of vessel operators. The vessel management system 400 is an onboard system that provides information on the vessel for navigation, diagnostics, and maintenance purposes. The vessel 401 may include, but are not limited to a vessel captain, who can provide a transport service from a first location, for example, a location of user 601 to a second location, for example, a destination location of the user. In some embodiments, the user device 600 may receive an input (for example, a completion of a task) from the user 601 on a vessel booking application. The user device 600 may send the input to the server 100 via the network 500. In some embodiments, the user device 600 may send an order together with a timestamp from the user device 600 to the server 100 via the network 500.
[0053] In some embodiments, the route generation server 100 includes a route allocation module 131 and a route evaluator module 132. The route allocation module 131 is used to generate a route for use by a vessel. A vessel is a watercraft that can carry cargo, goods, passengers and / or materials from one port to another port and may include, but is not limited to tankers, bulk carriers, passenger vessels, container vessels, military vessels and other suitable types of vessels. The route evaluator module 132 evaluates the route generated by the route allocation module 131 and determines if the generated route meets predetermined criteria that is based on battery capacity, distance,sea state, weather data. If not, the generated route will be rejected and regenerate another route.
[0054] In some embodiments, the system 1000 may further include, but not limited to, a first database 200 and a second database 300. In some embodiments, the first database 200 and the second database 300 may be separate or part of the database system which may be external to the server 100. The server 100 may communicate with the first and / or second database 200, 300. In some other embodiments, although not shown, the first database 200 and the second database 300 may be implemented locally in the memory 130 of the server 100. In other embodiments, the system includes more than two databases.
[0055] The databases 200,300 may comprise data that is utilized by the route generation server 100 for generating an optimal route. For example, historical data relating to the starting location and destination location may be stored in the databases 200, 300. The historical data may indicate a plurality of waypoints, which may comprise one or more pick up points for the starting location and one or more drop off points for the destination location. The historical data may further indicate location information for each of the one or more pick up points and drop off points. Data relating to user information such as selections during past and present transactions, user preferences, and other similar data may also be stored in the databases 200, 300. Further, data relating to pricing information (e.g. data that is utilized for calculating a price for each route that may be determined by the route generation 100) may also be stored in the database 200, 300. Furthermore, data relating to weather, sea state and vessel fleet may also be stored in the databases 200, 300, separately or together. In other embodiments, other data including operational data such as frequent grounding points, usual route, data such as most frequently used arrivals and common time / date of arrivals, information on pricing and availability of vessels are stored in the databases 200, 300. In an implementation, the databases 200, 300 may be combined with the routegeneration server 100. In an example, the databases 200, 300 may be managed by an external entity.
[0056] In at least some embodiments, the system also includes a transaction processing server which is a server that hosts software application programs for processing payment transactions for a travel coordination request, purchasing of a good or service by a user, and other similar services. The transaction processing server communicates with any other servers for example, the route generation server, concerning processing payment transactions relating to the purchasing of the good or service, such as a travel coordination request (which may be referred to interchangeably as a request for a trip). For example, data relating to a request message such as a request for a trip (e.g. date, time, a starting location, a destination location, and other similar data) may be provided to the route server and processed to locate vessels (e.g. vessel providers) that are in proximity to the starting location. The transaction processing server may use a variety of different protocols and procedures in order to process the payment and / or travel coordination requests.
[0057] Transactions that may be performed via a transaction processing server include product or service purchases, credit purchases, debit transactions, fund transfers, account withdrawals, etc. Transaction processing servers may be configured to process transactions via cash-substitutes, which may include payment cards, letters of credit, checks, payment accounts, etc.
[0058] In at least some embodiments, the transaction processing server is usually managed by a service provider that may be an entity (e.g. a company or organization) which operates to process transaction requests and / or travel coordination requests e.g. pair a provider of a travel co-ordination request to a requestor of the travel coordination request. The transaction processing server may include one or more computing devices that are used for processing transaction requests and / or travel coordination requests.
[0059] Figure 2 illustrates an example illustration of a route generation system for generating a route for a marine vessel according to various embodiments. Overall, the system may have multiple services including a route allocation module 131 to handle determination of routes between a starting location (pick up point) and destination location (or drop off point), a route evaluator module 132 to determine selection of an optimal route, a plurality of external reference databases 200, 300, 210, 310 for input into the route allocation module 131 or route evaluator module, a pricing module (not shown) to compute and determine prices. The system may include a waypoint source 200 such as waypoint data such as waypoint map data from an external data source or from a vessel management system to provide waypoint data and routing information. The system may include weather data 300 that may impact the allocation of the routes generated by the system. The system may include sea state 210 data that may impact the determination and allocation of the routes generated by the system. The system may also include fleet data 310 provided by the vessel operator through a vessel management system. Other data including users’ selections (e.g. input from user devices), user preferences and price saved information (e.g. stored in a pricing information database) may be persisted to a user database (not shown) for reference to ensure that the determination of an optimal route is consistent with preferences indicated by the user.
[0060] Figure 3 depicts an example illustration of a flowchart 800 for generating an optimal route according to various embodiments. At step 801, a first route is determined (e.g. by the route allocation module 131 or the route generation server 100) based on a pickup location indicated in a request for a ride and a waypoint location of a vessel within a vessel fleet operated by a vessel operator. The pickup location may be a current GPS location of the user or a predetermined Point of Interest (POI) such as a ferry terminal, port location, or a waypoint location of vessel out at sea or within vicinity of land. The waypoint location of the vessel may be a current waypoint location of a vessel within proximity or vicinity of the user. The waypoint location of the vessel in real time can be obtained from a vessel management system that operates a fleet of vessels. In some embodiments, the route allocation module will allocate the vessel that has awaypoint location that is closest in distance to the pickup location for determination of the first route. Geographical location data may be from an internal memory of the user module 133 or the route generation server 100, or it may be part of the reference database or other similar forms of data storage. The geographical location database 200 may be configured to store a plurality of all possible pick up points and drop off points, including one or more pick up points that are in proximity to the pickup location. The system can thus query related pick up locations based on pickup locations and the geometric information mentioned above with reference to the geographical location database 200. Geometric indexing technique may be used to build the relationship of the pickup location and candidate pick up points.
[0061] At step 802, the route evaluator module 132 determines if the allocated vessel for the ride request determined in the previous step meets a minimum vessel health status level. This includes having a sufficient vessel battery capacity to complete the first route based on a predetermined first vessel speed. In other embodiments, the route evaluator module 132 determines if the allocated vessel for the ride request determined in the previous step meets a minimum vessel health status level. A vessel health status level provides an indicator of the overall vessel condition of the electric vessel. For example, the vessel health status level can be a quantitative or a qualitative indicator. For example, the vessel heath status level can be characterized as a low, medium or high level to determine the overall vessel condition. For example, the vessel health status level can be graded according to a numerical indicator from one to five where one and / or two does not meet the minimum vessel health status level and only three and above meets the minimum vessel health status level. In other embodiments, if the vessel health status indicates a motor issue, the route evaluator module 132 will determine that vessel health status does not meet the minimum vessel health status level. In other embodiments, the vessel health status is dependent on ambient temperature, vessel maintenance cycle and / or breakdown cycle. For example, if the ambient temperature is too high, the vessel battery and / or the vessel motor may malfunction. In another example, if the vessel motor and other critical vessel equipment are about to reach theirmaintenance cycle or breakdown cycle, this can also affect the vessel health status. In other embodiments, the vessel cooling system, ventilation fan for cooling equipment, fire detection system, fire fighting and lightning protections systems, vessel steering system, are other factors that can affect the vessel health status. If these systems are not performing at an optimal level, it can affect the overall vessel condition. Some consequences include gear-box motor coupling or shock mount issues which may affect vessel steering parts such as the propeller, shaft, rudder etc. If the drag is too high due to excessive barnacles growth on hull, this can cause sub optimal performance of the shipboard digital system.
[0062] Using all the data, and using machine learning techniques based on real-time vessel location data and past historical data of performance of routes, real-time vessel condition including maintenance history or breakdown cycles may be used to determine if the allocated vessel meets the minimum vessel health status level. In some embodiments, the vessel health status level will be graded qualitatively or quantitatively, or a mix of qualitative of quantitative indicators, based on algorithms and machine learning techniques.
[0063] The route evaluator module 132 proposes the best route highlighting points which are prone to grounding and warnings to inform the captain of impeding strong waves or bad weather). In other embodiments, if the route evaluator module 132 detects that vessel can only run for another 8 Nm (nautical miles), it will not allocate trips to the vessel which is within close radius with battery capacity if the vessel can only run for another 5nm before a vessel system failure. If there is insufficient vessel battery capacity or the vessel health status level does not meet the minimum requirement, the route allocator module 131 will then select another suitable vessel in step 801, for example, a vessel that may be located further in distance away from the user. If the allocated vessel meets a first minimum vessel health status level to complete the first route based on the predetermined first vessel speed, for example at a cruising speed of 8 knots, at step 803, a second route is determined (e.g. by the route allocation module 131 or the route generation server 100) based on a pickup location and a destination location indicated in the ride request. An estimated travel time and distance from thepickup location and destination location (i.e. the second route) may be calculated. This may be performed with reference to the route evaluator module or the route allocation module. For example, the route allocation module 131 may be configured to calculate the estimate travel time and distance based on waypoint location data, and real time weather and sea state data. A shortest path technique may be used to obtain an optimal route and the distance on the route, and a machine learning model based on real-time vessel location data may be used to estimate a corresponding travel time for each route.
[0064] At step 804, and similar to step 802, the route evaluator module 133 determines if the allocated vessel for the ride request determined for the second route meets a second minimum vessel health status level to complete the second route based on a predetermined second vessel speed, for example at a travelling speed of 12 knots. The second minimum vessel health status level takes into account of the vessel health status level that was used for completing the first route. For example, if the health status level of the vessel was attributed a level 4 for completing the first route, and the if health status level is attributed a level 3 for completing the second route, the second minimum vessel health status would be met if the second minimum vessel health status is at level 3. If the second minimum vessel health status is not met, the route evaluator module 133 will then select another predetermined third vessel speed, for example, at a travelling speed of 10 knots or a relatively slower speed than the second vessel speed, to determine if the vessel will meet the second minimum vessel health status to complete the second route based on the third vessel speed. If the vessel meets the second minimum vessel health status to complete the second route based on the third vessel speed, the allocated vessel is selected for the ride request and a notification will be sent out to the user and the allocated vessel on the confirmed ride request. If however, the vessel does not meet the second minimum vessel health status to complete the second route based on the third vessel speed, the route allocator module 131 will then select another suitable vessel in step 801, for example, a vessel that may be located further in distance away from the user.
[0065] In some embodiments, the predetermined second vessel speed is set at a travelling speed of 12 knots. In some embodiments, the vessel health status includes the remaining vessel battery capacity of the vessel. The vessel battery capacity or requirement is based on the vessel speed, distance of the first route and the second route and the time taken to complete the first route and the second route as illustrated in Table 1 below. In some embodiments, if there is insufficient remaining vessel battery capacity to complete the second route based on the third vessel speed, the route evaluator module will proceed to step down the travelling speed to a fourth vessel speed, for example, from 10 knots (at a third vessel speed) to a cruising speed of 8 knots (at a fourth vessel speed), and repeat step 804 to determine if the remaining vessel battery capacity is sufficient to complete the second route at the fourth vessel speed (at 8 knots). If the remaining vessel battery capacity is unable to complete the second route based on the cruising speed of the vessel, the route evaluator module 133 will reject the allocated vessel and select another vessel that is the next closest vessel to the pickup location.Table 1
[0066] Figure 4 depicts an example illustration of a flowchart 900 that may be implemented for generating an optimal route according to various embodiments. The flowchart is similar to flowchart 800 with more detailed steps. At step 901, the system receives an order request from a user device that includes order information including a pick up time, a pickup location and a destination location. The pickup location may be a current GPS location of the user or a predetermined Point of Interest (POI) such as a ferry terminal, port location, or a waypoint location of vessel out at sea or within vicinity of land. The waypoint location of the vessel may be a current waypoint location of a vessel within proximity or vicinity of the pickup location.
[0067] At step 902, the route allocation module will allocate the vessel that has a waypoint location that is closest or nearest in radial distance to the pickup location for determination of the first route. At step 903, a first route is determined (e.g. by the route allocation module 131 or the route generation server 100) based on the pickup location indicated in order request and a waypoint location of a vessel within a vessel fleet operated by a vessel operator.
[0068] At step 904, the route evaluator module 133 determines if the allocated vessel for the order request determined in the previous step has sufficient vessel battery capacity to complete the first route based on a predetermined first vessel speed. If there is insufficient vessel battery capacity, the route allocator module 131 will then select another suitable vessel in step 902, for example, a vessel that may be located further in radial distance away from the pickup location. If there is sufficient vessel battery capacity to complete the first route based on the predetermined first vessel speed, at step 905, a second route is determined (e.g. by the route allocation module 131 or the route generation server 100) based on the pickup location and the destination location indicated in the order request. An estimated travel time and distance from the pickup location and destination location (i.e. the second route) may be calculated. In other embodiments, at step 904, the route evaluator module 133 determines if the allocated vessel for the order request determined in the previous step meets a first minimum vessel health status level to complete the first route based on a predetermined vessel speed. If the first minimum vessel health status level is not met, the route allocator module 131 will select another suitable vessel in step 902. If the first minimum vessel health status is met to complete the first route based on the predetermined first vessel speed, at step 905, a second route is determined, for example, by the route allocation module or the route generation server, based on the pickup location and the destination location in the order request. This may be performed with reference to the route evaluator module or the route allocation module. For example, the route allocation module 131 may be configured to calculate the estimate travel time and distance based on waypoint location data, and real time weather and sea state data. A shortest pathtechnique may be used to obtain an optimal route and the distance on the route, and a machine learning techniques based on real-time vessel location data may be used to estimate a corresponding travel time for each route.
[0069] At step 906, and similar to step 904, the route evaluator module 133 determines if the allocated vessel for the order request determined for the second route has sufficient remaining vessel battery capacity to complete the second route based on a predetermined second vessel speed, for example at a travelling speed of 12 knots. The remaining vessel battery capacity is the estimated vessel battery capacity left after the vessel has completed the first route between the initial vessel location and the pickup location. In other embodiments, the route evaluator module determines if the allocated vessel for the order request determined for the second route meets a second minimum vessel health status level taking into account the vessel health status on completion of the first route, to complete the second route based on a predetermined second vessel speed, for example at a travelling speed of 12 knots.
[0070] At step 907, if there is insufficient remaining vessel battery capacity, the route evaluator module 133 will then select another predetermined third vessel speed, for example at a travelling speed of 10 knots, or at a relatively slower speed than the second vessel speed, to determine if there is sufficient remaining vessel battery capacity to complete the second route based on the third vessel speed. The vessel battery capacity is based on the vessel speed, distance of the first route and the second route and the time taken to complete the first route and the second route as illustrated in Table 1 above. In some embodiments, if the remaining vessel battery capacity is at a predetermined threshold level, for example, 30% vessel battery capacity, the route evaluator module 133 will recommend to the user a proposed route to the nearest charging station to charge the vessel battery. The predetermined threshold level is determined beforehand or the route evaluator module 133 will determine the predetermined threshold level based on the remaining vessel battery capacity to return to charging station taking into account the distance from the charging station. The predetermined threshold level canbe a range of between 20% to 40%.. In some embodiments, the route evaluator module 133 will recommend returning to the nearest and / or available charging station if the remaining vessel battery capacity is within a certain range of zero vessel battery capacity. The parameters for recommending return to the charging station is based on location and availability of charging stations , and distance to the nearest available charging station, remaining vessel battery capacity upon completion of all pre-assigned routes.. In some embodiments, if there is insufficient remaining vessel battery capacity to complete the second route based on the third vessel speed, the route evaluator module will proceed to step down the travelling speed to a fourth vessel speed, for example, from 10 knots (at a third vessel speed) to a cruising speed of 8 knots (at a fourth vessel speed), and repeat step 804 to determine if the remaining vessel battery capacity is sufficient to complete the second route at the fourth vessel speed (at 8 knots). If the remaining vessel battery capacity is unable to complete the second route based on the cruising speed of the vessel, the route evaluator module 133 will reject the allocated vessel at step 909 and proceed to step 902 to select another vessel that is the next closest vessel to the pickup location.
[0071] At step 909, if there is sufficient remaining vessel battery capacity to complete the second route based on the third vessel speed, the allocated vessel will then proceed to step 908 and the allocated vessel is selected for the order request and a notification will be sent out to the user and the allocated vessel on the confirmed ride request at step 910. If however, there is insufficient remaining vessel battery capacity to complete the second route based on the third vessel speed, the route allocator module 131 will then proceed to step 902 and select another suitable vessel, for example, a vessel that may be located further in distance away from the pickup location. At step 906, if there is sufficient remaining vessel battery capacity to complete the second route based on the second vessel speed, the allocated vessel is selected for the ride request and a notification will be sent out to the user and the allocated vessel on the confirmed ride request.
[0072] Figure 5 depicts an example illustration of a flowchart 1000 that may be implemented for determining a first route according to various embodiments. The determination of the first route by the route allocation module 131 corresponds to step 903 (in Figure 4) and step 801 (in Figure 3). At step 1001, the route allocation module 131 obtains a current traffic information status of the vessel from external or reference databases or data repositories. In some embodiments, in the case where the pickup location is from a vessel within the vicinity of land, the current waypoint location of a vessel can be obtained from an Automatic Identification System (AIS) provided by Vessel Finder. In some embodiments, the database is the geographical location database 200. In some embodiments, the allocated vessel designated for picking up the user from the pickup location is obtained from a vessel management system that operates and manages a fleet of vessels, and the waypoint location of the vessel is obtained from the vessel management system. In some embodiments, the fleet database 310 is part of the vessel management system. The databases can be updated periodically throughout the day. In some embodiments the databases is updated in real-time or near real-time as new data is made available. The data may be updated from different data repositories, such as the national weather service, traffic data, and the like. At step 1002, and similar to step 903 in Figure 4, a first route is determined (e.g. by the route allocation module 131 or the route generation server 100) based on the pickup location indicated in order request and a waypoint location of a vessel within a vessel fleet operated by a vessel operator.
[0073] At step 1003, the route allocation module 131 proceeds to obtain a predicted weather data of the determined first route. The weather data can be obtained from a real time weather database which is updated periodically throughout the day. The weather data may include the weather forecast, sea state or sea currents, and sea depths. In some embodiments the databases are updated in real-time or near real-time as new data is made available. The data may be updated from other external data repositories, such as the national weather service and the like. At step 1004, the route allocation module determines if a current sea state of the determined first route is within a predeterminedthreshold. The sea state is the general condition of the free surface on a large body of water with respect to wind waves and swell at a certain location and moment. The sea state is characterized by statistics, including the wave height, period, and spectrum. The sea state varies with time, as the wind and swell conditions change. Sea states can have a significant impact on vessel safety. For example, an allowable current sea state of 2 and below is considered to be within the allowable range. For example, a sea state above a predetermined threshold, for example, a sea state above 2, in the form of bad weather can affect a vessel’s safety and performance at sea. An allowable sea state needs to be determined and assessed in the planning phase of operations. If the current sea state is within a predetermined threshold or an allowable sea state, the route allocation module will allocate the first route the vessel at step 1005. If not, the route allocation module will proceed to select the next closest vessel to the pickup location. In some embodiments, the route allocation module 131 will determine the route based on the current sea state, and if the current sea state is within the allowable predetermined threshold but closer to the upper limit, the route allocation module 131 will propose to the captain of the vessel the parts of the first route or second route that are closer to the upper limit of the allowable range. This can be demarcated by using separate colour codes on the route, for example, by using the colour green for the portion of the route on allowable current sea state and the colour red for the portion of the route with allowable current sea state but closer to the upper limit of the allowable current sea state.
[0074] Figure 6 depicts an example illustration of a flowchart 1100 that may be implemented for determining a second route according to various embodiments. The determination of the second route by the route allocation module 131 corresponds to step 905 (in Figure 4) and step 803 (in Figure 3). The determination of the second route by the route allocation module 131 corresponds to step 905 (in Figure 4) and step 803 (in Figure 3). At step 1001, the route allocation module 131 determines a second route based on the shortest distance between the requester location and the destination location. A shortest path technique may be used to obtain the shortest route and thedistance on the route, and a machine learning model based on real-time vessel location data may be used to estimate a corresponding travel time for each route. At step 1102, and similar to step 1003, the route allocation module 131 proceeds to obtain a predicted weather data of the determined second route. The weather data can be obtained from a real time weather database which is updated periodically throughout the day. The weather data may include the weather forecast, sea state or sea currents, and sea depths. In some embodiments the databases are updated in real-time or near real-time as new data is made available. The data may be updated from other external data repositories, such as the national weather service and the like.
[0075] At step 1103, the route allocation module determines if a current sea state of the determined second route is within a predetermined threshold. If the current sea state is within a predetermined threshold or an allowable sea state, the route allocation module will allocate the second route to the vessel at step 1104. If not, the route allocation module will reject the allocated vessel and proceed to select the next closest vessel to the pickup location at step A.
[0076] Any number of search algorithms or methods can be used without departing from the spirit and / or scope of the disclosure, including but not limited to, breadth-first algorithms, depth-first algorithms, best-first algorithms, Djikstra's algorithm, the Hungarian (Munkres) algorithm, the A* algorithm, Traveling Salesman-related algorithms, linear programming algorithms, genetic algorithms and combinations or modifications of the same. Moreover, any number of data structures can be used to implement the algorithms (e.g., graphs, trees, heaps, stacks, queues, priority queues, combinations of the same, and / or the like). One example search algorithm used to generate feasible routes or optimal routes based on a cost function, which can be implemented by the route allocation module or the route evaluator module.
[0077] While the invention has been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit andscope of the invention as defined by the appended claims. The scope of the invention is thus indicated by the appended claims and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced.
Claims
CLAIMS1. A computer-implemented method for generating a route for a vessel, comprising: determining, by a processor, a first route between a pickup location of a user and a waypoint location of a vessel, the pickup location being one that is indicated in an order request including a pickup time, the pickup location and a destination location; determining, by the processor, if a vessel meets a first minimum vessel health status level to complete the first route based on a first vessel speed; determining, by the processor, a second route between the pickup location and the destination location; and determining, by the processor, if the vessel meets a second minimum vessel health status level to complete the second route based on a second vessel speed; and allocating, by the processor, the vessel to the order request, wherein a confirmation of the order request is sent to the user device and a vessel device of the vessel.
2. The method of claim 1, wherein the first minimum vessel health status level and the second minimum vessel health status level include a remaining vessel battery capacity and the condition of the vessel.
3. The method of claim 1 or 2, wherein the second minimum vessel health status level is determined based on the vessel health status level by completing the first route.
4. The method of claim 1, wherein if the second minimum vessel health status level is not met by completing the second route based on the second vessel speed, allocate a third vessel speed lower than the second vessel speed, and;determine, by the processor, if the second minimum vessel health status level is met by completing the second route based on the third vessel speed.
5. The method of claim 1, wherein if the first minimum vessel health status level is not met by completing the first route based on the first vessel speed, allocate a second vessel that is next closest in proximity to the pickup location of the user.
6. The method of claim 2, wherein if the second minimum vessel health status level is not met by completing the second route based on the third vessel speed, allocate a fourth vessel speed lower than the third vessel speed, and determine if the second minimum vessel health status level is met by completing the second route based on the fourth vessel speed.
7. The method of claim 6, wherein if the second minimum vessel health status level of the vessel is not met by completing the second route based on the fourth vessel speed, allocate a second vessel that is next closest in proximity to the pickup location of the user.
8. The method of claim 1, wherein determining the first route further comprises calculating a first estimated travel time and distance based on the waypoint location of the vessel, weather data and sea state data.
9. The method of claim 1, wherein determining the first route further comprises allocating the first route with a shortest time or distance based on the first estimated travel time and distance.
10. The method of claim 1, wherein determining the second route further comprises calculating a second estimated travel time and distance based on the waypoint location of the vessel, weather data and sea state data.
11. The method of claim 1, wherein determining the second route further comprises allocating a second route with a shortest time or distance based on the second estimated travel time and distance.
12. The method of claim 1, wherein the pickup location is a predetermined point of interest.
13. The method of claim 1, wherein determining the first route further comprises: obtaining a predicted weather data of the first route, wherein the predicted weather data includes a weather forecast and a current sea state level; determining if the current sea state level is within a predetermined threshold.
14. The method of claim 1, wherein determining the second route further comprises: obtaining a predicted weather data of the second route, wherein the predicted weather data includes a weather forecast and a current sea state level; determining if the current sea state level is within a predetermined threshold for the second route.
15. The method of claim 11, wherein if the current sea state level is not within the predetermined threshold, allocate a second vessel that is next closest in proximity to the pickup location of the user.
16. The method of claim 12, wherein if the current sea state level is not within the predetermined threshold, allocate a second vessel that is next closest in proximity to the pickup location of the user.
17. A system for generating a route for a vessel, the system comprising: at least one processor; and at least one memory including computer program code;the at least one memory and the computer program code configured to, with the at least one processor, cause the system at least to: determine, by a processor, a first route between a pickup location of a user and a waypoint location of a vessel, the pickup location being one that is indicated in an order request including a pickup time, the pickup location and a destination location; determine, by the processor, if the vessel meets a first minimum health status level to complete the first route based on a first vessel speed; determine, by the processor, a second route between the pickup location and the destination location; and determine, by the processor, if the vessel meets a second minimum health status level to complete the second route based on a second vessel speed; and allocate, by the processor, the vessel to the order request, wherein a confirmation of the order request is sent to the user device and a vessel device of the vessel.
18. The system of claim 17, wherein the first minimum vessel health status level and the second minimum vessel health status level include a remaining vessel battery capacity and the condition of the vessel.
19. The system of claim 17 or 18, wherein the second minimum vessel health status level is determined based on the vessel health status level for completing the first route.
20. The system of claim 17, wherein if the second minimum vessel health status level is not met to complete the second route based on the second vessel speed, allocate a third vessel speed lower than the second vessel speed, and;determine, by the processor, if the second minimum vessel health status level is met to complete the second route based on the third vessel speed.
21. The system of claim 17, wherein if the first minimum vessel health status level is not met by completing the first route based on the first vessel speed, allocate a second vessel that is next closest in proximity to the pickup location of the user.
22. The system of claim 20, wherein if the second minimum vessel health status level is not met by completing the second route based on the third vessel speed, allocate a fourth vessel speed lower than the third vessel speed, and determine if the remaining vessel battery capacity of the vessel is sufficient to complete the second route based on the fourth vessel speed.
23. The system of claim 22, wherein if the second minimum vessel health status level is not met by completing the second route based on the fourth vessel speed, allocate a second vessel that is next closest in proximity to the pickup location of the user.
Citation Information
Patent Citations
Navigation assistance method, navigation assistance device, and navigation assistance program
EP3901580A1
System and method for optimizing fuel usage of a marine vessel
US20210027225A1
Vessel routing system
US9157746B2