📄 param.c
字号:
free(findThis); parseGetNext(&i,&findThis); } if(strcmp("COMPASS_SENSOR",findThis)==0){ sscanf(lineBuffer[i],"%d",&useCompass); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("ENERGY_SENSOR",findThis)==0){ sscanf(lineBuffer[i],"%d",&useEnergy); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("EPOCHS",findThis)==0){ sscanf(lineBuffer[i],"%d",&amoebaEpochs); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("FITNESS_FILE",findThis)==0){ sscanf(lineBuffer[i],"%s",fitnessFile); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("FITNESS_FUNCTION",findThis)==0){ sscanf(lineBuffer[i],"%d",&ffitness); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("FRONT_INFRARED",findThis)==0){ sscanf(lineBuffer[i],"%d",&nrOfFrontInfrared); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("GENERATIONS",findThis)==0){ sscanf(lineBuffer[i],"%d",&nrOfGenerations); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("GRIPPER",findThis)==0){ sscanf(lineBuffer[i],"%d",&useGripper); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("GRIPPER_NO_NOISE",findThis)==0){ sscanf(lineBuffer[i],"%d",&gripperNoise); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("GRIPPER_SENSOR",findThis)==0){ sscanf(lineBuffer[i],"%d",&gripperSensor); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("GROUND_SENSOR",findThis)==0){ sscanf(lineBuffer[i],"%d",&useGround); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("INDIVIDS",findThis)==0){ sscanf(lineBuffer[i],"%d",&nrOfIndivids); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("LIGHT_CAMERA",findThis)==0){ sscanf(lineBuffer[i],"%s",lightCamera); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("LIGHTBULB_SENSORS",findThis)==0){ sscanf(lineBuffer[i],"%d",&useLightbulbSensors); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("LOG_PATH",findThis)==0){ sscanf(lineBuffer[i],"%s",logPath); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("MOTOR_CAMERA",findThis)==0){ sscanf(lineBuffer[i],"%s",motorCamera); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("MOVE_OBSTACLES",findThis)==0){ sscanf(lineBuffer[i],"%d",&moveObstacles); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("NOISE_PERCENTAGE",findThis)==0){ sscanf(lineBuffer[i],"%f",&amountOfNoise); free(findThis); if(amountOfNoise!=0) amountOfNoise = amountOfNoise / 100.0; parseGetNext(&i,&findThis); } if(strcmp("NR_OF_INDIVIDS_TO_LOG",findThis)==0){ sscanf(lineBuffer[i],"%d",&nrOfIndividsToLog); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("NR_OF_STEPS",findThis)==0){ sscanf(lineBuffer[i],"%d",&nrOfSteps); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("OFFSPRINGS",findThis)==0){ sscanf(lineBuffer[i],"%d",&nrOfKids); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("PARENTS",findThis)==0){ sscanf(lineBuffer[i],"%d",&nrOfFathers); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("PICTURE_ROBOT",findThis)==0){ sscanf(lineBuffer[i],"%s",robotPicFile); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("PICTURE_WORLD",findThis)==0){ sscanf(lineBuffer[i],"%s",worldPicFile); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("ROBOT_CAMERA",findThis)==0){ sscanf(lineBuffer[i],"%s",robotCamera); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("ROD_NOISE",findThis)==0){ sscanf(lineBuffer[i],"%d",&useRodNoise); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("ROD_SENSOR",findThis)==0){ sscanf(lineBuffer[i],"%d",&useRodSensor); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("RUN_REAL",findThis)==0){ sscanf(lineBuffer[i],"%d",&useSerialLine); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("SAVE_WEIGHTS_EVERY_x_GENERATION",findThis)==0){ sscanf(lineBuffer[i],"%d",&saveGeneration); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("SCALE",findThis)==0){ sscanf(lineBuffer[i],"%f",&xScale); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("SELECTION_METHOD",findThis)==0){ sscanf(lineBuffer[i],"%d",&selectionMethod); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("SENSOR_NOISE",findThis)==0){ sscanf(lineBuffer[i],"%d",&sensorNoise); free(findThis); parseGetNext(&i,&findThis); } baudCount=0; serialDevice = (char**) malloc(sizeof(char*)*paramNrOfRobots); while(strcmp("SERIAL_LINE",findThis)==0 && baudCount < paramNrOfRobots){ serialDevice[baudCount] = (char*) malloc(sizeof(char) * 20); sscanf(lineBuffer[i],"%s",serialDevice[baudCount++]); printf("Serial line 0 is %s \n", serialDevice[0]); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("SMALL_CAMERA",findThis)==0){ sscanf(lineBuffer[i],"%s",smallCamera); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("START_GENERATION",findThis)==0){ sscanf(lineBuffer[i],"%d",&startGeneration); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("TEST_SAME_START_POSITION",findThis)==0){ sscanf(lineBuffer[i],"%d",&testSameStartPosition); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("UPDATE_DELAY",findThis)==0){ sscanf(lineBuffer[i],"%d",&updateDelay); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("VERBOSE_LEVEL",findThis)==0){ sscanf(lineBuffer[i],"%d",&verboseLevel); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("WALL_CAMERA",findThis)==0){ sscanf(lineBuffer[i],"%s",wallCamera); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("WEIGHT_FILE",findThis)==0){ sscanf(lineBuffer[i],"%s",weightsFile); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("WORLD_FILE",findThis)==0){ sscanf(lineBuffer[i],"%s",worldFile); free(findThis); parseGetNext(&i,&findThis); } if(strcmp("WORLD_PATH",findThis)==0){ sscanf(lineBuffer[i],"%s",worldPath); free(findThis); parseGetNext(&i,&findThis); } if(findThis) free(findThis); mapping = (int**)malloc(sizeof(int*)*paramNrOfRobots); input = (double**)malloc(sizeof(double*)*paramNrOfRobots); simoutput = (double**)malloc(sizeof(double*)*paramNrOfRobots); for( i=0; i < paramNrOfRobots; i++){ input[i] = (double*)malloc(sizeof(double)*(NETWORK_INPUTS)); simoutput[i] = (double*)malloc(sizeof(double)*(NETWORK_INPUTS)); mapping[i] = (int*)malloc(sizeof(int)*(NETWORK_INPUTS)); }}void printParams(){ if(verboseLevel>1){ printf("------Simulator options-----\n"); if(useCompass==1) printf("Using khepera compass\n"); printf("Using %d front sensors\n",nrOfFrontInfrared); if(nrOfBackInfrared>0) printf("Using back sensors\n"); if(sensorNoise==1){ printf("Using sensor noise\n"); printf("amount of sensor noise %f\n",amountOfNoise); } printf("Sensors :\n"); if (useEnergy==1) printf(" * Energy, energy lost each cycle : %.2f\n",energyDecrease); if (useGround==1) printf(" * Ground \n"); if (useCompass==1) printf(" * Compass \n"); if(useGripper==1){ printf("Using khepera gripper"); if(gripperSensor){ printf(" with gripper sensor"); if(gripperNoise) printf("\nadding gripper noise (not wise in my opinion)"); } printf("\n"); } printf("Graphical scale %f\n",xScale); printf("\nNr of generations to run: %d\n",nrOfGenerations); printf("Nr of individs per generation %d\n",nrOfIndivids); printf("Nr of fathers per generation %d\n",nrOfFathers); printf("Nr of kids per father %d\n",nrOfKids); if (startGeneration > 0) printf("Starting generation : %d\n",startGeneration); printf("Epochs,steps,timelaps : %d %d\n",amoebaEpochs,nrOfSteps); printf("Generations,best,offspring : %d %d %d\n", nrOfGenerations,nrOfFathers,nrOfKids); printf("Logging the best %d individs each generation\n",nrOfIndividsToLog); printf("Random seed : %d\n", seed); printf("Fitness function : %d\n",ffitness); }}/** * Loads option file, parse it and set global variables and options. * @param paramFile Filename of the option file to load. */void loadParams(char *paramFile){ if((fp=fopen(paramFile,"r"))==NULL){ fprintf(stderr,"Couldnt open optionsfile %s \n",paramFile); exit(-1); } readFile(); sortFile(); removeMojs(); printf("Kept %3d config lines\n",readLines-nrOfLines); parseFile(); printParams(); // Cean up memory freeBuffers();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -