Surface vehicle trajectory planning systems, devices, and methods

Information

  • Patent Grant
  • 10019006
  • Patent Number
    10,019,006
  • Date Filed
    Friday, April 8, 2016
    8 years ago
  • Date Issued
    Tuesday, July 10, 2018
    6 years ago
Abstract
A planning module for a water surface vehicle can determine a vehicle trajectory that avoids one or more moving obstacles, such as civilian marine vessels, by performing a lattice-based heuristic search of a state space for the surface vehicle and selecting control action primitives from a predetermined set of control action primitives based on the search. The planning module can separate a travel space into a plurality of regions and can independently scale the control action primitives in each region based on the moving obstacles therein. The heuristic search includes evaluating a cost function at each state of the state space. The cost function can be based on at least predicted movement of the obstacles responsive to respective maneuvers performed by the surface vehicle at each node of the search.
Description
FIELD

The present disclosure generally relates to surface vehicles, and, more particularly, to trajectory planning and control of an autonomous water surface vehicle operating in congested travel spaces.


BACKGROUND

In recent years, unmanned surface vehicles (USVs) have been increasingly used in many marine applications including ocean sampling, maritime search and rescue, hydrologic surveys, harbor surveillance, and defense. USVs have been also used in assisting autonomous underwater vehicles (AUVs) to explore behaviors of marine species, observe coral reefs, search for natural resources. The growing variety and complexity of research and application oriented tasks require unmanned systems to operate fully autonomously over long time horizons, even in environments with significant moving obstacle traffic, for example, manned, commercial, and recreational vehicles (referred to herein as “civilian vehicles” or “CVs”). The complexity of the environments creates significant challenges for autonomous avoidance of CVs by the USVs. For example, the vessels as well as the unmanned systems have different dynamic characteristics depending on their types and dimensions which in turn affects their braking distance and minimum turning radius.


The International Maritime Organization (IMO) has developed a standardized set of rules called the International Regulations for the Prevention of Collisions at Sea (COLREGS), which serves as a guide for selecting avoidance maneuvers. In order to ensure increased operational safety, it is mandatory for all vessels to comply with these rules throughout their missions. The development of long-term autonomy for USVs requires incorporating COLREGS directly into their behavior-based architectures. While attempts have been made to integrate COLREGS into a path planning algorithm for USVs, these approaches can only operate safely in relatively simple scenarios with less civilian traffic. The approaches also assume that each vessel has the same amount of information about the current COLREGS situation and thus it perceives and reacts in the same way, which may not apply in real-world scenarios where each vessel operator may interpret the COLREGS differently, depending upon perception and estimates of the surrounding vessels among other things.


Referring to FIG. 1, an example harbor scenario is illustrated, where a USV 102 enters the harbor from the south channel 106c with the objective of reaching the west channel 106d. Under ideal conditions, each vessel 104a-104d is assumed to follow COLREGS while avoiding its fellow vessels. As per the scenario described in FIG. 1, CV1104a is crossing from the right side and the COLREGS “Rule 15” applies (details on specific COLREGS rules can be found on the U.S. Department of Homeland Security, U.S. Coast Guard, Navigation Center website). In this situation, the USV 102 can either yield to CV1104a (since the vessel 104a has the right of way) by slowing down to a steady state or passing it to the right. Alternatively, the USV 102 can breach the COLREGS by not yielding to CV1104a and CV3104c while moving to the west channel 106d.


If the USV 102 chooses the first option, i.e., to slow down and wait for CV1104a to pass, then it will block the entire south east channel 106c for some time and thus obstruct the way of CV2104b. Thus, both USV 102 and CV2104b will have to wait and try to maintain their existing position, all the while trying to avoid collisions with each other and the surrounding land masses. This may not only be inefficient but also risky, since in a dynamic marine environment it may be a challenge to maintain a position of a vessel because of forces due to winds, ocean waves, and wakes generated by other moving vessels.


On the other hand, if the USV 102 breaches the COLREGS with respect to CV1104a and CV3104c, the intersection of the south 106c and south east 106b channels becomes free for CV2104b to pass. The USV 102 will, however, need to evaluate the collision risk with the vessels (e.g., CV4104d) from the west 106d and north east 106a channels. Although the USV 102 may have the right of way with respect to the vessels 104d from the west channel 106d, the land mass separating the west 106d and south 106c channels may limit visibility so that vessel 104d might not see the USV 102.


As this example illustrates, safe navigation in a highly dense and dynamic environment is a challenging problem. Existing local trajectory planners, which have a limited number of “look-ahead” steps, have been unable to adequately address this problem. While traditional, lattice-based, deliberative planners employ multi-step look-ahead search capability, they require a significant amount of computation to find a global trajectory that optimizes a given performance metric and are thus computationally expensive. As a result, they are unable to achieve the high re-planning rates necessary for safely operating a USV in a congested environment.


Embodiments of the disclosed subject matter may address the above-mentioned problems and limitations, among other things.


SUMMARY

Embodiments of the disclosed subject matter employ a lattice-based 5D trajectory planner for USVs. The planner estimates collision risk and reasons about the availability of contingency maneuvers to counteract unpredictable behaviors of moving obstacles in the travel space, such as manned civilian vessels. The planner also incorporates avoidance behaviors of the vessels into the search for a dynamically feasible trajectory to minimize collision risk. In order to be computationally efficient, it dynamically scales the control action primitives of a trajectory based on the distribution and concentration of moving obstacles in the travel space, while preserving the dynamical feasibility of the primitives.


In one or more embodiments, an operating system can include a planning module configured to determine a trajectory of a surface vehicle. The determined trajectory may avoid one or more moving obstacles in a travel space. The planning module can perform a lattice-based heuristic search of a state space for the surface vehicle and can select control action primitives from a predetermined set of control action primitives for the surface vehicle based on the search. The planning module can partition the travel space into a plurality of regions and can independently scale the control action primitives in each region based on the moving obstacles therein. The heuristic search can include evaluating a cost function at each state of the state space. The cost function can be based on at least predicted movement of the obstacles responsive to respective maneuvers performed by the surface vehicle at each node of the search.


In one or more embodiments, a non-transitory computer-readable storage medium can have a sequence of programmed instructions that a computer processing system of a surface vehicle to perform certain steps. For example, the instructions can cause the computer processing system to separate a travel space for the surface vehicle into a plurality of regions and to independent scale control action primitives in each region based on moving obstacles therein. The instructions can further cause the computer processing system to perform a lattice-based heuristic search of a state space for the surface vehicle in each of the regions and to select a particular control action primitive from a predetermined set of control action primitives based on the heuristic search. The instructions can further cause the computer processing system to iterate the performing and selecting so as to build a determined trajectory for the surface vehicle by concatenating the selected control action primitives. The heuristic search can include evaluating a cost function at each state of the state space, and the cost function can be based on at least predicted movement of the obstacles responsive to respective maneuvers performed by the surface vehicle at each iteration of the search.


In one or more embodiments, a surface vehicle can include at least one actuator and a planning module. The at least one actuator can propel and/or direct the surface vehicle through a travel space. The planning module can determine a trajectory for the surface vehicle that avoids one or more moving obstacles in the travel space. The planning module can perform a lattice-based heuristic search of a state space for the surface vehicle and can select control action primitives from a predetermined set of control action primitives based on the search. The planning module may also separate the travel space into a plurality of regions and can independently scale the control action primitives in each region based on the moving obstacles therein. The heuristic search can include evaluating a cost function at each state of the state space, where the cost function is based on at least predicted movement of the obstacles responsive to the selected control action at each node of the search


Objects and advantages of embodiments of the disclosed subject matter will become apparent from the following description when considered in conjunction with the accompanying drawings.





BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will hereinafter be described with reference to the accompanying drawings, which have not necessarily been drawn to scale. Where applicable, some features may not be illustrated to assist in the illustration and description of underlying features. Throughout the figures, like reference numerals denote like elements.



FIG. 1 illustrates a harbor scenario with a surface vehicle navigating through a travel space with multiple moving obstacles.



FIG. 2 is a simplified schematic diagram illustrating operational features of a surface vehicle, according to one or more embodiments of the disclosed subject matter.



FIG. 3 is a process flow diagram for a method of planning a trajectory for the surface vehicle, according to one or more embodiments of the disclosed subject matter.



FIG. 4A illustrates an example of a partitioned travel space and corresponding control action primitives in each region of the travel space, according to one or more embodiments of the disclosed subject matter.



FIG. 4B illustrates an example of a partitioned travel space with varying levels of congestion in the different regions, according to one or more embodiments of the disclosed subject matter.



FIG. 4C illustrates another example of a partitioned travel space, according to one or more embodiments of the disclosed subject matter.



FIG. 5 illustrates an example of trajectory planning in a scenario with three moving obstacles, according to one or more embodiments of the disclosed subject matter.



FIG. 6 illustrates an arrangement of obstacles and trajectory goals for a simulation scenario of a trajectory planning method, according to one or more embodiments of the disclosed subject matter.



FIGS. 7A-7B are graphs illustrating, respectively, a set (uc,d) of control action primitives for a surface vehicle and a set (ue,d) of contingency control action primitives for the surface vehicle at different initial surge speeds.



FIG. 8 illustrates aspects of a computation for a congestion metric used in simulation studies of a trajectory planning method, according to one or more embodiments of the disclosed subject matter.



FIG. 9 is a graph of percentage reduction in the number of collisions recorded per 1000 boat lengths traveled by the surface vehicle, as compared to a velocity-obstacle-based planner, versus degree of congestion for different trajectory planning algorithms.



FIG. 10 is a graph of percentage additional time traveled by the surface vehicle as compared to a zero-congestion scenario versus degree of congestion for different trajectory planning algorithms.



FIG. 11 is a graph of percentage additional distance traveled by the surface vehicle as compared to a zero-congestion scenario versus degree of congestion for different trajectory planning algorithms.





DETAILED DESCRIPTION

Presented herein are systems, devices, and methods employing an adaptive, risk and contingency-aware trajectory planning algorithm (A-RCAP), which dynamically scales control action primitives based on estimated spatio-temporal complexity of the local workspace around each state being expanded during the search for a trajectory. This spatio-temporal complexity depends on the distribution and concentration of moving obstacles (e.g., civilian vessels) and their future predicted trajectories. It also depends on the history of spatio-temporal complexity of the states along a trajectory leading to the local workspace. The planning algorithm estimates the complexity of each region around the USV by actively probing the state space during the search. It then dynamically scales the control action primitives while preserving their dynamical feasibility. As explained in further detail below, dividing the workspace into several regions allows the planning algorithm to independently scale the primitives, thereby significantly improving the computational performance of the planner.


