robot_params.h

00001 /*
00002  *  Player - One Hell of a Robot Server
00003  *  Copyright (C) 2000
00004  *     Brian Gerkey, Kasper Stoy, Richard Vaughan, & Andrew Howard
00005  *
00006  *
00007  *  This program is free software; you can redistribute it and/or modify
00008  *  it under the terms of the GNU General Public License as published by
00009  *  the Free Software Foundation; either version 2 of the License, or
00010  *  (at your option) any later version.
00011  *
00012  *  This program is distributed in the hope that it will be useful,
00013  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *  GNU General Public License for more details.
00016  *
00017  *  You should have received a copy of the GNU General Public License
00018  *  along with this program; if not, write to the Free Software
00019  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020  *
00021  */
00022 
00023 /*
00024  * robot_params.h
00025  *
00026  * ActivMedia robot parameters, automatically generated by saphconv.tcl from
00027  * Saphira parameter files:
00028  *    amigo.p
00029  *    amigo-sh.p
00030  *    p2at.p
00031  *    p2at8+.p
00032  *    p2at8.p
00033  *    p2ce.p
00034  *    p2d8+.p
00035  *    p2d8.p
00036  *    p2de.p
00037  *    p2df.p
00038  *    p2dx.p
00039  *    p2it.p
00040  *    p2pb.p
00041  *    p2pp.p
00042  *    p3at-sh.p
00043  *    p3at.p
00044  *    p3atiw.p
00045  *    p3dx-sh.p
00046  *    p3dx.p
00047  *    peoplebot-sh.p
00048  *    perfpb+.p
00049  *    perfpb.p
00050  *    pion1m.p
00051  *    pion1x.p
00052  *    pionat.p
00053  *    powerbot-sh.p
00054  *    powerbot.p
00055  *    psos1m.p
00056  *    psos1x.p
00057 */
00058 
00059 #ifndef _ROBOT_PARAMS_H
00060 #define _ROBOT_PARAMS_H
00061 
00062 
00063 void initialize_robot_params(void);
00064 
00065 #define PLAYER_NUM_ROBOT_TYPES 29
00066 
00067 
00068 typedef struct
00069 {
00070   double x;
00071   double y;
00072   double th;
00073   double length;
00074   double radius;
00075 } bumper_def_t;
00076 
00077 typedef struct
00078 {
00079   double x;
00080   double y;
00081   double th;
00082 } sonar_pose_t;
00083 
00084 
00085 typedef struct
00086 {
00087   double AngleConvFactor; //
00088   const char* Class;
00089   double DiffConvFactor; //
00090   double DistConvFactor; //
00091   int FrontBumpers; //
00092   double GyroScaler; //
00093   int HasMoveCommand; //
00094   int Holonomic; //
00095   int IRNum; //
00096   int IRUnit; //
00097   int LaserFlipped; //
00098   const char* LaserIgnore;
00099   const char* LaserPort;
00100   int LaserPossessed; //
00101   int LaserPowerControlled; //
00102   int LaserTh; //
00103   int LaserX; //
00104   int LaserY; //
00105   int MaxRVelocity; //
00106   int MaxVelocity; //
00107   int NewTableSensingIR; //
00108   int NumFrontBumpers; //
00109   int NumRearBumpers; //
00110   double RangeConvFactor; //
00111   int RearBumpers; //
00112   int RequestEncoderPackets; //
00113   int RequestIOPackets; //
00114   int RobotDiagonal; //
00115   int RobotLength; //
00116   int RobotRadius; //
00117   int RobotWidth; //
00118   int RotAccel; //
00119   int RotDecel; //
00120   int RotVelMax; //
00121   int SettableAccsDecs; //
00122   int SettableVelMaxes; //
00123   int SonarNum; //
00124   const char* Subclass;
00125   int SwitchToBaudRate; //
00126   int TableSensingIR; //
00127   int TransAccel; //
00128   int TransDecel; //
00129   int TransVelMax; //
00130   int Vel2Divisor; //
00131   double VelConvFactor; //
00132   sonar_pose_t sonar_pose[32];
00133   bumper_def_t bumper_geom[32];
00134 } RobotParams_t;
00135 
00136 
00137 extern RobotParams_t PlayerRobotParams[];
00138 
00139 
00140 #endif

Last updated 12 September 2005 21:38:45