Implementing Complex Navigation Routes Using the Simple Commander API with the Nav2 System
19 April 2024
Following the setup of the navigation system in the previous entry, this project segment focuses on implementing specific task-oriented navigation routes using the Simple Commander API. The primary goal is to enable the RB-1 robot to autonomously navigate a warehouse environment, perform specific tasks such as transporting items, and handle dynamic obstacles using advanced navigation strategies.
The project extends the foundational navigation setup from the previous entry with complex route planning and execution tasks.
Setup and Initial Navigation: Configured the robot to start at the initial position, navigate to a predefined loading position, and engage with a physical object (a shelf).
Obstacle Avoidance: Integrated a Costmap Filter with a Keepout Mask to navigate around strategically placed cones within the warehouse environment.
Object Manipulation: Programmed the RB-1 to lift and transport the shelf using an elevator mechanism within the robot. Adjusted the robot’s navigation shape in real-time to accommodate the added dimensions of the carried shelf.
Task Completion and Reset: Once the task at the shipping position was completed, the robot was programmed to safely unload the shelf and return to its initial position.
The RB-1 robot successfully demonstrated its capability to autonomously navigate and perform manipulation tasks within a warehouse environment. The integration of the Simple Commander API with the Nav2 system enabled the robot to handle tasks that require precise positioning and interaction with objects.