HolonomicConstraint: represents a group of holonomic constraints of a dynamical systems. More...

Inheritance diagram for HolonomicConstraint:
[legend]

Public Member Functions

 HolonomicConstraint (DynamicalSystem model, h,SymExpression name, varargin)
 The class constructor function. More...
 
function obj = configure (load_path)
 configure the derivatives and Jacobian of the actual/desired outputs functions More...
 
function nlp = imposeNLPConstraint (nlp)
 impose holonomic objaints as NLP objaints in the trajectory optimization problem nlp of the dynamical system More...
 
function [ Jh , dJh ] = calcJacobian (x, dx)
 calculate the holonomic constraints, Jacobian and its time derivatives More...
 
function h = calcConstraint (colvec x)
 calculate the holonomic constraints More...
 
function  saveExpression (export_path, varargin)
 export the symbolic expressions of the constraints matrices to MX binary files More...
 
function  export (char export_path,varargin varargin)
 export the symbolic expressions of the constraints matrices and vectors and compile as MEX files. More...
 
function obj = setJacobian (SymExpression jac)
 Jacobian matrix sets the Jacobian matrix of the holonomic constraints if it is provided directly by the users. More...
 
function obj = setDerivativeOrder (integer degree)
 RelativeDegree sets the highest derivative order of holonomic constraints in order to enforce as bilateral constraints of the system. More...
 
function obj = setConstrLabel (cellstr label)
 OutputLabel sets the naming labels of outputs. More...
 
function name = validateName (name)
 Name. More...
 

Public Attributes

integer Dimension
 The dimension of the virtual constraints. More...
 
SymVariable Param
 The symbolic representation of constant parameter value hd that the holonomic constraints associated wtih. More...
 
SymVariable Input
 The symbolic representation of the input variables associated with the holonomic constraints. More...
 
char Name
 The name of the virtual constraints. More...
 
char ConstrLabel
 The label of the holonomic constraint. More...
 
integer DerivativeOrder
 The highest order of derivatives to enforce the holonomic constraints. This is the same as the relative degree of a virtual constraint. More...
 
SymFunction ConstrExpr
 The holonomic constraint expression. More...
 
SymFunction ConstrJac
 The Jacobian matrix of the holonomic constraitns. More...
 
SymFunction ConstrJacDot
 The Jacobian matrix of the holonomic constraitns. More...
 
char ParamName
 The name of the parameter variable hd associated with the holonomic constraints. More...
 
char InputName
 The name othe input variables (external forces, etc.) associated with the holonomic constraints. More...
 
 h_name
 
 Jh_name
 
 dh_name
 
 dJh_name
 
 ddh_name
 
- 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 Attributes

DynamicalSystem Model
 The dynamical system model. More...
 
SymFunction h_
 The holonomic constraint expression. More...
 
SymFunction Jh_
 The Jacobian matrix of the holonomic constraint expression. More...
 
SymFunction dh_
 The first order derivative of the holonomic constraint expression The first order derivative of the Jacobian matrix of the holonomic constraint expression. More...
 
 dJh_
 
SymFunction ddh_
 The second order derivatives of the holonomic constraints expression. More...
 

Detailed Description

HolonomicConstraint: represents a group of holonomic constraints of a dynamical systems.

A holonomic constraint is defined as a function of state variables that equals to constants, i.e., h(x) == hd

Author
ayonga
Date
2017-04-20

Copyright (c) 2016-2017, 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

Constructor & Destructor Documentation

◆ HolonomicConstraint()

HolonomicConstraint.HolonomicConstraint ( DynamicalSystem  model,
  h,
SymExpression  name,
  varargin 
)
inline

The class constructor function.

Parameters
modelthe dynamical system model in which the virtual constraints are defined
hthe symbolic expression of the constraints
namethe name of the virtual constraints
vararginoptional parameters. In details Required Parameters for varargin:
  • ConstrLabel labels for constraints
  • Jacobian the custom Jacobian matrix
  • DerivativeOrder the degree of holonomic constraints
Required fields of model:

Member Function Documentation

◆ calcConstraint()

function h = HolonomicConstraint.calcConstraint ( colvec  x)

calculate the holonomic constraints

Parameters
xthe states
dxthe first order derivatives
Return values
hthe value of the holonomic constraint

◆ calcJacobian()

function [ matrix Jh , matrix dJh ] = HolonomicConstraint.calcJacobian (   x,
  dx 
)

calculate the holonomic constraints, Jacobian and its time derivatives

Parameters
xthe states
dxthe first order derivatives
Return values
Jhthe first-order Jacobian of the constraint
dJhthe time derivative of the Jacobian matrix

◆ configure()

function obj = HolonomicConstraint.configure (   load_path)

configure the derivatives and Jacobian of the actual/desired outputs functions

Parameters
load_paththe path from which symbolic expressions can be loaded
Generated fields of obj:

◆ export()

