NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
octoclass::OctoClass Class Reference

#include <octoclass.h>

Public Member Functions

 OctoClass (const double resolution_in)
 
 OctoClass ()
 
void SetMemoryTime (const double memory)
 
double GetMemoryTime ()
 
void SetMaxRange (const double max_range)
 
void SetMinRange (const double min_range)
 
double GetResolution () const
 
void SetResolution (const double resolution_in)
 
double GetResolution ()
 
void ResetMap ()
 
void SetMapInflation (const double inflate_radius)
 
double GetMapInflation ()
 
void SetCamFrustum (const double fov, const double aspect_ratio)
 
void SetOccupancyThreshold (const double occupancy_threshold)
 
void SetHitMissProbabilities (const double probability_hit, const double probability_miss)
 
void SetClampingThresholds (const double clamping_threshold_min, const double clamping_threshold_max)
 
void PclToRayOctomap (const pcl::PointCloud< pcl::PointXYZ > &cloud, const geometry_msgs::TransformStamped &tf_cam2world, const algebra_3d::FrustumPlanes &frustum)
 
void ComputeUpdate (const octomap::KeySet &occ_inflated, const octomap::KeySet &occ_slim, const octomap::point3d &origin, const double &maxrange, octomap::KeySet *occ_slim_in_range, octomap::KeySet *free_slim, octomap::KeySet *free_inflated)
 
void FadeMemory (const double &rate)
 
void FindCollidingNodesInflated (const pcl::PointCloud< pcl::PointXYZ > &point_cloud, std::vector< octomap::point3d > *colliding_nodes)
 
void TreeVisMarkers (visualization_msgs::MarkerArray *obstacles, visualization_msgs::MarkerArray *free, sensor_msgs::PointCloud2 *obstacles_cloud, sensor_msgs::PointCloud2 *free_cloud)
 
void InflatedVisMarkers (visualization_msgs::MarkerArray *obstacles, visualization_msgs::MarkerArray *free, sensor_msgs::PointCloud2 *obstacles_cloud, sensor_msgs::PointCloud2 *free_cloud)
 
int CheckOccupancy (const octomap::point3d &p)
 
int CheckOccupancy (const pcl::PointXYZ &p)
 
int CheckOccupancy (const Eigen::Vector3d &p)
 
int CheckOccupancy (const octomap::point3d &p1, const octomap::point3d &p2)
 
int CheckOccupancy (const Eigen::Vector3d &p1, const Eigen::Vector3d &p2)
 
bool CheckCollision (const octomap::point3d &p)
 
bool CheckCollision (const Eigen::Vector3d &p)
 
bool CheckCollision (const octomap::point3d &p1, const octomap::point3d &p2)
 
bool CheckCollision (const Eigen::Vector3d &p1, const Eigen::Vector3d &p2)
 
void BBXFreeVolume (const Eigen::Vector3d &box_min, const Eigen::Vector3d &box_max, double *volume)
 
void BBXOccVolume (const Eigen::Vector3d &box_min, const Eigen::Vector3d &box_max, double *volume)
 
void BBXFreeNodes (const Eigen::Vector3d &box_min, const Eigen::Vector3d &box_max, std::vector< octomap::OcTreeKey > *node_keys, std::vector< double > *node_sizes)
 
void BBXFreeNodes (const Eigen::Vector3d &box_min, const Eigen::Vector3d &box_max, IndexedKeySet *indexed_node_keys, std::vector< double > *node_sizes)
 
void GetNodeNeighbors (const octomap::OcTreeKey &node_key, const double &node_size, std::vector< octomap::OcTreeKey > *neighbor_keys)
 
double GetNodeSize (const octomap::OcTreeKey &key)
 
void PrintQueryInfo (octomap::point3d query, octomap::OcTreeNode *node)
 

Public Attributes

octomap::OcTree tree_ = octomap::OcTree(0.1)
 
octomap::OcTree tree_inflated_ = octomap::OcTree(0.1)
 
double memory_time_
 
algebra_3d::FrustumPlanes cam_frustum_
 

Constructor & Destructor Documentation

◆ OctoClass() [1/2]

octoclass::OctoClass::OctoClass ( const double  resolution_in)
explicit

◆ OctoClass() [2/2]

octoclass::OctoClass::OctoClass ( )

Member Function Documentation

◆ BBXFreeNodes() [1/2]

void octoclass::OctoClass::BBXFreeNodes ( const Eigen::Vector3d &  box_min,
const Eigen::Vector3d &  box_max,
IndexedKeySet indexed_node_keys,
std::vector< double > *  node_sizes 
)

◆ BBXFreeNodes() [2/2]

void octoclass::OctoClass::BBXFreeNodes ( const Eigen::Vector3d &  box_min,
const Eigen::Vector3d &  box_max,
std::vector< octomap::OcTreeKey > *  node_keys,
std::vector< double > *  node_sizes 
)

◆ BBXFreeVolume()

void octoclass::OctoClass::BBXFreeVolume ( const Eigen::Vector3d &  box_min,
const Eigen::Vector3d &  box_max,
double *  volume 
)

◆ BBXOccVolume()

void octoclass::OctoClass::BBXOccVolume ( const Eigen::Vector3d &  box_min,
const Eigen::Vector3d &  box_max,
double *  volume 
)

◆ CheckCollision() [1/4]

bool octoclass::OctoClass::CheckCollision ( const Eigen::Vector3d &  p)

◆ CheckCollision() [2/4]

bool octoclass::OctoClass::CheckCollision ( const Eigen::Vector3d &  p1,
const Eigen::Vector3d &  p2 
)

◆ CheckCollision() [3/4]

bool octoclass::OctoClass::CheckCollision ( const octomap::point3d &  p)

◆ CheckCollision() [4/4]

bool octoclass::OctoClass::CheckCollision ( const octomap::point3d &  p1,
const octomap::point3d &  p2 
)

◆ CheckOccupancy() [1/5]

int octoclass::OctoClass::CheckOccupancy ( const Eigen::Vector3d &  p)

◆ CheckOccupancy() [2/5]

int octoclass::OctoClass::CheckOccupancy ( const Eigen::Vector3d &  p1,
const Eigen::Vector3d &  p2 
)

◆ CheckOccupancy() [3/5]

int octoclass::OctoClass::CheckOccupancy ( const octomap::point3d &  p)

◆ CheckOccupancy() [4/5]

int octoclass::OctoClass::CheckOccupancy ( const octomap::point3d &  p1,
const octomap::point3d &  p2 
)

◆ CheckOccupancy() [5/5]

int octoclass::OctoClass::CheckOccupancy ( const pcl::PointXYZ &  p)

◆ ComputeUpdate()

void octoclass::OctoClass::ComputeUpdate ( const octomap::KeySet &  occ_inflated,
const octomap::KeySet &  occ_slim,
const octomap::point3d &  origin,
const double &  maxrange,
octomap::KeySet *  occ_slim_in_range,
octomap::KeySet *  free_slim,
octomap::KeySet *  free_inflated 
)

◆ FadeMemory()

void octoclass::OctoClass::FadeMemory ( const double &  rate)

◆ FindCollidingNodesInflated()

void octoclass::OctoClass::FindCollidingNodesInflated ( const pcl::PointCloud< pcl::PointXYZ > &  point_cloud,
std::vector< octomap::point3d > *  colliding_nodes 
)

◆ GetMapInflation()

double octoclass::OctoClass::GetMapInflation ( )

◆ GetMemoryTime()

double octoclass::OctoClass::GetMemoryTime ( )

◆ GetNodeNeighbors()

void octoclass::OctoClass::GetNodeNeighbors ( const octomap::OcTreeKey &  node_key,
const double &  node_size,
std::vector< octomap::OcTreeKey > *  neighbor_keys 
)

◆ GetNodeSize()

double octoclass::OctoClass::GetNodeSize ( const octomap::OcTreeKey &  key)

◆ GetResolution() [1/2]

double octoclass::OctoClass::GetResolution ( )

◆ GetResolution() [2/2]

double octoclass::OctoClass::GetResolution ( ) const
inline

◆ InflatedVisMarkers()

void octoclass::OctoClass::InflatedVisMarkers ( visualization_msgs::MarkerArray *  obstacles,
visualization_msgs::MarkerArray *  free,
sensor_msgs::PointCloud2 *  obstacles_cloud,
sensor_msgs::PointCloud2 *  free_cloud 
)

◆ PclToRayOctomap()

void octoclass::OctoClass::PclToRayOctomap ( const pcl::PointCloud< pcl::PointXYZ > &  cloud,
const geometry_msgs::TransformStamped &  tf_cam2world,
const algebra_3d::FrustumPlanes frustum 
)

◆ PrintQueryInfo()

void octoclass::OctoClass::PrintQueryInfo ( octomap::point3d  query,
octomap::OcTreeNode *  node 
)

◆ ResetMap()

void octoclass::OctoClass::ResetMap ( )

◆ SetCamFrustum()

void octoclass::OctoClass::SetCamFrustum ( const double  fov,
const double  aspect_ratio 
)

◆ SetClampingThresholds()

void octoclass::OctoClass::SetClampingThresholds ( const double  clamping_threshold_min,
const double  clamping_threshold_max 
)

◆ SetHitMissProbabilities()

void octoclass::OctoClass::SetHitMissProbabilities ( const double  probability_hit,
const double  probability_miss 
)

◆ SetMapInflation()

void octoclass::OctoClass::SetMapInflation ( const double  inflate_radius)

◆ SetMaxRange()

void octoclass::OctoClass::SetMaxRange ( const double  max_range)

◆ SetMemoryTime()

void octoclass::OctoClass::SetMemoryTime ( const double  memory)

◆ SetMinRange()

void octoclass::OctoClass::SetMinRange ( const double  min_range)

◆ SetOccupancyThreshold()

void octoclass::OctoClass::SetOccupancyThreshold ( const double  occupancy_threshold)

◆ SetResolution()

void octoclass::OctoClass::SetResolution ( const double  resolution_in)

◆ TreeVisMarkers()

void octoclass::OctoClass::TreeVisMarkers ( visualization_msgs::MarkerArray *  obstacles,
visualization_msgs::MarkerArray *  free,
sensor_msgs::PointCloud2 *  obstacles_cloud,
sensor_msgs::PointCloud2 *  free_cloud 
)

Member Data Documentation

◆ cam_frustum_

algebra_3d::FrustumPlanes octoclass::OctoClass::cam_frustum_

◆ memory_time_

double octoclass::OctoClass::memory_time_

◆ tree_

octomap::OcTree octoclass::OctoClass::tree_ = octomap::OcTree(0.1)

◆ tree_inflated_

octomap::OcTree octoclass::OctoClass::tree_inflated_ = octomap::OcTree(0.1)

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