Home

Enhanced Autonomous Navigation and Task Execution for Warehouse RB-1 Robot

Implementing Complex Navigation Routes Using the Simple Commander API with the Nav2 System

19 April 2024

Introduction

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.

Objectives

  • To program the RB-1 robot to perform precise navigational tasks within a warehouse environment.
  • To implement obstacle avoidance and dynamic path reconfiguration using a Keepout Mask.
  • To enable the RB-1 to interact with objects in its environment, adapting its physical configuration for task-specific requirements.

Tools and Technologies

  • Programming Languages: Python
  • Frameworks and Libraries: ROS 2, Nav2, Simple Commander API
  • Simulation Environment: Gazebo, RViz2
  • Version Control: Git

Source Code

Process and Development

The project extends the foundational navigation setup from the previous entry with complex route planning and execution tasks.

Task Execution via Simple Commander API

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.

Interaction with Physical Objects

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.

Enhanced Navigation System

Results

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.

Key Insights

  • Effective task-specific reconfiguration of the robot’s navigation parameters is crucial for adaptive performance in dynamic environments.
  • The project illustrated the potential for ROS 2-based systems to facilitate sophisticated autonomous operations in industrial applications.
  • Future enhancements could focus on optimizing these navigation and interaction processes for a broader range of tasks and environments.