YANE-Framework 1.1.0
Public Member Functions | Protected Attributes

yane::NetworkedControl::RealtimeMPCController Class Reference

Class for simulating a distributed plant - sensor - controller - actuator setting.

Inheritance diagram for yane::NetworkedControl::RealtimeMPCController:
[legend]
Collaboration diagram for yane::NetworkedControl::RealtimeMPCController:
[legend]

List of all members.

Public Member Functions

yane::NetworkedControl::CyclecontrollerCycle ()
 Function to return the internal cycle object.
yane::Model::Modelmodel ()
 Function to return the used class yane::Model::Model object.
 RealtimeMPCController (yane::Model::Model *model, yane::MPC::ModelShootingData *shootingdata, int horizon, int prediction, yane::MinProg::NLP *minimizer, yane::MPC::OdeManager *odemanager, yane::Utils::RTClock *clock, IOInterface *iface, yane::Utils::DebugMaster *debugmaster=0, yane::Utils::StatisticsMaster *statisticsmaster=0)
 Constructor.
virtual void start ()
 Function to start the controller.
virtual void stop ()
 Function to stop the controller.
 ~RealtimeMPCController ()
 Destructor.

Protected Attributes

yane::Utils::DebugMaster_debugmaster
 Pointer of the class yane::Utils::DebugMaster object used for debugging.
int _horizon
 Length of the control sequence to be computed.
IOInterface_interface
 Pointer of the class yane::NetworkedControl::IOInterface object used for communication purposes.
yane::Model::Model_model
 Pointer of the class yane::Model::Model object used for optimization and simulation.
int _prediction
 Length of the prediction between current time and the first time instant the computed control shall be valid.
yane::Utils::StatisticsMaster_statisticsmaster
 Pointer of the class yane::Utils::StatisticsMaster object used for producing statistics.
ControllerThreadActuator_threadactuator
 Pointer of the thread dealing with the actuator.
ControllerThreadInput_threadinput
 Pointer of the thread dealing with the input of the controller.
ControllerThreadMPC_threadmpc
 Pointer of the thread for solving the MPC problem.
ControllerThreadOutput_threadoutput
 Pointer of the thread dealing with the output of the controller.

Constructor & Destructor Documentation

yane::NetworkedControl::RealtimeMPCController::RealtimeMPCController ( yane::Model::Model model,
yane::MPC::ModelShootingData shootingdata,
int  horizon,
int  prediction,
yane::MinProg::NLP minimizer,
yane::MPC::OdeManager odemanager,
yane::Utils::RTClock clock,
IOInterface iface,
yane::Utils::DebugMaster debugmaster = 0,
yane::Utils::StatisticsMaster statisticsmaster = 0 
)

Constructor

Parameters:
modelPointer of the class yane::Model::Model object used for optimization and simulation
shootingdataPointer of the yane::Model::ModelShootingData object used for optimization
horizonLength of the horizon
predictionNumber of preceding prediction steps
minimizerPointer of the minimization routine of class yane::MinProg::NLP
odemanagerPointer of the differential equation manager of class yane::MPC::OdeManager
clockPointer of a clock object for log messages
interfacePointer of the input/output interface of class yane::MPC::IOInterface
debugmasterPointer of the debugmanager of class yane::Utils::DebugMaster
statisticsmasterPointer of the statistics manager of class yane::Utils::StatisticsMaster

Member Function Documentation

yane::NetworkedControl::Cycle * yane::NetworkedControl::RealtimeMPCController::controllerCycle ( )

Returns the internal cycle object used by the Network algorithm. Unlike the cycle()-object this one is internally created and continuesly adjusted to the timestamps of incoming sensor values.

Returns:
Pointer to the internal cycle object
yane::Model::Model * yane::NetworkedControl::Controller::model ( ) [inherited]

Function to return the used class yane::Model::Model object

Returns:
Used class yane::Model::Model object