Conscience Core
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
conscience_core::knowledge::CscKnowledgeItemTargetMemberToState Class Reference

#include <CscKnowledgeItemTargetMemberToState.h>

Inheritance diagram for conscience_core::knowledge::CscKnowledgeItemTargetMemberToState:
conscience_core::knowledge::CscKnowledgeItemTarget conscience_core::knowledge::CscKnowledgeItem

Classes

struct  InverseKinematicParams
 

Public Member Functions

 CscKnowledgeItemTargetMemberToState (int knoItemIdIn, string knoItemNameIn, const vector< const TargetMemberValues * > *inputsTargetValuesIn, const vector< const TargetMemberPonderation * > *inputsTargetPercentsIn, map< string, float > *outputsCanMoveValues, CscUnitType unitTypeIn, string targetOriginMember, bool symemtrySearch, int nbStateMax, const map< int, float > &maxDeltaPivotByPivotId, bool optionCutLastestIfTheSameAndWorst, bool optionCutBeginingIfTheSame, bool optionDeltaPerStateMaxDegressive, float percentAvg, float percentMax, float percentExtrapolation, int stateDuration, int stateDelay, float solvedAt, float processedAt, bool outputTypes[], CscArtificialIntelligenceTypes aiTypes, map< int, CscPoint3d * > centerOfMassOfAllMemberByMemberId)
 
void sequencePostTraitment (CscSequence *sequenceIn) override
 
int getSequenceCountAutorized (float initStateValue) override
 
float getExtrapolationResult (CscSequence *sequenceIn) override
 
bool isStatesSupportOf (CscState *state1, CscState *state2) override
 
bool isObjectiveSupportOf (CscKnowledgeItem *knowledgeItem) override
 
float evaluateState (CscState *stateIn, const CscWorldEntity *entity, CscState *initialState) override
 
virtual ~CscKnowledgeItemTargetMemberToState ()
 
CscPersongeneratePerson (CscEnvironmentSimulator *environment, const CscWorldEntity *entity, CscState *initialState, int personId, int generationId, CscGeneration *currentGeneration, CscGeneration *previousGeneration) override
 
int getActionmaxJointDelta (float initStateValue)
 
int findBestStateIndex (CscSequence *parentSequence)
 Finds the index of the state with the highest objective value in the given parent sequence. More...
 
tuple< CscSequence *, vector< CscPerson * > * > createPersonWithChosenStrategy (CscStrategyType strategy, const CscWorldEntity *entity, CscState *initialState, CscGeneration *previousGeneration, CscEnvironmentSimulator *environment, optional< vector< vector< CscJacobianInverseKinematic::TargetIKParams * >>> targetsInverseKinematic)
 
- Public Member Functions inherited from conscience_core::knowledge::CscKnowledgeItemTarget
 CscKnowledgeItemTarget (int knoItemId, string knoItemName, CscArtificialIntelligenceTypes aiTypes, CscUnitType unitTypeIn=CscUnitType::Centimeter, string unitOriginIn="")
 
virtual ~CscKnowledgeItemTarget ()
 
int getNbResearchIteration ()
 
- Public Member Functions inherited from conscience_core::knowledge::CscKnowledgeItem
 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)
 
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 int getActionDeltaAutorized (float initStateValue)
 
virtual ~CscKnowledgeItem ()
 
int getDistance (int angle1, int angle2)
 
string toString ()
 
virtual CscStategenerateRandomStateFromState (const CscEntityModel *robotModel, CscState *currentState, bool symmetry, bool sameProgressionRightLeft=false)
 
void setInitStateObjectiveValue (float value)
 
float getInitStateObjectiveValue () const
 
virtual bool shouldAlwaysPlayInRealTime () const
 
virtual map< int, CscPivotMovementTypecreatePivotMovementTypeByPivotId (const CscEntityModel *robotModel)
 Creates a map that associates each pivot ID with a constant movement type. More...
 
virtual map< int, CscPivotMovementTypegetPivotMovementTypeByPivotId (const CscEntityModel *robotModel)
 Returns a map that associates each pivot ID with a movement type. More...
 

Static Public Member Functions

