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.4961370332791444 0.23237820105313567 … 0.6844197715635315 0.6361929387686569; 0.008717346235256551 0.2636940050947565 … 0.2922208682028965 0.5956562698748092; 0.35652616846349006 0.0056948857589705915 … 0.19200473691928943 0.8329103228848768], u = [0.8294909770046149 0.08928178155816935 … 0.9911584036098497 0.0009350735740885074; 0.7421717979342167 0.08764582176322355 … 0.14236442296107765 0.020438567213176717], Δ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.4961370332791444 0.23237820105313567 … 0.6844197715635315 0.6361929387686569; 0.008717346235256551 0.2636940050947565 … 0.2922208682028965 0.5956562698748092; … ; 0.7421717979342167 0.08764582176322355 … 0.14236442296107765 0.020438567213176717; 0.1 0.1 … 0.1 0.1], [0.4961370332791444, 0.008717346235256551, 0.35652616846349006, 0.8294909770046149, 0.7421717979342167, 0.1, 0.23237820105313567, 0.2636940050947565, 0.0056948857589705915, 0.08928178155816935 … 0.19200473691928943, 0.9911584036098497, 0.14236442296107765, 0.1, 0.6361929387686569, 0.5956562698748092, 0.8329103228848768, 0.0009350735740885074, 0.020438567213176717, 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.4961370332791444 0.23237820105313567 … 0.6844197715635315 0.6361929387686569; 0.008717346235256551 0.2636940050947565 … 0.2922208682028965 0.5956562698748092; … ; 0.7421717979342167 0.08764582176322355 … 0.14236442296107765 0.020438567213176717; 0.1 0.1 … 0.1 0.1], [0.4961370332791444, 0.008717346235256551, 0.35652616846349006, 0.8294909770046149, 0.7421717979342167, 0.1, 0.23237820105313567, 0.2636940050947565, 0.0056948857589705915, 0.08928178155816935 … 0.19200473691928943, 0.9911584036098497, 0.14236442296107765, 0.1, 0.6361929387686569, 0.5956562698748092, 0.8329103228848768, 0.0009350735740885074, 0.020438567213176717, 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.