MP Class Referenceabstract

#include <armarx/control/common/mp/MP.h>

+ Inheritance diagram for MP:

Public Member Functions

virtual void computePhaseStop (const MPInputPtr input, const MPOutputPtr output, PhaseStopResult &phaseStop)
 
DVec deserialize (const std::string &, const std::string &mode="string")
 
double getCanonicalValue ()
 
const std::string & getClassName () const
 
MPConfig getConfig ()
 
const arondto::MPGroup & getGroup () const
 
std::string getGroupName () const
 
const std::string & getMPName () const
 
const std::string & getNodeSetName () const
 
const std::string & getRole () const
 
bool getStartFromPrevTarget ()
 
std::vector< double > getStartVec ()
 
DVecVec getWeight ()
 
bool isFinished ()
 status
 
bool isFirstRun ()
 
bool isRunning ()
 
bool isStopRequested ()
 
bool isTaskSpaceMP () const
 
void learnFromCSV (const Ice::StringSeq &fileNames=std::vector< std::string >())
 setting
 
void learnFromTraj (const MPTrajs &trajs=MPTrajs())
 
 MP (const MPConfig &c)
 
void pause ()
 
void removeAllViaPoint ()
 
void requestStop ()
 
void reset ()
 
void resume ()
 
virtual void run (MPInputPtr, MPOutputPtr, const PhaseStopResult &phaseStop)=0
 
std::string serialize (const std::string &mode="string")
 
void setDurationSec (Ice::Double timeDuration)
 
void setGoal (const DVec &goals)
 
void setRotationWeights (const DVecVec &weights)
 
void setStart (const DVec &starts)
 
void setStartAndGoal (const DVec &starts, const DVec &goals)
 
void setTranslationWeights (const DVecVec &weights)
 
void setViaPoint (Ice::Double u, const DVec &viapoint)
 
void setWeight (const DVecVec &weights)
 serialze
 
void start ()
 control
 
void start (const DVec &goals)
 
void start (const DVec &goals, const DVec &starts)
 
void start (const DVec &goals, const DVec &starts, Ice::Double timeDuration)
 
void start (const DVec &goals, Ice::Double timeDuration)
 
void stop ()
 
void trainMP ()
 
void trainMPFromTraj (std::vector< mplib::core::SampledTrajectory > &trajs)
 
virtual void validateInitialState (const DVec &starts)
 
virtual DVec validateViaPoint (const DVec &viapoint)
 
virtual ~MP ()=default
 

Public Attributes

DVec prevViapoint
 

Protected Attributes

double canonicalValue = 1.0
 
MPConfig cfg
 
std::vector< mplib::representation::MPState > currentState
 
std::atomic_bool finished = false
 
std::atomic_bool firstRun = true
 
std::atomic_bool goalSetByUser {false}
 
bool isDisturbance = false
 
MutexType mpMutex
 
armarx::DateTime mpStartTimeSec
 
std::atomic_bool mpTrained {false}
 Note: if mp is not trained, the dimension is not initialized, thus mp->getDim() is undefined, if you set viapoints you will have memory allocation error.
 
std::atomic_bool paused = false
 
std::atomic_bool running = false
 
std::atomic_bool stopRequested = false
 
DVec targetPoseVec
 
DVec targetPoseVecInTraj
 
std::vector< std::pair< double, DVec > > userDefinedViaPoints
 
VMPPtr vmp
 
mplib::representation::VMPType vmpType = mplib::representation::VMPType::PrincipalComponent
 

Detailed Description

Definition at line 74 of file MP.h.

Constructor & Destructor Documentation

◆ MP()

MP ( const MPConfig & c)

Definition at line 18 of file MP.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ~MP()

virtual ~MP ( )
virtualdefault

Member Function Documentation

◆ computePhaseStop()

virtual void computePhaseStop ( const MPInputPtr input,
const MPOutputPtr output,
PhaseStopResult & phaseStop )
inlinevirtual

Reimplemented in TSMP.

