Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
icarus::staging::SymbolicStager Class Reference

Symbolic graph generator. More...

#include <SymbolicStager.hpp>

Public Types

using Scalar = janus::SymbolicScalar

Public Member Functions

 SymbolicStager (SymbolicSimulatorCore &sym_sim)
 Construct stager with symbolic simulator.
SymbolicDynamics GenerateDynamics (const SymbolicStagerConfig &config={})
 Generate symbolic dynamics representation.
janus::Function GenerateStepFunction (double dt)
 Generate discrete-time step function.
std::vector< std::string > GetStateNames () const
 Get state variable names in order.
std::size_t GetStateSize () const
 Get total state size.

Detailed Description

Symbolic graph generator.

Creates janus::Function objects representing the simulation dynamics. These can be used for:

  • Numerical evaluation
  • Automatic differentiation (Jacobian, Hessian)
  • NLP formulation for trajectory optimization
  • Code generation

Member Typedef Documentation

◆ Scalar

using icarus::staging::SymbolicStager::Scalar = janus::SymbolicScalar

Constructor & Destructor Documentation

◆ SymbolicStager()

icarus::staging::SymbolicStager::SymbolicStager ( SymbolicSimulatorCore & sym_sim)
inlineexplicit

Construct stager with symbolic simulator.

Parameters
sym_simReference to initialized SymbolicSimulatorCore

Member Function Documentation

◆ GenerateDynamics()

SymbolicDynamics icarus::staging::SymbolicStager::GenerateDynamics ( const SymbolicStagerConfig & config = {})
inline

Generate symbolic dynamics representation.

Creates dynamics function f(t, x) -> xdot and optionally computes Jacobians.

Parameters
configStager configuration
Returns
SymbolicDynamics containing functions and metadata

◆ GenerateStepFunction()

janus::Function icarus::staging::SymbolicStager::GenerateStepFunction ( double dt)
inline

Generate discrete-time step function.

Creates function step(t, x) -> x_next using RK4 integration.

Parameters
dtStep size
Returns
janus::Function representing one integration step

◆ GetStateNames()

std::vector< std::string > icarus::staging::SymbolicStager::GetStateNames ( ) const
inlinenodiscard

Get state variable names in order.

◆ GetStateSize()

std::size_t icarus::staging::SymbolicStager::GetStateSize ( ) const
inlinenodiscard

Get total state size.


The documentation for this class was generated from the following file: