pnf/pnf_cooc.c File Reference

#include "pnf_cooc.h"
#include <math.h>
#include <float.h>

Include dependency graph for pnf_cooc.c:


Defines

#define INFINITY   DBL_MAX

Functions

double pnf_cooc_detail (double lambda_i, double lambda_r, double v_i, double v_r, double delta, double *pleft, double *pbothleft, double *pmiddle, double *pbothright, double *pright, int *left, int *bothleft, int *middle, int *bothright, int *right, int *boundguard)
 Co-occurrence probability model based on "Line World Path Planning" developed by Bjoern Jensen in 2003 for joint work with Roland Philippsen on Probabilistic Navigation Functions at the Autonomous Systems Lab, EPFL.
double pnf_cooc (double lambda_i, double lambda_r, double v_i, double v_r, double delta)
 The same as pnf_cooc_detail(), but without exposing the internal partial probabilities.
double pnf_cooc_test_alt (double lambda_i, double lambda_r, double v_i, double v_r, double delta, unsigned int n_v_i_steps)
 For testing an alternate form of "worst case" by maximizing the expected co-occurrence over all object speeds (from 0 to v_i).

Define Documentation

#define INFINITY   DBL_MAX


Function Documentation

double pnf_cooc ( double  lambda_i,
double  lambda_r,
double  v_i,
double  v_r,
double  delta 
)

The same as pnf_cooc_detail(), but without exposing the internal partial probabilities.

Parameters:
lambda_i - IN: distance to the moving object
lambda_r - IN: distance to the robot
v_i - IN: (maximum) speed of the moving object
v_r - IN: (maximum) speed of the robot
delta - IN: step size (discrete "grid")
Returns:
A value between 0 and 1 (inclusive).

double pnf_cooc_detail ( double  lambda_i,
double  lambda_r,
double  v_i,
double  v_r,
double  delta,
double *  pleft,
double *  pbothleft,
double *  pmiddle,
double *  pbothright,
double *  pright,
int *  left,
int *  bothleft,
int *  middle,
int *  bothright,
int *  right,
int *  boundguard 
)

Co-occurrence probability model based on "Line World Path Planning" developed by Bjoern Jensen in 2003 for joint work with Roland Philippsen on Probabilistic Navigation Functions at the Autonomous Systems Lab, EPFL.

Todo:
(N-1) / N can be cached. N should use ceil() instead of the flakey +0.5.

double pnf_cooc_test_alt ( double  lambda_i,
double  lambda_r,
double  v_i,
double  v_r,
double  delta,
unsigned int  n_v_i_steps 
)

For testing an alternate form of "worst case" by maximizing the expected co-occurrence over all object speeds (from 0 to v_i).

We do not have a closed-form solution yet, which is why this function simply tries a discrete number of speeds (could probably use Newton-Raphson, but the real deal is finding that closed-form solution anyways).


doxygen SourceForge.net Logo
E* Interpolated Graph Replanner Wed Dec 12 18:55:49 2007