The disclosed A-RCAP algorithm integrates a lattice-based, risk and contingency-aware planner (RCAP) that searches for trajectories in a 5D state space and reasons about the collision risk and availability of contingency maneuvers, as discussed in further detail below. In a real-world scenario, it can be difficult to accurately predict the motion of obstacles, especially since that motion may be dependent upon the trajectory pursued by the USV. The RCAP algorithm can model dynamic obstacles as intelligent decision making agents, in particular, by predicting the motion of the obstacle in response to avoidance maneuvers performed by the USV at each node during the search for a trajectory.


Incorporating the knowledge of avoidance behaviors of moving obstacles (e.g., civilian vessels) into trajectory planning allows for the determination of safer trajectories in complex and congested scenes. By integrating contingency maneuvers into a trajectory, the collision rate of the USV can be significantly reduced with the moving obstacles that may breach COLREGS or behave unpredictably in general. Moreover, in congested scenarios, the safety of the USV and/or moving obstacles cannot be guaranteed by following the rules of the COLREGS. Accordingly, the RCAP algorithm incorporates the rules of the COLREGS directly into the cost function, thereby allowing the planner to breach COLREGS as needed to maximize, or at least increase, overall operational safety.


Embodiments of the disclosed subject matter, including systems, methods, and devices employing the disclosed algorithms, can significantly reduce the number of collisions as compared to state-of-the-art local Velocity Obstacles (VO) planners. Moreover, the capability of dynamic scaling of control action primitives during the search for a trajectory yields a significant reduction in the number of states expanded and thus improved computational performance, thereby leading to more frequent replanning cycles over existing computer hardware as compared to existing lattice-based planners. The greater replanning frequency can also provide shorter trajectories with smaller execution times as compared to VO planners.


Referring to FIG. 2, a simplified schematic diagram of a surface vehicle 102 is shown. The surface vehicle 102 can include, among other things, an actuation system 202 and an operating system 204. The actuation system 202 can include one or more components for effecting motion of the surface vehicle 102. For example, the actuation system 202 can include one or more actuators, such as a propeller or other propulsion system, for generating motion of the surface vehicle 102. The actuation system 202 can further include one or more actuators, such as a rudder or other steering component, for directing the surface vehicle 102 along the surface of a marine travel space.


The surface vehicle 102 can include a perception module 206, which includes one or more sensors 208 and/or receives information from one or more separate sensors (not shown). The perception module 206 can use the information from sensors 208 to estimate a state of the surface vehicle 102 as well as stationary and moving obstacles in the travel space. The perception module 206 can output the current state of the surface vehicle 102 and/or states of the obstacles in travel space to the planning module 210.


The planning module 210 can determine a trajectory for the surface vehicle based on the information from the perception module 206 in order to avoid the obstacles in the travel space. In particular, using the current state information, the planning module 210 can perform a lattice-based heuristic search of the state space, including evaluating a cost function at each state of the state space. The cost function is based on at least predicted movement of the obstacles in the travel space as they respond to the selected control action of the surface vehicle 102 at each node of the search. In this manner the planning module 210 can take into account changes in the travel space in determining an optimal trajectory.


The planning module 210 further determines the optimal trajectory by separating the travel space into a plurality of regions, and then independently scaling the control action primitives based on obstacle congestion in each region. The planning module 210 can then select an optimal control action primitive from a predetermined library for each node of the search. In this manner the planning module 210 can determine an optimal trajectory (formed by joining the selected control action primitive at each time step) in a shorter amount of time. Once completed, the planning module 210 can receive new state space information from the perception module 206 and replan the trajectory to take account for any changes in the travel space during the time required to determine the last trajectory.


The planning module 210 can output the determined trajectory to control module 212. Based on the trajectory information, the control module 212 can determine the necessary changes or effects of the actuation system in order to follow the determined trajectory. The control module 212 can then issue appropriate actuator commands to the actuation system 202, taking into account the dynamics and control aspects of the actuation system 202.


As illustrated in FIG. 2, the control module 212, the perception module 206, and the planning module 210 can form the operating system 204. However, it is also possible for one or more modules of the operating system 204 to be embodied as a separate system or omitted. For example, in some embodiments, the perception module 206 may be omitted if the surface vehicle 102 otherwise receives state space information from a sensor system, such as another surface vehicle, a command and control center, or independent sensor systems (such as buoys or other port management sensors).


Referring to FIG. 3, general aspects of a method for trajectory planning are shown. Additional details regarding the method beyond those explicitly discussed for FIG. 3 can be found in the more detailed discussion following below. In one or more embodiments, the method illustrated in FIG. 3 may be performed by the planning module 210 of the surface vehicle 102 in FIG. 2.


Initially, one or more parameters of the trajectory planning algorithm can be initialized, for example, via input at 304. Such parameters include, but are not limited to, user preference parameters, COLREGS related parameters, computational speed parameters, control action scaling parameters, etc. These parameters can be entered into a computer system performing the trajectory planning, for example, by input via a user interface, such as a graphical user interface, or by direct incorporation into hardware or software of the computer system at the time of manufacture or installation.


The trajectory planning algorithm can further be provided with a library of control action primitives 306 from which to select in determining an optimal trajectory. The library may be based on the dynamical characteristics and mission of the particular surface vehicle. As such, the library may be input with other user initialized information or otherwise provided to the system at 304.


The trajectory planning algorithm further takes into account current state space information of the surface vehicle and obstacles within a travel space of the surface vehicle at 308. The state information may be provided, for example, via perception module 206 of surface vehicle 102 in FIG. 2 and/or via other sensor systems. Using the state information, the trajectory planning algorithm at 310 separates the travel space into separate regions and analyzes the congestion of moving obstacles in each region. Based on the congestion in each region, the trajectory planning algorithm at 312 can independently scale control action primitives in each region to account for the congestion. For example, in regions where the congestion is relatively higher or more dangerous (i.e., more likely to result in a collision), the control action primitives may be scaled back, thereby requiring more iterations to reach a desired goal state. In contrast, in regions where the congestion is relatively lower or less dangerous, the control action primitives may be scaled up, thereby requiring fewer iterations to reach the desired goal state.


After the scaling at 312, the trajectory planning algorithm can evaluate a cost function at each state of the state space. The cost function can be based on at least predicted movement of obstacles in the travel space as they respond to the control action of the surface vehicle. Based on the cost function evaluation, a control action primitive that is best suited for that particular time step and state is selected at 316. If a prior control action primitive was selected in a previous step, then it can be combined with the current selection at 318. Repeating the cycle from 310 to 320 can yield a fully planned trajectory from current state to goal state that is composed of individual control action primitives from each time step coupled together. Optionally, the cycle can be repeated from 314 to 320 to avoid having to re-segregate the travel space and scale control action primitives, which may increase processing speed.


At 322, the trajectory planning algorithm can output the planned trajectory, for example, to control module 212 for use in controlling the surface vehicle 102 in FIG. 2. Once a cycle 310-312 is completed, the trajectory planning algorithm can engage in replanning, for example, to take into account any changes in the travel space that may affect the previously determined trajectory. Thus, at 324, the process can repeat with a reacquisition of state information 308 and searching of the state space (e.g., via steps 310-320) to build a new trajectory. Otherwise, at 324, the process may proceed to termination, for example, if no further obstacles are within the travel space or if the surface vehicle has reached its goal state.


Presented below is a detailed discussion of exemplary algorithms and simulation results that illustrate an application of embodiments of the disclosed subject matter. Although specific details and configurations are discussed, embodiments of the disclosed subject matter are not so limited. Rather, other details and configurations beyond those specified will be apparent to one of ordinary skill in the art and are covered by the present disclosure.


As used herein, χ=χη×χv×custom character is a continuous state space of the USV 102 that has states x=[ηT, vT, t]T. Here, η=[x, y, ψ]T∈χηcustom character2×custom character1 is the USV's pose and v=[u, v, r]T∈χv custom character3 is its velocity composed from the surge u, sway v, and angular r speeds about the z-axis in the North-East-Down (NED) coordinate system, and t∈custom character is time. A lower dimensional, discrete 5D version of this space is defined as S. Each state s=[x, y, ψ, u, t]T∈S includes position, orientation, surge speed, and time state variables.


As used herein, custom characterc(xU)⊂custom character×custom character1 is a continuous, state-dependent, control action space of the USV 102 in which each control action uc=[ud, ψd]T includes the desired surge speed ud and heading ψd variables. A discrete version of this set is defined as custom characterc,d(sU). Each discrete control action in custom characterc,d(sU) is defined as uc,d.


As used herein, custom charactere(xU)⊂custom characterc(xU) is a set of contingency maneuvers. A discrete version of this subset is defined as custom charactere,d(sU) which allows the computation requirements to be kept within given bounds. Each discrete control action in custom charactere,d(sU) is defined as ue,d.


As used herein, {dot over (x)}U=fU(xU,uh) is a 3 degree of freedom (DOF) dynamic model of the USV. The simulation model of the vehicle includes actuators that produce thrust and moment by taking uh as the control input, which is determined by the controller hU(xU,uc, PU), where PU is the set of its parameters.


As used herein, B={bl}l=1L is a set of all the moving obstacles (e.g., civilian vessels), where bl represents a single moving obstacle and L is the total number of moving obstacles in the travel space. χbl denotes the continuous state space of a moving obstacle bl. The estimated state of bl is given as xbl∈χbl. The geometric region (e.g., travel space) occupied by all the moving obstacles is defined as custom characterB=∪l=1Lb(xbl)⊂custom character2. Similarly, the geometric region occupied by static obstacles is defined as custom characterS=∪k=1Kos,kcustom character2.


As used herein,






m


(


x
U

,
B
,


{

x

b
l


}


l
=
1

L

,


{

O
l

}


l
=
1

L

,

𝒪
s


)






is an intention model that is used to estimate future trajectories of the moving obstacles, where {Ol}l=1L are history states of the moving obstacles.


The continuous state space χ is discretized into a lower-dimensional 5D state space S. Each state s=[x, y, ψ, u, t]T includes the position, orientation, surge speed, and time state variables. The continuous control action space custom characterc(x) is discretized into a discrete control action set custom characterc,d(s) that includes control actions that allow dynamically feasible transitions between adjacent states in S. A discrete control action uc,d=[ud, ψd]Tcustom characterc,d(s) is defined as a combination of the desired surge speed ud and heading ψd of the USV.


For planning purposes, the discrete control actions are mapped to motion primitives {[x, y, ψ, t]T}i=1Lk of desired poses and arrival times of the USV. A 3 degree of freedom system model of the USV was used to generate the motion primitives. The continuity of a trajectory is retained by selecting the final state of each motion primitive in the center of its respective state space cube.


