#include <CscKnowledgeItem.h>
Classes | |
| struct | LimitsPivot |
| struct | LimitsPropeller |
| struct | LimitsTranslation |
| struct | LimitsWheel |
| struct | TargetMemberPonderation |
| struct | TargetMemberValues |
Public Member Functions | |
| CscKnowledgeItem (int knoItemId, string knoItemName, CscArtificialIntelligenceTypes aiTypes=CscArtificialIntelligenceType::NONE, bool outputTypes[]=NULL) | |
| void | applyWheels (CscSequence *result, vector< string > *names) |
| void | applyWheels (CscState *result, vector< string > *names) |
| void | applyJoints (CscState *result, vector< string > *names) |
| void | applyJoints (CscSequence *result, vector< string > *names) |
| virtual float | evaluateSequence (CscSequence *sequence, const CscWorldEntity *entity, CscState *initialStateInit) |
| virtual float | evaluateState (CscState *state, const CscWorldEntity *entity, CscState *initialState) |
| const map< string, float > | getOutputsCanMoveValues () const |
| vector< const LimitsPivot * > | getPivotsCanMoveValues () const |
| vector< const LimitsPropeller * > | getPropellersCanMoveValues () const |
| vector< const LimitsWheel * > | getWheelsCanMoveValues () const |
| vector< const LimitsTranslation * > | getTranslationsCanMoveValues () const |
| void | setPivotsCanMoveValues (const LimitsPivot *limitsPivot) |
| void | setPropellersCanMoveValues (const LimitsPropeller *limitsPropeller) |
| void | setWheelsCanMoveValues (const LimitsWheel *limitsWheel) |
| void | setTranslationsCanMoveValues (const LimitsTranslation *limitsTranslation) |
| virtual bool | isStatesSupportOf (CscState *state1, CscState *state2) |
| virtual bool | isObjectiveSupportOf (CscKnowledgeItem *knowledgeItem) |
| virtual int | getActionDeltaAutorized (float initStateValue) |
| virtual int | getSequenceCountAutorized (float initStateValue) |
| virtual float | getExtrapolationResult (CscSequence *sequenceIn) |
| virtual void | sequencePostTraitment (CscSequence *sequanceIn) |
| virtual | ~CscKnowledgeItem () |
| int | getDistance (int angle1, int angle2) |
| string | toString () |
| virtual CscState * | generateRandomStateFromState (const CscEntityModel *robotModel, CscState *currentState, bool symmetry, bool sameProgressionRightLeft=false) |
| void | setInitStateObjectiveValue (float value) |
| float | getInitStateObjectiveValue () const |
| virtual bool | shouldAlwaysPlayInRealTime () const |
| virtual map< int, CscPivotMovementType > | createPivotMovementTypeByPivotId (const CscEntityModel *robotModel) |
| Creates a map that associates each pivot ID with a constant movement type. More... | |
| virtual map< int, CscPivotMovementType > | getPivotMovementTypeByPivotId (const CscEntityModel *robotModel) |
| Returns a map that associates each pivot ID with a movement type. More... | |
Static Public Member Functions | |
| static unsigned long long | nextId () |
Protected Member Functions | |
| void | cutBeginingIfTheSame (CscSequence *sequenceIn, float maxIn) |
| void | cutBeginingIfSupport (CscSequence *sequenceIn) |
| void | cutLastestIfTheSameAndWorst (CscSequence *sequenceIn, float maxIn) |
| void | cutInternalSubSequencesIfCommonState (CscSequence *sequenceIn) |
| bool | usePivots () const |
| bool | usePropellers () const |
| bool | useWheels () const |
| bool | useTranslations () const |
| virtual void | addExtrapolationStates (CscSequence *sequenceIn, const CscWorldEntity *entity) |
Protected Attributes | |
| map< int, CscPivotMovementType > | pivotMovementTypeByPivotId |
| conscience_core::knowledge::CscKnowledgeItem::CscKnowledgeItem | ( | int | knoItemId, |
| string | knoItemName, | ||
| CscArtificialIntelligenceTypes | aiTypes = CscArtificialIntelligenceType::NONE, |
||
| bool | outputTypes[] = NULL |
||
| ) |
|
virtual |
|
protectedvirtual |
Reimplemented in conscience_core::knowledge::CscKnowledgeItemMultiPodWalk.
| void conscience_core::knowledge::CscKnowledgeItem::applyJoints | ( | CscSequence * | result, |
| vector< string > * | names | ||
| ) |
| void conscience_core::knowledge::CscKnowledgeItem::applyJoints | ( | CscState * | result, |
| vector< string > * | names | ||
| ) |
| void conscience_core::knowledge::CscKnowledgeItem::applyWheels | ( | CscSequence * | result, |
| vector< string > * | names | ||
| ) |
| void conscience_core::knowledge::CscKnowledgeItem::applyWheels | ( | CscState * | result, |
| vector< string > * | names | ||
| ) |
|
virtual |
Creates a map that associates each pivot ID with a constant movement type.
This function iterates through all the pivots in the provided robot model, and creates a map where each pivot ID is associated with a constant movement type.
| robotModel | Pointer to the robot model from which pivot IDs are obtained. |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
Reimplemented in conscience_core::knowledge::CscKnowledgeItemMultiPodWalk.
|
virtual |
Reimplemented in conscience_core::knowledge::CscKnowledgeItemMultiPodWalk, conscience_core::knowledge::CscKnowledgeItemTargetMemberToStateFromMember, conscience_core::knowledge::CscKnowledgeItemTarget, conscience_core::knowledge::CscKnowledgeItemTargetMemberToState, conscience_core::knowledge::CscKnowledgeItemTargetMemberFocusState, and conscience_core::knowledge::CscKnowledgeItemState.
|
virtual |
|
virtual |
| int conscience_core::knowledge::CscKnowledgeItem::getDistance | ( | int | angle1, |
| int | angle2 | ||
| ) |
|
virtual |
| float conscience_core::knowledge::CscKnowledgeItem::getInitStateObjectiveValue | ( | ) | const |
| const map< string, float > conscience_core::knowledge::CscKnowledgeItem::getOutputsCanMoveValues | ( | ) | const |
|
virtual |
Returns a map that associates each pivot ID with a movement type.
This function checks if the map pivotMovementTypeByPivotId is empty. If it is, the function calls createPivotMovementTypeByPivotId() to create the map and then returns it. If the map is not empty, it returns the map directly.
| robotModel | Pointer to the robot model from which pivot IDs are obtained. |
| vector< const CscKnowledgeItem::LimitsPivot * > conscience_core::knowledge::CscKnowledgeItem::getPivotsCanMoveValues | ( | ) | const |
| vector< const CscKnowledgeItem::LimitsPropeller * > conscience_core::knowledge::CscKnowledgeItem::getPropellersCanMoveValues | ( | ) | const |
|
virtual |
| vector< const CscKnowledgeItem::LimitsTranslation * > conscience_core::knowledge::CscKnowledgeItem::getTranslationsCanMoveValues | ( | ) | const |
| vector< const CscKnowledgeItem::LimitsWheel * > conscience_core::knowledge::CscKnowledgeItem::getWheelsCanMoveValues | ( | ) | const |
|
virtual |
Reimplemented in conscience_core::knowledge::CscKnowledgeItemMultiPodWalk, conscience_core::knowledge::CscKnowledgeItemTargetMemberToStateFromMember, conscience_core::knowledge::CscKnowledgeItemTargetArmToPosition, conscience_core::knowledge::CscKnowledgeItemTargetMemberToState, and conscience_core::knowledge::CscKnowledgeItemTargetMemberFocusState.
|
virtual |
Reimplemented in conscience_core::knowledge::CscKnowledgeItemMultiPodWalk, conscience_core::knowledge::CscKnowledgeItemTargetMemberToStateFromMember, conscience_core::knowledge::CscKnowledgeItemTargetArmToPosition, conscience_core::knowledge::CscKnowledgeItemTargetMemberToState, and conscience_core::knowledge::CscKnowledgeItemTargetMemberFocusState.
|
inlinestatic |
|
virtual |
| void conscience_core::knowledge::CscKnowledgeItem::setInitStateObjectiveValue | ( | float | value | ) |
| void conscience_core::knowledge::CscKnowledgeItem::setPivotsCanMoveValues | ( | const LimitsPivot * | limitsPivot | ) |
| void conscience_core::knowledge::CscKnowledgeItem::setPropellersCanMoveValues | ( | const LimitsPropeller * | limitsPropeller | ) |
| void conscience_core::knowledge::CscKnowledgeItem::setTranslationsCanMoveValues | ( | const LimitsTranslation * | limitsTranslation | ) |
| void conscience_core::knowledge::CscKnowledgeItem::setWheelsCanMoveValues | ( | const LimitsWheel * | limitsWheel | ) |
|
virtual |
| string conscience_core::knowledge::CscKnowledgeItem::toString | ( | ) |
|
protected |
|
protected |
|
protected |
|
protected |
| const CscArtificialIntelligenceTypes conscience_core::knowledge::CscKnowledgeItem::aiTypes |
| bool conscience_core::knowledge::CscKnowledgeItem::antiKinematic = false |
| bool conscience_core::knowledge::CscKnowledgeItem::deploymentInitialGlobal = false |
| bool conscience_core::knowledge::CscKnowledgeItem::deploymentWhenAnotherIsSolved = false |
| const vector<const TargetMemberPonderation *>* conscience_core::knowledge::CscKnowledgeItem::inputsTargetPercents = new vector<const TargetMemberPonderation *>() |
| const vector<const TargetMemberValues *>* conscience_core::knowledge::CscKnowledgeItem::inputsTargetValues = new vector<const TargetMemberValues *>() |
| float conscience_core::knowledge::CscKnowledgeItem::isSupportAccDiff = 0.3 |
| float conscience_core::knowledge::CscKnowledgeItem::isSupportActionDiff = 5.0 |
| float conscience_core::knowledge::CscKnowledgeItem::isSupportGyroDiff = 10.0 |
| float conscience_core::knowledge::CscKnowledgeItem::isSupportHeightDiff = 10 |
| int conscience_core::knowledge::CscKnowledgeItem::knowledgeItemId |
| string conscience_core::knowledge::CscKnowledgeItem::knowledgeItemName |
| CscKnowledgeItemType conscience_core::knowledge::CscKnowledgeItem::knowledgeType |
| float conscience_core::knowledge::CscKnowledgeItem::maxJointDelta = 100.0 |
| map<int, float> conscience_core::knowledge::CscKnowledgeItem::maxPivotDeltaByPivotId |
| float conscience_core::knowledge::CscKnowledgeItem::maxPropellersDelta = 100.0f |
| int conscience_core::knowledge::CscKnowledgeItem::maxSequenceSize = 100 |
| float conscience_core::knowledge::CscKnowledgeItem::maxTranslationsDelta = 100.0f |
| float conscience_core::knowledge::CscKnowledgeItem::maxWheelsDelta = 100.0f |
| bool conscience_core::knowledge::CscKnowledgeItem::optionCutBeginingIfTheSame = false |
| bool conscience_core::knowledge::CscKnowledgeItem::optionCutLastestIfTheSameAndWorst = false |
| bool conscience_core::knowledge::CscKnowledgeItem::optionDeltaPerStateMaxDegressive = false |
| const map<string, float>* conscience_core::knowledge::CscKnowledgeItem::outputsCanMoveValues = new map<string, float> |
| bool conscience_core::knowledge::CscKnowledgeItem::outputTypes[4] |
|
protected |
| float conscience_core::knowledge::CscKnowledgeItem::processAt = 1.0 |
| bool conscience_core::knowledge::CscKnowledgeItem::selfDeploymentAnticipation = false |
| float conscience_core::knowledge::CscKnowledgeItem::sequencePercentAccEnd = 0.0 |
| float conscience_core::knowledge::CscKnowledgeItem::sequencePercentAvg = 0.0 |
| float conscience_core::knowledge::CscKnowledgeItem::sequencePercentCountStates = 0.0 |
| float conscience_core::knowledge::CscKnowledgeItem::sequencePercentExtrapolation = 0.0 |
| float conscience_core::knowledge::CscKnowledgeItem::sequencePercentMax = 1.0 |
| float conscience_core::knowledge::CscKnowledgeItem::solvedAt = 1.0 |
| bool conscience_core::knowledge::CscKnowledgeItem::strictPonderations = false |
| bool conscience_core::knowledge::CscKnowledgeItem::symetricMovments = true |