Definition at line 144 of file MP.h.

◆ deserialize()

DVec deserialize ( const std::string & mpString,
const std::string & mode = "string" )

Definition at line 502 of file MP.cpp.

◆ getCanonicalValue()

double getCanonicalValue ( )

Definition at line 465 of file MP.cpp.

◆ getClassName()

const std::string & getClassName ( ) const

Definition at line 53 of file MP.cpp.

◆ getConfig()

MPConfig getConfig ( )

Definition at line 226 of file MP.cpp.

◆ getGroup()

const arondto::MPGroup & getGroup ( ) const

Definition at line 77 of file MP.cpp.

◆ getGroupName()

std::string getGroupName ( ) const

Definition at line 71 of file MP.cpp.

◆ getMPName()

const std::string & getMPName ( ) const

Definition at line 47 of file MP.cpp.

◆ getNodeSetName()

const std::string & getNodeSetName ( ) const

Definition at line 59 of file MP.cpp.

◆ getRole()

const std::string & getRole ( ) const

Definition at line 65 of file MP.cpp.

◆ getStartFromPrevTarget()

bool getStartFromPrevTarget ( )

Definition at line 417 of file MP.cpp.

◆ getStartVec()

std::vector< double > getStartVec ( )

Definition at line 405 of file MP.cpp.

◆ getWeight()

DVecVec getWeight ( )

Definition at line 478 of file MP.cpp.

◆ isFinished()

bool isFinished ( )

status

Definition at line 202 of file MP.cpp.

◆ isFirstRun()

bool isFirstRun ( )

Definition at line 214 of file MP.cpp.

◆ isRunning()

bool isRunning ( )

Definition at line 208 of file MP.cpp.

◆ isStopRequested()

bool isStopRequested ( )

Definition at line 220 of file MP.cpp.

◆ isTaskSpaceMP()

bool isTaskSpaceMP ( ) const

Definition at line 83 of file MP.cpp.

◆ learnFromCSV()

void learnFromCSV ( const Ice::StringSeq & fileNames = std::vector<std::string>())

setting

Definition at line 265 of file MP.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ learnFromTraj()

void learnFromTraj ( const MPTrajs & trajs = MPTrajs())

Definition at line 232 of file MP.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pause()

void pause ( )

Definition at line 170 of file MP.cpp.

◆ removeAllViaPoint()

void removeAllViaPoint ( )

Definition at line 458 of file MP.cpp.

+ Here is the caller graph for this function:

◆ requestStop()

void requestStop ( )

Definition at line 164 of file MP.cpp.

◆ reset()

void reset ( )

Definition at line 182 of file MP.cpp.

+ Here is the call graph for this function:

◆ resume()

void resume ( )

Definition at line 176 of file MP.cpp.

+ Here is the caller graph for this function:

◆ run()

virtual void run ( MPInputPtr ,
MPOutputPtr ,
const PhaseStopResult & phaseStop )
pure virtual

Implemented in JSMP, KeypointsMP, and TSMP.

◆ serialize()

std::string serialize ( const std::string & mode = "string")

Definition at line 484 of file MP.cpp.

◆ setDurationSec()

void setDurationSec ( Ice::Double timeDuration)

Definition at line 108 of file MP.cpp.

◆ setGoal()

void setGoal ( const DVec & goals)

Definition at line 350 of file MP.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setRotationWeights()

void setRotationWeights ( const DVecVec & weights)

◆ setStart()

void setStart ( const DVec & starts)

Definition at line 378 of file MP.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setStartAndGoal()

void setStartAndGoal ( const DVec & starts,
const DVec & goals )

Definition at line 423 of file MP.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTranslationWeights()

void setTranslationWeights ( const DVecVec & weights)

◆ setViaPoint()

void setViaPoint ( Ice::Double u,
const DVec & viapoint )

Definition at line 430 of file MP.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setWeight()

void setWeight ( const DVecVec & weights)

serialze

Definition at line 472 of file MP.cpp.

