Posts

Showing posts from June, 2024

Behavior Tree Navigation

Image
 Github:  https://github.com/Juhyung-L/behavior_tree_navigation This is an extension of the blog  https://juhyungsprojects.blogspot.com/2024/04/dynamic-window-approach-for-local-path.html . In said blog, I explained the my implementation of dynamic obstacle avoidance in a mobile robot. The strategy was to use two planners: global and local. The global planner uses the global costmap to find an optimal path from the robot's current pose to the goal pose (A* search). The local planner then takes this path and uses the local costmap to generate a velocity command that would best follow the path while avoiding dynamic obstacles (Dynamic Window Approach). In this blog, I will explain how I added a recovery behavior that would trigger when the mobile robot gets stuck. Background Navigating through real-life terrain is full of unexpected obstacles. Things that are hard to catch with the onboard sensor cannot be avoided with just a local planner. In my specific case, I only had a 2D LiDAR