#include <range_sensor_layer.h>
Public Types | |
enum | InputSensorType { VARIABLE, FIXED, ALL } |
Public Member Functions | |
virtual void | activate () |
virtual void | deactivate () |
virtual void | onInitialize () |
RangeSensorLayer () | |
virtual void | reset () |
virtual void | updateBounds (double robot_x, double robot_y, double robot_yaw, double *min_x, double *min_y, double *max_x, double *max_y) |
virtual void | updateCosts (costmap_2d::Costmap2D &master_grid, int min_i, int min_j, int max_i, int max_j) |
Private Member Functions | |
void | bufferIncomingRangeMsg (const sensor_msgs::RangeConstPtr &range_message) |
double | delta (double phi) |
double | gamma (double theta) |
void | get_deltas (double angle, double *dx, double *dy) |
void | processFixedRangeMsg (sensor_msgs::Range &range_message) |
void | processRangeMsg (sensor_msgs::Range &range_message) |
void | processVariableRangeMsg (sensor_msgs::Range &range_message) |
void | reconfigureCB (range_sensor_layer::RangeSensorLayerConfig &config, uint32_t level) |
double | sensor_model (double r, double phi, double theta) |
unsigned char | to_cost (double p) |
double | to_prob (unsigned char c) |
void | update_cell (double ox, double oy, double ot, double r, double nx, double ny, bool clear) |
void | updateCostmap () |
void | updateCostmap (sensor_msgs::Range &range_message, bool clear_sensor_cone) |
Private Attributes | |
unsigned int | buffered_readings_ |
bool | clear_on_max_reading_ |
double | clear_threshold_ |
dynamic_reconfigure::Server < range_sensor_layer::RangeSensorLayerConfig > * | dsrv_ |
std::string | global_frame_ |
ros::Time | last_reading_time_ |
double | mark_threshold_ |
double | max_angle_ |
double | max_x_ |
double | max_y_ |
double | min_x_ |
double | min_y_ |
double | no_readings_timeout_ |
double | phi_v_ |
boost::function< void(sensor_msgs::Range &range_message)> | processRangeMessageFunc_ |
boost::mutex | range_message_mutex_ |
std::list< sensor_msgs::Range > | range_msgs_buffer_ |
std::vector< ros::Subscriber > | range_subs_ |
Definition at line 13 of file range_sensor_layer.h.
Definition at line 16 of file range_sensor_layer.h.
Definition at line 13 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::activate | ( | ) | [virtual] |
Reimplemented from costmap_2d::Layer.
Definition at line 440 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::bufferIncomingRangeMsg | ( | const sensor_msgs::RangeConstPtr & | range_message | ) | [private] |
Definition at line 169 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::deactivate | ( | ) | [virtual] |
Reimplemented from costmap_2d::Layer.
Definition at line 435 of file range_sensor_layer.cpp.
double range_sensor_layer::RangeSensorLayer::delta | ( | double | phi | ) | [private] |
Definition at line 117 of file range_sensor_layer.cpp.
double range_sensor_layer::RangeSensorLayer::gamma | ( | double | theta | ) | [private] |
Definition at line 109 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::get_deltas | ( | double | angle, |
double * | dx, | ||
double * | dy | ||
) | [private] |
Definition at line 122 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::onInitialize | ( | ) | [virtual] |
Reimplemented from costmap_2d::Layer.
Definition at line 15 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::processFixedRangeMsg | ( | sensor_msgs::Range & | range_message | ) | [private] |
Definition at line 199 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::processRangeMsg | ( | sensor_msgs::Range & | range_message | ) | [private] |
Definition at line 191 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::processVariableRangeMsg | ( | sensor_msgs::Range & | range_message | ) | [private] |
Definition at line 224 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::reconfigureCB | ( | range_sensor_layer::RangeSensorLayerConfig & | config, |
uint32_t | level | ||
) | [private] |
Definition at line 153 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::reset | ( | ) | [virtual] |
Reimplemented from costmap_2d::Layer.
Definition at line 426 of file range_sensor_layer.cpp.
double range_sensor_layer::RangeSensorLayer::sensor_model | ( | double | r, |
double | phi, | ||
double | theta | ||
) | [private] |
Definition at line 134 of file range_sensor_layer.cpp.
unsigned char range_sensor_layer::RangeSensorLayer::to_cost | ( | double | p | ) | [inline, private] |
Definition at line 52 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::to_prob | ( | unsigned char | c | ) | [inline, private] |
Definition at line 51 of file range_sensor_layer.h.
void range_sensor_layer::RangeSensorLayer::update_cell | ( | double | ox, |
double | oy, | ||
double | ot, | ||
double | r, | ||
double | nx, | ||
double | ny, | ||
bool | clear | ||
) | [private] |
Definition at line 325 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::updateBounds | ( | double | robot_x, |
double | robot_y, | ||
double | robot_yaw, | ||
double * | min_x, | ||
double * | min_y, | ||
double * | max_x, | ||
double * | max_y | ||
) | [virtual] |
Reimplemented from costmap_2d::Layer.
Definition at line 348 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::updateCostmap | ( | ) | [private] |
Definition at line 175 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::updateCostmap | ( | sensor_msgs::Range & | range_message, |
bool | clear_sensor_cone | ||
) | [private] |
Definition at line 237 of file range_sensor_layer.cpp.
void range_sensor_layer::RangeSensorLayer::updateCosts | ( | costmap_2d::Costmap2D & | master_grid, |
int | min_i, | ||
int | min_j, | ||
int | max_i, | ||
int | max_j | ||
) | [virtual] |
Reimplemented from costmap_2d::Layer.
Definition at line 384 of file range_sensor_layer.cpp.
unsigned int range_sensor_layer::RangeSensorLayer::buffered_readings_ [private] |
Definition at line 66 of file range_sensor_layer.h.
bool range_sensor_layer::RangeSensorLayer::clear_on_max_reading_ [private] |
Definition at line 62 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::clear_threshold_ [private] |
Definition at line 61 of file range_sensor_layer.h.
dynamic_reconfigure::Server<range_sensor_layer::RangeSensorLayerConfig>* range_sensor_layer::RangeSensorLayer::dsrv_ [private] |
Definition at line 70 of file range_sensor_layer.h.
std::string range_sensor_layer::RangeSensorLayer::global_frame_ [private] |
Definition at line 59 of file range_sensor_layer.h.
Definition at line 65 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::mark_threshold_ [private] |
Definition at line 61 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::max_angle_ [private] |
Definition at line 58 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::max_x_ [private] |
Definition at line 68 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::max_y_ [private] |
Definition at line 68 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::min_x_ [private] |
Definition at line 68 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::min_y_ [private] |
Definition at line 68 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::no_readings_timeout_ [private] |
Definition at line 64 of file range_sensor_layer.h.
double range_sensor_layer::RangeSensorLayer::phi_v_ [private] |
Definition at line 58 of file range_sensor_layer.h.
boost::function<void (sensor_msgs::Range& range_message)> range_sensor_layer::RangeSensorLayer::processRangeMessageFunc_ [private] |
Definition at line 54 of file range_sensor_layer.h.
boost::mutex range_sensor_layer::RangeSensorLayer::range_message_mutex_ [private] |
Definition at line 55 of file range_sensor_layer.h.
std::list<sensor_msgs::Range> range_sensor_layer::RangeSensorLayer::range_msgs_buffer_ [private] |
Definition at line 56 of file range_sensor_layer.h.
std::vector<ros::Subscriber> range_sensor_layer::RangeSensorLayer::range_subs_ [private] |
Definition at line 67 of file range_sensor_layer.h.