A discrete contingency control action set can be designed as custom charactere,d(s)⊂custom characterc(xU), which includes extreme input values of the surge speed and heading state variables, i.e., ud,min, ud,max, −ψd,max, ψd,0, ψd,max. This contingency control action primitive set is used to determine the overall safety of the USV's trajectory. In particular, the planner incorporates the collision probability of executing the contingency maneuvers into the evaluation of the overall collision probability of the trajectory, as discussed in further detail below. The contingency maneuvers are a part of the nominal trajectory and can be executed in response to any of the moving obstacles breaching COLREGS.


The designed state-action space enables efficient discrete searching. It captures the USV's differential constraints and thus ensures computation of smooth and dynamically feasible trajectories. A user can define the resolution of the state-action space depending upon the complexity of the scene and the dynamic characteristics of the USV.


Given, (1) a continuous state space χ of the environment, (2) the initial state xU,I of the USV, (3) the desired final state xU,G of the USV, (4) a 3 degree of freedom dynamic model fU of the USV, (5) static obstacle regions custom characterS, (6) estimated states







{

x

b
l


}


l
=
1

L





of moving obstacles B (e.g., civilian vehicles), (7) the geometric regions custom characterB occupied by the USV and moving obstacles, and (8) the intention model m along with a classifier c for predicting future trajectories of the moving obstacles, the task is to compute a collision-free, dynamically feasible trajectory τ:[0,T]→χ such that τ(0)=xU,I, τ(T)=xU,G and such that its cost is minimized.


Each state xU(t) along τ thus belongs to the free state space χfree=χ\χobs={xU(t)|U(ηU(t))∩custom character(t)=Ø} for t∈[0,T], where custom character(t)=custom characterScustom characterB(t) and U(ηU(t))⊆custom character2 is a region occupied by the USV at ηU(t). Moving obstacles were assumed to follow COLREGS unless the classifier c(bl, Ol) reported otherwise. Moreover, it was assumed that the USV uses a Kalman filter to estimate its own state and that the states of moving obstacles are either provided through radio communication or estimated using Kalman-filtered sensor information acquired by the USV. Of course, embodiments of the disclosed subject matter are not limited to the above assumptions, and deviations from the above assumptions are also possible according to one or more contemplated embodiments.


The deliberative risk and contingency-aware trajectory planner (RCAP) searches in a 5D state space to compute a low risk, dynamically feasible trajectory τ:[0,T]→χ from the initial state xU,I to the goal state xU,G. The entire trajectory τ is computed by concatenating action primitives from custom characterc,d. The primitives are designed using system identified dynamics model of the USV, and thus guaranteeing the dynamical feasibility of τ. The planner is based on the lattice-based A* heuristic search.


The cost function used during the search for a trajectory τ is given by f(s′)=g(s′)+∈h(s′), where g(s′) is cost-to-come, h(s′) is the cost-to-go, and ∈ is the parameter for balancing the computational speed of the search and the optimality of the trajectory. The expected cost-to-come from the initial state sI and the current state under evaluation s′ is given by:












g


(

s


)


=


g


(
s
)


+


p
s



(


c

g
,

s





c

g
,
max



)




,
and








c

g
,

s




=



(

1
-

p

c
,

s



n


)



c

s




+


p

c
,

s



n



(



(

1
-

p

c
,

s



e


)



c
e


+


p

c
,

s



e



c

e
,
c




)








(
1
)








where s is the predecessor state and s′ is the current state under evaluation. The probability of success to reach the state s from the initial state sI without any collision over K trajectory segments is given by psk=1K 1−pc,sk, where pc,sk is the collision probability of transition between two consecutive states sk and sk+1, described in further detail below. The transition cost between s and s′ by using control action uc,d is given by








c

s



=



ω
n



(




ω
c



t

s
,

s






t
max


+



(

1
-

ω
c


)



d

s
,

s






d
max



)


+

c


COLREGS




,





where ωn and ωc are user-specified weights, ts,s′ is the execution time, ds,s′ is the length of the control action, and custom character is the penalty for the state s′ being in a COLREGS-breach region, as described in further detail below. The cost of executing emergency contingent action uc,e is given by ce and the cost of collision during the execution of contingency action is ce,c. The user defined cost weights follow the order cs′<ce<ce,c, such that the maximum value which cg,s′ can take is equal to cg,max=ce,c, when pc,s′n=pc,s′e=1. The cost-to-go from the current state s′ to the final goal state sG is the weighted sum of the heuristic time estimate and distance required by the USV to reach sG, and is given by h(s′)=ωc(ts′,sG/tmax)+(1−ωc)(ds′,sG/dmax).


Evaluation of each state employs calculation of several types of collision probabilities during the search for a trajectory τ:

    • (i) pc,s′n is the probability of collision when executing a control action uc,d from s to reach its neighboring state s′. It is calculated by taking a weighted sum of pc,s′,U (see (ii) below) and pc,s′,B ((see (iii) below), and is given by pc,s′n=








p

c
,

s



n

=


e


-
Υ







t


s
I


,
s







(



(

1
-

ω

c
,
U
,
B



)



p

c
,

s


,
U



+


ω

c
,
U
,
B




p

c
,

s


,
B




)



,





((1−ωc,U,B)pc,s′,Uc,U,Bpc,s′,B), where Υ≥0 is a discount factor and tsI, s is the total traversal time of the USV to arrive at the current state s being expanded from the initial state sI.

    • (ii) pc,s′,U is the probability of collision of the USV with moving obstacles B. pc,s′,U,bl=∫custom characterpbl,t(x,y; μbl,t, Σbl,t)dxdy is the probability of collision of the USV with the moving obstacle bl, where custom character={[xbl,t, ybl,t]T|bl(xbl,t, ybl,t)∩U(ηUT(t))≠Ø} is the set of all locations at which the moving obstacle bl may collide with the USV at time t. The geometric regions occupied by the moving obstacle bl and the USV are given by U(ηUT(t)) and bl(xbl,t, ybl,t), respectively. Finally, μbl,t and Σbl,t are the mean and the covariance matrix of the uncertainty in the position of moving obstacle bl at time t (see further description below). Then, the collision probability with respect to all moving obstacles is given by pc,s′,U=1−Πl=1L(1−pc,s′,U,bl).
    • (iii) pc,s′,B is the probability of collision among the moving obstacles themselves, the computing of which, when the moving obstacles are normally distributed, can be a computationally demanding task. In order to maintain the efficiency of the search, the collision probabilities can be precomputed, for example, computing pc,s′,bi,bj of the moving obstacles bi and bj by sampling their bivariate Gaussian probability densities. More specifically, if the distance between the two sampled positions of the moving obstacles is less than a user-specified distance threshold dc,min, then the moving obstacles are considered to collide. The user-specified threshold dc,min can be estimated based on the size and profile of the moving obstacles. The collision probability pc,s′,bi,bj can then be calculated by taking the ratio of the number of samples that resulted in collision to the total number of samples. The calculated look-up table outputs the probability pc,s′,bi,bj given the input discrete values of variances σx,i2, σy,i2 (see Equation 2 below) of the Gaussian probability density function of bi, discrete values of variances σx,j2, σy,j2 of the Gaussian probability density function of bj, the relative mean position xj, yj of bj with respect to bi, and the relative mean heading ψbj. The probability of collision is then calculated as pc,s′,B=maxbi∈B,bj∈B,i≠jpc,s′,i,j.
    • (iv) pc,s′e, is the probability of collision of a contingency control action primitive uc,e when transitioning between the state s to the contingency state s′. It is calculated as pc,s′e=micustom charactere,dpc,s′,ie, where custom charactere,d is the discrete set of contingency control action primitives, and pc,s′,ie is calculated in the same manner as pc,s′,U.


Each candidate USV's state s is evaluated for compliance with COLREGS with respect to all moving obstacles during the search for a trajectory. For example, it can be determined whether the USV at the state s is on a collision course with any of the moving obstacles by evaluating through the conditions dCPA<dCPA,min and tCPA<tCPA,max. The closest distance between a moving obstacle and the USV when it follows its planned trajectory for a given time horizon is regarded as the closest point of approach (CPA). The computed distance from the current USV's state s to CPA is termed as the distance to CPA, dCPA, and the time to reach CPA at planned surge speed is termed as the time to CPA, tCPA. The user-specified distance dCPA,min and time tCPA,max thresholds can be selected based on the minimum turning radius, maximum surge speed, and/or acceleration of the USV.


If the above stated primary conditions hold true, the planner of the USV can determine the appropriate rule or rules of the COLREGS that apply, such as, for example, the “head-on” (rule 14), “crossing from right” (rule 15), or “overtaking” (rule 13). If the USV's state s is in a situation where a COLREGS rule may apply, the planner can evaluate the state s for compliance with respect to the appropriate rule. For example, ηU(t) and ηU(t0) are the poses of the USV at s and its parent state s0, respectively; t is the actual transition time between the states; ηb(t) is the pose of the moving obstacle at time t; {circumflex over (n)}U,b=[nU,b,x, nU,b,y]T is a unit vector in a direction between ηU(t0) and ηb(t); and {circumflex over (n)}U,t0,t is a unit vector in a direction between ηU (t0) and ηU (t). Then, the state s is COLREGS-compliant with respect to a moving obstacle bl if ([−nU,b,y,nU,b,x]T·{circumflex over (n)}U,t0,t)>0 (i.e., s is in the right half-plane between ηU(t0) and ηb(t)).


As discussed above, moving obstacles (e.g., civilian vessels) are considered to be intelligent decision making agents. The planning algorithm thus accounts for reciprocal avoidance maneuvers performed by the moving obstacles. It also considers variations in avoidance maneuvers due to different driving styles and intentions of operators of the moving obstacles. For example, some operators might be more conservative and COLREGS compliant, while others might demonstrate risky, COLREGS-breaching behaviors. The disclosed planner includes an intention motion model that estimates the future trajectories of the moving obstacles given their current and past states, dimensions, estimated goals, and the knowledge of static obstacle regions.


The intention motion model aspect of the planner includes one or more of the following three components:

    • (i) Classifier c(bl, Ol): Each moving obstacle bl is classified as compliant or breaching with respect to the COLREGS based on the observation history of its past states Ol={xbl(t), xbl(t−1), . . . , xbl(t−Δt)}.
    • (ii) Motion prediction model






m


(


x
U

,
B
,


{

X

b
l


}


l
=
1

L

,


{

O
l

}


l
=
1

L

,

𝒪
S


)







    •  The inputs to the model are the current state xU of the USV, the set of moving obstacles B together with their characteristics (e.g., their dimensions), the current and past states {xbl}l=1L of the moving obstacles, respectively, and the geometric region custom characterS occupied by static obstacles. The outputs of the model include, for example, estimated future trajectories τbl:[0,Tbl]→χx,y for each vessel bl∈B, where χx,y⊂χ represents the position subset of the entire state space χ, and Tbl is the time horizon. In embodiments, the prediction model can be assumed to have a priori knowledge of local goals of all the moving obstacles (e.g., by estimating their mission goals based on historical trajectory, via radio communication between the obstacles and other obstacles or the USV, or other means). In addition, the motion prediction model can utilize a classifier c(bl; Ol) to determine whether a vessel follows COLREGS based on the history of its states. The prediction model for each of the moving obstacles can incorporate the reactive obstacle avoidance component that is used to avoid the USV as well as any other moving obstacle present in the environment.

    • (iii) Distribution of position uncertainty of a moving obstacle along its predicted trajectory: The uncertainty of a moving obstacle bl deviating from its estimated trajectory τbl:[0,Tbl]→χx,y using a bivariate normal distribution for different time slices t along the trajectory. The mean of the USV's positions along the trajectory is defined as μbl,tcustom character2. The corresponding covariance matrix that captures the deviations of the vessel from this trajectory at time t is given by Σbl,tcustom character2×2. Initially, the variances of x and y coordinates increase with time as the moving obstacle deviates from its planned trajectory. Later, the variances remain the same or decrease as the moving obstacle approaches its intended goal location. Monte Carlo simulations were performed to estimate Σbl,t for a scene with a given number of moving obstacles. The deviation of the moving obstacle bl from a trajectory τbl along the x and y coordinates at discrete time intervals t was recorded, and the trajectory was estimated using the motion prediction model. The covariance matrix Σbl,t was then calculated with respect to t. A polynomial regression was performed to fit a two degree polynomial αΣ(t)=α1t22t+α3 to the deviation for both of the coordinates. The actual covariance matrix for continuous time t is given by:
















b
l

,
t







[



c



-
s





s


c



]


-
1




[





α



,
x





(
t
)




0




0




α



,
y





(
t
)





]




[



c



-
s





s


c



]






(
2
)









    •  where c stands for cos(ψbl), s stands for sin(ψbl) and αΣ,x(t) and αΣ,y(t) are variances for the x and y coordinates, respectively.





The RCAP algorithm is based on the lattice-based A* heuristic search. During the search, each state s is evaluated using the cost function described above, which assigns a cost to each state based on the collision risk, compliance with COLREGS, and availability of contingency maneuvers with respect to the moving obstacles. Moreover, the RCAP algorithm considers the reciprocal behaviors of the moving obstacles in the USV's future expanded state s. In particular, the planner employs the motion prediction model






m


(

s
,
B
,


{

x

b
l


}


l
=
1

L

,


{

O
l

}


l
=
1

L

,

𝒪
S


)






to determine the desired action the moving obstacles B will pursue with respect to the current discrete state of the USV and its control action uc,dcustom characterc,d. The future state of each moving obstacle bl∈B is determined by forward simulating it for the execution time of uc,d. The uncertainty in the state of the moving obstacles is determined by performing a Monte Carlo simulation as described above.


The search for a risk and contingency-aware, dynamically feasible trajectory in a complex 5D state space is computationally expensive, which significantly reduces the replanning frequency. Thus, according to embodiments of the disclosed subject matter, an adaptive risk and contingency-aware planner (A-RCAP) is used. The A-RCAP dynamically scales control action primitives to speed up the search and thus significantly reduce the computational requirements. The algorithm takes advantage of the fact that dense sampling is needed only in regions with a high number of moving obstacles, where it is desirable to use high-fidelity maneuvers to minimize, or at least reduce, the execution time of a trajectory and/or probability of collision. In addition, the A-RCAP planner saves a considerable amount of computational effort by sparsely sampling the regions with low or no congestion. Thus, dynamic adaptation of the execution time of action primitives during the search substantially increases the efficiency of the planner, without sacrificing the quality of a computed trajectory.


The A-RCAP algorithm uses an estimation of spatio-temporal complexity of sub-regions of the surrounding workspace of each expanded state s during the search. The spatio-temporal complexity is determined using the collision probability pc,s′,U of each control action primitive uc,dcustom characterc,d emanating from state s. It also depends on the spatio-temporal complexity of past states along a trajectory leading to state s.


The workspace around the current state s can be divided, for example, into a left region 402L, a front region 402F, and a right region 402R, as shown in FIG. 4A. custom characterc,d,l(s) (e.g., primitives 408a-408c), custom characterc,d,f(s) (e.g., primitives 408g-408i), and custom characterc,d,r(s) (e.g., primitives 408e-408f) are the subsets of the set of discrete control action primitives custom characterc,d(s) used by the USV 102. The spatio-temporal complexity for the left region is given by λl=macustom characterc,dpc,s′,U. The spatio-temporal complexity values λf and λr for the front and the right workspace regions, respectively, can be similarly determined. The resulting spatio-temporal complexity values are between 0 and 1, where 0 signifies minimum complexity and 1 signifies maximum complexity. The measure of the spatio-temporal complexity provides an estimation of the risk of collision when executing a control action primitive from the USV's state s in each region.


Other methodologies for demarcating the travel space into separate regions for control action primitive scaling beyond those illustrated in FIG. 4A are also possible according to one or more contemplated embodiments. For example, instead of dividing the travel space into left, right, and front regions based on polar coordinates, the planner can divide the travel space 470 in a plurality of regions 470a-470j based on rectangular coordinates. Moreover, although FIGS. 4A-4C show the separate regions to be substantially equal to each other in terms of area, embodiments of the disclosed subject matter are not so limited. Indeed, the planner can divide the travel space into unequal areas for control action primitive scaling, for example, based on actual or anticipated congestion, according to one or more contemplated embodiments.


The adaptive sampling of the state space is achieved by time scaling of individual control action primitives in their corresponding subsets custom characterc,d,l(s), custom characterc,d,f(s), and custom characterc,d,r(s). Let ml, mf, mr∈Mu be the multipliers used for scaling the control action primitives in the left, front, and right region, respectively. The multipliers are computed by Algorithm 2 (see Table 2) using the estimated collision probabilities λl, λf, and λr. The multiplier values of states that are successors of s are computed using the multiplier values of that state.


The partitioning of the workspace into the separate regions (e.g., three regions as shown in FIG. 4A or otherwise) around s allows the planner to independently scale the primitives in their corresponding subsets. In other words, the spatio-temporal complexity of one region will not affect the time scaling of primitives in other regions.


For example, as the algorithm advances the search tree through the state space, the USV 102 might encounter heavy traffic from moving obstacles 452 in regions 450d-450f on its left and almost zero traffic from moving obstacles 452 in regions 450a-450c on its right (see FIG. 4B) in one of the states of the search tree. In such a situation, the algorithm increases the multiplier value mr of the right region (e.g., region 450a, 450b, and/or 450c) and reduces the multiplier value ml of the left region (e.g., regions 450d, 450e, and/or 450f). Thus, the control primitives in the right regions will be expanded and those in the left regions will be contracted.


In addition, there may be a situation during the search in which all of the possible action primitives expanded using the scaling multipliers mlmf, mr∈Mu lead to a collision from a given state s (i.e., λl, λf, and λr are close to 1). This may occur, for example, when transitioning from states in regions with a low spatio-temporal complexity to states in regions with a high spatio-temporal complexity.


In such circumstances, the algorithm can reconsider the same state s (that is already in the closed set) by adding it to the priority queue (i.e., to the open set) and reduce all scaling multipliers ml, mf, mr∈Mu a predetermined amount, e.g., by half. The state can then be reevaluated using the reduced control action primitives in each region. If the value of all the spatio-temporal complexity parameters (λl, λf, and λr) remains close to 1, then the algorithm may adopt a default minimum value for the multiplier values, e.g., ml=mf=mr=1, and the state reinserted into the priority queue. In Algorithms 1-2 (see FIGS. 12-13), the boolean variable that triggers the reinsertion of the state into the queue is labeled as rl, rf, rr∈R for left, front and right regions, respectively.


The discrete state transition function used to determine the neighboring states during the search is given by fU,d(s, uc,d, mx)=[x+lu(mx−1)cos(ψd), y+lu(mx−1)sin(ψd), t+(lumx)/ud]T, where mx can be substituted by ml, mf, or mr. The input of the state transition function are the current state s, the default control action primitive uc,d, and one of the scaling multipliers ml, mf, or mr depending on the subset custom characterc,d,l, custom characterc,d,f, or custom characterc,d,r to which the control action uc,d belongs. After the execution of uc,d for the time t, the terminal position and orientation of the USV is given by [x, y]T and ψd, respectively, and the length of the entire executed trajectory from the initial state of the USV is given by lu. At all times, the scaling multiplier mu≥1, so as to ensure that the expanded control action primitives custom characterc,d(s) are dynamically feasible and executable by the USV's low level controller (e.g., proportional-integral-derivative (PID), backstepping, etc.).


Referring to FIG. 5, a congested scenario and resulting trajectory for USV 102 computed by the A-RCAP is illustrated. As illustrated in FIG. 5, the USV 102 is attempting to navigate to its motion goal with obstacles 502a-502c operating in the same travel space and moving toward their own motions goals. The intention model described above is used to predict the reciprocal trajectories of all the moving obstacles 502a-502c with respect to the planned trajectory of the USV 102. The uncertainty in an obstacle's predicted position is represented as a sequence of Gaussian distributions (shown as respective clouds around discrete positions along the obstacle's planned trajectory) and increases with time.


The USV's trajectory is comprised of separate control action primitives of varying magnitude and thus execution times. In FIG. 5, the magnitude of control action primitives near the initial location of the USV 102 is high (i.e., lower sampling) and gradually decreases (i.e., higher sampling) as the search progresses towards regions with high congestion (e.g., region 512 from 40 m to 80 m north along the x axis). Conversely, the magnitude of the primitives can increase again when regions of anticipated low congestion are reached along the planned trajectory (e.g., region 510 at a distance of 80 m along the x axis).


In one or more embodiments of the disclosed subject matter, and in the following simulations, the pseudocodes described in Tables 1-2 below are used:









TABLE 1





Algorithm 1 for computing trajectory of USV (e.g.,


A-RCAP) based on initial state of USV, desired goal,


and library of control action primitives
















Input:
USV's initial state sI, desired goal region SG, and a default,



dynamically feasible control action primitive set custom characterc,d


Output:
Trajectory τ


 1:
Let SO ← {sI} be a priority queue of states sorted in ascending



order according to the cost function f.


 2:
