[Documentation] [TitleIndex] [WordIndex

Only released in EOL distros:  

Overview

PPExplorer is a an odor oriented exploration algorithm that builds on top of the odor mapping package particle_plume.

The PPE algorithm is in charge of odor oriented exploration and plume tracking. This is accomplished in four steps. (1) Initially a circle of radius r is drawn around the robot and divided into n slices. (2) Next the slices which overlap with obstacles are removed. (3) The slices which contain a percentage of explored area over a certain threshold are then also removed. (4) Finally the cost of each remaining slice is calculated using a cost function. The slice with the lowest cost is chosen and the goal is set. The variables used fore the cost function are the amount of explored area, the angular distance to the odor gradient and the angular distance to the current heading of the robot.

ppexplorer.jpg

ROS API

pp_explorer_node

pp_explorer_node is an odor oriented exploration and plume tracking algorithm.

Subscribed Topics

odom (nav_msgs/Odometry) /map (nav_msgs/OccupancyGrid) /map_metadata (nav_msgs/MapMetaData) /visited_cells (nav_msgs/GridCells) /plume (sensor_msgs/PointCloud2) move_base/local_costmap/obstacles (nav_msgs/GridCells) move_base/local_costmap/inflated_obstacles (nav_msgs/GridCells)

Published Topics

debug_cells (nav_msgs/GridCells) pp_goal (visualization_msgs/Marker)

Parameters

~global_frame_id (string, default: map) ~max_visited_cells_coef (double, default: 0.35) ~max_odor_visited_cells_coef (double, default: 0.50) ~pie_radius (double, default: 0.60) ~pie_slices (int, default: 16) ~find_clearing_sim_steps (int, default: 3) ~visited_cells_weight (double, default: 1.00) ~current_heading_weight (double, default: 0.01) ~odor_weight (double, default: 0.10) ~bubble_radius (double, default: 0.10) ~min_particle_count_difference (int, default: 5) ~move_base/local_costmap/inflation_radius (double, default: 0.20) ~debug_slices (bool, default: false)

Tutorials

Coming soon...


2019-10-19 13:00