Nav2 Navigation Stack - kilted  kilted
ROS 2 Navigation Stack
Public Member Functions | Public Attributes | List of all members
nav2_smac_planner::HybridMotionTable Struct Reference

A table of motion primitives and related functions. More...

#include <nav2_smac_planner/include/nav2_smac_planner/node_hybrid.hpp>

Public Member Functions

 HybridMotionTable ()
 A constructor for nav2_smac_planner::HybridMotionTable.
 
void initDubin (unsigned int &size_x_in, unsigned int &size_y_in, unsigned int &angle_quantization_in, SearchInfo &search_info)
 Initializing using Dubin model. More...
 
void initReedsShepp (unsigned int &size_x_in, unsigned int &size_y_in, unsigned int &angle_quantization_in, SearchInfo &search_info)
 Initializing using Reeds-Shepp model. More...
 
MotionPoses getProjections (const NodeHybrid *node)
 Get projections of motion models. More...
 
unsigned int getClosestAngularBin (const double &theta)
 Get the angular bin to use from a raw orientation. More...
 
float getAngleFromBin (const unsigned int &bin_idx)
 Get the raw orientation from an angular bin. More...
 
double getAngle (const double &theta)
 Get the angle scaled across bins from a raw orientation. More...
 

Public Attributes

MotionModel motion_model = MotionModel::UNKNOWN
 
MotionPoses projections
 
unsigned int size_x
 
unsigned int num_angle_quantization
 
float num_angle_quantization_float
 
float min_turning_radius
 
float bin_size
 
float change_penalty
 
float non_straight_penalty
 
float cost_penalty
 
float reverse_penalty
 
float travel_distance_reward
 
bool downsample_obstacle_heuristic
 
bool use_quadratic_cost_penalty
 
ompl::base::StateSpacePtr state_space
 
std::vector< std::vector< double > > delta_xs
 
std::vector< std::vector< double > > delta_ys
 
std::vector< TrigValues > trig_values
 
std::vector< float > travel_costs
 

Detailed Description

A table of motion primitives and related functions.

Definition at line 56 of file node_hybrid.hpp.

Member Function Documentation

◆ getAngle()

double nav2_smac_planner::HybridMotionTable::getAngle ( const double &  theta)

Get the angle scaled across bins from a raw orientation.

Parameters
thetaAngle in radians
Returns
angle scaled across bins

Definition at line 341 of file node_hybrid.cpp.

◆ getAngleFromBin()

float nav2_smac_planner::HybridMotionTable::getAngleFromBin ( const unsigned int &  bin_idx)

Get the raw orientation from an angular bin.

Parameters
bin_idxIndex of the bin
Returns
Raw orientation in radians

Definition at line 336 of file node_hybrid.cpp.

◆ getClosestAngularBin()

unsigned int nav2_smac_planner::HybridMotionTable::getClosestAngularBin ( const double &  theta)

Get the angular bin to use from a raw orientation.

Parameters
thetaAngle in radians
Returns
bin index of closest angle to request

Definition at line 330 of file node_hybrid.cpp.

◆ getProjections()

MotionPoses nav2_smac_planner::HybridMotionTable::getProjections ( const NodeHybrid node)

Get projections of motion models.

Parameters
nodePtr to NodeHybrid
Returns
A set of motion poses

Definition at line 301 of file node_hybrid.cpp.

Referenced by nav2_smac_planner::NodeHybrid::getNeighbors().

Here is the caller graph for this function:

◆ initDubin()

void nav2_smac_planner::HybridMotionTable::initDubin ( unsigned int &  size_x_in,
unsigned int &  size_y_in,
unsigned int &  angle_quantization_in,
SearchInfo search_info 
)

Initializing using Dubin model.

Parameters
size_x_inSize of costmap in X
size_y_inSize of costmap in Y
angle_quantization_inSize of costmap in bin sizes
search_infoParameters for searching

Definition at line 56 of file node_hybrid.cpp.

◆ initReedsShepp()

void nav2_smac_planner::HybridMotionTable::initReedsShepp ( unsigned int &  size_x_in,
unsigned int &  size_y_in,
unsigned int &  angle_quantization_in,
SearchInfo search_info 
)

Initializing using Reeds-Shepp model.

Parameters
size_x_inSize of costmap in X
size_y_inSize of costmap in Y
angle_quantization_inSize of costmap in bin sizes
search_infoParameters for searching

Definition at line 183 of file node_hybrid.cpp.


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