Let SC ← Ø be the set of all expanded/closed states.


 3:
Let M = {mr, mf, ml} ← 1 be the set containing scaling



multipliers for the right, front, and left workspace regions.


 4:
Let R = {rr, rf, rl} ← false be the sets containing a re-evaluation



indicator for the right, front, and left workspace regions.


 5:
Let fnew be a Boolean function which is used to distinguish



newly opened states from states undergoing re-evaluation.


 6:
while SO not empty do








 7:
SC ← s ← SO. FIRST( )


 8:
if s ∈ SG then


 9:
 return Trajectory τ generated by recursively tracing the



 predecessors of s up to sI.


10:
end if


11:
fnew(s) = custom character  rlcustom charactercustom character  rfcustom charactercustom character  rr


12:
for all custom characterc,d,x ∈ { custom characterc,d,l, custom characterc,d,f, custom characterc,d,r} ⊂ custom characterc,d do


13:
 Let rx ∈ R be a re-evaluation indicator corresponding to



 region x.


14:
 if rxcustom character  fnew(s) then








15:
for all uc,d ∈ custom characterc,d,x do


16:
 Let mx ∈ M be a scaling multiplier corresponding to



 region x.


17:
 s′ ← fU,d(s, uc,d, mx)


18:
 if s′ ∉ SC then








19:
Estimate current states {xbl(t′)}l=1L of all moving



obstacles at time t′ by forward simulating their



respective intention models {ml}l=1|B|.


20:
Compute pc,sn, and pc,se, for the USV moving



between s and s′.


21:
if (s′ ∉ SO) custom character  (s′ ∈ SOcustom character  (fnew(s′) < fold(s′))) then


22:
 Set s′ as the best successor state of s.


23:
 Insert/update s′ into/in SO.


24:
end if








25:
 end if


26:
end for


27:
{mx, rx} ← COMPUTESCALINGFACTOR( custom characterc,d,x,



mx, rx)








28:
 end if


29:
end for


30:
if rlcustom character  rfcustom character  rr then


31:
 Remove s from SC and insert it into SO.


32:
end if








33:
end while


34:
return τ = Ø (no suitable trajectory has been found).
















TABLE 2





Algorithm 2 for computing scaling factors for control action primitives
















Input:

custom character
c,d,x, which is a set of control action primitives in region x, the control action primitive scal-




ing multiplier mx, and the re-evaluation boolean indicator rx for region x. The region x can be



one of the demarcated regions of the travel space, e.g., the left, right, or front region of FIG. 4A.


Output:
A new control action primitive scaling factor mx′ and state re-evaluation boolean indicator rx



for the current region x.


1:
Let λ1, λ2, λ3, λ4 ∈ [0,1] be user-defined ascending spatio-temporal complexity levels, e.g.,



0 < λ1 < λ2 < λ3 < λ4 < 1.


2:
Let λstc = maxuc,d,i∈Uc,d,xpc,s′,U be the measure of the spatio-temporal complexity for region x.


3:
Let δe > 1 be the exponential increase of the multiplier mx.


4:
Let δm be the linear increment/decrement of the multiplier mx.


5:
(3)



   
mx{δemxifλstc<λ1mx+δmifλ1<λstc<λ2mxifλ2<λstc<λ3mx-δmifλ3<λstc<λ4mx/2ifλ4<λstcandrxisfalse1otherwise






6:
mx′ ← min (mx′, mx,max), where mx,max is a user-specified scaling factor threshold.


7:
mx′ ← max (mx′, 1).


8:
rx′ ← λstc > λ4.


9:
return {mx′, rx′}









As an example, planning algorithms were evaluated using the simulation setup shown in FIG. 6. The area (e.g., travel space) of the simulation setup was 200 m×200 m and included a USV 102 with corresponding goal location 606 and five moving obstacles 602a-602e (e.g., civilian vessels), each with respective goal locations 604a-604e. The initial velocity of the moving obstacles 602a-602e was chosen as 0.42 m/s, 0.92 m/s, 1.3 m/s, 1.3 m/s, and 2.3 m/s, respectively. The motion of the USV 102 was simulated using a system-identified 3 DOF dynamic model, while each moving obstacle 602a-602e was modeled using a simple car kinematic model with the Ackermann steering geometry.


The default control action primitive set custom characterc,d included ψd=0°, ±10°, ±40 and ud ranging from 0 to 3 m/s in steps of 0.5 m/s, as shown schematically in FIG. 7A. This resulted in a total of 30 default control action primitives including 5 levels of ψd and 6 levels of ud. The contingency actions were designed by considering the most common reaction exhibited by humans on a collision course. The contingency actions are illustrated schematically in FIG. 7B. The planner of the USV 102 is designed to select a contingency maneuver with the maximum dCPA with respect to all moving obstacles to maximize safety.


For the experiments, the values of constants used by the cost function for trajectory planning were selected as:

    • dmax=200 (e.g., twice a length of a straight path between sU,I and sU,G);
    • tmax=dmax/1.5 (e.g., the average speed of 1.5 m/s);
    • ωn=1000;
    • ωc=0.5;
    • custom character=1000;
    • ce=500;
    • ce,c=10000;
    • γ=0.1;
    • ωc,U,B=0.3; and
    • ∈=4.


      The threshold values for CPA parameters used to evaluate USV's states for COLREGS compliance were selected as dCPA,min=50 and tCPA,max=30 s.


The obstacle avoidance behavior of the moving obstacles 602a-602e is realized through a Velocity-Obstacle-based (VO) local obstacle avoidance planner (see FIORINI et al., “Motion Planning in Dynamic Environments Using Velocity Obstacles,” The International Journal of Robotics Research, 1998, 17(7), which is hereby incorporated by reference). The VO-based planner allows for the forward simulation of motions of the obstacles (e.g., civilian vehicles) with increased realism. The parameters of the VO planner were tuned during physical tests.


During the search for a global trajectory, the USV 102 was placed at each expanded state and the behavior of each obstacle 602a-606e was forward simulated using the VO planner. The VO planner computes the best velocity vector for each obstacle 602a-606e given its pose, speed, and motion goal while ignoring its dynamics. This allows the A-RCAP planner to capture a reciprocal trajectory of the obstacles in response to the trajectory of the USV 102. The time for which the obstacles were forward simulated is equal to the execution time of the USV's control action primitive. The computed velocity vector of each obstacle 602-602e was integrated throughout the forward simulation time of control action to determine its future state.


The simulation assumed that all obstacles maintained their velocity vectors for the entire forward simulation time of each control action, which increases the uncertainty in the actual states of the obstacles while executing their planned trajectories. Moreover, the uncertainty increases with the simulation time as moving obstacles tend to wander away from their predicted or planned trajectories. As discussed above, the uncertainty in the positions of a moving obstacle was modeled using a sequence of 2D Gaussian distributions with the means corresponding to the waypoints of the planned trajectory. The variances of the distributions were estimated by performing a Monte Carlo simulation for each scenario. Variances for discrete time slices of 5 to 100 s were calculated for the simulation scenario and were interpolated by fitting a 2 degree polynomial with the forward simulation time as a variable.


In order to evaluate the performance of the disclosed planners, a metric for measuring congestion of a scenario with respect to a given position of the USV was used. A scenario can be classified as congested, for example, if there are only a few large moving obstacles with a large turning radius and low speed. Alternatively or additionally, a scenario can be classified as congested if there are many small highly maneuverable obstacles moving at high speeds within the same region or travel space. In addition, congestion of a scene also varies depending on how far the obstacles are from the current position of the USV. For example, obstacles that are further away from the USV are considered to contribute less to the congestion of the scenario as compared to obstacles that are closer to the USV.


Referring to FIG. 8, the developed metric Λcgn considers the size, velocity, and the distance dl of each moving obstacle 802a-802d from the USV 102 within a circular area Ar having a radius r with respect to the USV 102. The characteristics of each moving obstacle 802a-802d, such as its size and velocity, are used to compute a respective region of inevitable collision (RIC) 804a-804d with respect to the USV 102 and the moving obstacle bl. For example, the USV is considered to be within RIC1 804a if there is no control action uc,dcustom characterc,d(xU) that would prevent it from colliding with obstacle 802a.


Assuming that the USV 102 moves at its maximum speed when computing RICl and defining RICr=∪l=1,dl<rLRICl as the union of all inevitable collision regions of civilian vessels up to the given distance threshold r, then the congestion of the whole scenario can be calculated as Λcgn=∫r=0RICr/Ardr. For scenarios with moving obstacles in the vicinity to the USV 102, the degree of congestion Λcgn gradually increases with the increase of the radius r as more vessels fall into Ar. Beyond a certain radius, Λcgn gradually decreases as the total area Ar becomes more significant compared to RICr.


The regions of inevitable collision RICl were precomputed for the obstacles with maximum surge speeds between 1 and 5 m/s in increments of 0.1 m/s and lengths between 4 m and 30 m in increments of 1 m. During the computation of Λcgn, the radius r of the area Ar was increased from 5 m to 200 m (i.e., the maximum size of the workspace) in increments of 5 m. Note that scenarios with different types of obstacles and their distribution in the area can lead to the same congestion value. For example, the congestion value of 7 corresponds to a scenario with 4 obstacles having respective lengths of 10 m and maximum surge speed of 4 m/s, as well as to a scenario with 8 obstacles having respective lengths of 5 m and maximum surge speeds of 1 m/s.


Ten groups of evaluation scenarios with a similar congestion value ranging from 0 to 50 were designed. For each congestion group, 1000 evaluation scenarios were randomly generated. In each evaluation scenario, the USV 102 was positioned at the same initial state sU,I=[0,100,0,0,0]T and given a stationary goal state of sU,G=[200,100]T (neglecting heading and surge speed state variables at the goal state). The simulation runs were performed on Intel® Core™ i7-2600 CPU @ 3.4 GHz machine with 8 GB RAM.


The number of moving obstacles was uniformly generated at random ranging from 3 to 8 obstacles. The poses of the obstacles were also randomly generated, but no obstacles were positioned inside a circle of 20 m radius around the USV 102, which corresponds to a minimum turning radius of this particular USV, in order to avoid an imminent collision at the beginning of an evaluation run. The length of each obstacle was randomly generated to be between 4 and 30 m, and its maximum surge speed was determined to be between 1 and 5 m/s.


Simulation experiments using multiple scenarios with different congestion levels were carried out to evaluate the collision risk, length, and execution time of trajectories computed by the RCAP and A-RCAP algorithms. As noted above, the RCAP algorithm alone is computationally expensive, which leads to a low replanning frequency. To be able to avoid highly dynamic obstacles, a complementary VO-based local planner was used to track a global trajectory computed by the RCAP algorithm. For details of the complementary VO-based local planner, see SVEC et al., “Dynamics-aware Target Following for an Autonomous Surface Vehicle Operating under COLREGS in Civilian Traffic,” Proceedings of the IEEE/RSI International Conference on Intelligent Robots and Systems, 2013, which is hereby incorporated by reference. In the simulation results presented herein, the global risk and contingency-aware trajectory is computed once by the RCAP at the beginning of a simulation run. The trajectory is then tracked by the VO-based local planner until the USV reaches its goal.


As is evident from FIG. 9, the use of the RCAP algorithm combined with the VO-based local planner results in significantly fewer number of collisions as compared to a state-of-the-art VO-based local planner used in marine missions. For details of the state-of-the-art VO-based local planner, see KUWATA et al., “Safe Maritime Autonomous Navigation with COLREGS, Using Velocity Obstacles,” IEEE Journal of Oceanic Engineering, 2014, 39(1), which is hereby incorporated by reference. The collision rate represents the percentage reduction in the number of collisions per 1000 boat lengths traveled by the USV 102. Note that the percentage reduction in the number of collisions by the A-RCAP algorithm is approximately the same to its non-adaptive predecessor. Thus, the A-RCAP algorithm can improve computational efficiency without degrading the quality of risk-aware trajectories.


There are several reasons for the reduction in the collision rate. First, the planners consider differential constraints of the USV 102 when computing a trajectory. In the case of RCAP, this allows the complementary VO-based local planner to successfully track the trajectory. Second, the planners minimize the overall collision risk by breaching COLREGS with respect to selected obstacles and choosing a lower risk workspace over a higher risk, obstacle dense workspace. The state-of-the-art VO-based planner, which employs a limited number of look-ahead steps, cannot reason about the collision risk over a larger portion of the workspace. Accordingly, breaching COLREGS for the state-of-the-art VO-based planner may prove disastrous in later stages. By incorporating contingency maneuvers into a global trajectory, as with the RCAP and A-RCAP algorithms, the USV 102 can be assured of at least one contingency maneuver to avoid an imminent collision due to unpredictable behaviors of moving obstacles.


Referring to FIGS. 10-11, simulation results are shown for the percentage of additional time and distance traveled by the USV 102 for trajectories determined by the state-of-the-art VO-based planner, the RCAP, and the A-RCAP as compared to the time and distance for the same scene with zero congestion. The distance traveled in a scene with zero congestion is equivalent to the Euclidean distance from the initial to the goal state. The travel time in this zero congestion scenario is equivalent to the time required by the USV 102 to travel from the initial to the goal state at the maximum surge speed of 3 m/s.


As is apparent from FIGS. 10-11, the travel time and traveled distance is greater than the zero congestion scenario for all the planners, but the amount of additional travel time does not directly correlate to the additional traveled distance. This is due to the fact that the USV 102 yields to several moving obstacles by slowing down rather than performing large avoidance maneuvers, which decreases the distance traveled while increasing the time.


In addition, the additional traveled distance and time significantly increase for the RCAP with the increase in congestion as compared to the state-of-the-art VO-based and A-RCAP planners. Due to the lack of replanning capability of global, risk-aware trajectories by the RCAP, the complementary local VO-based planner used in conjunction with the RCAP has to perform large avoidance maneuvers to handle the dynamics of the environment while simultaneously tracking a global trajectory. In other words, the USV 102 has to return to the global trajectory after performing a local avoidance maneuver, which results in larger travel distance and time. In contrast, the replanning rate of the state-of-the-art local VO-based planner is high, thereby allowing it to deal with the highly dynamic nature of the environment and to find shorter and faster paths as compared to RCAP, albeit at the cost of higher collision rates.


Table 3 compares the performance of RCAP and A-RCAP for different congestion values. Table 3 show approximately 500% improvement in the computational performance of the A-RCAP as compared to the non-adaptive RCAP, where computational performance is measured in terms of the number of states expanded during the search for a trajectory. Such improved computational/processing speeds can allow the USV 102 to replan its trajectory with an average frequency of 0.1 Hz per 7.5 boat lengths of traveled distance. This frequent replanning of global risk and contingency-aware trajectories results in minimizing, or at least significantly reducing, the USV's total travel distance and time to reach its goal. In particular, A-RCAP shows approximately 20% reduction in the travel distance and 25% reduction in the travel time as compared to RCAP.









TABLE 3







Average number of states expanded


by RCAP and A-RCAP algorithms









Congestion Value
RCAP
A-RCAP











cgn)
Mean
Std. Dev.
Mean
Std. Dev.














