reb_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  * Copyright (C) 2002
00024  * John Sweeney, Laboratory for Perceptual Robotics, UMASS, Amherst
00025  *
00026  * $Id: reb_params.h 1169 2002-12-10 05:34:27Z jazzfunk $
00027  * 
00028  * reb_params.h
00029  *
00030  * Parameters for the UMASS Ubots. 
00031 */
00032 
00033 #ifndef _REB_PARAMS_H
00034 #define _REB_PARAMS_H
00035 
00036 #include <player.h>
00037 
00038 void initialize_reb_params(void);
00039 
00040 #define PLAYER_NUM_UBOT_ROBOT_TYPES 2
00041 
00042 
00043 // here are some parameters for the ubot
00044 typedef struct {
00045   char *Class;
00046   char *Subclass;
00047   int32_t MaxVelocity; // max translational velocity in mm/s
00048   int32_t MaxRVelocity; // max rotational velocity in deg/s
00049   int32_t RobotRadius; // radius in mm
00050   int32_t RobotAxleLength; // length from wheel contact to contact in mm
00051   double PulsesPerMM; // number of pulses per MM
00052   int32_t PulsesPerMMF; // fixed point of previous (previous * REB_FIXED_FACTOR)
00053   double MMPerPulses; // for completeness, inverse of previous, reduce # of floating ops
00054   int32_t MMPerPulsesF;
00055   double PulsesPerMMMS; // previous constants adjusted for time factor in velocity
00056   int32_t PulsesPerMMMSF;
00057   double MMPerPulsesMS;
00058   int32_t MMPerPulsesMSF;
00059   uint16_t NumberIRSensors;
00060   int16_t ir_pose[PLAYER_IR_MAX_SAMPLES][3]; // each row is {x, y, theta} in robo-centric coords (mm, mm, deg)
00061   uint16_t pos_kp, pos_ki, pos_kd;
00062 } UBotRobotParams_t;
00063   
00064 extern UBotRobotParams_t PlayerUBotRobotParams[];
00065 
00066 #endif

Last updated 12 September 2005 21:38:45