We present time-optimal trajectories for a steered agent with constraints on speed, lateral acceleration, and turning rate for the problem of reaching a point on the plane in minimum time with free terminal heading angle. Both open-loop and state-feedback forms of optimal controls are derived through application of Pontryagin's minimum principle. We apply our results for the single agent to solve a multi-agent coverage problem in which each agent has constraints on speed, lateral acceleration, and turning rate.

Introduction

Minimum-time problems have long been a source of fascination for the mathematics community, reaching as far back as the brachistochrone problem that arguably led to the creation of optimal control theory and the calculus of variations [1]. The ongoing progress in the availability and capability of mobile robotic systems has seen an increase in interest in robotic minimum-time motion planning problems. In biology, solutions to minimum-time motion problems inform studies of predator-prey interactions. Optimal trajectories for minimum-time problems are closely related to optimal strategies in pursuit and evasion differential games, making them useful both for design and analysis. Further, the time-optimal solution for a single agent is an important building block for the design and analysis of multi-agent systems, such as the evasion of a group from a pursuer [2].

A popular model with which to study motion planning is the “steered agent” with state consisting of a point on the plane r=(x,y)2 with an associated heading angle θS. The motion of the agent is constrained such that its velocity is aligned with its heading at all times, with no side-slip. With this model, many different types of vehicles can be studied through the choice of control inputs and associated constraints on those inputs. The control inputs are typically the instantaneous speed v and the angular turning rate ω=θ˙. For example, much work has been done to characterize time-optimal trajectories for steered agents with limited turning rates, notably the “Dubins vehicle,” which has a constant forward speed (v=v¯=constant), and the Reeds-Shepp vehicle, which also allows for reverse motion (v=±v¯). See Ref. [3] for a review and Ref. [4] for detailed derivation of optimal paths with fixed terminal headings. The steered agent model can also be used to represent a two-wheeled differential-drive robot. A limit on the angular rate of each wheel leads to a set of linear inequalities on the speed and turning rate of the agent [5].

In this paper, we solve the problem of reaching a desired point on the plane in minimum time for a steered agent with inputs and constraints that make it applicable to the study of terrestrial (legged) animal motion as well as the design of robotic motion. The model is analytically tractable for a single agent and thus extendable to evasion and coverage problems for multi-agent systems. The constraints on the control inputs, instantaneous speed and angular turning rate, are as follows: (1) speed is positive and bounded by a maximum value, (2) the magnitude of the turning rate is bounded, and (3) the magnitude of the lateral acceleration (the product of speed and turning rate) is bounded.

For our novel set of constraints, we can still leverage Pontryagin's minimum principle as in the studies of the Dubins and differential drive agents. However, our model differs from both the Dubins and Reeds-Shepp models in that it allows for the agent to rotate in place with zero forward speed. In addition, the lateral acceleration constraint creates coupling between the two inputs of speed and turning rate, such that the agent must slow down to achieve a higher turning rate and vice versa. The angular acceleration constraint is chosen with regard to legged locomotion. A study of the kinematics of horses during polo games and track racing [6] indicates that grip strength and limb force limits constrain the maximum lateral acceleration during a turn, such that the horses must decrease their speed in anticipation of tight turns. By imposing a constraint on the lateral acceleration of our steered agent, we capture the tradeoff between speed and turning rate that is seen in nature.

Inherent in the choice of speed as a control input is the assumption that forward acceleration (thrust) is unbounded. Although legged animals and some robots can achieve large accelerations [7,8], there will be a limit in any physical system. Nonetheless, the assumption helps with analytical tractability and allows for real-time computation. It is of interest in future work to compare performance determined here with that in the case of bounds on forward acceleration.

Our analysis is based closely on the geometric methods of Balkcom and Mason, which were applied to differential drive vehicles with limited wheel speeds in Ref. [9] and to extremal trajectories for more general constraints in Ref. [5]. These methods have also been applied to minimum-time trajectories for omni-directional robots [10] and minimum wheel-rotation for the differential drive [11].

The main contributions of this paper are as follows: First, we solve the minimum-time problem for a single steered agent with a novel set of constraints chosen to provide a tractable model for the study of terrestrial animal motion as well as the design of robotic motion. We solve for open-loop optimal trajectories analytically and derive the optimal control input as a state-feedback control law. Optimal trajectories have piecewise-constant control inputs, such that the trajectories consist of up to four discrete phases: rotate in place, slow moving turn at maximum turning rate but reduced speed, fast moving turn at maximum speed but lower turning rate, and forward motion at maximum speed. Additionally, we show that as the bound on lateral acceleration approaches zero, the optimal trajectories approach those for a differential drive agent. Second, we demonstrate how the results for a single agent can be used to analyze the minimum-time-to-reach coverage problem for a system of N mobile agents with the same inputs and constraints as the single agent. We prove a lower bound on achievable performance and introduce an iterative coverage algorithm.

In Sec. 2, we present the formal problem statement and system equations of motion. Section 3 derives extremal control inputs according to Pontryagin's minimum principle. In Sec. 4, we prove conditions on the possible families of optimal trajectories, and in Sec. 5, we solve for open-loop control switching times for all cases. Section 6 presents a state-feedback formulation of the optimal control based on the relative position of the destination in a body-fixed frame. We examine special limiting cases of the lateral acceleration parameter in Sec. 7. Multi-agent coverage is presented in Sec. 8. We conclude in Sec. 9.

Problem Statement and System Dynamics

We consider the problem of the minimum-time trajectory for a steered agent on the plane to reach a desired destination r1=(x1,y1)T2 with no fixed final heading. The state of the agent consists of its position r=(x,y)T2 and heading angle θS, evolving under the equations of motion
x˙=vcosθy˙=vsinθθ˙=ω

The control inputs u(t)=(v(t),ω(t))T at time t consist of the forward speed v and the turning rate ω. We impose the following constraints on the control input:

  1. (1)

    Limited speed: Let v¯>0 be the maximum speed. The speed control must satisfy v(t)v¯ for all time t.

  2. (2)

    No reverse motion: Speed must satisfy v(t)0 for all time t, such that the agent never moves in reverse.

  3. (3)

    Limited turning rate: Let ω¯>0 be the maximum turning rate. Then, the turning control must satisfy |ω(t)|ω¯ for all time t.

  4. (4)

    Limited lateral acceleration: Let μ>0 represent the maximum lateral acceleration (turning traction limit). The inputs v(t) and ω(t) must satisfy |v(t)ω(t)|μ for all time t. We assume that μ<v¯ω¯ so that the lateral acceleration constraint is active on part of the boundary of the control domain.

We define the admissible control region Ω={u=(v,ω)2|0vv¯,|ω|ω¯,|vω|μ<v¯ω¯} as illustrated in Fig. 1. Admissible controls U for the agent are bounded Lebesgue measurable functions from + to Ω.