0-5
940.54
55.41
188.92
12.65


 5-10
1006.78
62.58
195.7
13.86


10-15
1055.48
68.14
203.21
16.9


15-20
1155.82
75.37
215.87
16.8


20-25
1213.86
84.24
220.55
17.01


25-30
1266.29
91.43
221.24
17.56


30-35
1320.78
90.89
229.61
18.08


35-40
1388.35
98.54
237.23
18.73


40-45
1480.22
110.19
249.1
18.6


45-50
1575.18
118.72
257.96
18.9









While the replanning frequency of the A-RCAP may be smaller than the replanning frequency of the state-of-the-art VO-based planner, such a VO-based planner does not minimize the global objective of the total traversal time and distance. Also, the state-of-the-art VO-based planner does not have multi-step look-ahead capability to predict the motion of other civilian vessels, which also results in longer travel times and distance.


In one or more embodiments of the disclosed subject matter, the A-RCAP planner can be configured to accept user input, for example, via a graphic user interface, communications port, etc., with respect to one or more parameters or variables. Alternatively or additionally, one or more parameters of the A-RCAP planner can be tuned prior to trajectory planning (e.g., at launch of USV on a particular mission or upon introduction of the USV into a particular travel space) for optimum, or at least improved performed. For example, user preference parameters, COLREGS parameters, planning speed parameters, and/or replanning frequency parameters, as discussed in further detail below, can be input to the A-RCAP planner by a user, or otherwise, prior to trajectory planning.


Planning parameter tuning can include general categories of user preference parameters, COLREGS parameters, and planning speed parameters, among others. User preference parameters are parameters that alter trajectories generated by the planner according to the preference of the user. Parameters falling within the scope of this category include, but are not limited to:

    • ωc: The parameter ωc∈[0,1] is used to balance the total travel time and distance of the computed trajectory. A value of ωc=0 will provide trajectories with short travel distance and long travel time (in other words, the USV will travel less distance at slower speed). In contrast, a value of ωc=1 will provide the opposite effect. Thus, ωc helps a user to capture the USV's mission objective in terms of total travel time and distance.
    • ωn: The parameter ωn∈[0,1] balances the USV's mission objective (i.e., total travel time and distance) against its compliance with COLREGS. The planner will provide the safest COLREGS-compliant trajectory with no constraint on travel time and distance at lower values of ωn. For example, at ωn=0, the planner may provide a trajectory solution that has the USV remain at its current position until a moving obstacle has cleared from the environment. However, at ωn=1, the planner will compute trajectories that are optimal in travel time and distance (ωc) and disregard the rules of the COLREGS. Thus, a user can tune this parameter, depending upon the assigned mission for the USV, to balance COLREGS-compliance and mission objectives.
    • ωc,U,B: The parameter ωc,U,B∈[0,1] balances collision risk of the USV with the moving obstacles versus collision risk among the moving obstacles themselves. At values below 0.5, the planner will prioritize collisions of the USV over collisions between the moving obstacles. The opposite prioritization will occur for values above 0.5.
    • tmax and dmax: These parameters are dependent on the mission objectives of the USV, where tmax specifies the maximum allotted time and dmax specifies the maximum allocated distance that the USV can travel in the currently assigned mission.


      Initially, a user can set default parameter values and evaluate the trajectory produced by the planner, for example, on three fronts: travel time, travel distance, and risk of breaching COLREGS. The user can then tweak these parameters (ωc, ωn, ωc,U,B) to improve the quality of the trajectory on each front and/or until the computed trajectory meets the desired quality.


COLREGS parameters are used to perform COLREGS-based obstacle avoidance. They may be tuned by experts with knowledge of the physical capabilities of the USV, for example, by a manufacturer of the USV, maritime navigation experts, and/or Coast Guard officials. Parameters that fall in this category are divided into two subgroups:

    • dCPA,min and tCPA,max: These parameters are distance and time to closest point of approach and are used for collision detection. The USV will perform large and conservative avoidance maneuvers with high values of dCPA,min and tCPA,max. In contrast, for lower values of $dCPA,min and tCPA,max, the USV will perform short and risky avoidance maneuvers.
    • Cost parameters: These parameters include the execution cost of an emergency control action (ce), the collision cost of the emergency control action (ce,c), and the penalty for breaching COLREGS (custom character), and are used to model risk of the computed trajectory.


      The above-noted COLREGS parameters can be tuned in two phases, for example. First, default values of the planner can be selected by interviewing experts about standard practices and avoidance strategies given the specifications for the USV and the type of the travel space/environment that the USV will encounter. The user can use these default values in the planner and generate sample trajectories. Second, the generated sample trajectories can be critiqued by the expert in a Learning from Critique (LfC) framework. Depending upon the information provided by the expert, the user can tweak the parameter set and generate a new trajectory. This procedure can be iteratively performed until the planner provides trajectories that meet the satisfactory limits of the expert.


Planning set parameters are used to improve the computational performance of the algorithms. Since the RCAP is inherently limited in terms of computational speed as compared to the A-RCAP planner, these parameters are primarily used by A-RCAP. Indeed, many unmanned systems (including the USVs disclosed herein) have finite on-board computational resources. Should the on-board trajectory planner require longer computational times to produce optimal trajectories, such delayed response may prove to be disastrous in a dynamic and rapidly changing environment having high congestion. On the other hand, trajectories computed by the planner using a computational time that is too short may be sub-optimal. Thus, given the on-board computational resources and the congestion of the environment, the user can choose a balanced set of parameters that will enable the planner to compute optimal trajectories with minimal delay.


These planning speed parameters include spatio-temporal complexity levels (λ1, λ2, λ3, λ4), exponential scaling factor (δe), and linear scaling factor (δl), which are used for adaptively scaling the control primitives in A-RCAP. These parameters can be optimized, for example, by performing combinatorial search over the entire parameter set [λ1, λ2, λ3, λ4, δe, δl]. Alternatively, to reduce computational overhead, partitioned optimization can be performed, where the parameter set is divided into spatio-temporal complexity parameters [λ1, λ2, λ3, λ4], and scaling factors [δe, δl], as described below.


