cabot core navigation logic using Nav2, which works with cabot_ui_manager (ROS1)
- ROS1 cabot_ui_manager (see cabot_ui) receives a navigation destination event
- cabot_ui_manager query MapService server a route
- cabot_ui_manager devide the route into sub routes based on building structure (door, elevator, ...)
- cabot_ui_manager send a sub goal to ROS2 bt_navigator as well as publish original route to
/path
topic - execute the specified behavior tree in the goal (see cabot_bt)
- bringup_launch.py: navigation2 launcher
- nav2_params.yaml : parameter for navigation2
- nav2_params2.yaml : parameter for navigation2 without global map (only local map), used for elevator exit
- cabot_simple_goal_checker.cpp
- a GoalChecker plugin
- check if distance to the goal is under threthold or the goal is behind the robot
- navcog_path_layer.cpp
- costmap layer to indicate navcog path
- navcog_path_planner.cpp
- adjust path passed to /path topic
- navcog_path_util.cpp
- utility for navcog path
- people_obstacle_layer.cpp
- costmap layer to deal with (include/exclude) /people topic
- pose_align.cpp
- a dwb TrajectoryCritic plugin
- util.cpp
- geometry utilities
- cabot_scan.cpp - not used