◆ start() [1/5]

void start ( )

control

Definition at line 89 of file MP.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ start() [2/5]

void start ( const DVec & goals)

Definition at line 95 of file MP.cpp.

+ Here is the call graph for this function:

◆ start() [3/5]

void start ( const DVec & goals,
const DVec & starts )

parse user defined viapoints from configuration file

overwrite goals and starts if available

prepare execution

set flag

Definition at line 121 of file MP.cpp.

+ Here is the call graph for this function:

◆ start() [4/5]

void start ( const DVec & goals,
const DVec & starts,
Ice::Double timeDuration )

Definition at line 114 of file MP.cpp.

+ Here is the call graph for this function:

◆ start() [5/5]

void start ( const DVec & goals,
Ice::Double timeDuration )

Definition at line 101 of file MP.cpp.

+ Here is the call graph for this function:

◆ stop()

void stop ( )

Definition at line 157 of file MP.cpp.

◆ trainMP()

void trainMP ( )

Definition at line 324 of file MP.cpp.

+ Here is the call graph for this function:

◆ trainMPFromTraj()

void trainMPFromTraj ( std::vector< mplib::core::SampledTrajectory > & trajs)

Definition at line 290 of file MP.cpp.

+ Here is the caller graph for this function:

◆ validateInitialState()

virtual void validateInitialState ( const DVec & starts)
inlinevirtual

Reimplemented in TSMP.

Definition at line 130 of file MP.h.

◆ validateViaPoint()

virtual DVec validateViaPoint ( const DVec & viapoint)
inlinevirtual

Reimplemented in TSMP.

Definition at line 125 of file MP.h.

+ Here is the caller graph for this function:

Member Data Documentation

◆ canonicalValue

double canonicalValue = 1.0
protected

Definition at line 171 of file MP.h.

◆ cfg

MPConfig cfg
protected

Definition at line 159 of file MP.h.

◆ currentState

std::vector<mplib::representation::MPState> currentState
protected

Definition at line 180 of file MP.h.

◆ finished

std::atomic_bool finished = false
protected

Definition at line 168 of file MP.h.

◆ firstRun

std::atomic_bool firstRun = true
protected

Definition at line 172 of file MP.h.

◆ goalSetByUser

std::atomic_bool goalSetByUser {false}
protected

Definition at line 174 of file MP.h.

◆ isDisturbance

bool isDisturbance = false
protected

Definition at line 161 of file MP.h.

◆ mpMutex

MutexType mpMutex
mutableprotected

Definition at line 163 of file MP.h.

◆ mpStartTimeSec

armarx::DateTime mpStartTimeSec
protected

Definition at line 183 of file MP.h.

◆ mpTrained

std::atomic_bool mpTrained {false}
protected

Note: if mp is not trained, the dimension is not initialized, thus mp->getDim() is undefined, if you set viapoints you will have memory allocation error.

So make sure mp is trained before setting any viapoint.

Definition at line 177 of file MP.h.

◆ paused

std::atomic_bool paused = false
protected

Definition at line 169 of file MP.h.

◆ prevViapoint

DVec prevViapoint

Definition at line 122 of file MP.h.

◆ running

std::atomic_bool running = false
protected

Definition at line 167 of file MP.h.

◆ stopRequested

std::atomic_bool stopRequested = false
protected

Definition at line 170 of file MP.h.

◆ targetPoseVec

DVec targetPoseVec
protected

Definition at line 178 of file MP.h.

◆ targetPoseVecInTraj

DVec targetPoseVecInTraj
protected

Definition at line 179 of file MP.h.

◆ userDefinedViaPoints

std::vector<std::pair<double, DVec> > userDefinedViaPoints
protected

Definition at line 181 of file MP.h.

◆ vmp

VMPPtr vmp
protected

Definition at line 164 of file MP.h.

◆ vmpType

mplib::representation::VMPType vmpType = mplib::representation::VMPType::PrincipalComponent
protected

Definition at line 165 of file MP.h.


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