Skip to content

Interface

Mihir Dharmadhikari edited this page Nov 2, 2021 · 1 revision

The planner stack consists of two ROS nodes, GBPlanner and Planner Control Interface (PCI).

Input Interface

Different ROS services are provided to call different features of the planner. The following services can be used to interact with the planner control interface:

  • planner_control_interface/std_srvs/automatic_planning (std_srvs/Trigger): Trigger planner. PCI will keep triggering the planner at the end of every planning iteration.
  • planner_control_interface/std_srvs/single_planning (std_srvs/Trigger): Trigger only one planning iteration.
  • planner_control_interface/stop_request (std_srvs/Trigger): Stop the planner and bring the robot to a hault.
  • planner_control_interface/std_srvs/homing_trigger (std_srvs/Trigger): Trigger homing manuever. Planner will return path to the home location after finishing the current planning iteration.
  • planner_control_interface/std_srvs/go_to_waypoint (std_srvs/Trigger): Service to plan path to the given waypoint along the global graph. Note: Global graph will only start building when the planner is triggered for the first time.
  • pci_initialization_trigger (planner_msgs/pci_initialization): Trigger initialization motion.
  • pci_global (planner_msgs/pci_global): Trigger global planner to send the robot to specific vertex in the global garph (need to know the id of that vertex).

Output Interface

Two output interfaces are provided for the PCI: Action-based and Topic-based.

Action-based

Action: pci_output_path (planner_msgs/pathFollowerAction)
PCI will send goal to an action server hosting the above action. PCI expects an estimated time remaining to complete the path exeution from the server as a feedback. Please see the action description for more details of the goal, feedback and result of the action.

To enable this mode set the output_type in the planner_control_interface_sim_config.yaml to kAction as shown here.

The ground robot demo in the Demo section uses the action-based interface.

Topic-base

In this mode, PCI will publish the calculated path in two formats on the following topics:

To enable this mode set the output_type in the planner_control_interface_sim_config.yaml to kTopic as shown here.

The aerial robot demo in the Demo section uses the topic-based interface.

Subscribed Topics

GBPlanner:

Planner Control Interface:

Published Topics

GBPlanner:

Planner Control Interface: