This week I focused on finalising the core libraries that works well with our defined hardware. I decided to use ROS2 with Nav2 and SLAM Toolbox as the core navigation infrastructure. Nav2 provides the planning, and obstacle-avoidance infrastructure, while SLAM Toolbox provides mapping/localization and integrates directly with Nav2.
Rather than implementing the entire navigation stack ourselves, our plan is to configure these libraries for RESQ and implement our own BFS exploration layer. This layer will use the generated occupancy map to identify unexplored areas, select the rover’s next exploration target, and send that target to Nav2 for safe path planning and execution. I also began defining how LiDAR data, encoder odometry, SLAM, exploration, and motor commands will interact through ROS.
Schedule status: I am currently on schedule. Since the physical chassis is not expected to arrive until after fall break, the navigation system will initially be developed and tested in simulation. Most of the high level navigation software should be developed before integration with physical sensors and the chassis.
Deliverables for upcoming week: Establish initial ROS2 navigation development environment and get a simulated rover navigating a simple indoor environment. This will use simulated LIDAR and odometry data feeding into SLAM toolbox, generate an occupancy map, and use Nav2 to command the simulated rover.
