Warehouse Automation

Autonomous Forklift

Complete autonomous forklift system for warehouse logistics using ROS 2 Humble, simulation with MVSim, and navigation with Nav2.

ROS 2 Humble MVSim Nav2 Python

The Concept

Automating warehouse logistics requires precise navigation and manipulation. This project simulates a complete autonomous forklift system capable of transporting pallets between shelves.

It features a Mission Control GUI, a Waypoint Follower for graph-based navigation, and a custom Lift Controller for pallet manipulation.

NAV2 (Planner)
FORKLIFT (MVSim)

System Architecture

1

Interface Node (GUI)

A Tkinter-based GUI for mission control. It publishes ROS 2 topics to trigger navigation and manipulation tasks.

/navigation_goal, /agarre, /deposicion
2

Waypoint Follower (Nav2)

Uses BFS algorithm on a topological graph to plan paths. Sends velocity commands (`/cmd_vel`) to the robot via Nav2 stack (AMCL + Planner).

3

Lift Controller

Manages the pallet engagement. It detects the nearest pallet (< 3m) and "attaches" it to the forklift in the simulation, updating its position at 50Hz.

Mission Phases

  • 01. NAV → ORIGIN: Go to pickup shelf
  • 02. APPROACH: Blind approach (0.5 m/s)
  • 03. PICKUP: Engage pallet
  • 04. REVERSE: Back off safely
  • 05. NAV → DEST: Go to dropoff shelf
  • 06. DEPOSIT: Release pallet
  • 07. NAV → HOME: Return to base

Graph Editor

Includes a custom web-based Graph Editor to design the warehouse topology. Export nodes and edges to GeoJSON for the Waypoint Follower.

Add/Connect Nodes
Export GeoJSON

Project Status

Fully Functional

  • Full Mission Loop: From pickup to delivery and return home.
  • Graph Navigation: Robust topological navigation using BFS.

Future Work

Real-world Deployment

The current system is simulation-only. Next steps involve deploying the stack to a physical robot with real LIDARs and motor drivers.

Project Team

Project Context

Academic project for the University of Alicante. Exploring autonomous logistics solutions with ROS 2.