The values of spatio-temporal complexity λ1, λ2, λ3, λ4 significantly influence the collision rate, and thus the overall performance of the A-RCAP algorithm. The parameters are optimized by performing combinatorial search over 15 different combinations of [λ1, λ2, λ3, λ4] to achieve the smallest collision rate. The parameters in each combination follow a precedence order 0<λ1234<1. Each combination was evaluated using 1000 randomly generated test cases for three congestion groups with congestion values Λcgn=10-15, 25-30, and 40-45. For optimization of the spatio-temporal complexity parameters, the values of the exponential (δe) and linear (δl) scaling factors were randomly sampled. The parameters set Λ*stc={0.25, 0.4, 0.55, 0.7} resulted in minimum collision rates for all the three congestion groups.


The values for scaling factors of control action primitives (δe and δl) influences the computational performance, the total travel time, and the total travel distance by the USV. The parameters were optimized by performing combinatorial search over the range of discrete values of δe and δl. Table 4 below shows the number of states expanded with respect to δe and δl at constant optimum value of the spatio-temporal complexity levels Λ*stc. At higher values of δe and δl, the number of states expanded reduces, and the planner rapidly increases the time scaling of the control action primitives resulting in an improvement in the computational performance. However, this improvement in the computation performance of the planner comes at the cost of an increase in total travel distance by the USV. This behavior of the planner is demonstrated in Table 5 below, where the percentage additional distance traveled by the USV is evaluated with respect to discrete values of δe and δl.









TABLE 4







Mean number of states expanded by varying the exponential and linear


increment parameters for different congestion value scenarios









Exponential
Linear
Mean number of states expanded











increment
increment
Congestion
Congestion
Congestion


e)
l)
10-15
25-30
40-45














1.4
0.1
318.36
235.84
365.15



0.4
224.83
206.76
328.63



0.7
218.3
198.23
284.2



1
212.83
196.89
243.11


1.6
0.1
241.02
229.95
269.8



0.4
214.87
196.73
260.42



0.7
213.96
198.28
233.88



1
204.51
192.52
241.34


1.8
0.1
216.62
221.6
261.12



0.4
215.98
226.44
230.48



0.7
188.32
203.78
243.72



1
176.88
188.78
218.78


2
0.1
152.27
196.45
262.46



0.4
142.34
184.24
181.84



0.7
146.86
173.63
176.15



1
144.73
165.69
175.41
















TABLE 5







Mean of percentage additional distance traveled by


varying the linear and exponential increment parameters


for different congestion value scenarios









Exponential
Linear
Mean % of additional travel distance











increment
increment
Congestion
Congestion
Congestion


e)
l)
10-15
25-30
40-45














1.4
0.1
0.59
1.235
2.07



0.4
1.38
1.955
2.177



0.7
0.56
0.375
5.17



1
0.49
1.98
5.025


1.6
0.1
0.435
2.13
2.87



0.4
1.25
1.715
4.36



0.7
3.395
1.22
5.42



1
1.975
2.385
6.325


1.8
0.1
0.75
1.365
2.99



0.4
1.755
1.75
4.94



0.7
3.68
2.6
5.76



1
2.14
3.93
6.445


2
0.1
0.415
2.745
3.145



0.4
2.38
2.61
5.575



0.7
4.745
3.74
6.405



1
5.655
4.81
7.46









Selection of the appropriate values for δe and δl can provide the shortest travel distance in the fewest expanded states. However, unlike, spatio-temporal complexity parameters, it can be difficult to select a single optimum value for each of δe and δl that will work for every scenario and congestion value. For the scenarios with high congestion values (e.g., Λcgn=40-45), the environment has a higher number of moving obstacles and thus less free space. For these high congestion values, it may be beneficial to select lower values of δe and δl in order to gradually scale the control action primitives. For example, in scenarios with high congestion values, low values of δe and δl(e.g., δe=1.4 and δl=0.1) can be selected in order to provide shorter travel distances. For scenarios with low congestion values (e.g., δcgn=10-15), the control primitives can be scaled more rapidly, such that higher values of δe and δl(e.g., δe=2 and δl=0.1) can be selected. These higher values provide, for example, 0.415% of additional travel distance.


In addition to those parameters discussed above, the planner of USV can also employ one or more finite time variables in order to avoid static and/or dynamic obstacles in the environment. Such time variables can include, but are not limited to:

    • tperception: Time taken by the perception system (e.g., perception module 206 in FIG. 2) to identify and estimate the state of an obstacle in the given environment;
    • tplanning: Computational time required by the planner to compute avoidance strategies after getting state information from the perception system;
    • treaction: Finite reaction time required by the USV to start executing commands issued by a high level planner (e.g., planning module 210 in FIG. 2); and
    • texecution: Time required by the USV to execute an emergency control action to avoid collision.


The planning frequency for collision free operation of the USV in an environment with a given congestion value is governed by the time equation tCPA>(tperception+treaction+texecution+tplanning). The planning time can be further divided into the computation time required by the deliberative planner A-RCAP (tdeliberative) and the computational time required by the complementary VO-based reactive planner (treactive), i.e., tplanning=tdeliberative+treactive. The computation time for the deliberative planner is higher than that of the reactive planner (i.e., tdeliberative>treactive). Thus, the planning cycle for the reactive planner is significantly smaller than that of the deliberative planner. The deliberative planner provides the global path by considering the current state of the travel space. However, until the next planning cycle of deliberative planner, the reactive planner can be used to perform avoidance maneuvers if the USV comes across any unpredicted situation, similar to the configuration of the RCAP and complementary VO-based planner in the simulation discussion above.


For example, the computation time for the reactive planner can be approximately treactive=300 ms, while the average planning time for the deliberative planer (A-RCAP) can be approximately tdeliberative=10 s. Approximate values of the reaction time treaction=1 s and the execution time texecution=10 s are computed using the system identified dynamics model of the USV. The execution time texecution is equal to the maximum of all the execution time taken by the USV to execute contingency control action primitives. The value of time to CPA used by the A-RCAP planner to perform the avoidance maneuver can be set to tCPA,max=30 s, which can be determined from physical experiment, for example. The time taken by the perception system can be approximately tperception=1 s, for example. Thus, the deliberative planner (A-RCAP) can successfully yield to all the civilian vessels having time to CPA above tCPA>30 s.


The value of tCPA,max will depend upon the relative velocity of the USV and the moving obstacles in the current travel space. If the USV has to operate in travel spaces with high-speed obstacles, thereby requiring lower values of tCPA,max, then improved computational performance may be necessary. Such improved computational performance may be achieved by use of better hardware (e.g., faster processors) and/or parallelization, among other things.


Accordingly, embodiments of the disclosed subject matter can employ a lattice-based, 5D trajectory planner that: 1) estimates the collision risk of a trajectory and reasons about the availability of contingency maneuvers to counteract unpredictable behaviors of moving obstacles; 2) incorporates the avoidance behaviors of the moving obstacles into the search to minimize collision risk; 3) considers the USV's dynamics; and/or 4) dynamically scales control action primitives based on the congestion of state space regions to maximize search performance. Embodiments of the disclosed subject matter can thus enjoy enhanced computational performance, allowing for more frequent replanning, as well as define improved trajectories with a reduced overall collision rate.


Although specific examples have been described herein where the moving obstacles are civilian vehicles, embodiments of the disclosed subject matter are not limited to such examples. Rather, other types of moving obstacles, such as other unmanned autonomous surface vehicles or military vehicles, are also possible according to one or more contemplated embodiments.


In addition, although specific examples have been described herein where the planning module is part of an operating system for a USV, embodiments of the disclosed subject matter are not limited to such examples. Indeed, the planning module disclosed herein may find utility in other systems as well, for example, in an automatic cruising feature of a manned surface vehicle, a traffic control system for managing vehicular traffic in a travel space (such commercial boats in a port), or a vehicle navigation system that suggests optimal routes to a vehicle operator. Accordingly, the disclosed planning module may be used outside of a USV according to one or more contemplated embodiments.


It will be appreciated that the aspects of the disclosed subject matter can be implemented, fully or partially, in hardware, hardware programmed by software, software instruction stored on a computer readable medium (e.g., a non-transitory computer readable medium), or any combination of the above.


For example, components of the disclosed subject matter, including components such as a controller, process, or any other feature, can include, but are not limited to, a personal computer or workstation or other such computing system that includes a processor, microprocessor, microcontroller device, or is comprised of control logic including integrated circuits such as, for example, an application specific integrated circuit (ASIC).


Features discussed herein can be performed on a single or distributed processor (single and/or multi-core), by components distributed across multiple computers or systems, or by components co-located in a single processor or system. For example, aspects of the disclosed subject matter can be implemented via a programmed general purpose computer, an integrated circuit device, (e.g., ASIC), a digital signal processor (DSP), an electronic device programmed with microcode (e.g., a microprocessor or microcontroller), a hard-wired electronic or logic circuit, a programmable logic circuit (e.g., programmable logic device (PLD), programmable logic array (PLA), field-programmable gate array (FPGA), programmable array logic (PAL)), software stored on a computer-readable medium or signal, an optical computing device, a networked system of electronic and/or optical devices, a special purpose computing device, a semiconductor chip, a software module or object stored on a computer-readable medium or signal.


When implemented in software, functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module, which may reside on a computer-readable medium. Instructions can be compiled from source code instructions provided in accordance with a programming language. The sequence of programmed instructions and data associated therewith can be stored in a computer-readable medium (e.g., a non-transitory computer readable medium), such as a computer memory or storage device, which can be any suitable memory apparatus, such as, but not limited to read-only memory (ROM), programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random-access memory (RAM), flash memory, disk drive, etc.


As used herein, computer-readable media includes both computer storage media and communication media, including any medium that facilitates transfer of a computer program from one place to another. Thus, a storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to carry or store desired program code in the form of instructions or data structures and that may be accessed by a computer.


Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a transmission medium (e.g., coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave), then the transmission medium is included in the definition of computer-readable medium. Moreover, the operations of a method or algorithm may reside as one of (or any combination of) or a set of codes and/or instructions on a machine readable medium and/or computer-readable medium, which may be incorporated into a computer program product.


One of ordinary skill in the art will readily appreciate that the above description is not exhaustive, and that aspects of the disclosed subject matter may be implemented other than as specifically disclosed above. Indeed, embodiments of the disclosed subject matter can be implemented in hardware and/or software using any known or later developed systems, structures, devices, and/or software by those of ordinary skill in the applicable art from the functional description provided herein.


In this application, unless specifically stated otherwise, the use of the singular includes the plural, and the separate use of “or” and “and” includes the other, i.e., “and/or.” Furthermore, use of the terms “including” or “having,” as well as other forms such as “includes,” “included,” “has,” or “had,” are intended to have the same effect as “comprising” and thus should not be understood as limiting.


