Class RoverApp¶
Defined in File rover_app.h
Inheritance Relationships¶
Base Type¶
public lupnt::Application(Class Application)
Class Documentation¶
-
class RoverApp : public lupnt::Application¶
Application that drives a 2D ground rover’s navigation filter (e.g. an EKF over SurfaceDynamics2D) from a configured trajectory command.
Public Functions
-
RoverApp() = default¶
-
RoverApp(Config &config)¶
Construct a RoverApp from a YAML Config node.
Called via AssetFactory<Application, Config&>::Create from the Agent(Config&) constructor when the agent’s
application:block hasclass: RoverApp. Reads the requireddynamicsandfiltersub-configs, prefixes their names with this application’s name, and instantiates the corresponding Dynamics and Filter objects via their AssetFactory registries. Throws (LUPNT_CHECK) if either sub-config is missing.- Parameters:
config – YAML configuration node with at least
dynamics:andfilter:blocks.
-
virtual void Step(Real t) override¶
RoverApp-specific override of Application::Step(): computes the rover’s commanded linear/angular velocity from the configured circular trajectory and logs it.
Invoked once per scheduling period (set up in Setup()) by the Simulation event loop.
- Parameters:
t – Current simulation time [s, since simulation epoch]
-
virtual void Setup() override¶
RoverApp-specific override of Application::Setup(): initializes the navigation filter’s initial state, covariance, dynamics-propagation function, and process-noise function from this rover’s configured initial-state uncertainty.
Builds the initial covariance P0 from
initial_state.sigma_r[m] (position std. dev., applied to both x and y) andinitial_state.sigma_theta[deg] (heading std. dev., converted to rad), seeds the filter with the agent’s current time and state (Cart6), wiresfilter_’s dynamics-propagation callback todynamics_->Propagate, and uses P0 as a (constant) process-noise matrix. Called once before the simulation loop starts.
-
virtual void Log(Real t) override¶
RoverApp-specific override of Application::Log(): forwards to the navigation filter’s own Log(t) (state/covariance), in addition to the base debug message.
- Parameters:
t – Current simulation time [s, since simulation epoch]
-
RoverApp() = default¶