Skip to content

umigv/nav_plugins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nav_plugins

This repository contains the plugins used by nav_infrastructure.

Creating a planner plugin

The planner_server node within nav_infrastructure dynamically loads a planner plugin at runtime, making it easy to swap between different path planning algorithms. Here's how to create a path planner plugin:

  • Run the creation script
    chmod u+x create_plugin.sh
    ./create_plugin planner <base_name>
    The base name should be in lower_snake_case and include only the planner name. For example, if you want to create my_test_planner, run:
    ./create_plugin planner my_test
    
  • Go into <name>_planner.cpp, Using straight_line_planner.cpp or bfs_planner.cpp as reference, implement the find_path() function
  • When your plugin is finished, you'll need to test it using the planner_server within the nav_infrastructure repository
  • Open nav_infrastructure/planner_server/config/planner_server_params.yaml and enter your plugin name into the planner_plugin parameter:
    planner_plugin: "planner_plugins::<PluginName>"
  • Now build both the planner_server and planner_plugins packages
  • To test your plugin, run the planner_server and call the navigate_to_goal action (the nav_infrastructure repository contains instructions for this)
    • You should have some sort of unique print statement in your plugin's find_path function to verify that it runs correctly when the action is called
    • If the planner_server node starts correctly, the action succeeds, and you see your print statement, your plugin should be working correctly

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published