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.5462196894473466 0.4293194366335207 … 0.5828377658032261 0.12415819653396187; 0.8890817416112103 0.33515380300480413 … 0.6615336419519826 0.5286571836709045; 0.04803459526667364 0.27063043276194176 … 0.2695992261641529 0.8062269284195327], u = [0.46795237414328517 0.40408827345393605 … 0.2321164520065272 0.6955218656335493; 0.2733885558607647 0.5705420279350012 … 0.9695582014767942 0.14309606554922827], Δ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.5462196894473466 0.4293194366335207 … 0.5828377658032261 0.12415819653396187; 0.8890817416112103 0.33515380300480413 … 0.6615336419519826 0.5286571836709045; … ; 0.2733885558607647 0.5705420279350012 … 0.9695582014767942 0.14309606554922827; 0.1 0.1 … 0.1 0.1], [0.5462196894473466, 0.8890817416112103, 0.04803459526667364, 0.46795237414328517, 0.2733885558607647, 0.1, 0.4293194366335207, 0.33515380300480413, 0.27063043276194176, 0.40408827345393605  …  0.2695992261641529, 0.2321164520065272, 0.9695582014767942, 0.1, 0.12415819653396187, 0.5286571836709045, 0.8062269284195327, 0.6955218656335493, 0.14309606554922827, 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.5462196894473466 0.4293194366335207 … 0.5828377658032261 0.12415819653396187; 0.8890817416112103 0.33515380300480413 … 0.6615336419519826 0.5286571836709045; … ; 0.2733885558607647 0.5705420279350012 … 0.9695582014767942 0.14309606554922827; 0.1 0.1 … 0.1 0.1], [0.5462196894473466, 0.8890817416112103, 0.04803459526667364, 0.46795237414328517, 0.2733885558607647, 0.1, 0.4293194366335207, 0.33515380300480413, 0.27063043276194176, 0.40408827345393605  …  0.2695992261641529, 0.2321164520065272, 0.9695582014767942, 0.1, 0.12415819653396187, 0.5286571836709045, 0.8062269284195327, 0.6955218656335493, 0.14309606554922827, 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.