Skip to content
This repository was archived by the owner on Jan 23, 2024. It is now read-only.

Code Structure and Interface

Marija Popovic edited this page Nov 2, 2017 · 4 revisions

This repository contains three packages: two stand-alone planning frameworks corresponding to discrete (tmplanner_discrete) and continuous (tmplanner_continuous) variable monitoring, in addition to a toolset (tmplanner_tools) of convenience functions and simulation infrastructure used by both frameworks.

Each planning framework includes the following key components (same name under different package names):

  • Node interface for ROS communication - tmplanner_node.cpp
  • Planning unit - tmplanner.cpp
  • Mapping unit - grid_map.cpp

Simulation demos for both packages are provided in the Gazebo-based RotorS environment.


Subscribed Topics

  • odometry (nav_msgs/Odometry) - odometry received from the UAV.
  • image (sensor_msgs/Image) (tmplanner_continuous) - on-board camera images for continuous variable mapping.
  • pose_array_measurements (geometry_msgs/PoseArray) (tmplanner_discrete) - list of target (e.g. AprilTag) detections received for discrete variable mapping.

Published Topics

  • path_segments (planning_msgs/PolynomialTrajectory4D) - optimized path segments of the next finite-horizon path to go to the trajectory sampler, which interfaces with the controller.
  • path_points_marker (visualization_msgs/Marker)- rviz markers for waypoints along the next path (points).
  • polynomial_markers (visualization_msgs/MarkerArray) - rviz marker for polynomial paths (line).
  • grid_map (nav_msgs/OccupancyGrid) (tmplanner_discrete) - occupancy map visualization of terrain for discrete variable mapping.

Services

  • start_planning - start the informative motion planner.
  • land - land at the current (x,y) position.

Clone this wiki locally