static CscKnowledgeItemTargetMemberToStatecreate (int targetId, string targetName, vector< string > targetMemberNames, vector< string > relativeToMemberNames, vector< float > posX, vector< float > posY, vector< float > posZ, vector< float > posPondX, vector< float > posPondY, vector< float > posPondZ, vector< float > pitch, vector< float > yaw, vector< float > roll, vector< float > pitchPond, vector< float > yawPond, vector< float > rollPond, vector< float > accX, vector< float > accY, vector< float > accZ, vector< float > accPondX, vector< float > accPondY, vector< float > accPondZ, vector< string > outputsCanMoveNames, vector< float > outputsCanMovePonderations, CscUnitType unitType, string targetOriginMember, bool symemtrySearch, int nbStateMax, const map< int, float > &maxDeltaPivotByPivotId, bool optionCutLastestIfTheSameAndWorst, bool optionCutBeginingIfTheSame, bool optionDeltaPerStateMaxDegressive, float percentAvg, float percentMax, float percentExtrapolation, int stateDuration, int stateDelay, float solvedAt, float processedAt, bool outputTypes[], CscArtificialIntelligenceTypes aiTypes, map< int, CscPoint3d * > centerOfMassOfAllMemberByMemberId)
 
- Static Public Member Functions inherited from conscience_core::knowledge::CscKnowledgeItem
static unsigned long long nextId ()
 

Public Attributes

map< CscStrategyType, float > strategyElitism
 
map< CscStrategyType, float > strategyProbability
 
vector< InverseKinematicParamsallParams
 
- Public Attributes inherited from conscience_core::knowledge::CscKnowledgeItemTarget
CscUnitType unitType
 
string targetOriginMember
 
int stateDelay = 200
 
int stateDuration = 200
 
- Public Attributes inherited from conscience_core::knowledge::CscKnowledgeItem
int knowledgeItemId
 
string knowledgeItemName
 
CscKnowledgeItemType knowledgeType
 
int maxSequenceSize = 100
 
float maxJointDelta = 100.0
 
float maxWheelsDelta = 100.0f
 
float maxPropellersDelta = 100.0f
 
float maxTranslationsDelta = 100.0f
 
map< int, float > maxPivotDeltaByPivotId
 
bool symetricMovments = true
 
const map< string, float > * outputsCanMoveValues = new map<string, float>
 
const vector< const TargetMemberValues * > * inputsTargetValues = new vector<const TargetMemberValues *>()
 
const vector< const TargetMemberPonderation * > * inputsTargetPercents = new vector<const TargetMemberPonderation *>()
 
float sequencePercentMax = 1.0
 
float sequencePercentAvg = 0.0
 
float sequencePercentCountStates = 0.0
 
float sequencePercentExtrapolation = 0.0
 
float sequencePercentAccEnd = 0.0
 
bool optionCutLastestIfTheSameAndWorst = false
 
bool optionCutBeginingIfTheSame = false
 
bool optionDeltaPerStateMaxDegressive = false
 
bool strictPonderations = false
 
float solvedAt = 1.0
 
float processAt = 1.0
 
float isSupportActionDiff = 5.0
 
float isSupportHeightDiff = 10
 
float isSupportAccDiff = 0.3
 
float isSupportGyroDiff = 10.0
 
bool deploymentWhenAnotherIsSolved = false
 
bool deploymentInitialGlobal = false
 
bool selfDeploymentAnticipation = false
 
bool antiKinematic = false
 
bool outputTypes [4]
 
const CscArtificialIntelligenceTypes aiTypes
 

Additional Inherited Members

- Protected Member Functions inherited from conscience_core::knowledge::CscKnowledgeItemTarget
map< int, float > inverseRightLeftPivot (const CscEntityModel *robotModel, const map< int, float > &pivotValuesToInverse)
 
- Protected Member Functions inherited from conscience_core::knowledge::CscKnowledgeItem
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 inherited from conscience_core::knowledge::CscKnowledgeItemTarget
int nbResearchIteration = 0
 
- Protected Attributes inherited from conscience_core::knowledge::CscKnowledgeItem
map< int, CscPivotMovementTypepivotMovementTypeByPivotId
 

Constructor & Destructor Documentation

◆ CscKnowledgeItemTargetMemberToState()

conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::CscKnowledgeItemTargetMemberToState ( int  knoItemIdIn,
string  knoItemNameIn,
const vector< const TargetMemberValues * > *  inputsTargetValuesIn,
const vector< const TargetMemberPonderation * > *  inputsTargetPercentsIn,
map< string, float > *  outputsCanMoveValues,
CscUnitType  unitTypeIn,
string  targetOriginMember,
bool  symemtrySearch,
int  nbStateMax,
const map< int, float > &  maxDeltaPivotByPivotId,
bool  optionCutLastestIfTheSameAndWorst,
bool  optionCutBeginingIfTheSame,
bool  optionDeltaPerStateMaxDegressive,
float  percentAvg,
float  percentMax,
float  percentExtrapolation,
int  stateDuration,
int  stateDelay,
float  solvedAt,
float  processedAt,
bool  outputTypes[],
CscArtificialIntelligenceTypes  aiTypes,
map< int, CscPoint3d * >  centerOfMassOfAllMemberByMemberId 
)

◆ ~CscKnowledgeItemTargetMemberToState()

conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::~CscKnowledgeItemTargetMemberToState ( )
virtual

Member Function Documentation

◆ create()

static CscKnowledgeItemTargetMemberToState* conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::create ( int  targetId,
string  targetName,
vector< string >  targetMemberNames,
vector< string >  relativeToMemberNames,
vector< float >  posX,
vector< float >  posY,
vector< float >  posZ,
vector< float >  posPondX,
vector< float >  posPondY,
vector< float >  posPondZ,
vector< float >  pitch,
vector< float >  yaw,
vector< float >  roll,
vector< float >  pitchPond,
vector< float >  yawPond,
vector< float >  rollPond,
vector< float >  accX,
vector< float >  accY,
vector< float >  accZ,
vector< float >  accPondX,
vector< float >  accPondY,
vector< float >  accPondZ,
vector< string >  outputsCanMoveNames,
vector< float >  outputsCanMovePonderations,
CscUnitType  unitType,
string  targetOriginMember,
bool  symemtrySearch,
int  nbStateMax,
const map< int, float > &  maxDeltaPivotByPivotId,
bool  optionCutLastestIfTheSameAndWorst,
bool  optionCutBeginingIfTheSame,
bool  optionDeltaPerStateMaxDegressive,
float  percentAvg,
float  percentMax,
float  percentExtrapolation,
int  stateDuration,
int  stateDelay,
float  solvedAt,
float  processedAt,
bool  outputTypes[],
CscArtificialIntelligenceTypes  aiTypes,
map< int, CscPoint3d * >  centerOfMassOfAllMemberByMemberId 
)
inlinestatic

◆ createPersonWithChosenStrategy()

tuple< CscSequence *, vector< CscPerson * > * > conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::createPersonWithChosenStrategy ( CscStrategyType  strategy,
const CscWorldEntity entity,
CscState initialState,
CscGeneration previousGeneration,
CscEnvironmentSimulator environment,
optional< vector< vector< CscJacobianInverseKinematic::TargetIKParams * >>>  targetsInverseKinematic 
)

Generates a tuple with the person newly created by the strategy indicated in parameter and its parents who were used to create it

Parameters
strategystrategy used to create new person
entityThe entity.
initialStateThe initial state of the person.
previousGenerationThe previous generation.
Returns
A tuple with the person newly created and its parents who were used to create it.

◆ evaluateState()

float conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::evaluateState ( CscState stateIn,
const CscWorldEntity entity,
CscState initialState 
)
overridevirtual

◆ findBestStateIndex()

int conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::findBestStateIndex ( CscSequence parentSequence)

Finds the index of the state with the highest objective value in the given parent sequence.

Parameters
parentSequencePointer to the parent sequence to search.
Returns
The index of the state with the highest objective value, or -1 if the parent sequence is empty.

◆ generatePerson()

CscPerson * conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::generatePerson ( CscEnvironmentSimulator environment,
const CscWorldEntity entity,
CscState initialState,
int  personId,
int  generationId,
CscGeneration currentGeneration,
CscGeneration previousGeneration 
)
overridevirtual

Generates a new person created with a specific strategy.

Parameters
environmentThe environment simulator.
entityThe entity.
initialStateThe initial state of the person.
personIdThe unique identifier of the person.
generationIdThe unique identifier of the generation.
currentGenerationThe current generation.
previousGenerationThe previous generation.
Returns
A pointer to the generated person.

Implements conscience_core::knowledge::CscKnowledgeItemTarget.

◆ getActionmaxJointDelta()

int conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::getActionmaxJointDelta ( float  initStateValue)

◆ getExtrapolationResult()

float conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::getExtrapolationResult ( CscSequence sequenceIn)
overridevirtual

◆ getSequenceCountAutorized()

int conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::getSequenceCountAutorized ( float  initStateValue)
overridevirtual

◆ isObjectiveSupportOf()

bool conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::isObjectiveSupportOf ( CscKnowledgeItem knowledgeItem)
overridevirtual

◆ isStatesSupportOf()

bool conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::isStatesSupportOf ( CscState state1,
CscState state2 
)
overridevirtual

◆ sequencePostTraitment()

void conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::sequencePostTraitment ( CscSequence sequenceIn)
overridevirtual

Member Data Documentation

◆ allParams

vector<InverseKinematicParams> conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::allParams

◆ strategyElitism

map<CscStrategyType, float> conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::strategyElitism

◆ strategyProbability

map<CscStrategyType, float> conscience_core::knowledge::CscKnowledgeItemTargetMemberToState::strategyProbability

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