Data Filtering Systems

From RoboJackets Wiki
Revision as of 16:55, 19 September 2007 by PaulV (talk | contribs) (changed spacing)
Jump to navigation Jump to search

The purpose of the Data Filtering System is to take in noisy data from the various sensors (via the Data Acquisition System) and to form an accurate and cohesive picture of the robot's surroundings. It will then pass that picture to the Path Planning System.

Filters

Kalman Filter

The Kalman filter is a relatively simple method for determining parameters of a system from noisy measurements of that system. It will be a good start for future studies in more complicated methods. It first assumes that all of the noise in the system is Gaussian and then recursively estimates the unknown variables. To implement this we will need to make measurement models for each of the sensors and the model for the motors. This will involve a lot of discussion with the Environment Data Processing System to negotiate what kind of data will be sent from the camera and LIDAR.

Particle Filter

Models

Bayesian filtering, and probabilistic estimation in general, uses models of the system being studied to approximate unknown variables when given other information (measurements and controls) about the system. For robotics, we usually split these models up into world/control models and measurement models.

State Variables Control Variables Measurement Variables
Pose (position and angle)
Velocity (linear and angular)
Accelleration (linear and angular)
Coeff. of friction
Position of landmarks
motor speeds/path (from whatever is controlling the robot)
wheel encoders
motor current
GPS
compass
accelerometers & gyroscopes
camera
LADAR

World/Control Models

World models estimate how the system changes between states when no controls are present. Control models estimate how control actions on the system will affect the state. We usually assume that control actions on the system increase uncertainty about the state, which is why controls are included with the world model and not the measurement model (measurements decrease uncertainty about the state) even though controls are usually measurements from our perspective. Note that the distinction is irrelevant so long as the a priori state estimate is determined given the controls up to that next state ( ).


On Candii, we will be testing two different world/control models. One will be a simple kinematic model which assumes there is no slippage and that the wheels are velocity controlled. The other will be a more complicated dynamic model that includes the effects of friction (of drive train and surface), drag (of surface and atmosphere), and gravity and that the wheels are current controlled (current propotional to [c - RPM], torque). This is probably impractical with Kalman-like filters.

Measurement Models

Measurement models estimate how measurements occur as a function of the state. We usually assume that measurements of the system decrease uncertainty about the state. In SLAM, we usually separate internal models (pertains to the robot) from external models (pertains to the landmarks). We can do this because the errors associated with correlations between the landmarks are mostly independent of errors associated with correlations between the robot and the landmarks. Said another way, where the robot is located doesn't affect how accurately it detects landmarks. This assumption greatly reduces the complexity of the models.


On Candii, the sensors related to the internal model (GPS, compass, accelerometers & gyroscopes) are linear and easy to characterize, the sensors related to the external model however are neither. The quantity and quality of the data coming from these sensor makes it impracticable to use directly in the filter, which is why the Environment Data Processing Systems pre-process this data before it comes to this system.