Bratmobile
Public Types | Public Member Functions | Public Attributes | List of all members
StateDifference Struct Reference

Contains the differences between the contiuous components of two hybrid states. More...

#include <graphTools.h>

Collaboration diagram for StateDifference:
Collaboration graph
[legend]

Public Types

enum  WHAT_D_FLAG { DI , DN }
 

Public Member Functions

 StateDifference (const State &s1, const State &s2)
 
float sum ()
 
float sum_r ()
 Total difference in "global" robot pose.
 
float sum_D_pos (const BodyFeatures &bf)
 Total difference in disturbance pose. More...
 
float sum_D_shape (const BodyFeatures &bf)
 Total difference in disturbance shape. More...
 
float sum_D (const BodyFeatures &bf)
 Total difference in disturbance pose and shape combined. More...
 
float get_sum (int mt)
 Returns difference in certain aspects we want to match between states. More...
 
void init (const State &s1, const State &s2)
 Initialises the difference object using two states we want to compare. More...
 
void fill_invalid_bodyfeatures (BodyFeatures &)
 Fills bf match with large values indicating no match.
 
void fill_valid_bodyfeatures (BodyFeatures &bf, const State &s1, const State &s2, WHAT_D_FLAG flag)
 Fills the bodyfeatures match with differences between disturbances in the two states. Differences are calculated in the position local to the robot in that state, not globally. More...
 

Public Attributes

b2Transform pose =b2Transform_zero
 
BodyFeatures Di
 
BodyFeatures Dn
 

Detailed Description

Contains the differences between the contiuous components of two hybrid states.

Member Function Documentation

◆ fill_valid_bodyfeatures()

void StateDifference::fill_valid_bodyfeatures ( BodyFeatures bf,
const State s1,
const State s2,
WHAT_D_FLAG  flag 
)

Fills the bodyfeatures match with differences between disturbances in the two states. Differences are calculated in the position local to the robot in that state, not globally.

Parameters
bfbody features to fill
s1
s2
flagwhether it's a Di or Dn

◆ get_sum()

float StateDifference::get_sum ( int  mt)

Returns difference in certain aspects we want to match between states.

Parameters
mtthe match type

◆ init()

void StateDifference::init ( const State s1,
const State s2 
)

Initialises the difference object using two states we want to compare.

Parameters
s1
s2

◆ sum_D()

float StateDifference::sum_D ( const BodyFeatures bf)
inline

Total difference in disturbance pose and shape combined.

Parameters
bfbody features of disturbance

◆ sum_D_pos()

float StateDifference::sum_D_pos ( const BodyFeatures bf)
inline

Total difference in disturbance pose.

Parameters
bfbody features of disturbance

◆ sum_D_shape()

float StateDifference::sum_D_shape ( const BodyFeatures bf)
inline

Total difference in disturbance shape.

Parameters
bfbody features of disturbance

The documentation for this struct was generated from the following files: