Conscience Core
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
conscience_core::knowledge::CscKnowledgeItemTarget Class Referenceabstract

#include <CscKnowledgeItemTarget.h>

Inheritance diagram for conscience_core::knowledge::CscKnowledgeItemTarget:
conscience_core::knowledge::CscKnowledgeItem conscience_core::knowledge::CscKnowledgeItemMultiPodWalk conscience_core::knowledge::CscKnowledgeItemTargetArmToPosition conscience_core::knowledge::CscKnowledgeItemTargetMemberFocusState conscience_core::knowledge::CscKnowledgeItemTargetMemberToState conscience_core::knowledge::CscKnowledgeItemTargetMemberToStateFromMember

Public Member Functions

 CscKnowledgeItemTarget (int knoItemId, string knoItemName, CscArtificialIntelligenceTypes aiTypes, CscUnitType unitTypeIn=CscUnitType::Centimeter, string unitOriginIn="")
 
float evaluateState (CscState *stateIn, const CscWorldEntity *entity, CscState *initialState) override
 
virtual CscPersongeneratePerson (CscEnvironmentSimulator *environment, const CscWorldEntity *entity, CscState *initialState, int personId, int generationId, CscGeneration *currentGeneration, CscGeneration *previousGeneration)=0
 
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 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 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...
 

Public Attributes

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
 

Protected Member Functions

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

int nbResearchIteration = 0
 
- Protected Attributes inherited from conscience_core::knowledge::CscKnowledgeItem
map< int, CscPivotMovementTypepivotMovementTypeByPivotId
 

Additional Inherited Members

- Static Public Member Functions inherited from conscience_core::knowledge::CscKnowledgeItem
static unsigned long long nextId ()
 

Detailed Description

AI knowledge item base class

Constructor & Destructor Documentation

◆ CscKnowledgeItemTarget()

conscience_core::knowledge::CscKnowledgeItemTarget::CscKnowledgeItemTarget ( int  knoItemId,
string  knoItemName,
CscArtificialIntelligenceTypes  aiTypes,
CscUnitType  unitTypeIn = CscUnitType::Centimeter,
string  unitOriginIn = "" 
)

◆ ~CscKnowledgeItemTarget()

conscience_core::knowledge::CscKnowledgeItemTarget::~CscKnowledgeItemTarget ( )
virtual

Member Function Documentation

◆ evaluateState()

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

◆ generatePerson()

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

◆ getNbResearchIteration()

int conscience_core::knowledge::CscKnowledgeItemTarget::getNbResearchIteration ( )
inline

◆ inverseRightLeftPivot()

map< int, float > conscience_core::knowledge::CscKnowledgeItemTarget::inverseRightLeftPivot ( const CscEntityModel robotModel,
const map< int, float > &  pivotValuesToInverse 
)
protected

Member Data Documentation

◆ nbResearchIteration

int conscience_core::knowledge::CscKnowledgeItemTarget::nbResearchIteration = 0
protected

◆ stateDelay

int conscience_core::knowledge::CscKnowledgeItemTarget::stateDelay = 200

◆ stateDuration

int conscience_core::knowledge::CscKnowledgeItemTarget::stateDuration = 200

◆ targetOriginMember

string conscience_core::knowledge::CscKnowledgeItemTarget::targetOriginMember

◆ unitType

CscUnitType conscience_core::knowledge::CscKnowledgeItemTarget::unitType

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