Institute of Electrical and Electronics Engineers
ENICarthage Student Branch
AUTONOMOUS PALLET-
HANDLING ROBOT
Prepared by
IEEE Enicarthage Student Branch
Année
2023 - 2024
CONTENTS
CONTENTS ............................................................................................................................... ii
LIST OF TABLES ..................................................................................................................... iv
ACRONYMS ............................................................................................................................. v
CHAPTER I. THE PROJECT PRESENTATION ............................................................................................... 6
I.1 Statement of the problem ............................................................................................................... 6
I.2 Solution .......................................................................................................................................... 6
I.3 Software : The Robot Operating Système ...................................................................................... 7
CHAPTER II. ROBOT’S FUNCTION AND FEATURES .................................................................................... 8
II. Robot Function ................................................................................................................................. 8
II.1 Movement description ....................................................................................................................... 8
II.2 Auto-recharging .......................................................................................................................... 8
I.3.1.1Exceptional case :................................................................................................................. 9
II.3 Updating the map ...................................................................................................................... 10
CHAPTER III. COMPONENTS AND BUDGET .............................................................................................. 11
III.1 Electrical components’functions and prices ............................................................................. 11
III.2 Mechanical components’functions and prices .......................................................................... 15
CHAPTER IV. MECHANICAL AND ELECTRICAL DESIGN ........................................................................ 17
IV.1 Mechanical design .................................................................................................................... 17
IV.2 Electrical design ........................................................................................................................ 19
CHAPTER V. ROBOT OPERATING SYSTEM ................................................................................... 21
V.1 Steps to create autonomous pallet-handling robot using ROS : ................................................ 21
V.2 The importance of using ROS: ................................................................................................... 21
LIST OF FIGURES
Figure 1 – Front view of the robot ............................................................................................................. 17
Figure 2 – Robot’s components ....................................................................................................... 17
LIST OF TABLES
Tableau 1 – Function and price of the electrical components .......................................................... 11
Tableau 2– Function and price of the mechanical components ....................................................... 15
ACRONYMS
SLAM Simultaneous Localization And Mapping
ROS Robot Operating System
CHAPTER I THE PROJECT PRESENTATION
Chapter I. The Project Presentation
________________________________________________________
I.1 Statement of the problem
Pallet handling is a vital part of the industrial field, which faces significant challenges. As
the industrial expansion drives the growth of various industries, the traditional manual
methods of pallet transportation become inefficient and costly. They also pose safety risks
for human workers who have to operate in potentially hazardous conditions. Therefore,
there is a need for continuous and uninterrupted production that can overcome these
challenges.
However, the existing systems are not able to meet the demands of a 24/7 operational
capability. They also lack the adaptability to handle different types of pallets and layouts,
which limits the flexibility required in modern industrial settings. Moreover, the accuracy
issues in placing and moving the pallets manually affect the reliability of logistics and the
whole manufacturing process.
In conclusion, the current industrial sector needs innovative solutions to address the
inefficiencies, safety risks, adaptability limitations and accuracy issues in the realm of
pallet handling.
I.2 Solution
Discover our robot, the innovative solution for pallet handling. It can overcome all the
inefficiencies in the realm of pallet handling. Our smart transporter has the capability to
carry all kinds of stocks, from the heavy to the fragile ones, with perfect precision. It also
offers a dynamic path-changing capabilities, adapting to the real-time warehouse demands.
What makes it unique is its auto-charging feature, which eliminates downtime by charging
itself whenever needed. Moreover, it can update its map automatically, allowing it to adjust
to the changes in your warehouse layout .Enhance your warehouse operations with this
smart, adaptable and future-ready autonomous pallet-handling robot.
I.3 Software : The Robot Operating Système
ROS is a software framework that helps developers create and run applications for
robots. It is free, open source, and has a large community of contributors and users. It
provides a standard software platform that enables quickly simulating algorithms using
various libraries and tools. It can handle complex and large-scale systems and supports
modularity. So, the user can divide the code into smaller and independent units called
nodes, packages, and stacks.
7
CHAPTER II Robot’s Function and Features
Chapter II. Robot’s Function and Features
________________________________________________________
II. Robot Function
The autonomous pallet-handling robot function is to transport the stock from one location
to another in an efficient and autonomous way. It can also recharge itself automatically
when its battery is low, and update its map of the environment to adapt to any changes.
II.1 Movement description
1. The autonomous pallet-handling robot can recognize the charging station
automatically to charge. It execute the task automatically after fully charged.
2. The robot receives a task from the central control system, such as picking up a
pallet from a storage rack and delivering it to a loading dock.
3. The robot navigates to the designated location using QR code navigation,
depending on the environment and the preference of the user.
4. The robot slides under the pallet and lifts it up. It can lift up to 1000 kg of payload
and has a low profile that allows it to fit under most standard pallets.
5. The robot transports the pallet to the destination using the same navigation method
as before. It can operate in narrow aisles and can avoid static and dynamic
obstacles along the way.
6. The robot lowers the pallet to the ground and releases it. Then, it returns to its
standby position or waits for the next task.
II.2 Auto-recharging
The robot relies on a battery as its main source of energy, it can recharge it automatically.
Here is a summary of the steps :
1. The robot moves around and performs its tasks, it uses a battery level indicator to
monitor its remaining charge.
When the robot’s battery level reaches a certain threshold, it returns to the nearest
charging station.
2. The robot navigates to the charging station using SLAM, depending on the
environment and the preference of the user.
3. The robot connects to the charging station and starts to recharge its battery.
4. The robot disconnects from the charging station and resumes its task when its
battery level reaches a certain level. The robot can also receive new tasks from the
central control system or the user
I.3.1.1 Exceptional case :
If a robot needs to transport a product, it must prioritize its task and delay loading until the
delivery is complete. This can be achieved by using intelligent scheduling algorithms that
balance the robot's battery power, distance to charging stations, urgency of delivery, and
the availability of other robots. One possible algorithm is:
1. The robot monitors its battery level and estimates the remaining time before it
needs to recharge.
2. The robot checks the status of the product, such as the destination, the deadline, the
weight, and the value.
3. The robot calculates the optimal route to deliver the product and the time it will
take to complete the delivery.
4. The robot compares the remaining battery time and delivery time and decides
whether to proceed with the task or to go to the charging station.
5. If the robot decides to proceed with delivery, it notifies the charging station and the
customer about its estimated arrival time and battery level.
6. If the robot decides to auto-charge itself, it notifies the charging station and the
customer about its decision and requests another robot to take over the delivery.
7. The robot follows the chosen route and updates its status along the way.
9
8. The robot completes the delivery or the charging process and resumes its normal
operation.
II.3 Updating the map
The steps of updating the map of an autonomous pallet-holding robot :
1. The robot uses its on-board sensors, such as cameras and lidars to scan the
environment and detect any changes or obstacles that are not in the existing map.
2. The robot uses the mapping algorithm SLAM to create a new map or update the
existing one with the new information. SLAM stands for simultaneous localization and
mapping, which means the robot can estimate its own position and orientation while
building the map.
3. The robot communicates the updated map to the central server and plan the optimal
routes.
10
CHAPTER III COMPONENTS AND
BUDGET
Chapter III. Components and Budget
________________________________________________________
III.1 Electrical components’functions and prices
Tableau 1 – Function and price of the electrical components
Component Number Function Price/Unit Reference
(TND)
1 Process data from 600 8GB
sensors (like LIDAR or
cameras) to navigate the
Raspberry Pi
robot around its
4
environment.
Communication
between different parts
of the robot, ensuring
they work together
smoothly.
Control the robot’s
movements including
driving lifting.
Arduino 1 Control the motors that 62.5 2560 R3
drive the robot and
Mega
operate its lifting
mechanism.
Process data from
sensors to make
decisions about the
robot’s movements
ESP 1 The ESP32’s built-in 24 Esp 32_IO
Wi-Fi and Bluetooth
32
capabilities allow the
robot to communicate
the central control
system or other robots
and interface with
various sensors, such as
LiDAR for object
detection and navigation
The ESP32’s low power
consumption makes it
ideal for battery-
powered robots.
Lidar 1 Emit laser and measure 1000 YDLIDAR X4PRO
the time it takes for the 360DEGREE
Sensor
beams to bounce off OMNIDIRECTIONAL
objects and return to the LIDAR DISTANCE
sensor. This creates a SENSOR 10M UART.
3D map of the robot’s
surroundings which is
used for obstacle
detection and
navigation.
Barcode 1 Good Identification : 126 SparkFun DE2120 2D
Scan the Barcode Reader.
Sensor
pallets’barcodes to
identify the goods they
carry.
12
Routing and Sorting :
The codes on pallets
help route items to their
appropriate locations
within the warehouse or
production facility.
Weight 1 Verify pallet’s weight 225 1000 Kg/2204Ib
being handled. This is
Sensor
important for ensuring
that the robot is not
overloaded, which could
affect its performance or
even damage it.
Collect data about the
loads being handled,
which can be useful for
inventory management
and other logistical
tasks.
Gyroscope 1 Measure the rate of 259,73 Gyroscope Module 6
Sensor rotation, which can be DOF6-axis
particularly useful for Accelerometer
stabilizing robot driving.
Maintain the balance of
the robot and ensure it
operates smoothly, even
when carrying heavy
loads or navigating.
1 Track the rotation of the 65,31 EN38
robot’s wheels by
Encoder
keeping a record of its
number and the
direction of movement,
13
it can estimate its
position and calculate
how far it has traveled.
Ultrasonic 1 Emit high-frequency 9 59-07297
sound waves and
Sensor
measure the time it takes
for the sound waves to
bounce back after hitting
an object. This allows
the robot to detect
obstacles in its
proximity.
28.12 UGS-RB-See-298
Monitor the battery level
Voltage 1
of the robot and to know
Divider
when it needs to
recharge
Adjust the voltage level
of a signal so that it can
be read by other devices
or components in the
system.
Electric 2 Lift and move pallets or 303 12V 2000 Kg
other heavy loads.
Jack
Relay Control the power 59 For motor : 4-Channel
supply to the motors Relay Module with
2
responsible for the ESP-01
rotation of the robot. 28 For jack :
14
Timed Relay Module 1
Channel XY-J02 DC
12V 24V
III.2 Mechanical components’functions and prices
Tableau 2– Function and price of the mechanical components
Component Number Function Price/Unit Reference
(TND)
4 Facilitate movement and 68 Fork tip roller,
navigation. They reduce Vulko (1st
Wheels
friction, allowing the robot to assembly)
move quickly and easily. 85x110/115mm,
25mm axle,
mounted on
Jungheinrich
EJC
Motor 4 Provide the necessary force to 210 000
12v 24v 48v
move and adjust the speed and
low rpm high
direction.
torque DC
planetary gear
motor
Battery 1 Provide power to the robot’s 320 Lipo 4S 14.8 V
motor, sensors, and lifting 4500 mA
Lipo
system. Lipo stands for
lithium polymer which is a
type of rechargeable battery
15
that offers high energy
density, low weight, and long
lifespan
16
CHAPTER IV MECHANICAL AND
ELECTRICAL DESIGN
Chapter IV. MECHANICAL AND ELECTRICAL
DESIGN
________________________________________________________
IV.1 Mechanical design
In our smart cart, we've incorporated a highly efficient mechanical design composed of
seven key components. First, the electric jack lifts substantial loads, raising pallets
positioned above it on the cart's platform. The robust wheels, securely welded to the motor
shaft, adeptly support heavy loads. Additionally, a central shaft on the platform acts as a
sturdy base for the Lidar sensor, ensuring an unobstructed view. When the jack is lowered,
the sensor overlooks a 360-degree view from above the pallet while in its raised position, it
surveys the entire surroundings from below the pallet.
Figure 1 – Front view of the robot
Figure 2 – Robot’s components
18
IV.2 Electrical design
In our intelligent cart, we employ various electrical components for its manipulation. They
are distributed among sensors, motors, and boards. We will, therefore, elaborate on the
purpose of each electrical element and its connection to other components one by one.
Let's begin with the power supply for all electrical components: the wheel motors and the
electric jack motor are directly powered by the battery. As for the "Arduino" and
"Raspberry Pi 4" boards, they too are powered by the battery, but with the use of a voltage
regulator to lower its voltage. Concerning the relays, they receive power through the GND
and VCC pins of the Arduino and Raspberry Pi boards. Sensors are also powered through
the VCC and GND pins of the Raspberry Pi board. Moving on to the control section: the
wheel and electric jack motors are controlled through the Raspberry Pi via relays. The
LIDAR sensor is controlled by the Raspberry Pi board. As for the barcode scanner, weight
sensor, gyroscope, and encoder, they are controlled through the Arduino Mega board.
Finally, we have established communication between the Arduino Mega and Raspberry Pi
to transfer information from the Arduino Mega to the Raspberry Pi; this communication is
known as UART.
Figure 5 – Electrical design by diagram
19
Figure 6 – Electrical design by block
20
CHAPTER V ROBOT OPERATING
SYSTEM
Chapter V. ROBOT OPERATING SYSTEM
_______________________________________________________
V.1 Steps to create autonomous pallet-handling robot using ROS :
1. Create a URDF file :
A URDF (Unified Robot Description Format) file is an XML file that describes the
robot’s physical properties, such as its joints, links, and sensors.
2. Create a Gazebo world file :
A Gazebo world file is an XML file that describes the environment in which the robot will
operate.
3. Create a ROS node :
A ROS node is a process that performs a specific task in the robot’s system.
4. Simulate the robot :
ROS and Gazebo are used to simulate the robot’s behavior in a virtual environment before
deploying it in the real world.
5. Program the robot :
The robot’s behavior is programmed with Python.
V.2 The importance of using ROS:
Modularity: ROS is designed to be modular, which means that different components of
the robot’s system can be developed and tested independently. This makes it easier to
develop and maintain complex robotic systems.
Simulation: ROS provides powerful simulation tools, such as Gazebo, that can be used to
simulate the robot’s behavior in a virtual environment before deploying it in the real world
Increase efficiency: By automating repetitive tasks like pallet handling, robot enable faster
warehouse operations and higher throughput.
ROS’packages :
They make it easier to build and distribute software for robots, as they provide a
standard format and structure for packaging and installing software.
They enable collaboration and communication among developers as they allow
sharing common libraries and code across different projects.
They facilitate testing and debugging as they isolate the functionality of each
package and allow easy access to its documentation and source code.
They support modularity and extensibility as they allow adding new features or
modifying existing ones without affecting other packages
The importance of SLAM :
It enables the robot to navigate safely and efficiently in complex and dynamic
environments such as warehouses or factories.
It reduces the need for manual intervention and human supervision as the robot can
perform tasks autonomously and reliably.
It improves the performance and productivity of the robot system as it can adapt to
changing conditions and optimize its path planning.
It facilitates integration and interoperability with other robots or systems as it
provides a common representation and communication protocol
RVIZ :
It is a graphical user interface for ROS that allows you to visualize the state of your
robot, such as its position, orientation, velocity, and sensors.
It can be used to create obstacle avoidance algorithms for autonomous robots by
using various methods such as costmap conversion, dynamic window approach, or
machine vision.
Gazebo :
Gazebo is a 3D simulator that is used in conjunction with ROS to simulate robots in
complex indoor and outdoor environments .
It is a powerful tool that can calculate physics, generate sensor data, and provide
convenient interfaces.
It allows for the design and testing of planning and control strategies in simulated
environments before their direct application to the real robot .
22
GENERAL CONCLUSION
The autonomous pallet handling robot (APR) is a smart device that can lift, transport
pallets without human intervention. It uses sensors, embedded software to collect, analyze
data and communicate with other machines and systems. So, it can help in industry 4.0 to
improve productivity, flexibility and agility. It’s all thanks to ROS which is a key
technology in the digital transformation of the manufacturing industry. It is an example of
a cyber-physical system which combines the physical and digital worlds and enables real-
time decision making and innovation.
23
24