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