A superclass for continuous/discrete dynamic systems. More...

Inheritance diagram for DynamicalSystem:
[legend]

Public Member Functions

function obj = addState (varargin)
 Add state variables of the dynamical system. More...
 
function obj = addInput (category, name, var, gf, varargin)
 Add input variables of the dynamical system. More...
 
function obj = removeInput (category, name)
 Remove input variables of the dynamical system. More...
 
function obj = addParam (varargin)
 Add parameter variables of the dynamical system. More...
 
function obj = removeParam (param_name)
 Remove parameter variables of the dynamical system. More...
 
function obj = setParamValue (varargin)
 set the actual value of the system parameters More...
 
function obj = compile (export_path, varargin)
 export the symbolic expressions of the system dynamics matrices and vectors and compile as MEX files. More...
 
function obj = loadDynamics (export_path, varargin)
 
function obj = saveExpression (export_path, varargin)
 save the symbolic expression of system dynamical equations to a MX binary files More...
 
 DynamicalSystem (char type,char name)
 The class construction function. More...
 
function obj = setName (name)
 set the name of the dynamical system More...
 
function ret = isParam (char name)
 
function var_group = validateVarName (char name)
 Validate the group and category of the variables specified by the input name More...
 
function obj = setType (char type)
 Sets the type of the dynamical system. More...
 

Public Attributes

char Name
 The unique name identification of the system. More...
 
function_handle ExternalInputFun
 Returns the external input defined on the dynamical system. More...
 
char Type
 The highest order of the state derivatives of the system. More...
 
struct States
 A structure that contains the symbolic representation of state variables. More...
 
double numState
 The total number of system states. More...
 
struct Inputs
 A structure that contains the symbolic representation of input variables. More...
 
struct Params
 The parameters of the system. More...
 
struct Gvec
 The struct of input vector fields Gvec(x,u) SymFunction. More...
 
struct Gmap
 The struct of input map Gmap(x) SymFunction. More...
 
- Public Attributes inherited from handle
 addlistener
 Creates a listener for the specified event and assigns a callback function to execute when the event occurs. More...
 
 notify
 Broadcast a notice that a specific event is occurring on a specified handle object or array of handle objects. More...
 
 delete
 Handle object destructor method that is called when the object's lifecycle ends. More...
 
 disp
 Handle object disp method which is called by the display method. See the MATLAB disp function. More...
 
 display
 Handle object display method called when MATLAB software interprets an expression returning a handle object that is not terminated by a semicolon. See the MATLAB display function. More...
 
 findobj
 Finds objects matching the specified conditions from the input array of handle objects. More...
 
 findprop
 Returns a meta.property objects associated with the specified property name. More...
 
 fields
 Returns a cell array of string containing the names of public properties. More...
 
 fieldnames
 Returns a cell array of string containing the names of public properties. See the MATLAB fieldnames function. More...
 
 isvalid
 Returns a logical array in which elements are true if the corresponding elements in the input array are valid handles. This method is Sealed so you cannot override it in a handle subclass. More...
 
 eq
 Relational functions example. See details for more information. More...
 
 transpose
 Transposes the elements of the handle object array. More...
 
 permute
 Rearranges the dimensions of the handle object array. See the MATLAB permute function. More...
 
 reshape
 hanges the dimensions of the handle object array to the specified dimensions. See the MATLAB reshape function. More...
 
 sort
 ort the handle objects in any array in ascending or descending order. More...
 

Protected Member Functions

function value = getValue (vars)
 returns the variables (vars) value that are stored during computing the dynamics More...
 
function v_type = validateSystemType (type)
 validate if it is valid system type More...
 

Protected Attributes

double t_
 The time. More...
 
struct states_
 The states. More...
 
struct inputs_
 The inputs. More...
 
struct params_
 The parameters. More...
 
struct GmapName_
 The name of the Gmap functions. More...
 
struct GvecName_
 The name of the Gvec functions. More...
 

Detailed Description

A superclass for continuous/discrete dynamic systems.

Author
ayonga
Date
2017-02-26

Copyright (c) 2016, AMBER Lab All right reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted only in compliance with the BSD 3-Clause license, see http://www.opensource.org/licenses/bsd-license.php

Note
This class has the class property Abstract and needs to be inherited in order to be instantiable.

Constructor & Destructor Documentation

◆ DynamicalSystem()

DynamicalSystem.DynamicalSystem ( char  type,
char  name 
)
inline

The class construction function.

Parameters
typethe type of the system
namethe name of the system

Member Function Documentation

◆ addInput()

function obj = DynamicalSystem.addInput (   category,
  name,
  var,
  gf,
  varargin 
)

Add input variables of the dynamical system.

Note
By default, we assume the input is affine.
Parameters
categorythe category of the input
namethe name of the inputs
varthe symbolic variables or a list or number of input signals of the inputs
gfthe input map g(x) or g(x,u)
vararginoptional argument indicating whether the input is affine
addInput ( ..., [ "Affine", Affine_value ] [, "LoadPath", LoadPath_value ] )

Named Parameters for varargin:

  • Affine Affine ( Default: true )
  • LoadPath LoadPath ( Default: [] )

◆ addParam()

function obj = DynamicalSystem.addParam (   varargin)

Add parameter variables of the dynamical system.

Parameters
vararginthe name-value pairs (or struct) of the system parameters

◆ addState()

function obj = DynamicalSystem.addState (   varargin)

Add state variables of the dynamical system.

Parameters
vararginthe name-value pairs (or struct) of the system parameters
Generated fields of obj:

◆ compile()

function obj = DynamicalSystem.compile (   export_path,
  varargin 
)

export the symbolic expressions of the system dynamics matrices and vectors and compile as MEX files.

Parameters
export_paththe path to export the file
vararginvariable input parameters
compile ( ..., StackVariable, File, ForceExport, BuildMex, Namespace )
Required Parameters for varargin:
  • StackVariable whether to stack variables into one
  • File the (full) file name of exported file
  • ForceExport force the export
  • BuildMex flag whether to MEX the exported file
  • Namespace the namespace of the function

◆ getValue()

function value = DynamicalSystem.getValue (   vars)
inlineprotected

returns the variables (vars) value that are stored during computing the dynamics

◆ isParam()

function ret = DynamicalSystem.isParam ( char  name)
inline

◆ loadDynamics()

function obj = DynamicalSystem.loadDynamics (   export_path,
  varargin 
)

◆ removeInput()

function obj = DynamicalSystem.removeInput (   category,
  name 
)

Remove input variables of the dynamical system.

Parameters
categorythe category of the input
namethe name of the input variables to be removed

◆ removeParam()

function obj = DynamicalSystem.removeParam (   param_name)

Remove parameter variables of the dynamical system.

Parameters
param_namethe name of the parameter variables to be removed
Generated fields of obj:

◆ saveExpression()

function obj = DynamicalSystem.saveExpression (   export_path,
  varargin 
)

save the symbolic expression of system dynamical equations to a MX binary files

Parameters
export_paththe path to export the file
vararginvariable input parameters
saveExpression ( ..., ForceExport )
Required Parameters for varargin:
  • ForceExport force the export

◆ setName()

function obj = DynamicalSystem.setName (   name)
inline

set the name of the dynamical system

Generated fields of obj:

◆ setParamValue()

function obj = DynamicalSystem.setParamValue (   varargin)

set the actual value of the system parameters

Parameters
vararginthe parameter values

◆ setType()

function obj = DynamicalSystem.setType ( char  type)
inline

Sets the type of the dynamical system.

Parameters
typethe system type
Generated fields of obj:

◆ validateSystemType()

function v_type = DynamicalSystem.validateSystemType (   type)
inlineprotected

validate if it is valid system type

◆ validateVarName()

function var_group = DynamicalSystem.validateVarName ( char  name)
inline

Validate the group and category of the variables specified by the input name

Parameters
namethe name string of the variable

Member Data Documentation

◆ ExternalInputFun

DynamicalSystem.ExternalInputFun

Returns the external input defined on the dynamical system.

◆ Gmap

DynamicalSystem.Gmap

The struct of input map Gmap(x) SymFunction.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ GmapName_

DynamicalSystem.GmapName_
protected

The name of the Gmap functions.

Note
This property has the MATLAB attribute Hidden set to true.
Matlab documentation of property attributes.

◆ Gvec

DynamicalSystem.Gvec

The struct of input vector fields Gvec(x,u) SymFunction.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ GvecName_

DynamicalSystem.GvecName_
protected

The name of the Gvec functions.

Note
This property has the MATLAB attribute Hidden set to true.
Matlab documentation of property attributes.

◆ Inputs

DynamicalSystem.Inputs

A structure that contains the symbolic representation of input variables.

We categorized input signals into three different groups: Control: the control input ConstraintWrench: the constrained wrench from any bilateral (holonomic or nonholonomic) constraints External: other external inputs, such as disturbance, etc.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ inputs_

DynamicalSystem.inputs_
protected

The inputs.

Note
This property has the MATLAB attribute Hidden set to true.
Matlab documentation of property attributes.

◆ Name

DynamicalSystem.Name

The unique name identification of the system.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ numState

DynamicalSystem.numState

The total number of system states.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ Params

DynamicalSystem.Params

The parameters of the system.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ params_

DynamicalSystem.params_
protected

The parameters.

Note
This property has the MATLAB attribute Hidden set to true.
Matlab documentation of property attributes.

◆ States

DynamicalSystem.States

A structure that contains the symbolic representation of state variables.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ states_

DynamicalSystem.states_
protected

The states.

Note
This property has the MATLAB attribute Hidden set to true.
Matlab documentation of property attributes.

◆ t_

DynamicalSystem.t_
protected

The time.

Note
This property has the MATLAB attribute Hidden set to true.
Matlab documentation of property attributes.

◆ Type

DynamicalSystem.Type

The highest order of the state derivatives of the system.

Note
The system could be either a FirstOrder system or a SecondOrder system.
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

The documentation for this class was generated from the following files:
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/DynamicalSystem.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/addInput.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/addParam.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/addState.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/compile.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/removeInput.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/removeParam.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/saveExpression.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@DynamicalSystem/setParamValue.m