Any range described herein will be understood to include the endpoints and all values between the endpoints. Whenever “substantially,” “approximately,” “essentially,” “near,” or similar language is used in combination with a specific value, variations up to and including 10% of that value are intended, unless explicitly stated otherwise.


The foregoing descriptions apply, in some cases, to examples generated in a laboratory, but these examples can be extended to production techniques. Thus, where quantities and techniques apply to the laboratory examples, they should not be understood as limiting.


It is thus apparent that there is provided in accordance with the present disclosure, surface vehicle trajectory planning systems, devices, and methods. Many alternatives, modifications, and variations are enabled by the present disclosure. While specific examples have been shown and described in detail to illustrate the application of the principles of the present invention, it will be understood that the invention may be embodied otherwise without departing from such principles. For example, disclosed features may be combined, rearranged, omitted, etc. to produce additional embodiments, while certain disclosed features may sometimes be used to advantage without a corresponding use of other features. Accordingly, Applicant intends to embrace all such alternative, modifications, equivalents, and variations that are within the spirit and scope of the present invention.

Claims
  • 1. A system for controlling a surface vehicle, comprising: a computerized operating system including a planning module configured to determine a trajectory for the surface vehicle that avoids one or more moving obstacles by performing a lattice-based heuristic search of a state space for the surface vehicle and selecting control action primitives from a predetermined set of control action primitives for the surface vehicle based on the search,wherein the planning module separates a travel space for the surface vehicle into a plurality of regions and independently scales the control action primitives in each region based on the moving obstacles therein,wherein the heuristic search includes evaluating a cost function at each state of the state space, andwherein the cost function is based on at least predicted movement of the obstacles responsive to respective maneuvers performed by the surface vehicle at each node of said search.
  • 2. The system of claim 1, wherein the planning module is configured to set a multiplier value associated with the control action primitives in a first of the plurality of regions different from a multiplier value associated with the control action primitives in a second of the plurality of regions, the first region having a different level of congestion for the moving obstacles than that of the second region.
  • 3. The system of claim 1, wherein the scaling of the control action primitives is such that sampling in regions with higher levels of congestion of the moving obstacles is increased as compared to sampling in regions with lower levels of congestion of the moving obstacles.
  • 4. The system of claim 1, wherein the computerized operating system comprises: a perception module configured to output to the planning module a current state of the surface vehicle and states of the moving obstacles; anda control module configured to receive the determined trajectory from the planning module and to control the surface vehicle so as to follow the determined trajectory.
  • 5. The system of claim 1, wherein each control action primitive comprises at least a pose of the surface vehicle and an arrival time or velocity for the surface vehicle.
  • 6. The system of claim 1, wherein the cost function is further based on at least one of collision risk of the surface vehicle with the moving obstacles, availability of contingency maneuvers for the surface vehicle to avoid colliding with the moving obstacles, and compliance with predetermined navigation rules governing movement of the obstacles and the surface vehicle.
  • 7. The system of claim 1, wherein the cost function is given by f(s′)=g(s′)+∈h(s′), where g(s′) is cost-to-come, h(s′) is cost-to-go, and ∈ is a parameter for balancing a computational speed of the search and optimality of the trajectory.
  • 8. The system of claim 1, wherein the planning module is configured to repeat the determining as the surface vehicle and the obstacles move.
  • 9. The system of claim 1, wherein the state space is a five dimensional state space including time, position, orientation, and surge speed.
  • 10. A non-transitory computer-readable storage medium upon which is embodied a sequence of programmed instructions that cause a computer processing system of a surface vehicle to: separate a travel space for the surface vehicle into a plurality of regions;independently scale control action primitives in each of said regions based on moving obstacles therein;perform a lattice-based heuristic search of a state space for the surface vehicle in each of said regions;based on the heuristic search, select a particular control action primitive from a predetermined set of control action primitives, anditerate the performing and selecting so as to build a determined trajectory for the surface vehicle by concatenating the selected control action primitives,wherein the heuristic search includes evaluating a cost function at each state of the state space, andwherein the cost function is based on at least predicted movement of the obstacles responsive to respective maneuvers performed by the surface vehicle at each iteration of the search.
  • 11. The non-transitory computer-readable storage medium of claim 10, wherein the independently scaling the control action primitives comprises setting a multiplier value associated with the control action primitives in a first of the plurality of regions different from a multiplier value associated with the control action primitives in a second of the plurality of regions, the first region having a different level of congestion for the moving obstacles than that of the second region.
  • 12. The non-transitory computer-readable storage medium of claim 10, wherein the sequence of programmed instructions further cause the computer processing system to control the surface vehicle to follow the determined trajectory.
  • 13. The non-transitory computer-readable storage medium of claim 10, wherein the cost function is further based on at least one of collision risk of the surface vehicle with the moving obstacles, availability of contingency maneuvers for the surface vehicle to avoid colliding with the moving obstacles, and compliance with predetermined navigation rules governing movement of the obstacles and the surface vehicle.
  • 14. The non-transitory computer-readable storage medium of claim 10, wherein each control action primitive comprises at least a pose of the surface vehicle and an arrival time or velocity for the surface vehicle, andthe state space is a five dimensional state space including time, position, orientation, and surge speed.
  • 15. The non-transitory computer-readable storage medium of claim 10, wherein the cost function is given by f(s′)=g(s′)+∈h(s′), where g(s′) is cost-to-come, h(s′) is cost-to-go, and ∈ is a parameter for balancing a computational speed of the search and optimality of the trajectory.
  • 16. A surface vehicle comprising: at least one actuator for propelling or directing the surface vehicle through a travel space; anda planning module that determines a trajectory for the surface vehicle that avoids one or more moving obstacles in the travel space,wherein the planning module performs a lattice-based heuristic search of a state space for the surface vehicle and selects control action primitives from a predetermined set of control action primitives based on the search,wherein the planning module separates the travel space into a plurality of regions and independently scales the control action primitives in each region based on the moving obstacles therein,wherein the heuristic search includes evaluating a cost function at each state of the state space, andwherein the cost function is based on at least predicted movement of the obstacles responsive to the selected control action at each node of the search.
  • 17. The surface vehicle of claim 16, wherein the surface vehicle is constructed to operate as an unmanned autonomous vehicle traveling on a water surface.
  • 18. The surface vehicle of claim 16, wherein the scaling of the control action primitives is such that sampling in regions with higher levels of congestion of the moving obstacles is increased as compared to sampling in regions with lower levels of congestion of the moving obstacles.
  • 19. The surface vehicle of claim 16, further comprising: at least one sensor that monitors the surface vehicle and/or the moving obstacles;a perception module that outputs to the planning module a current state of the surface vehicle and/or states of the moving obstacles based on outputs from the at least one sensor; anda control module that receives the determined trajectory from the planning module and controls the at least one actuator such that the surface vehicle follows the determined trajectory.
  • 20. The surface vehicle of claim 16, wherein the cost function is further based on at least one of collision risk of the surface vehicle with the moving obstacles, availability of contingency maneuvers for the surface vehicle to avoid colliding with the moving obstacles, and compliance with predetermined navigation rules governing movement of the obstacles and the surface vehicle.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of U.S. Application No. 62/144,564, filed Apr. 8, 2015, which is hereby incorporated by reference herein in its entirety.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH

This invention was made with government support under N000141210494 awarded by the Office of Naval Research (ONR). The government has certain rights in the invention.

US Referenced Citations (6)
Number Name Date Kind
6259988 Galkowski Jul 2001 B1
8849483 Kuwata et al. Sep 2014 B2
20130030651 Moshchuk Jan 2013 A1
20130151107 Nikovski Jun 2013 A1
20170168485 Berntorp Jun 2017 A1
20170219353 Alesiani Aug 2017 A1
Non-Patent Literature Citations (13)
Entry
Bautin et al., “Inevitable collision states: a probabilistic perspective,” IEEE International Conference on Robotics and Automation, May 2010, pp. 4022-4027.
Chan et al., “Improved motion planning speed and safety using regions of inevitable collision,” 17th CISM-IFToMM Symposium on Robot Design, Dynamics, and Control, 2008, pp. 103-114.
Colito, J., “Autonomous mission planning and execution for unmanned surface vehicles in compliance with the marine rules of the road,” Thesis for Master of Science, University of Washington [online], 2007 [retrieved on Mar. 2, 2018]. Retrieved from the Internet:<URL: http://byron.soe.ucsc.edu/projects/SeaSlug/Documents/Publications/Avoidance/931F3d01.pdf>.
Commandant Instruction M16672.2D, “Navigation Rules, International—Inland,” U.S. Department of Transportation, United States Coast Guard, Mar. 1999.
Hart et al., “A formal basis for the heuristic determination of minimum cost paths,” IEEE Transactions of Systems Science and Cybernetics, Jul. 1968, SSC-4(2): pp. 100-107.
Kuwata et al., “Safe maritime navigation with COLREGs using velocity obstacles,” IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep. 2011.
Lavalle S.M., Sections 13.1.2, 14.1.2, and 14.2.3 of Planning Algorithms, Cambridge University Press, Cambridge, UK, 2006, pp. 722-731, 790-794, and 808-810.
Pivtoraiko et al., “Differentially constrained mobile robot motion planning in state lattices,” Journal of Field Robotics, 2009, 26(3): pp. 308-333.
Shah et al., “Trajectory planning with adaptive control primitives for autonomous surface vehicles operating in congested civilian traffic,” IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep. 2014, pp. 2312-2318.
Svec et al., “Adaptive sampling based COLREGSs-compliant obstacle avoidance for autonomous surface vehicles,” ICRA Workshop on Persistent Autonomy for Marine Robotics, Hong Kong, China [online], Jun. 2014 [retrieved on Mar. 2, 2018]. Retrieved from the Internet:<URL: http://terpconnect.umd.edu/˜akgupta/Publication/ICRA14_PAMR_Svec_draft.pdf >.
Svec et al., “Dynamics-aware target following for an autonomous surface vehicle operating under COLREGs in civilian traffic,” IEEE/RSJ International Conference on Intelligent Robots and Systems, Nov. 2013, pp. 3871-3878.
Svec et al., “Target following with motion prediction for unmanned surface vehicle operating in cluttered environments,” Autonomous Robots, 2014, 36: pp. 383-405.
Thrun et al., Probabilistic Robots, MIT Press, Cambridge, MA, 2005, pp. 43-64.
Related Publications (1)
Number Date Country
20160299507 A1 Oct 2016 US
Provisional Applications (1)
Number Date Country
62144564 Apr 2015 US