#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "pf.h"
#include "robot.h"
#include "enviroment.h"
#include "debug.h"
Go to the source code of this file.
|
pf_t * | pf_init (int num, enviroment_t *envs, int move_noise, float turn_noise, int sense_tag_noise, int sense_wall_noise, int radius) |
|
void | pf_destroy (pf_t *pfs) |
|
void | pf_drive (pf_t *pfs, int distance, int angle, int uncertain) |
|
void | pf_weight_tag (pf_t *pfs, enviroment_t *envs, int tag_num) |
|
void | pf_weight_wall (pf_t *pfs, enviroment_t *envs) |
|
void | pf_resample (pf_t *pfs) |
|
void | pf_estimate (pf_t *pfs, robot_t *robot) |
|
void | pf_random (pf_t *pfs, enviroment_t *envs, int tag_num) |
|
int | pf_accuracy (pf_t *pfs, enviroment_t *envs) |
|
- Author
- Eriks Zaharans
- Date
- 1 Jul 2013
DESCRIPTION
Particle filter library.
Definition in file pf.c.
Evaluate particle filter accuracy
- Parameters
-
pfs | Pointer to particle filter structure |
envs | Pointer to enviroment structure |
- Returns
- Accuracy in percent
Definition at line 294 of file pf.c.
void pf_destroy |
( |
pf_t * |
pfs | ) |
|
Deinitialize particle filter
- Parameters
-
pfs | Pointer to particle filter structure |
- Returns
- Void
Definition at line 84 of file pf.c.
void pf_drive |
( |
pf_t * |
pfs, |
|
|
int |
distance, |
|
|
int |
angle, |
|
|
int |
uncertain |
|
) |
| |
Move particles (drive particles) - Motion update
- Parameters
-
pfs | Pointer to particle filter structure |
distance | Distance traveled (mm) |
angle | Angle change (Degrees) |
- Returns
- Void
Definition at line 99 of file pf.c.
Estimate robot pose according to particles
- Parameters
-
pfs | Pointer to particle filter structure |
robot | Pointer to robot structure |
- Returns
- Void
Definition at line 215 of file pf.c.
pf_t* pf_init |
( |
int |
num, |
|
|
enviroment_t * |
envs, |
|
|
int |
move_noise, |
|
|
float |
turn_noise, |
|
|
int |
sense_tag_noise, |
|
|
int |
sense_wall_noise, |
|
|
int |
radius |
|
) |
| |
Initialize particle filter
- Parameters
-
num | Number of particles |
envs | Pointer to enviroment structure |
move_noise | Error created during forward or backward motion (mm) |
turn_noise | Error created during turning (Radians) |
sense_tag_noise | Error of tag read (mm) |
sense_wall_noise | Error of wall read (mm) |
radius | Particle radius - should be same as robot (mm) |
- Returns
- Pointer to particle filter structure
Definition at line 38 of file pf.c.
Generate random particles near read RFID tag
- Parameters
-
pfs | Pointer to particle filter structure |
envs | Pointer to enviroment structure |
tag_num | RFID tag number |
- Returns
- Void
Definition at line 261 of file pf.c.
void pf_resample |
( |
pf_t * |
pfs | ) |
|
Resample particles
- Parameters
-
pfs | Pointer to particle filter structure |
- Returns
- Void
Definition at line 152 of file pf.c.
Evaluate particles depending on RFID tag
- Parameters
-
pfs | Pointer to particle filter structure |
envs | Pointer to enviroment structure |
tag_num | RFID tag number |
- Returns
- Void
Definition at line 117 of file pf.c.
Evaluate particles depending on how close to wall particle is
- Parameters
-
pfs | Pointer to particle filter structure |
envs | Pointer to enviroment structure |
tag_num | RFID tag number |
- Returns
- Void
Definition at line 136 of file pf.c.