Attention: Answers.ros.org is deprecated as of August the 11th, 2023. Please visit robotics.stackexchange.com to ask a new question. This site will remain online in read-only mode during the transition and into the foreseeable future. Selected questions and answers have been migrated, and redirects have been put in place to direct users to the corresponding questions on Robotics Stack Exchange. Additional details are available here.
You can do this using dynamic reconfigure. Try running the gui client alongside the nav stack to see how the switching works. To do the switching programmatically, you can use the official python api or see how people have done it in c++ if necessary.