8 #ifndef CSCOBJECTIVEAI_H_
9 #define CSCOBJECTIVEAI_H_
34 int countGenerations();
35 int countTotalPersons();
37 bool validateCurrentSolution();
40 void incrementUsageCount();
42 void changeIKTarget(vector<CscJacobianInverseKinematic::TargetIKParams *> targets);
49 int getKnowledgeItemId()
const;
50 int getValidationCount()
const;
53 int getLastUsageTimeInt()
const;
54 time_t lastUsageTime = 0;
55 float getEstimatedDuration();
58 bool getDeployableToGlobalSimulator();
59 int counterIteration = 0;
74 int personByGenerationMax;
76 int currentGenerationId;
82 bool initialStateReached;
84 vector<string> *names;
85 vector<string> *namesWheels;
86 void initJointsNames();
87 void initWheelsNames();
88 vector<float> *getDeltasBetweenValues(map<int, int> initialState, map<int, int> compareState);
89 float defaultStateDelay = 200.0;
90 float defaultStateDuration = 200.0;
91 bool validateKinematicSolution();
92 bool validateGeneticSolution();
93 void moveToInitialState();
94 bool isAIMemberPivotStationary(
const string &memberName,
float acceptedDelta);
96 bool deployableToGlobalSimulator;
107 string outputName(
const vector<const CscMember *> *members,
int memberA,
int memberB);
113 void cutSequenceAndTryAgain(
CscPerson *personToAdd);