⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 robot.h

📁 神经网络和遗传算法组合应用
💻 H
字号:
/*  YAKS, a Khepera simulator including a separate GA and ANN   (Genetic Algoritm, Artificial Neural Net).  Copyright (C) 2000  Johan Carlsson (johanc@ida.his.se)    This program is free software; you can redistribute it and/or  modify it under the terms of the GNU General Public License  as published by the Free Software Foundation; either version 2  of the License, or any later version.    This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.    You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */#ifndef ROBOT_H#define ROBOT_H#include "geom.h"#include "motor.h"#include "param.h"/** * @class Robot robot.h * @brief Implements the basics of a khepera robot. * * Robot movements are prerecorded as all other stuff in this simulator =) */class Robot{ public:  Robot();  virtual  ~Robot();  float getRadius();  double  direction;             /* khepera direction                       */  double  olddirection;  void run(float o1, float o2);  void saveState();  virtual void resetRobot();  void init(char *filename);  virtual int isaGripperRobot();  /* N */  int nRod;  float getRodX(int index) const;  float getRodY(int index) const;  void addRod(float x, float y);  /* N */  float getX();  float getY();  float getOX();  float getOY();  double getLastAngR();  double getLastDist();  void setX(float val);  void setY(float val);  virtual void recallState();  float *sensorVal(float kx, float ky, float kangle,float robRadius);   float   energy;                /* energy level                           */  float   mot1,mot2;             /* motori                                 */  int carry; protected:  Motor *rmotor;  float   robotRadius;  float   x,y,oldx,oldy;         /* kepera position (center of the body)   */  int     lastpos[4];            /* kepera last position (center and head) */  float   oldmot1,oldmot2;       /* last motors                            */    private:  double lastAngR;  double lastDist;  /*N*/  float *fRodX;  float *fRodY;  /*N*/  int relangle(float,float,float);   static float robot[20][180][8];  static float Step;  static float MinObstacleDistans;  static float MaxObstacleDistans;};#endif /* ROBOT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -