This project showcases the application of the RB1 mobile robot in a simulated and real warehouse environment, leveraging the ROS 2 Nav2 stack for autonomous navigation. The robot operates within a structured workflow designed to simulate a real-world warehouse task cycle.
Using the Nav2 Simple Commander API, a python application was developed to perform a sequence of autonomous tasks, where the robot executes complex navigation and manipulation behaviors without manual intervention. The system is compatible with both the Gazebo simulation and the physical warehouse environment of the Construct Office.
Upon launching the application, the robot autonomously localizes itself in the environment, navigates to designated areas, interacts with physical structures such as shelves, and returns to its starting position after completing the mission.
-
Automatic Localization
When the application starts, the robot finds its position in the warehouse automatically. -
Navigation to Loading Area
The robot drives to the loading area and moves underneath a shelf. -
Shelf Carrying
Once under the shelf, the robot picks it up and gets ready to move it. -
Smart Navigation with Obstacle Avoidance
The robot moves to the shipping area while completely avoiding a zone with cones. -
Shelf Unloading
At the shipping position, the robot unloads the shelf safely. -
Return to Start
After completing the task, the robot returns to its initial position. -
Task Control with Simple Commander API
The whole task is controlled using the Simple Commander API from the Nav2 stack. -
Works in Simulation and Real Robot
The same system runs both in the Gazebo simulation and on the real RB1 robot in a warehouse.
This repo also contains the preliminary checkpoint package approach_attach, which does simple navigation by moving toward a wall using LiDAR sensor data, then executes a precise turn based on a given angle before proceeding toward the shelf. Based on given command, the robot lifts the shelf demonstrating integrated manipulation alongside navigation.