Hi @Ricardo Tellez and @staff,
I hope you are doing well.
I’m working on a real autonomous vehicle project (an off-road agricultural truck) using ROS2 and Navigation2, and I’ve hit a very specific problem that I still haven’t been able to solve.
The standard global planners (Smac, NavFn) generate valid paths, but for this truck’s size, weight and dynamics the paths tend to oscillate too much. Because of that, I implemented a custom global planner that generates “virtual lanes” / a centerline for the truck to follow, and the path itself looks correct in RViz.
However, the controller (MPPI / Regulated Pure Pursuit) hesitates to follow this custom path properly. In many cases the control loop keeps printing warnings like “Control loop missed its desired rate of 20 Hz”, the velocities are being published on /cmd_vel, but the truck barely moves or does not track the path as expected. With the same Nav2 configuration, the Smac planner eventually works (even if slowly), but my custom planner never really gets the controller to engage smoothly.
I’ve described the issue in more technical detail here on Robotics Stack Exchange:
I have already started your Navigation course, which helped me a lot to understand Nav2 in general, but I’m still stuck with this real-world integration problem (custom planner + controller behavior + performance at 20 Hz).
My questions are:
- Do you know any freelancer/consultant who is an expert in Nav2 planners/controllers that could help me debug and fix this issue (I’m fully willing to pay for their time), or
- Is there any specific The Construct course or advanced training/mentoring you offer that focuses on:
- Developing and debugging custom Nav2 planners
- Properly integrating them with controllers (MPPI, Regulated Pure Pursuit, etc.)
- Diagnosing performance issues (e.g., control loop frequency, TF, costmaps, etc.) in real projects?
Any guidance, recommendation or pointer (course, person or service) would be extremely appreciated.
Thank you very much for your time and for all the content you already provide.