function HolonomicConstraint.export ( char  export_path,
varargin  varargin 
)
inline

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

Parameters
export_paththe path to export the file
vararginvariable input parameters
export ( ..., Vars, File, ForceExport, BuildMex, Namespace )
Required Parameters for varargin:
  • Vars a list of symbolic variables
  • 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

◆ imposeNLPConstraint()

function TrajectoryOptimization nlp = HolonomicConstraint.imposeNLPConstraint (   nlp)

impose holonomic objaints as NLP objaints in the trajectory optimization problem nlp of the dynamical system

Parameters
nlpthe trajectory optimization NLP

◆ saveExpression()

function obj = HolonomicConstraint.saveExpression (   export_path,
  varargin 
)

export the symbolic expressions of the constraints matrices to MX binary files

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

◆ setConstrLabel()

function obj = HolonomicConstraint.setConstrLabel ( cellstr  label)
inline

OutputLabel sets the naming labels of outputs.

Parameters
labelthe cell array of labels
Generated fields of obj:

◆ setDerivativeOrder()

function obj = HolonomicConstraint.setDerivativeOrder ( integer  degree)
inline

RelativeDegree sets the highest derivative order of holonomic constraints in order to enforce as bilateral constraints of the system.

Parameters
degreederivative order
Generated fields of obj:

◆ setJacobian()

function obj = HolonomicConstraint.setJacobian ( SymExpression  jac)
inline

Jacobian matrix sets the Jacobian matrix of the holonomic constraints if it is provided directly by the users.

Parameters
jacthe jacobian matrix
Generated fields of obj:

◆ validateName()

function name = HolonomicConstraint.validateName (   name)
inline

Name.

Member Data Documentation

◆ ConstrExpr

HolonomicConstraint.ConstrExpr

The holonomic constraint expression.

Note
This property has the MATLAB attribute Dependent set to true.
Matlab documentation of property attributes.
[readonly]

◆ ConstrJac

HolonomicConstraint.ConstrJac

The Jacobian matrix of the holonomic constraitns.

Note
This property has the MATLAB attribute Dependent set to true.
Matlab documentation of property attributes.
[readonly]

◆ ConstrJacDot

HolonomicConstraint.ConstrJacDot

The Jacobian matrix of the holonomic constraitns.

Note
This property has the MATLAB attribute Dependent set to true.
Matlab documentation of property attributes.
[readonly]

◆ ConstrLabel

HolonomicConstraint.ConstrLabel

The label of the holonomic constraint.

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

◆ ddh_

HolonomicConstraint.ddh_
protected

The second order derivatives of the holonomic constraints expression.

◆ ddh_name

HolonomicConstraint.ddh_name
Note
[readonly]

◆ DerivativeOrder

HolonomicConstraint.DerivativeOrder

The highest order of derivatives to enforce the holonomic constraints. This is the same as the relative degree of a virtual constraint.

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

◆ dh_

HolonomicConstraint.dh_
protected

The first order derivative of the holonomic constraint expression The first order derivative of the Jacobian matrix of the holonomic constraint expression.

◆ dh_name

HolonomicConstraint.dh_name
Note
[readonly]

◆ Dimension

HolonomicConstraint.Dimension

The dimension of the virtual constraints.

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

◆ dJh_

HolonomicConstraint.dJh_
protected

◆ dJh_name

HolonomicConstraint.dJh_name
Note
[readonly]

◆ h_

HolonomicConstraint.h_
protected

The holonomic constraint expression.

◆ h_name

HolonomicConstraint.h_name
Note
[readonly]

◆ Input

HolonomicConstraint.Input

The symbolic representation of the input variables associated with the holonomic constraints.

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

◆ InputName

HolonomicConstraint.InputName

The name othe input variables (external forces, etc.) associated with the holonomic constraints.

Note
This property has the MATLAB attribute Dependent set to true.
Matlab documentation of property attributes.
[readonly]

◆ Jh_

HolonomicConstraint.Jh_
protected

The Jacobian matrix of the holonomic constraint expression.

◆ Jh_name

HolonomicConstraint.Jh_name
Note
[readonly]

◆ Model

HolonomicConstraint.Model
protected

The dynamical system model.

◆ Name

HolonomicConstraint.Name

The name of the virtual constraints.

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

◆ Param

HolonomicConstraint.Param

The symbolic representation of constant parameter value hd that the holonomic constraints associated wtih.

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

◆ ParamName

HolonomicConstraint.ParamName

The name of the parameter variable hd associated with the holonomic constraints.

Note
This property has the MATLAB attribute Dependent set to true.
Matlab documentation of property attributes.
[readonly]

The documentation for this class was generated from the following files:
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@HolonomicConstraint/HolonomicConstraint.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@HolonomicConstraint/calcConstraint.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@HolonomicConstraint/calcJacobian.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@HolonomicConstraint/configure.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@HolonomicConstraint/imposeNLPConstraint.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/system/@HolonomicConstraint/saveExpression.m