Extremal Trajectories From Pontryagin's Minimum Principle

To solve for the optimal trajectories, we begin by using Pontryagin's minimum principle to find families of extremal trajectories that satisfy necessary conditions on optimality. We follow the method used in Ref. [9], which solved for optimal trajectories for differential drive robots with the same equations of motion as the current system, but with different constraints on the inputs. This leads to different switching functions and extremal controls. In the subsequent section, we use boundary constraints to characterize which of the extremal trajectories are optimal under different conditions.

The single agent minimum-time problem is described by
t1=minuU0T1dts.t.q˙(t)=f(q,u),ψ(t1)=0

where q=(x,y,θ)T, f(q,u)=(vcosθ,vsinθ,ω)T, and ψ(t)=(x(t)x1)2+(y(t)y1)2, with initial conditions q(0)=(x0,y0,θ0)T.

The control Hamiltonian for the system dynamics is
H(λ,q,u)=λ·f(q,u)+1=λxvcosθ+λyvsinθ+λθω+1

where the adjoint vector λ=(λx,λy,λθ)3 represents the partial derivative of the value of the cost function (in this case, the minimum time remaining to reach the destination) with respect to the system state.

Pontryagin's minimum principle states that extremal control u*(t) satisfies the following necessary condition at almost every time t:
H(λ(t),q(t),u*(t))=minu(t)ΩH(λ(t),q(t),u(t))=0
The dynamics of the adjoint vector are governed by λ˙=(H/q), with λ˙x=0,λ˙y=0, and λ˙θ=λxvsinθλyvcosθ. From this, we see that λx and λy are constant over time. Thus, as noted in Ref. [9], since λ˙θ=λxy˙λyx˙,λθ can be directly integrated as λθ=λxyλyxρ, for some constant of integration ρ. Since the terminal heading θf is free, we must impose that λθ(t1)=0. This allows us to solve for ρ: λθ(t1)=λxy1λyx1ρ=0. Thus
λθ(t)=λx(y(t)y1)λy(x(t)x1)
(1)
For a nontrivial optimal trajectory, the adjoint vector must be nonzero at all times, implying that λx and λy cannot both be zero. Without loss of generality, let λx=λ0sinγ and λy=λ0cosγ for some unknown angle γ, with the constant λ00 computed from the terminal condition
H(λ(t1),q(t1),u*(t1))=0
We next derive the extremal controls. Following Ref. [9], define the following two functions of the state:
η(x,y)=(xx1)cosγ+(yy1)sinγandβ(θ)=θ(γ+π/2)

The level set η = 0 describes a line in the x-y plane passing through the destination point (x1,y1)T. β describes the agent's heading relative to the direction along the η = 0 line.

Now, we can write the Hamiltonian in terms of the inputs and these functions of the state
H=λ0(vcosβ+ωη)+1

This makes it straightforward to apply Pontryagin's minimum principle to find extremal controls as a function of the state. Since this is a minimum-time problem with the dynamics linear in the control inputs, the optimal control will be of a bang–bang type, always taking values along the control constraint surfaces shown in Fig. 1.

Fig. 1
Admissible control inputs for steered agent with limits on speed, turning rate, and lateral acceleration as described in Sec. 2
Fig. 1
Admissible control inputs for steered agent with limits on speed, turning rate, and lateral acceleration as described in Sec. 2
Close modal

Switching Functions and Generic Control Inputs.

Given our constraints on the control inputs, we need to determine which value of u will minimize the Hamiltonian for each point in the state space. We follow the same procedure as in Ref. [12], except that the additional constraint on lateral acceleration prompts a third switching function.

