Skip to content
BillThePlatypus edited this page Apr 15, 2020 · 2 revisions

The path manager keeps track of waypoints and creates path between them. It uses the plane's current position (provided by the estimator) and sends information on the current path to the path follower.

Basic Usage

The path manager can be launched with rosrun rosplane rosplane_path_manager, but it is more often launched from a launch file, along with the other required nodes. Waypoints are added via the waypoint_path topic, and the path manager publishes paths to the current_path topic. Additional path information is provided through the extended_path and full_path topics.

Parameters

  • R_min: (Float, default 25.0). This specifies the minimum turn radius of the aircraft. All turns and orbits generated by the path manager use this minimum radius.

  • do_fillets: (Boolean, default true). If true, the path manager will fillet (round off) corners between waypoints. Without fillets, waypoints are connected by straight lines with hard corners. Hard corners are physically impossible to fly, and so the plane will overshoot every corner after passing through a waypoint. Paths with fillets do not pass through the waypoints, especially for sharp corners or for large R_min. Fillets do not work well for very close, sharp corners.

  • update_rate: (Float, default 10.0). Indicates the rate in hertz, that the path manager will update the current path.

Subscribed Topics

  • state: (rosplane_msgs/State). Used to get the current aircraft position, so the manager knows when a path is completed.

  • waypoint_path: (rosplane_msgs/Waypoint). Used to send new waypoints to the path manager. Waypoints include a position (m NED), airspeed (m/s) and optionally a ground course (radians). If the optional course is included (indicated with the chi_valid field), a dubins path will be generated instead of a line or fillet path. If the set_current field in the message is set to true, all other waypoints will be deleted before adding this waypoint. If the clear_wp_list is set to true, all waypoints are removed, and no waypoint is added.

Published Topics

  • current_path: (rosplane_msgs/Current_Path) Contains the current path that the plane should fly. This path may be a line or an orbit. For more details, see the path manager page.

  • extended_path: (rosplane_msgs/Extended_Path) This is the same as the current path topic, but with additional information. This includes the extent of line paths, and the start and end angle of orbit paths. This is not intended for use by the path manager, but rather to make it easier to see the state of the path manager. The BYU AUVSI fork of ros_groundstation supports showing these paths.

  • full_path: (rosplane_msgs/Full_Path) This topic contains a list of all (extended) paths for the current waypoints. This is updated only when waypoints change. As with the extended path, this is not intended for use with the path follower, but rather for users to see what is going on. The BYU AUVSI fork of ros_groundstation supports showing these paths.

Clone this wiki locally