mobile_robot_wall_cts.h
Go to the documentation of this file.
00001 // Copyright (C) 2006 Klaas Gadeyne <first dot last at gmail dot com>
00002 //                    Tinne De Laet <first dot last at mech dot kuleuven dot be>
00003 //
00004 // This program is free software; you can redistribute it and/or modify
00005 // it under the terms of the GNU Lesser General Public License as published by
00006 // the Free Software Foundation; either version 2.1 of the License, or
00007 // (at your option) any later version.
00008 //
00009 // This program is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 // GNU Lesser General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU Lesser General Public License
00015 // along with this program; if not, write to the Free Software
00016 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017 //
00018 
00019 #ifndef __MOBILE_ROBOT_CTS_
00020 #define __MOBILE_ROBOT_CTS_
00021 
00022 #include <cmath>
00023 
00024 // To use measurements specify 1
00025 // To do deadreckoning (no measurements) specify 0
00026 #define USE_MEASUREMENTS 0
00027 
00028 #define DELTA_T 1               // Delta t (for discretisation)
00029 #define NUM_TIME_STEPS 101  // Number of steps that  simulation is running
00030 
00031 // Coordinates of wall to which distance is measured
00032 #define RICO_WALL 0.0
00033 #define OFFSET_WALL (0)//100
00034 
00035 // Sizes
00036 #define STATE_SIZE 3 //state: x,y,theta
00037 #define INPUT_SIZE 2 //input: v*deltat, omega*deltat
00038 #define MEAS_SIZE 1  //USmeasurment: distance_to_wall
00039 
00040 //Initial position and orientation of the mobile robot
00041 #define X_0 0
00042 #define Y_0 0
00043 #define THETA_0  M_PI/4
00044 
00045 // Velocity send to the robot, in this case constant for the whole simulation
00046 #define LIN_SPEED  0.1  //translational velocity: v
00047 #define ROT_SPEED 0     //rotational velocity: omega
00048 
00049 #define NUM_SAMPLES 1000 // Default Number of Samples
00050 #define RESAMPLE_PERIOD 0 // Default Resample Period
00051 #define RESAMPLE_THRESHOLD (NUM_SAMPLES/4.0) // Threshold for Dynamic Resampling
00052 
00053 // Prior:
00054 // Initial estimate of position and orientation
00055 #define PRIOR_MU_X -0.1
00056 #define PRIOR_MU_Y 0.1
00057 #define PRIOR_MU_THETA M_PI/4   //M_PI/4
00058 // Initial covariances of position and orientation
00059 #define PRIOR_COV_X pow(0.2,2)
00060 #define PRIOR_COV_Y pow(0.2,2)
00061 #define PRIOR_COV_THETA pow(M_PI/8,2)
00062 
00063 // FOR MIXTURE
00064 // Initial estimate of position and orientation
00065 #define PRIOR_MU_X1 0.1
00066 #define PRIOR_MU_Y1 -0.1
00067 #define PRIOR_MU_THETA1 M_PI/4  //M_PI/4
00068 // Initial covariances of position and orientation
00069 #define PRIOR_COV_X1 pow(0.2,2)
00070 #define PRIOR_COV_Y1 pow(0.2,2)
00071 #define PRIOR_COV_THETA1 pow(M_PI/8,2)
00072 // Initial estimate of position and orientation
00073 #define PRIOR_MU_X2 -0.1
00074 #define PRIOR_MU_Y2 0.1
00075 #define PRIOR_MU_THETA2 M_PI/4  //M_PI/4
00076 // Initial covariances of position and orientation
00077 #define PRIOR_COV_X2 pow(0.2,2)
00078 #define PRIOR_COV_Y2 pow(0.2,2)
00079 #define PRIOR_COV_THETA2 pow(M_PI/8,2)
00080 // Initial estimate of position and orientation
00081 #define PRIOR_MU_X3 0.1
00082 #define PRIOR_MU_Y3 0.1
00083 #define PRIOR_MU_THETA3 M_PI/4  //M_PI/4
00084 // Initial covariances of position and orientation
00085 #define PRIOR_COV_X3 pow(0.2,2)
00086 #define PRIOR_COV_Y3 pow(0.2,2)
00087 #define PRIOR_COV_THETA3 pow(M_PI/8,2)
00088 // Initial estimate of position and orientation
00089 #define PRIOR_MU_X4 -0.1
00090 #define PRIOR_MU_Y4 0.1
00091 #define PRIOR_MU_THETA4 M_PI/4  //M_PI/4
00092 // Initial covariances of position and orientation
00093 #define PRIOR_COV_X4 pow(0.2,2)
00094 #define PRIOR_COV_Y4 pow(0.2,2)
00095 #define PRIOR_COV_THETA4 pow(M_PI/8,2)
00096 
00097 // System Noise
00098 #define MU_SYSTEM_NOISE_X 0.0 
00099 #define MU_SYSTEM_NOISE_Y 0.0 
00100 #define MU_SYSTEM_NOISE_THETA 0.0
00101 #define SIGMA_SYSTEM_NOISE_X pow(0.01,2)
00102 #define SIGMA_SYSTEM_NOISE_Y pow(0.01,2)
00103 #define SIGMA_SYSTEM_NOISE_THETA pow(2*M_PI/180,2)
00104 
00105 
00106 // System Noise for mobile robot simulator
00107 #define MU_SYSTEM_NOISE_X_ROB 0.0 
00108 #define MU_SYSTEM_NOISE_Y_ROB 0.0 
00109 #define MU_SYSTEM_NOISE_THETA_ROB 0.0
00110 #define SIGMA_SYSTEM_NOISE_X_ROB pow(0.001,2)
00111 #define SIGMA_SYSTEM_NOISE_Y_ROB pow(0.001,2)
00112 #define SIGMA_SYSTEM_NOISE_THETA_ROB pow(0.1*M_PI/180,2)
00113 
00114 // System Noise for simulation
00115 #define SIM_FACTOR 1000 //The system covariance in simulation is SIM_FACTOR
00116                         //smaller than the system covariance of the systemmodel
00117 
00118 // Measurement noise
00119 #define SIGMA_MEAS_NOISE pow(0.05,2)
00120 #define MU_MEAS_NOISE 0.0
00121 
00122 // Measurement noise for mobile robot simulator 
00123 #define SIGMA_MEAS_NOISE_ROB pow(0.05,2)
00124 #define MU_MEAS_NOISE_ROB 0.0
00125 
00126 #define NUM_ITERATIONS 3 //number of iterations used for iteraded filters
00127 
00128 
00129 //Write output of mixture filter to file
00130 #define OUTPUT_MIXTURE true
00131 
00132 #endif //__MOBILE_ROBOT_CTS


bfl
Author(s): Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
autogenerated on Thu Feb 11 2016 22:31:56