[Nav2][Discussion] Systematic approach for tuning Nav2 planners and controllers?

Hi everyone,

I have recently been tuning the parameters for a project involving an Ackerman-drive vehicle using the SMAC Hybrid A* planner and the MPPI controller, and I found the process quite manual and iterative. It goes something like:

  • Adjust parameters in YAML
  • Run a benchmark navigation goal in simulation
  • Observe behavior in Gazebo and Foxglove
  • Repeat till good

With so many large parameters, it is quite hard to get the perfect configuration that would work for all the benchmarks (full loop of environment, U-turn, tight corner turn) that I developed.

I also came across this few links:

Curious to know how others approach this.

  • Is there any systematic workflow for tuning Nav2 parameters?
  • Are there any tools for automating this process (ChatGPT suggested Optuna - used for ML hyperparameter tuning)
  • Beyond visual inspection, how to evaluate navigation performance?

Any ideas and discussion would be helpful.

Thanks!

4 Likes

I also wrote a blog post on this, based on my findings and what I could find on the internet.

1 Like

Great post! Looking at the Nav2 parameters from a system-level perspective really helped me understand how to approach tuning them. What are your thoughts on automating the visual component using VLLM models specifically trained for this purpose? We could then automate the “slow” human developer input.

Thank you!

That is an interesting idea. I think some level of automation can be introduced and could certainly help with speeding up the process. But from my findings/experience, tuning is subjective and is often tied to how you want the system to behave. So even with VLLMs, some level of human judgment will likely remain.

1 Like