Constructors

To construct a NamedTrajectory using NamedTrajectories.jl, we simply need to utilize the NamedTrajectory constructor.

using NamedTrajectories

# define number of timesteps and timestep
T = 10
dt = 0.1
0.1

build named tuple of components and data matrices.

components = (
    x = rand(3, T),
    u = rand(2, T),
    Δt = fill(dt, 1, T),
)
(x = [0.5676503177388037 0.47891498845665037 … 0.1522538230957503 0.7623216104365369; 0.8149450759207465 0.6255902454506073 … 0.45517053817402087 0.9040997698861053; 0.1738657868123623 0.5670192087066095 … 0.9446818344742879 0.37056665095130326], u = [0.16614795245439273 0.8359194474407671 … 0.6819305890340543 0.936799291721215; 0.3185143893350153 0.9327554292180246 … 0.18627077367055234 0.3647415114594582], Δt = [0.1 0.1 … 0.1 0.1])

we must specify a timestep and control variable for the trajectory.

timestep = 0.1
control = :u
:u

we can now create a NamedTrajectory object.

traj = NamedTrajectory(components; timestep=timestep, controls=control)
NamedTrajectory{Float64}([0.5676503177388037 0.47891498845665037 … 0.1522538230957503 0.7623216104365369; 0.8149450759207465 0.6255902454506073 … 0.45517053817402087 0.9040997698861053; … ; 0.3185143893350153 0.9327554292180246 … 0.18627077367055234 0.3647415114594582; 0.1 0.1 … 0.1 0.1], [0.5676503177388037, 0.8149450759207465, 0.1738657868123623, 0.16614795245439273, 0.3185143893350153, 0.1, 0.47891498845665037, 0.6255902454506073, 0.5670192087066095, 0.8359194474407671  …  0.9446818344742879, 0.6819305890340543, 0.18627077367055234, 0.1, 0.7623216104365369, 0.9040997698861053, 0.37056665095130326, 0.936799291721215, 0.3647415114594582, 0.1], 10, 0.1, 6, (x = 3, u = 2, Δt = 1, states = 4, controls = 2), NamedTuple(), NamedTuple(), NamedTuple(), NamedTuple(), (x = 1:3, u = 4:5, Δt = 6:6, states = [1, 2, 3, 6], controls = [4, 5]), NamedTuple(), 0, NamedTuple(), NamedTuple(), (:x, :u, :Δt), (:x, :Δt), (:u,))

Construct NamedTrajectory from previous constructed one.

traj = NamedTrajectory(components, traj)
NamedTrajectory{Float64}([0.5676503177388037 0.47891498845665037 … 0.1522538230957503 0.7623216104365369; 0.8149450759207465 0.6255902454506073 … 0.45517053817402087 0.9040997698861053; … ; 0.3185143893350153 0.9327554292180246 … 0.18627077367055234 0.3647415114594582; 0.1 0.1 … 0.1 0.1], [0.5676503177388037, 0.8149450759207465, 0.1738657868123623, 0.16614795245439273, 0.3185143893350153, 0.1, 0.47891498845665037, 0.6255902454506073, 0.5670192087066095, 0.8359194474407671  …  0.9446818344742879, 0.6819305890340543, 0.18627077367055234, 0.1, 0.7623216104365369, 0.9040997698861053, 0.37056665095130326, 0.936799291721215, 0.3647415114594582, 0.1], 10, 0.1, 6, (x = 3, u = 2, Δt = 1, states = 4, controls = 2), NamedTuple(), NamedTuple(), NamedTuple(), NamedTuple(), (x = 1:3, u = 4:5, Δt = 6:6, states = [1, 2, 3, 6], controls = [4, 5]), NamedTuple(), 0, NamedTuple(), NamedTuple(), (:x, :u, :Δt), (:x, :Δt), (:u,))

This page was generated using Literate.jl.