We define three switching functions that can be used to determine the control input u*=(v*,ω*) that will minimize the Hamiltonian for a given state
ϕ1(q)=cosβ(q)
(2)
ϕ2(q)=η(q)
(3)
ϕ3(q)=ω¯|η|v¯cosβ(q)
(4)
Let sgn(z) be the standard sign function for z
sgn(z)={1,z<00,z=01,z>0

On time intervals for which the switching functions are nonzero, the corresponding extremal controls are called generic controls. These fall into three categories based on the signs of the switching functions. The generic control inputs along with their corresponding extremal trajectories are as follows, for initial state q(0)=(x0,y0,θ0)T. In each case, θ(t)=θ0+ω*t.

  1. (1)

    Rotation: When ϕ1<0, the agent rotates in place at maximum turning rate: v*=0 and ω*=ω¯sgn(ϕ2). Here, q(t)=(x0,y0,θ0+ω*t)T.

  2. (2)
    Slow turn: When ϕ1>0 and ϕ3>0, the agent moves forward with low speed while turning at the maximum rate: v*=μ/ω¯ and ω*=ω¯sgn(ϕ2). The agent moves on a circular arc with radius Rs=μ/ω¯2, with
    (x(t)y(t))=(x0y0)+B(θ0)(Rssin(ω¯t)sgn(ϕ2)Rs(1cos(ω¯t)))
    (5)
    where B(θ) is the standard rotation matrix
    B(θ)=(cosθsinθsinθcosθ)
  3. (3)
    Fast turn: When ϕ1>0 and ϕ3<0, the agent moves forward at maximum speed while turning at a lower rate: v*=v¯ and ω*=sgn(ϕ2)μ/v¯. The agent moves on a circular arc with radius Rf=v¯2/μ, with
    (x(t)y(t))=(x0y0)+B(θ0)(Rfsin(μt/v¯)sgn(ϕ2)Rf(1cos(μt/v¯)))
    (6)

Singular Control Inputs.

At times where some ϕi=0, there exist multiple inputs that minimize the Hamiltonian. When the state arrives at such a switching surface, the control may have an instantaneous switching if the state instantaneously traverses the switching surface, or an interval of singular control where the state remains on the switching surface for some time interval. We must examine each switching surface separately.

Forward Motion.

When ϕ2=0 with ϕ1>0 at some time t, the agent is on the switching surface between fast turn left and fast turn right. Geometrically, this places the agent on the η = 0 line with cosβ>0, and the Hamiltonian is minimized by v=v¯ with ω taking any value in [μ/v¯,μ/v¯]. For cosβ1, the agent is not aligned with the η = 0 line. So, the positive speed will bring it off of the line at the next moment, which would manifest as an instantaneous switching from fast turn left to fast turn right or vice versa without an extended singular control. In the case that cosβ=1, the agent is arriving on the η = 0 line and tangent to it. Forward motion with ω = 0 would keep it on the line for further time t>t.

This represents an interval of singular control, which as we show is part of many time-optimal trajectories. It is straightforward to show that if the agent starts with its heading in the direction of the destination point, then the minimum-time trajectory to reach that point is forward motion at maximum speed.

Slow Turn and Fast Turn.

When ϕ3=0 and ϕ1>0 at some time t, the agent is on the switching surface between fast turn and slow turn with direction determined by the sign of ϕ2. On this switching surface, the Hamiltonian is minimized by two possible values of the control input: a fast turn u=(v¯,±μ/v¯)T or a slow turn u=(μ/ω¯,±ω¯)T (positive for left turn).

If we can show that the derivative of ϕ3 is nonzero on the switching surface, that will imply that no singular trajectory segments can exist along that surface. Taking the derivative of ϕ3 with respect to time, we find
ϕ˙3=sinβ(vω¯sgn(η)+ωv¯)
Noting that sgn(ω*)=sgn(η) in all cases, we substitute to get a necessary condition for slow-fast singular control
ϕ˙3=sgn(η)sinβ(v*ω¯|ω*|v¯)=0
Control values for neither slow turn nor fast turn can make the term in parentheses zero, so the only possibility for a singular control interval is the case where sinβ=0. Taking an additional time derivative, we find
ϕ¨3=ωsgn(η)cosβ(vω¯|ω|v¯)
which is nonzero for both fast and slow turn inputs. Thus, ϕ˙3 can only vanish for a single instant, and no extended singular interval is possible on the ϕ3=0 switching surface.

Rotation and Slow Turn.

For states on the switching surface ϕ1=0, the Hamiltonian is minimized by ω*=ω¯sgn(ϕ2) with v freely chosen as any value in the range [0,μ/ω¯]. Taking the derivative of ϕ1 with respect to time
ϕ˙1=ωsinβ=±ω,forcosβ=0

Thus, on the switching surface, the derivative is always nonzero for the minimizing control u=u*, so there can be no singular interval for the ϕ1=0 switching surface.

Multiply Singular Control and Trivial Trajectories.

We consider the situation that the state lies on multiple switching surfaces simultaneously. If both ϕ1 and ϕ2 (and subsequently ϕ3) are zero for a given state, then H = 1. One of the conditions for the application of the minimum principle in a minimum-time problem is that the Hamiltonian is constant with H = 0. So, we can conclude that a minimum-time trajectory can never reach a state that lies on multiple switching surface in this system. The trivial case corresponds to the agent starting at the destination point.

Similarly, consider the case that ϕ2=0 with ϕ1<0. Here, the ω term does not appear in H, and the minimizing control has v = 0, leading to the situation that H = 1. The surface ϕ2=0 and ϕ1<0 is invariant, since the only minimizing control when ϕ1<0 is rotation in place. This is another example of a trivial trajectory in which the agent starts at the destination.

Families of Optimal Trajectories

Now that we have enumerated the types of extremal trajectory segments, the task is to show which combination of extremal segments make up the minimum-time trajectory to a given destination point. We examine the possible terminal conditions and integrate backward in time to find switching conditions compatible with the terminal constraints. In Sec. 5, we show how to reach any point in the plane by one of these “nominal trajectories.”

Theorem 1. Nontrivial minimum-time trajectories must end in either a fast turn or forward motion segment.

Proof. The terminal condition states that ϕ2(t1)=0 at the final time t1. If we disregard the trivial trajectories discussed in Sec. 3.3 for ϕ10, this implies ϕ1(t1)>0 as an additional terminal condition. Noting that ϕ3=ω¯|ϕ2|v¯ϕ1, we see that ϕ3(t1)<0. There are two control types consistent with ϕ1>0 and ϕ3<0: fast turn (in either direction) and forward motion. Under forward motion, ϕ2=0= constant, thus satisfying the terminal conditions. So, a minimum-time trajectory may end in a forward motion segment.

Under fast turning motion, ϕ20, but the state can reach the terminal conditions from a fast turn segment as follows. Taking the derivative of ϕ2 with respect to time and substituting for fast turn control inputs, we find ϕ˙2(t)=v¯cos(θ(t)γ), which can be positive or negative depending on the value of the parameter γ. Thus, with an appropriate value of γ, a fast turn trajectory can reach the switching surface ϕ2(t1)=0 at the final time t1, implying that a minimum-time trajectory may end in a fast turn segment.

Trajectories Ending in Forward Motion.

For a trajectory to end with a forward motion segment, it must have η(t1)=0 and cosβ(t1)=1 at the terminal time t1. These conditions will hold for the duration of the forward motion segment, no matter how long it lasts. From Sec. 3.2.1, we know that a forward motion segment can only be preceded by a fast turn. Suppose that at some time, the control switches from fast turn to forward motion. To compute the maximum duration of a fast turn leading to forward motion, we integrate backward in time to find the switching times corresponding to ϕ3=0 (see Fig. 2, left).

Fig. 2
Illustration of system state relative to the η = 0 line (shown dashed) at points where a switching function ϕi reaches zero. Left: trajectory ending in forward segment (β1=0). Right: trajectory ending in fast turn segment.
Fig. 2
Illustration of system state relative to the η = 0 line (shown dashed) at points where a switching function ϕi reaches zero. Left: trajectory ending in forward segment (β1=0). Right: trajectory ending in fast turn segment.
Close modal
Using Eqs. (2) and (6) to solve for the value of the switching functions over a fast turn trajectory ending with η = 0 and cosβ=1, we find that ϕ3=0 for a fast turn of duration τ¯f=θ¯fv¯/μ, where
θ¯f=cos1(RfRf+b),withb=v¯/ω¯
(7)
Continuing backward in time with a slow turn segment using Eqs. (2) and (5), we find that ϕ1=0 for a slow turn of duration τ¯s=θ¯s/ω¯ with
θ¯s=π/2θ¯f=sin1(RfRf+b)

Continuing further back in time, we have a rotation segment. Figure 2 on the left shows the state of the agent relative to the η = 0 line at the times of control switching for the backward-in-time trajectory described earlier.

From Bellman's principle of optimality, we know that subsets of a trajectory at different starting points (but sharing an endpoint) will also be optimal trajectories themselves. So, these switching intervals τ¯f and τ¯s allow us to define the family of all trajectories that end with a forward motion segment of nonzero length.

This family of trajectories consists of all trajectories of the following types (for both left and right turns):

F: Forward motion only;

TfF: Fast turn of up to τ¯f duration followed by some forward motion;

TsTfF: Slow turn of up to τ¯s duration, followed by fast turn of τ¯f duration, followed by some forward motion;

RTsTfF: Rotation, followed by slow and fast turns of duration τ¯s and τ¯f, respectively, followed by some forward motion.

Theorem 2. The maximum rotation duration for a minimum-timeRTsTfFtrajectory with forward motion duration of τd is given byτ¯r=θ¯r/ω¯, where
θ¯r=πtan1(v¯τd+Rs+(RfRs)1(bRf+b)2b)
Proof. Consider a left-turning trajectory of type RTsTfF with a rotation duration of τr=0 and forward motion duration τd. Starting from the origin q(0)=(0,0,0)T, we use Eqs. (5) and (6) to calculate the endpoint of the trajectory at time t1=τ¯s+τ¯f+τd as
(x(t1)y(t1))=(bv¯τd+Rs+(RfRs)1(bRf+b)2)

Increasing the duration of the initial rotation segment will cause the endpoint to rotate about the origin, and a duration of τ¯r as defined earlier brings the destination to the negative x-axis. By symmetry, a right-turning trajectory with the same segment durations would bring the agent to that same point in the same amount of time. From this, we can determine that a left-turning trajectory with rotation longer than τ¯r would put the destination at a point that can be reached in less time with a right-turning trajectory. Thus, a minimum-time trajectory of type RTsTfF cannot include a rotation segment of duration greater than τ¯r. Trajectories with rotation segments of duration exactly τ¯r correspond to destinations lying directly behind the initial position of the agent.

Trajectories Ending in Fast Turn.

Trajectories with η(t1)=0 and cosβ(t1)1 end in a fast turn. We can again integrate backward in time to find families of optimal trajectories, but in this case the switching angles will be a function of the terminal value of β(t1). The state of the agent relative to the η = 0 line at the times of control switching for this backward-in-time trajectory is illustrated in Fig. 2, right.

Let β1=β(t1). Using Eqs. (2) and (6) to solve for the value of the switching functions over a fast turn trajectory ending with η = 0 and cosβ11, we find that the maximum duration of a fast turn segment (corresponding to ϕ3=0 at the start) is τ¯f(β1)=θ¯f(β1)v¯/μ with
θ¯f(β1)=β1+cos1(RfRf+bcosβ1)
(8)
Preceding a fast turn segment of maximum length, we can have a slow turn segment lasting up to τ¯s(β1)=θ¯s(β1)/ω¯ with
θ¯s(β1)=π/2θ¯f(β1)β1=sin1(RfRf+bcosβ1)
(9)

And again, there can be a rotation segment prior to full-length slow turn and fast turn segments for a given value of β1.

This family of trajectories comprises all trajectories of the following types (for both left and right turns):

Tf: Fast turn of up to τ¯f duration only;

TsTf: Slow turn of up to τ¯s(β1) duration, followed by fast turn of τ¯f(β1) duration, for some β1[0,π/2];

RTsTf: Rotation, followed by slow and fast turns of duration τ¯s(β1) and τ¯f(β1), respectively, for some β1[0,π/2].

Theorem 3. The maximum rotation duration for a time-optimalRTsTftrajectory withβ(t1)=β1is given byτ¯r=θ¯r/ω¯, where
θ¯r=πtan1(RsRfcos(θ¯s+θ¯f)+(RfRs)cosθ¯sRfsin(θ¯s+θ¯f)(RfRs)sinθ¯s)
withθ¯f=θ¯f(β1)andθ¯s=θ¯s(β1)as defined inEqs. (8) and (9).

Proof. Follows similar to the proof of Theorem 2.

By Theorems 2 and 3, we have determined seven minimum-time trajectory types: F, TfF, TsTfF,RTsTfF, Tf, TsTf, and RTsTf, which we illustrate in Table 1. Next, we show that these seven trajectory types cover the space of destinations. We show how to determine the optimal trajectory type and switching times given a destination point.

Table 1

Range of possible segment durations for each trajectory type

Typeτrτsτfτd
F000[0,]
TfF00[0,τ¯f][0,]
TsTfF0[0,τ¯s]τ¯f[0,]
RTsTfF[0,τ¯r(τd)]τ¯sτ¯f[0,]
Tf00[0,τ¯f]0
TsTf0[0,τ¯s(β1)]τ¯f(β1)0
RTsTf[0,τ¯r(β1)]τ¯s(β1)τ¯f(β1)0
Typeτrτsτfτd
F000[0,]
TfF00[0,τ¯f][0,]
TsTfF0[0,τ¯s]τ¯f[0,]
RTsTfF[0,τ¯r(τd)]τ¯sτ¯f[0,]
Tf00[0,τ¯f]0
TsTf0[0,τ¯s(β1)]τ¯f(β1)0
RTsTf[0,τ¯r(β1)]τ¯s(β1)τ¯f(β1)0

Note: For the entries containing β1, the range is β1[0,π/2].

The Optimal Trajectory

Here, we present the explicit form of the minimum-time trajectories. The seven types of trajectory (in each turning direction) from Theorems 2 and 3 correspond to different possible combinations of rotation, slow turn, fast turn, and forward trajectory segments (Table 1). We first describe the partition of the plane into regions for the different trajectory types. We then present the explicit form of the optimal trajectory for each type individually.

Trajectory Parameterized by Switching Times.

Given the initial position r0=(x0,y0)T and heading θ0 at time t0 and a set of time durations spent in each control segment, we can write the trajectory explicitly as a sequence of translations and rotations about different points. Let τr,τs,τf, and τd represent the time spent in rotation, slow turn, fast turn, and forward segments, respectively. The switching times and the final time are denoted
trs=t0+τr
tsf=trs+τs
tfd=tsf+τf
t1=tfd+τd

Note that the time to reach the destination is given by the sum of the four segment durations: t1t0=τr+τs+τf+τd.

The heading angle θ(t) at time t, for initial heading θ(0)=θ0, is given by the following expression, with + for left turn, – for right turn:
θ(t)={θ0±ω¯(tt0),fort0t<tsfθ0±(ω¯(τr+τs)+(μ/v¯)(ttsf)),fortsft<tfdθ0±(ω¯(τr+τs)+(μ/v¯)τf)fortfdtt1

For convenience, we define the headings at switching times as θrs=θ(trs) and so on.

We can write the agent's position at a given time as the sum of vectors for each segment. Define the “turning vectors” Ts±(t) and Tf±(t) as the translation due to slow turn and fast turn segments of duration t that start from the origin q(0)=(0,0,0)T, as defined in Eqs. (5) and (6). Superscripts + and – denote left and right turns, respectively. Also, define the “forward motion vector” F(t) as F(t)=(v¯t,0)T.

The position of the agent r=(x,y)T at time t is given by the following expression (with +/ on θ and T omitted):
r(t)={r(t0),t0t<trsr(t0)+B(θrs)Ts(ttrs),trst<tsfr(t0)+B(θrs)Ts(τs)+B(θsf)Tf(ttsf),tsft<tfdr(t0)+B(θrs)Ts(τs)+B(θsf)Tf(τf)+B(θfd)F(ttfd),tfdtt1
(10)

Trajectory-Type Partition.

To calculate switching times for an open-loop optimal trajectory, we must first determine which trajectory type can be used to reach the destination. For a given set of initial conditions q(t0)=(x0,y0,θ0)T, the plane can be partitioned into regions according to which trajectory type can be used to reach destination points in a given region. The set of trajectory types in Table 1 together covers the plane for all possible destinations.

The boundaries between different trajectory types are described in Table 2 parameterized by segment durations. These boundary curves are either formed by a circular arc, a straight line, or in the case of the RTsTfTsTf boundary a polynomial curve described by y=g(x) for x[0,b] with
g(x)=Rs+(RfRs)1(xRs+b)2Rf1(xb)2
(11)
Table 2

Parametric description of trajectory type partition boundaries

Boundaryτrτsτfτd
RTsTfFRTsTf[0,τ¯r(0)]τ¯sτ¯f0
TsTfFTsTf0[0,τ¯s]τ¯f0
TsTfTfF00[0,τ¯f]0
RTsTfFTsTfF0τ¯sτ¯f[0,]
TsTfFTfF00τ¯f[0,]
RTsTfTsTf0τ¯s(β1)τ¯f(β1)0
Left TfF– right TfF000[0,]
Left RTsTf– right RTsTfτ¯r(β1)τ¯s(β1)τ¯f(β1)0
Left RTsTfF– right RTsTfFτ¯r(τd)τ¯sτ¯f[0,]
Boundaryτrτsτfτd
RTsTfFRTsTf[0,τ¯r(0)]τ¯sτ¯f0
TsTfFTsTf0[0,τ¯s]τ¯f0
TsTfTfF00[0,τ¯f]0
RTsTfFTsTfF0τ¯sτ¯f[0,]
TsTfFTfF00τ¯f[0,]
RTsTfTsTf0τ¯s(β1)τ¯f(β1)0
Left TfF– right TfF000[0,]
Left RTsTf– right RTsTfτ¯r(β1)τ¯s(β1)τ¯f(β1)0
Left RTsTfF– right RTsTfFτ¯r(τd)τ¯sτ¯f[0,]

Note: For the entries containing β1, the range is β1[0,π/2].

An example of the trajectory type partition is shown in Fig. 3 for initial condition q(t0)=(0,0,0)T. Here, the x-axis separates left turning from right turning trajectories. The positive x-axis is itself a trajectory-type region corresponding to the forward-only trajectory type. The negative x-axis also separates left turning from right turning trajectories, but in this case destinations lying there can be reached in equal time from either left or right turning trajectories with the same segment durations.

Fig. 3
Partition of the plane based on the optimal trajectory type to reach each point in minimum time for an agent starting at the origin with heading in the direction of the positive x-axis and v¯=1, ω¯=1, and μ=0.5. Destinations with y > 0 use left turn controls and those with y < 0 use right turn controls. For those destinations along the positive x-axis, no turning is necessary. For those on the negative x-axis, left and right turning trajectories take the same amount of time.
Fig. 3
Partition of the plane based on the optimal trajectory type to reach each point in minimum time for an agent starting at the origin with heading in the direction of the positive x-axis and v¯=1, ω¯=1, and μ=0.5. Destinations with y > 0 use left turn controls and those with y < 0 use right turn controls. For those destinations along the positive x-axis, no turning is necessary. For those on the negative x-axis, left and right turning trajectories take the same amount of time.
Close modal

Optimal Switching Times for Each Compound Trajectory Type.

Here, we derive the open-loop optimal control segment durations τr, τs, τf, and τd for trajectories in each of the regions defined earlier. For all, we assume that the agent starts at the origin q(t0)=(0,0,0)T, and the destination lies in the upper half-plane so that left turning controls (ω0) are used.

“Compound” trajectories are those that feature more than one control segment. For each compound trajectory type, there are two unknown values to solve for, as indicated in Table 1. Compound trajectories ending in a forward motion segment have unknown durations for the initial and final segments. Compound trajectories ending in a fast turn segment have the initial segment duration and the parameter β1 as unknowns.

The general strategy to solve for the control segment durations is to first write the equation for the destination in terms of the segment durations as in Eq. (10). The equation is rearranged such that the initial segment duration appears only in a rotation matrix premultiplying one of the sides. Taking the two-norm thus removes the initial unknown angle, allowing us to solve for the duration of the final segment. We then use substitution to solve for the other unknown.

For convenience, we parameterize segment durations according to the change in heading or distance traveled, letting θr=ω¯τr,θs=ω¯τs,θf=(μ/v¯)τf, and d=v¯τd.

TsTf Trajectory.

At the destination r(t1)=(x1,y1)T, we have
r(t1)=Ts(τs)+B(θs)Tf(τf)=(Rfsin(θs+θf)+(RsRf)sinθsRsRfcos(θs+θf)+(RfRs)cosθs)
Note that the left turning vector Ts can be decomposed into
Ts(τs)=(0Rs)+B(θs)(0Rs)
so that our destination equation can be rewritten with θs only appearing within a rotation matrix
r(t1)(0Rs)=B(θs)(Tf(τf)(0Rs))
Taking the two-norm of both sides removes the dependence on θs, and we can solve for
θf=cos1(Rf2+(RfRs)2x12(y1Rs)22Rf(RfRs))
Then, θs is the clockwise angle about point (0,Rs)T from Tf(θf) to our destination
θs=atan2(y1Rs,x1)atan2(Rf(1cosθf)Rs,Rfsinθf),

where atan2(y, x) is the standard two-input inverse tangent function with range [π,π].

TfF Trajectory.

Following the same method, we have
r(t1)=Tf(θf)+B(θf)F(d)r(t1)(0Rf)=B(θf)(F(d)(0Rf))
Again taking the norm, we solve for the forward distance
d=x12Rf2+(y1Rf)2
with
θf=atan2(y1Rf,x1)atan2(Rf,d)

TsTfF Trajectory.

For the TsTfF trajectory type, we have
r(t1)=Ts(θs)+B(θs)(Tf(θ¯f)+B(θ¯f)F(d))
We can rewrite the above equation to isolate θs into a single rotation matrix
(x1y1Rs)=B(θs)((0RfRs)+B(θ¯f)(dRf))
(12)
Taking the norm of both sides results in 0=d2+c1d+c2, a quadratic equation in d with
c1=2(RfRs)sinθ¯f
c2=Rf2+(RfRs)22Rf(RfRs)cosθ¯fx12(y1Rs)2
We take the positive root as our solution for d. Then to calculate the angle θs, we can simply subtract the angle of the vector on the right-hand side of Eq. (12) from the angle of the vector on the left-hand side of Eq. (12)
θs=atan2(y1Rs,x1)atan2(RfRs+dsinθ¯fRfsinθ¯f,dcosθ¯f+Rfsinθ¯f)

RTsTfF Trajectory.

This trajectory type includes slow turn and fast turn segments of full possible durations of τ¯s and τ¯f, respectively. Let rsf=(xsf,ysf)T represent the vector traversed during a TsTf trajectory with those durations. Then
rsf=Ts(τ¯s)+B(θ¯s)Tf(τ¯f)=(bg(b))
with g from Eq. (11). Then
r(t1)=(x1y1)=B(θr)(rsf+(0d))
By taking the norm of both sides, we can solve for d
d=x12+y12xsf2ysf
Then, the rotation angle is given by
θr=atan2(y1,x1)atan2(ysf+d,xsf)

RTsTf Trajectory.

This is the single trajectory type which eludes an explicit analytical solution, although the equations involved are well behaved and simple to solve numerically.

We must find the value xc[0,b] which satisfies the relation x12+y12=xc2+yc2, where yc=g(xc) with g from Eq. (11). Geometrically, (xc,yc)T is the point on the RTsTfTsTf boundary surface which is the same distance from the origin as the destination point. The distance is smoothly and monotonically increasing with xc, so it should not pose any difficulties to calculate numerically. Once found, the rotation angle is given by
θr=atan2(y1,x1)atan2(yc,xc)

and θs, θf are found according to the solution for a TsTf trajectory presented in Sec. 5.3.3, using (xc,yc)T as the destination.

Figure 4 shows minimum-time trajectories to various destination points under different values of the lateral acceleration limit μ, including examples for different trajectory types.

Fig. 4
Minimum-time trajectories for an agent starting at the origin with heading in the direction of the positive x-axis with v¯=1 and ω¯=1. Trajectories' segments are colored by type: blue is slow turn, green is fast turn, and red is forward motion.
Fig. 4
Minimum-time trajectories for an agent starting at the origin with heading in the direction of the positive x-axis with v¯=1 and ω¯=1. Trajectories' segments are colored by type: blue is slow turn, green is fast turn, and red is forward motion.
Close modal

By calculating the optimal switching times at every destination point on the plane, we can build a map of the time-to-reach under minimum-time control as a function of the destination. In Fig. 5, we illustrate how the minimum time-to-reach is affected by varying the μ parameter of the acceleration constraint. As the value of μ decreases, the time-to-reach increases for all destinations except those reachable by a forward-motion-only trajectory.

Fig. 5
Minimum time to reach surfaces for an agent starting at the origin with heading in the direction of the positive x-axis with v¯=1 and ω¯=1, for different values of the lateral acceleration constraint μ. Isochron (equal time-to-reach) lines are drawn at 1 s interval.
Fig. 5
Minimum time to reach surfaces for an agent starting at the origin with heading in the direction of the positive x-axis with v¯=1 and ω¯=1, for different values of the lateral acceleration constraint μ. Isochron (equal time-to-reach) lines are drawn at 1 s interval.
Close modal

State-Feedback Formulation of Optimal Control Law

The optimal minimum-time trajectories can be described in terms of a state-feedback law where we consider the dynamics of the location of the destination point in a body-fixed frame with the agent at the origin, heading in the direction of the positive x-axis. The coordinate transformation from world to body-fixed is given by
rrel=(xrelyrel)=(cosθsinθsinθcosθ)(x1xy1y)

The optimal control consists of the following rules:

  1. (1)

    If destination is on the positive xrel-axis, go forward.

  2. (2)

    Else if destination is in a trajectory-type region with fast turn as the initial segment, go in a fast turn in the appropriate direction.

  3. (3)

    Else if destination is in a trajectory-type region with slow turn as the initial segment, go in a slow turn in the appropriate direction.

  4. (4)

    Else, rotate in the appropriate direction.

Figure 6 illustrates the state-feedback control-type regions under different values of the lateral acceleration constraint μ. As μ decreases, the edges separating the fast turn and slow turn control regions approach the positive xrel-axis.

Fig. 6
Control switching regions for destination relative to agent at the origin with heading in the direction of the positive x-axis with v¯=1 and ω¯=1. The lateral acceleration parameter μ is varied, from left, μ=0.1, 0.5, and 0.9. Destinations in the upper half plane (y > 0) are optimally reached by left turn maneuvers and in the lower half plane by right turn maneuvers.
Fig. 6
Control switching regions for destination relative to agent at the origin with heading in the direction of the positive x-axis with v¯=1 and ω¯=1. The lateral acceleration parameter μ is varied, from left, μ=0.1, 0.5, and 0.9. Destinations in the upper half plane (y > 0) are optimally reached by left turn maneuvers and in the lower half plane by right turn maneuvers.
Close modal

Special Cases for Large and Small Values of μ

Here, we examine two limiting cases in the minimum-time problem. We first consider relaxing the constraint on lateral acceleration. We then look at the limiting case for very low μ, which has parallels to the problem of a forward-only differential drive vehicle. Control-type regions and optimal trajectories for both cases are shown in Fig. 7.

Fig. 7
Trajectory-type partition (top) and optimal trajectories (bottom) for extreme values of μ for an agent starting at the origin with heading in the direction of the positive x-axis with v¯=1 and ω¯=1. Left: μ≥v¯ω¯, so fast and slow turns are equivalent, both having radius of b. Right: μ = 0, with only rotation and forward motion possible. Trajectories' segments are colored by type: magenta is turn and red is forward.
Fig. 7
Trajectory-type partition (top) and optimal trajectories (bottom) for extreme values of μ for an agent starting at the origin with heading in the direction of the positive x-axis with v¯=1 and ω¯=1. Left: μ≥v¯ω¯, so fast and slow turns are equivalent, both having radius of b. Right: μ = 0, with only rotation and forward motion possible. Trajectories' segments are colored by type: magenta is turn and red is forward.
Close modal

Relaxed Acceleration Constraint.

For μv¯ω¯, the lateral acceleration constraint does not affect the boundary of the permissible control space. Here, the controls are limited to the rectangle v[0,b¯],ω[ω¯,ω¯]. In this case, the extremal control is determined through only two switching functions, namely, ϕ1 and ϕ2, from the general system. In effect, the slow turn and fast turn extremals merge into a single turn trajectory with v=v¯,ω=±ω¯, and radius R=v¯/ω¯.

Following the analysis of Sec. 4, we find that there are five trajectory types: forward (F), turn and forward (TF), rotate, turn, and forward (RTF), turn (T), and rotate and turn (RT). Destinations on the positive xrel-axis can be reached by F trajectories. Destinations on the quarter circle
(xrelyrel)=(RsinθR(1cosθ)),θ[0,π/2]
(13)
can be reached by a turn-only trajectory. The arc given by Eq. (13) serves as the boundary between TF and RT trajectory types. The boundary between TF and RTF trajectory types is a vertical line xrel=R,yrelR. Finally, the boundary between RT and RTF trajectory types is the circular arc
(xrelyrel)=(2Rsinθ2R(1cosθ)),θ[π/4,π]

For a more detailed discussion of this system without the acceleration constraint, see Ref. [12].

Highly Constrained Lateral Acceleration.

For μ = 0, the acceleration constraint is equivalent to constraining either v or ω to be zero at any given time. We can interpret this as the slow turn merging with rotation and the fast turn merging with forward motion. The admissible control space becomes a “T” shape, such that the agent can either rotate or move forward but not both at the same time. Under those constraints, the extremal controls are specified by the signs of two switching functions, ϕ2 and ϕ3, from the general system. We find that time optimal trajectories consist of rotating in place until facing the destination, then moving forward at full speed.

Interestingly, this control scheme is also optimal for a differential-drive robot constrained to only go forward, with input constraints v0 and v/v¯+|ω|/ω¯1. For that system, the switching functions and extremal trajectories are the same. The only difference is that the extreme corners of the control space are connected by a straight line in the differential drive case, rather than a concave curve for the limited acceleration system.

Multi-Agent Coverage

In this section, we apply our solution of the minimum-time problem for a single agent, with constraints on speed, lateral acceleration, and turning rate, to the analysis of a coverage problem in a multi-agent system. Suppose there is a domain on the plane where events can occur at any point, uniformly randomly distributed within the domain. The problem of coverage as applied to multi-agent robotic systems asks how to distribute a collection of N agents within the domain so that some performance metric that describes the ability of the group to respond to events, such as average or worst-case time-to-reach, is optimal.

Coverage problems have been studied extensively for various agent dynamics and performance metrics. Notably, Ref. [13] shows that optimal arrangements for omni-directional agents under a weighted-average performance metric will take on the form of a centroidal-Voronoi configuration, which can be reached under decentralized control using Lloyd's algorithm. Ref. [14] considers the worst-case time-to-reach problem for a system of Dubins vehicles. Because Dubins vehicles have constant forward speed, no static configuration can be achieved. So, performance is considered on a time-averaged basis. The authors develop heuristic strategies for the cases of high and low vehicle density and show that performance is within a constant factor of optimal. In Ref. [15], coverage is studied using a metric that mixes time-to-reach with a measure of the energy needed to reach a point.

We address the minimum time-to-reach coverage problem for agents with constraints on speed, lateral acceleration, and turning rate. Consider a rectangular domain on the plane with length L > 0 and width W > 0, D={(x,y)2W/2xW/2,L/2yL/2}. Given a set of N identical agents as defined earlier with states qi=(xi,yi,θi), for i=1,,N and identical speed and turning constraints v¯,ω¯,μ, we would like to find the configuration of all agents Q=(q1,,qN) that minimizes the time necessary for an agent to reach any point in D. Let V(Q) be the worst-case time-to-reach for agents with configuration Q
V(Q)=maxpD(minitmin(qi,p))
where tmin(qi,p) is the time to reach pD for an agent at qi using the minimum-time trajectory defined in Sec. 5.

We seek to characterize bounds on V(Q) for a given domain and number of agents. To aid in the analysis, we define the dominance region Di for agent i as the set of points within the domain that can be reached by agent i before any other agent: Di={pD|tmin(qi,p)tmin(qj,p)ji}. The set of dominance regions comprises a generalized Voronoi partition under the time-to-reach metric. Additionally, we define the t-reachable region R(t,q) as the set of points reachable within time t for an agent with state q: R(t,q)={p2|tmin(q,p)t}. Let |B| refer to the area enclosed in a plane region B, such that |B|=BdA. Note that R(t,q) translates and rotates with the agent's state q, so that the area of the t-reachable region for an agent is not a function of its state. Let A(t)=|R(t,q)| for any q.

Lower Bound on Worst-Case Time-to-Reach.

We observe that A(t) increases monotonically with t: any point reachable up to time t is also reachable up to time t+ϵ for any ϵ>0. So, R(t,q)R(t+ϵ,q). Also note that A(0)=0, since the only point reachable in zero time is the agent's current position. From the definitions of dominance region Di and worst-case time-to-reach V(Q), for a set of agents with configuration Q in domain D, for any point pDi,tmin(qi,p)V(Q). This implies that DiR(V(Q),qi),i=1…N.

In the following, we prove a lower bound on V(Q):

Theorem 4. V(Q)t*, wheret*is the unique solution toA(t*)=|D|/Nfor a system with N steered agents with maximum speedv¯, maximum turning rateω¯, and maximum lateral acceleration μ operating in a domain of interestD.

Proof. We prove the theorem by contradiction. Note that i=1N|Di|=|D| from the definition of the dominance region partition. By monotonicity of A(t) and A(0)=0,t*>0 exists and is unique. Suppose V(Q)=t<t*. Then, DiR(t,qi),i=1,,N. So |Di|A(t),i, and i=1N|Di|<NA(t)<NA(t*), since A is monotonic in t and t*>t. From the definition of t*,NA(t*)=|D|. Thus, i=1N|Di|<|D|, which is a contradiction, proving that t* is a lower bound for V(Q) in domain D.

Coverage Algorithm.

We now propose an algorithm for coverage in the multi-agent system such that each agent aims to decrease the maximum time-to-reach within its own dominance region at each time-step, and we compare numerical results with the theoretical lower bound found in Theorem 4. We consider a system with N agents moving within rectangular domain D.

Algorithm: Let the initial configuration be Q(t0) and Δt>0 the timestep. At time tk=t0+kΔt, the time-to-reach partition is computed based on the configuration Q(tk). Each agent chooses a point in its dominance region with the maximum time-to-reach, pik=argmaxpDitmin(qi(tk),p), and sets that point as its next destination. A new configuration Q is calculated corresponding to the state of each agent after traveling along the minimum-time trajectory toward its destination for one timestep. If V(Q)<V(Q), the agents move to the new state Q(tk+1)=Q and begin a new step. Otherwise, the algorithm stops at configuration Q(tk).

The performance index of the worst-case time-to-reach improves with each step, with V(Q(tk+1))<V(Q(tk)). Since V(Q) has a lower bound from Theorem 4 and is monotonically decreasing at each step, the algorithm is guaranteed to converge, although there is no guarantee that the final configuration is a global minimum.

In practice, the algorithm performs quite well, converging quickly to a solution that is close to the lower bound. Figure 8 illustrates a typical solution, which converges to a V(Q) that is only about 50% higher than the lower bound. As can be seen in the right panel of Fig. 8, the speed, turning rate, and lateral acceleration constraints have a strong influence on the domains of dominance and therefore the coverage dynamics.

Fig. 8
Simulation of coverage algorithm for N = 9 agents in a 20 by 20 square domain. All agents have motion constraints v¯=1, ω¯=1,  and μ=0.5. Agents are depicted as black circles with a line in the direction of their heading. Colored regions denote the dominance region for each agent. White lines are time-to-reach isochrons in 1 s interval. Left: at initial time t = 0, agents are randomly placed near the center of the domain with random headings. Initial worst-case time-to-reach is V(Q(0))≈13.37 s. Right: configuration at the completion of the coverage algorithm after eight timesteps with Δt=1 s. At the final time t = 8 s, the worst-case time-to-reach has been reduced to V(Q(8))≈6.79 s. The lower bound on attainable V for this system from Theorem 4 is V≥4.52.
Fig. 8
Simulation of coverage algorithm for N = 9 agents in a 20 by 20 square domain. All agents have motion constraints v¯=1, ω¯=1,  and μ=0.5. Agents are depicted as black circles with a line in the direction of their heading. Colored regions denote the dominance region for each agent. White lines are time-to-reach isochrons in 1 s interval. Left: at initial time t = 0, agents are randomly placed near the center of the domain with random headings. Initial worst-case time-to-reach is V(Q(0))≈13.37 s. Right: configuration at the completion of the coverage algorithm after eight timesteps with Δt=1 s. At the final time t = 8 s, the worst-case time-to-reach has been reduced to V(Q(8))≈6.79 s. The lower bound on attainable V for this system from Theorem 4 is V≥4.52.
Close modal

We note that the coverage algorithm and lower bound on coverage performance presented earlier can be easily generalized for application to systems with different types of agent dynamics and input constraints, as long as the time-to-reach metric is well defined. Comparisons in coverage performance for different dynamics and constraints may yield new insights.

Final Remarks

We have derived optimal control laws for an agent with constraints on speed, lateral acceleration, and turning rate in the problem of reaching a destination point in minimum time with free terminal heading. The optimal control laws were presented in both open-loop and feedback control formulations, with analytic expressions for the optimal trajectories.

These control laws and the related time-to-reach surfaces can be used as a building block for problems involving multiple agents. We apply our results to a coverage problem where the goal is to distribute a group of agents over a rectangular region such that the worst-case time-to-reach for a point in the domain is minimized. Each agent is assumed to have constraints on speed, lateral acceleration, and turning rate. We prove a theoretical lower bound on performance and develop an iterative algorithm based on a generalized Voronoi partition with time-to-reach as a metric.

The minimum time problem with free terminal heading is also closely related to the two-player differential game of pursuit and evasion. The evader aims to avoid capture for as long as possible, which is achieved in some cases by using a minimum-time trajectory to reach a point in the space with a lower time-to-reach for the evader than the pursuer. We explore the problem of a single pursuer facing multiple evasive agents without turning constraints in Ref. [2].

Funding Data

  • Directorate for Engineering NSF grant (Grant No. ECCS-1135724).

References

1.
Sussmann
,
H. J.
, and
Willems
,
J. C.
,
1997
, “
300 Years of Optimal Control: From the Brachystochrone to the Maximum Principle
,”
IEEE Control Syst.
,
17
(
3
), pp.
32
44
.
2.
Scott
,
W. L.
, and
Leonard
,
N. E.
,
2014
, “
Dynamics of Pursuit and Evasion in a Heterogeneous Herd
,”
IEEE Conference on Decision and Control
(
CDC
), Los Angeles, CA, Dec. 15–17, pp.
2920
2925
.
3.
Soueres
,
P.
, and
Boissonnat
,
J.-D.
,
1998
, “
Optimal Trajectories for Nonholonomic Mobile Robots
,”
Robot Motion Planning and Control
,
Springer
, Berlin, pp.
93
170
.
4.
Sussmann
,
H. J.
, and
Tang
,
G.
,
1991
, “
Shortest Paths for the Reeds-Shepp Car: A Worked out Example of the Use of Geometric Techniques in Nonlinear Optimal Control
,”
Rutgers Cent. Syst. Control Tech. Rep.
,
10
, pp.
1
71
.http://www-personal.acfr.usyd.edu.au/spns/motion/SussmannTang1991.pdf
5.
Balkcom
,
D. J.
, and
Mason
,
M. T.
,
2002
, “
Extremal Trajectories for Bounded Velocity Mobile Robots
,”
IEEE International Conference on Robotics and Automation
(
ICRA
), Washington, DC, May 11–15, pp.
1747
1752
.
6.
Tan
,
H.
, and
Wilson
,
A. M.
,
2011
, “
Grip and Limb Force Limits to Turning Performance in Competition Horses
,”
Proc. R. Soc. London B: Biol. Sci.
,
278
(
1715
), pp.
2105
2111
.
7.
Hudson
,
P. E.
,
Corr
,
S. A.
, and
Wilson
,
A. M.
,
2012
, “
High Speed Galloping in the Cheetah (Acinonyx jubatus) and the Racing Greyhound (Canis familiaris): Spatio-Temporal and Kinetic Characteristics
,”
J. Exp. Biol.
,
215
(
14
), pp.
2425
2434
.
8.
Steenkamp
,
N. F.
, and
Patel
,
A.
,
2016
, “
Minimum Time Sprinting From Rest in a Planar Quadruped
,”
IEEE/RSJ International Conference on Intelligent Robots and Systems
(
IROS
), Daejeon, South Korea, Oct. 9–14, pp.
3866
3871
.
9.
Balkcom
,
D. J.
, and
Mason
,
M. T.
,
2002
, “
Time Optimal Trajectories for Bounded Velocity Differential Drive Vehicles
,”
Int. J. Rob. Res.
,
21
(
3
), pp.
199
217
.
10.
Balkcom
,
D. J.
,
Kavathekar
,
P. A.
, and
Mason
,
M. T.
,
2006
, “
Time-Optimal Trajectories for an Omni-Directional Vehicle
,”
Int. J. Rob. Res.
,
25
(
10
), pp.
985
999
.
11.
Chitsaz
,
H.
,
LaValle
,
S. M.
,
Balkcom
,
D. J.
, and
Mason
,
M. T.
,
2009
, “
Minimum Wheel-Rotation Paths for Differential-Drive Mobile Robots
,”
Int. J. Rob. Res.
,
28
(
1
), pp.
66
80
.
12.
Scott
,
W. L.
, and
Leonard
,
N. E.
,
2016
, “
Time-Optimal Trajectories for Steered Agent With Constraints on Speed and Turning Rate
,”
ASME
Paper No. DSCC2016-9892.
13.
Cortes
,
J.
,
Martinez
,
S.
,
Karatas
,
T.
, and
Bullo
,
F.
,
2004
, “
Coverage Control for Mobile Sensing Networks
,”
IEEE Trans. Rob. Autom.
,
20
(
2
), pp.
243
255
.
14.
Enright
,
J.
,
Savla
,
K.
, and
Frazzoli
,
E.
,
2008
, “
Coverage Control for Nonholonomic Agents
,”
IEEE Conference on Decision and Control
(
CDC
), Cancun, Mexico, Dec. 9–11, pp.
4250
4256
.
15.
Ru
,
Y.
, and
Martinez
,
S.
,
2013
, “
Coverage Control in Constant Flow Environments Based on a Mixed Energy–Time Metric
,”
Automatica
,
49
(
9
), pp.
2632
2640
.