# A Systems Engineering Approach for the Design of an Omnidirectional Autonomous Guided Vehicle (AGV) Testing Prototype

Authors: Juan C. Tejada; Alejandro Toro-Ossaba; Santiago Muñoz Montoya; Santiago Rúa
Journal: Journal of Robotics
 (2022)

---

## Abstract

This paper addresses the mechanical and electrical design of an autonomous guided vehicle (AGV) test prototype based on a systems engineering approach. First, the different phases of the systems engineering approach are described. The conceptual design begins with the house of quality, which weighs the relevance of each user requirement and ends with a functional representation of the vehicle. Then, the mechanical and electrical design are presented considering different subsystems such as the chassis, cargo platform, suspension system, power, and control components. Finally, different tests were carried out on the prototype, validating its movement and load capacities. The systems engineering approach as a methodology for the construction of complex systems has proven to be an excellent tool for the development of autonomous guided vehicles.


---

## Body

## 1. Introduction

Nowadays, smart manufacturing is the evolution from traditional factories to fully connected, flexible, and reconfigurable systems that can easily adapt to frequently changing product and production requirements [1]. This flexible manufacturing offers greater capacity to produce goods on a modular system, rather than the traditional linear one [2], allowing to select which processes or tasks are performed without the need of reconfiguring the whole process [3].Over the past decades, flexibility has become one of the determinant factors in logistics and production system design, particularly Industry 4.0 as been identified has a determinant factor in the evolution of flexible manufacturing, bringing emerging technologies that allow the decentralization and flexibility needed to transform the traditional production environment [4–8]. This emergence of Industry 4.0, smart manufacturing, flexible systems, and logistics has also motivated the development of new technologies such as mobile robots [9]. These robots can perform different movements and tasks within industrial environments, allowing greater flexibility and scalability in different processes [10, 11].Mobile robots can be divided into three categories [12] according to their moving mechanism: wheeled [13–15], legged [16–18], or hybrid [19, 20]. Wheeled robots, and in particular autonomous guided vehicles (AGVs), are widely used in industrial environments due to their simplicity and few actuators, making them a very important component of smart factories and smart logistics [21].Regarding the development and manufacturing of AGVs in the last ten years, Peng and others [22] designed a material conveying mobile robots with a four-wheel driven chassis and omnidirectional mobility. Li and others [23] proposed different mecanum wheel configurations for omnidirectional mobile robots based on topological design methods. Tamara and others [24] proposed a new low-cost electronic system for an AGV type forklift. Zhang and Henke [25] built a new AGV based on a mechatronic development cycle accounting for user requirements, modeling, synthesis, among other phases. Aloui and others [26] developed a design methodology for AGVs with two phases: a top-down phase containing user requirements, functional description, and structural modeling; and a bottom-up phase for the integration and implementation of the models.Nowadays, many of the technologies start with the idea of building a complex system or having the final solution rather than having a clear problem defined [27]. It is important to have a methodology that allows mapping the needs of interested parties in functional requirements, which serves as the basis for the construction of a viable technological solution [28]. To use a clear methodology for complex systems allows you to have a track record of the decisions, even when the result of the system is not as expected or has imperfections [29]. Systems engineering is a multidisciplinary approach to the design, manufacture, operation, and retirement of a complex system such as an autonomous vehicle [30], aircrafts [31], manufacturing automation [32], and other kinds of machines [33]. For instance, Aristizabal and others [34] presented a modular hardware architecture for an ROV based on systems engineering. Sadraey [31] provides a guide for aircraft design based on an engineering system considering different systems such as wing, tail, and propulsion. Tagliaferri and others [35] proposed an evaluation of the life cycle of electric and hybrid vehicles based on a systems engineering approach.This research presents the mechanical, electrical, and software development of an omnidirectional autonomous guided vehicle (AGV) testing prototype, which will be used in future work for the implementation and testing of autonomous navigation algorithms using robot operating system (ROS) to validate its scalability in an industrial environment. The main contribution of this research is the use of systems engineering as a methodology or tool in the development of an autonomous guided vehicle for the industry. This AGV was developed to reduce the developmental gap of mobile robots applied to the industry in Colombia. The organization of the paper is as follows: Section2 presents the methodology used in the mechanical, electrical, and software development of the vehicle; Section 3 describes the conceptual design of the vehicle taking into account stakeholder requirements; Section 4 presents the mechanical, electrical, and software design of the vehicle; Section 5 contains some tests and results carried out in the AGV; and Section 6 presents some conclusions and future directions for the AGV.


## 2. Systems Engineering Methodology

An autonomous guided vehicle (AGV) is a complex system; therefore, every part of its design must be planned in detail. A roadmap allows for a clear understanding of the system life cycle and a final product that meets defined user requirements. To do this, a series of design stages must be performed, beginning with general planning, followed by concept development, system-level and detail design, testing, refinement, and the production ramp-up. The systems engineering approach to the design of complex systems allows to map the user’s needs into a final product [36]. Figure 1 presents the steps of such methodology.Figure 1
Product development process [36].This research was only developed until the initial stages of the testing and refinement phase; this is because the aim was to develop a working prototype. Future work will focus on the refinement stage.


### 2.1. Phase 0: Planning

The planning phase is an essential part of the product design life cycle. In this stage, an investigation and scoping of the product is carried out; this investigation normally includes searching for the state of the art related to the topic, the potential market for the product, a financial analysis for the next phases, and the product benefits and possible issues. The idea of this vehicle arises from the need to generate appropriation of knowledge in the construction of autonomous vehicles to impact the Colombian robotic industry with the development and commercialization of new kinds of AGV robotic systems for industrial environments.


### 2.2. Phase 1 and Phase 2: Concept Development and System-Level Design

Phase 1 and phase 2 are generally addressed together and correspond to the conceptual design stage. Phase 1, known as concept development, considers the different ways the product and each subsystem can be designed [36]; this phase generally takes what was learned during the planning phase and also new data acquired from surveys, focus groups, benchmarking, and the quality function deployment (QFD); a common tool used in this phase is the house of quality (HoQ), which allows to define the priority of the user requirements and engineering characteristics of the product. Section 3.1 presents the QFD and an overview of the concept development.Phase 2, known as the system-level design, is where the functions of the product are examined, leading to the division of the product into various subsystems [36]. In this phase, all the subsystems are defined and arranged into a product architecture, and also the interfaces between subsystems are defined. This is the phase where the product or prototype begins to take shape. This phase is addressed in Section 3.2.


### 2.3. Phase 3: Detail Design

Phase 3, known as detail design, is where the design is brought to the state of a complete engineering description of a tested and producible product [36]. In this stage, all the subsystems proposed in phase 2 are designed in detail in order to meet the user requirements defined in phase 1. In the case of this research, this phase includes the detail mechanical design of the AGV prototype in Section 4.1; the vehicle kinematics and position estimation algorithm in Sections 4.2 and 4.3, respectively; the detailed electrical design in Section 4.4; and the control system implemented in the vehicle in Section 4.5.


### 2.4. Phase 4: Testing and Refinement

The last phase addressed in this research is phase 4, known as testing and refinement; this phase consists in testing the developed prototype in order to verify that it fulfills the user requirements defined in phase 1. Once the prototype is tested, the results are reviewed to determine if the prototype is ready for production or whether it is necessary to perform further refinement prior to production. As mentioned earlier that the scope of this research ended in the testing phase of the prototype, future work will address the refinement stage on phase 4 and will increase the scalability of the vehicle, closing the gap between a testing prototype and an industrial product. The testing performed on the AGV prototype along with the results of those tests can be found in Section5.


## 2.1. Phase 0: Planning

The planning phase is an essential part of the product design life cycle. In this stage, an investigation and scoping of the product is carried out; this investigation normally includes searching for the state of the art related to the topic, the potential market for the product, a financial analysis for the next phases, and the product benefits and possible issues. The idea of this vehicle arises from the need to generate appropriation of knowledge in the construction of autonomous vehicles to impact the Colombian robotic industry with the development and commercialization of new kinds of AGV robotic systems for industrial environments.


## 2.2. Phase 1 and Phase 2: Concept Development and System-Level Design

Phase 1 and phase 2 are generally addressed together and correspond to the conceptual design stage. Phase 1, known as concept development, considers the different ways the product and each subsystem can be designed [36]; this phase generally takes what was learned during the planning phase and also new data acquired from surveys, focus groups, benchmarking, and the quality function deployment (QFD); a common tool used in this phase is the house of quality (HoQ), which allows to define the priority of the user requirements and engineering characteristics of the product. Section 3.1 presents the QFD and an overview of the concept development.Phase 2, known as the system-level design, is where the functions of the product are examined, leading to the division of the product into various subsystems [36]. In this phase, all the subsystems are defined and arranged into a product architecture, and also the interfaces between subsystems are defined. This is the phase where the product or prototype begins to take shape. This phase is addressed in Section 3.2.


## 2.3. Phase 3: Detail Design

Phase 3, known as detail design, is where the design is brought to the state of a complete engineering description of a tested and producible product [36]. In this stage, all the subsystems proposed in phase 2 are designed in detail in order to meet the user requirements defined in phase 1. In the case of this research, this phase includes the detail mechanical design of the AGV prototype in Section 4.1; the vehicle kinematics and position estimation algorithm in Sections 4.2 and 4.3, respectively; the detailed electrical design in Section 4.4; and the control system implemented in the vehicle in Section 4.5.


## 2.4. Phase 4: Testing and Refinement

The last phase addressed in this research is phase 4, known as testing and refinement; this phase consists in testing the developed prototype in order to verify that it fulfills the user requirements defined in phase 1. Once the prototype is tested, the results are reviewed to determine if the prototype is ready for production or whether it is necessary to perform further refinement prior to production. As mentioned earlier that the scope of this research ended in the testing phase of the prototype, future work will address the refinement stage on phase 4 and will increase the scalability of the vehicle, closing the gap between a testing prototype and an industrial product. The testing performed on the AGV prototype along with the results of those tests can be found in Section5.


## 3. Conceptual Design

This section presents both the concept development and the system-level design of the AGV prototype. It covers the analysis of the user requirements and engineering characteristics using the house of quality (HoQ) tool and the system-level design in which all the AGV subsystems are depicted in a functional representation.


### 3.1. Quality Function Deployment (QFD)

The QFD is a tool used by a wide variety of companies to design a product based on the requirements of its users; this tool generates an understanding of the problem and common terms for the entire work team, helping in the generation of concepts and the selection of the engineering characteristics that best meet the needs of customers and stakeholders. The QFD consists of several phases throughout the development of the product; this investigation only carried out initial one, which corresponds to the HoQ following the methodology used by U.S. companies [36].


#### 3.1.1. House of Quality (HoQ)

There are many ways to design an HoQ as it has different rooms, each with a particular function. The principal rooms for this research were those corresponding to user requirements and engineering characteristics, which were analyzed through the relationship matrix, resulting in the importance ranking to consider in the design phase. Table1 specifies each of the customer requirements and its description.Table 1
Customer requirements.
RequirementDescriptionShock and scratch resistantThe system is resistant to shocks and scratches that can be caused in normal factory operation.AutonomyThe system can be moved anywhere in the facility without the need for modifications or installation of auxiliary systems.Payload displacementThe system can move a payload of up to 150 kg.ReliabilityThe system can recover automatically after detecting an obstacle.SafetyThe system is safe to work together with the operators.Easy maintenanceThe system can be maintained quickly and repeatably.Ability to maintain tractionThe system can maneuver on slightly uneven terrain.AntislipThe system ensures that the payload does not slip or fall.Two-year lifetimeProduct lifetime of at least two years.CheapThe system is inexpensive compared with foreign competitors.These requirements are based upon past experiences of the previous products and the stakeholders’ needs for future developments. For the next step, it is important to translate these needs into measurable values, and this was accomplished by reviewing the competitor’s characteristics and analyzing other factors that could intervene in the development process; the following list enumerates the ones chosen:(1)
Rigidity of the shell material(2)
Number of tools required for maintenance(3)
Rigidity of suspension springs(4)
Motor torque(5)
Vehicle speed(6)
Assembly and disassembly time(7)
Degrees of freedom(8)
Adhesion of the payload contact area(9)
Wear resistance(10)
Vehicle size(11)
Probability of blocking(12)
Braking time when detecting an obstacle(13)
Vehicle acceleration(14)
Payload contact area(15)
Accuracy in estimating position within the facilitiesWith the requirements and the characteristics identified, it is now possible to implement the house of quality (HoQ) presented in Figure2.Figure 2
House of quality of the vehicle.


### 3.2. System-Level Design

After having the appropriate engineering characteristics in mind, the next step is to make a functional representation of the vehicle that is going to be made. Systematic design is a method that provides a way to describe a system or product in a general form based on its main functions, in which each subsystem is taken as a box that transforms energy, material, and signals to obtain the desired output [36]. Figure 3 presents the functional representation of the AGV prototype that describes the main functions of the system.Figure 3
Functional representation of the AGV.With the functional representation, several concepts were presented and discussed to address each one of the functions required for the system. The concept selection was made using a selection matrix following Dieter’s methodology [36]. An evaluation of how much the proposed concepts fulfilled the engineering characteristics and user requirements was realized, and the selected concept was the one with greater score among those proposed.


## 3.1. Quality Function Deployment (QFD)

The QFD is a tool used by a wide variety of companies to design a product based on the requirements of its users; this tool generates an understanding of the problem and common terms for the entire work team, helping in the generation of concepts and the selection of the engineering characteristics that best meet the needs of customers and stakeholders. The QFD consists of several phases throughout the development of the product; this investigation only carried out initial one, which corresponds to the HoQ following the methodology used by U.S. companies [36].


### 3.1.1. House of Quality (HoQ)

There are many ways to design an HoQ as it has different rooms, each with a particular function. The principal rooms for this research were those corresponding to user requirements and engineering characteristics, which were analyzed through the relationship matrix, resulting in the importance ranking to consider in the design phase. Table1 specifies each of the customer requirements and its description.Table 1
Customer requirements.
RequirementDescriptionShock and scratch resistantThe system is resistant to shocks and scratches that can be caused in normal factory operation.AutonomyThe system can be moved anywhere in the facility without the need for modifications or installation of auxiliary systems.Payload displacementThe system can move a payload of up to 150 kg.ReliabilityThe system can recover automatically after detecting an obstacle.SafetyThe system is safe to work together with the operators.Easy maintenanceThe system can be maintained quickly and repeatably.Ability to maintain tractionThe system can maneuver on slightly uneven terrain.AntislipThe system ensures that the payload does not slip or fall.Two-year lifetimeProduct lifetime of at least two years.CheapThe system is inexpensive compared with foreign competitors.These requirements are based upon past experiences of the previous products and the stakeholders’ needs for future developments. For the next step, it is important to translate these needs into measurable values, and this was accomplished by reviewing the competitor’s characteristics and analyzing other factors that could intervene in the development process; the following list enumerates the ones chosen:(1)
Rigidity of the shell material(2)
Number of tools required for maintenance(3)
Rigidity of suspension springs(4)
Motor torque(5)
Vehicle speed(6)
Assembly and disassembly time(7)
Degrees of freedom(8)
Adhesion of the payload contact area(9)
Wear resistance(10)
Vehicle size(11)
Probability of blocking(12)
Braking time when detecting an obstacle(13)
Vehicle acceleration(14)
Payload contact area(15)
Accuracy in estimating position within the facilitiesWith the requirements and the characteristics identified, it is now possible to implement the house of quality (HoQ) presented in Figure2.Figure 2
House of quality of the vehicle.


## 3.1.1. House of Quality (HoQ)

There are many ways to design an HoQ as it has different rooms, each with a particular function. The principal rooms for this research were those corresponding to user requirements and engineering characteristics, which were analyzed through the relationship matrix, resulting in the importance ranking to consider in the design phase. Table1 specifies each of the customer requirements and its description.Table 1
Customer requirements.
RequirementDescriptionShock and scratch resistantThe system is resistant to shocks and scratches that can be caused in normal factory operation.AutonomyThe system can be moved anywhere in the facility without the need for modifications or installation of auxiliary systems.Payload displacementThe system can move a payload of up to 150 kg.ReliabilityThe system can recover automatically after detecting an obstacle.SafetyThe system is safe to work together with the operators.Easy maintenanceThe system can be maintained quickly and repeatably.Ability to maintain tractionThe system can maneuver on slightly uneven terrain.AntislipThe system ensures that the payload does not slip or fall.Two-year lifetimeProduct lifetime of at least two years.CheapThe system is inexpensive compared with foreign competitors.These requirements are based upon past experiences of the previous products and the stakeholders’ needs for future developments. For the next step, it is important to translate these needs into measurable values, and this was accomplished by reviewing the competitor’s characteristics and analyzing other factors that could intervene in the development process; the following list enumerates the ones chosen:(1)
Rigidity of the shell material(2)
Number of tools required for maintenance(3)
Rigidity of suspension springs(4)
Motor torque(5)
Vehicle speed(6)
Assembly and disassembly time(7)
Degrees of freedom(8)
Adhesion of the payload contact area(9)
Wear resistance(10)
Vehicle size(11)
Probability of blocking(12)
Braking time when detecting an obstacle(13)
Vehicle acceleration(14)
Payload contact area(15)
Accuracy in estimating position within the facilitiesWith the requirements and the characteristics identified, it is now possible to implement the house of quality (HoQ) presented in Figure2.Figure 2
House of quality of the vehicle.


## 3.2. System-Level Design

After having the appropriate engineering characteristics in mind, the next step is to make a functional representation of the vehicle that is going to be made. Systematic design is a method that provides a way to describe a system or product in a general form based on its main functions, in which each subsystem is taken as a box that transforms energy, material, and signals to obtain the desired output [36]. Figure 3 presents the functional representation of the AGV prototype that describes the main functions of the system.Figure 3
Functional representation of the AGV.With the functional representation, several concepts were presented and discussed to address each one of the functions required for the system. The concept selection was made using a selection matrix following Dieter’s methodology [36]. An evaluation of how much the proposed concepts fulfilled the engineering characteristics and user requirements was realized, and the selected concept was the one with greater score among those proposed.


## 4. Detail Design

This section presents the detail design of the subsystems proposed in the conceptual design. First, the mechanical design is presented along with the kinematic model of the vehicle and the proposed position estimation algorithm. Finally, the electrical design is presented along with the proposed control system.


### 4.1. Mechanical Design

The AGV was conceived as a testing prototype with the purpose of validating its capabilities as an industrial platform. The system includes in its design requirements of some systems and tools that are normally used in an industrial environment. Figures4 and 5 illustrate the overall design of the AGV platform.Figure 4
Isometric view of the autonomous guided vehicle.Figure 5
(a) Front and (b) lateral view of the AGV.
(a)(b)The physical system architecture can be appreciated in the exploded view of the AGV in Figure6. Starting at the top of the exploded view, there is a lifting platform, followed by the bodywork of the AGV. Next, there is the chassis, and lastly, there is the traction system that includes the suspension, the AC electric motors, the gearbox, and the mecanum wheels.Figure 6
Exploded view of the AGV principal subsystems.


#### 4.1.1. Chassis

The chassis is the main structure of the AGV and works as a skeleton for the rest of the subsystems. The suspension is attached to the chassis and the lifting platform structure via mechanical joints; also, it has the necessary spaces to store the electrical components that are part of the power and control systems. This chassis is covered by the bodywork as displayed in Figure6.The chassis is made of hot rolled steel, and its different sections were attached using a welding procedure. An isometric view of the chassis can be seen in Figure7.Figure 7
Isometric view of the AGV chassis.


#### 4.1.2. Lifting/Cargo Platform

The lifting platform is designed to lift and carry pallets with a maximum weight of 150 kilogram. The platform uses a scissor mechanism moved by an endless screw that is attached to an electric motor via a worm drive with a reduction ratio of 1 : 10, and this mechanism moves the whole system. Figure8 shows an isometric view of the mechanism.Figure 8
Transport platform.


#### 4.1.3. Suspension

The design of the AGV suspension systems consists in a shock absorber designed to reduce the system vibrations in case the vehicle finds uneven ground, and this shock absorber is linked to the upper and lower control arms that are attached to the chassis, a gearbox, and a three-phase electrical motor; the gearbox and the three-phase motor are joined together using mechanical joints. The gearbox has a reduction ratio of 1 : 20 and uses a worm drive in order to change the axis of rotation since the mecanum wheel, which is attached to the gearbox, has an axis of rotation perpendicular to the axis of rotation of the motor. Also, it is important to note that the gearbox has an optical encoder assembled, and this encoder is attached to the wheel shaft. The suspension system and its components can be seen in Figure9.Figure 9
(a) Isometric and (b) exploded view of the suspension system including the three-phase motor, mecanum wheel, and encoder assembly.
(a)(b)


#### 4.1.4. Mecanum Wheels

The AGV prototype uses four mecanum wheels in order to achieve the omnidirectional mobility required. These wheels are composed of a number of free rolls, with a±45° angle rubber cover, that provide lateral friction, allowing the AGV to perform omnidirectional movements. An isometric and frontal view of the mecanum wheels are shown in Figure 10.Figure 10
(a) Isometric and (b) front view of the mecanum wheel.
(a)(b)As mentioned earlier, the mecanum wheels allow the AGV to perform omnidirectional movements through the combination of different spin directions on each wheel; these movements can be seen in Figure11. Several Mecanum wheels on a vehicle allows the user to change its direction and rotation due to the resultant friction of each wheel with the ground. However, the slip generated by these wheels can become one of the main kinematic problems for vehicle control [29].Figure 11
Motions of omnidirectional AGV.


### 4.2. Vehicle Kinematics

An important step in the design of the AGV is the definition of a proper kinematic model; this is because one of the purposes of the AGV testing platform is to be able to navigate autonomously with a navigation algorithm, which typically requires an estimate of the relative position of the vehicle, and this is also known as the odometry of the mobile platform. In this case, it is convenient to know the platform kinematics because with them and using the encoders measurement it is possible to estimate the AGV relative position.Figure12 shows a useful representation to define the omnidirectional AGV platform kinematics. The forward and inverse kinematics of the vehicle are given by Taheri and Qiao [37].(1)θ˙0θ˙1θ˙2θ˙3=1rr1−1−lx+ly11lx+ly11−lx+ly1−1lx+lyvxvyωz,vxvyωz=r4r1111−111−1−1lx+ly1lx+ly−1lx+ly1lx+lyθ˙0θ˙1θ˙2θ˙3,where vx∈ℝ corresponds to the forward velocity of the vehicle, vy∈ℝ corresponds to the lateral velocity, ωz∈ℝ is the angular velocity of the robot around its center, θ˙i with i∈0,1,2,3 is the angular velocity of each mecanum wheel, r is the radius of the mecanum wheels, lx corresponds to the distance from the center of the robot to the center of one of the lateral wheels, and ly corresponds to the distance from the center of the robot to the center of the front or back wheels. Table 2 has the values of lx,ly, and r.Figure 12
Vehicle model used for the calculation of inverse and forward kinematics.Table 2
Kinematics parameters.
ParameterValuelx43.05ly57.77r10.16


### 4.3. Position Estimation

In order to perform basic testing on the AGV prototype and explore its capabilities, it was necessary to implement a basic odometry algorithm to estimate the global position of the AGV [38, 39]. To do that, the first step was to calculate the linear velocities of the AGV with the forward kinematics using the angular velocity readings from the wheels’ encoders (Figure 12 shows the inertial and body frame). Then, the position and orientation of the vehicle are given by(2)xR=∑k=0TvxkTs,yR=∑k=0TvykTs,θ=∑k=0TωkTs,where Ts corresponds to the sampling time for acquiring the encoders’ measurements and calculating the linear velocities.Once the relative movements of the vehicle’s frame were calculated, the global position of the AGV was calculated as follows: between two steps of odometryk−1 and k, the vehicle first rotates and establishes its orientation θ, then it performs any of the other movements shown in Figure 11 (lateral displacement, forward/backward displacement, or diagonal displacement) sequentially. Then, the current positions xk and yk of the vehicle with respect to the inertial frame is given by(3)xk=xk−1+ΔxRcosθ−ΔyRsinθ,yk=yk−1+ΔxRsinθ+ΔyRcosθ,where xk−1 and yk−1 represent the previous positions of the vehicle with respect to the inertial frame; and ΔxR and ΔyR represent the displacements of the vehicle.


### 4.4. Electrical Design

The electrical system is made up of a power layer and a control layer. The power layer uses a three-phase AC electric supply that is connected directly into the variable frequency drives (VFDs) and then to the three-phase electric motors; this three-phase AC electric supply is also connected to an AC/DC power supply of 24 V, which is used to supply 24 V to the control layer components. The control layer is made up of a programmable logic controller (PLC) that uses its analog and digital outputs to control the speed and spin direction of the motor via the VFD; it also receives the A and B signals coming from the optical encoders attached to each wheel, and these signals are read using the high-speed counters (HSCs) in the PLC with a sampling frequency of 10 ms. The PLC is connected via an Ethernet cable to a PC that is used to control the vehicle using a joystick controller. Figure13 shows the block diagram of the overall system.Figure 13
Block diagram of the overall vehicle.Table3 shows the brand and reference of the electrical system main components and their main specification or characteristics. More information about the components can be found in their respective manual or datasheet.Table 3
Electrical components’ general specifications.
ComponentReferenceSpecs.Programmable logic controller (PLC)SIEMENS - SIMATIC S7 - 1200, CPU 1214C dc/dc/dcWork memory: 75 KBSupply: 24 V DCHigh-speed counters (HSCs): 6Variable frequency drive (VFD)SIEMENS - SINAMICS G1101 digital input with galvanic isolation3 digital inputs without galvanic isolation1 analog input AIN: 0–10 VThree-phase motorSIEMENS - 1LA7 070-4YC60Speed: 1,800 RPMPower: 0.4 HPWeight: 5 kgEncoderAutonics - E50S8-360-3-T-24Incremental quadrature encoderResolution: 360 PPRSupply: 12–24 VMax speed: 5,000 RPMPCDELL - LATITUD 3550Intel core I5 2.2 GHzRAM: 8 GBOS: Ubuntu 18.04Depth cameraIntel RealSense D435iUse: Indoor/OutdoorIdeal Range: 0.3 to 3 mFOV: 87°° x 58°°Depth-out resolution: 1280 × 720RGB Resolution: 1920 × 1080JoystickLogitech - EXTREME 3DPRONA


### 4.5. Control System

Initially, an open-loop control system was designed because the primary intention of the AGV testing platform was to test autonomous navigation algorithms. This control system has a programmable logic controller (PLC) that receives a setpoint from a PC and then uses its analog and digital outputs to set a frequency and spin direction in the variable frequency drive (VFD); this VFD then modulates the three-phase AC signals to set a specific speed in the electric motor.


#### 4.5.1. System Communications

In order to achieve reliable and easy communication between the PLC and the PC, a Modbus TCP/IP communication protocol was used, and this protocol was based on a client/server model, in which the PLC worked as the server and the PC as the client. In addition, a joystick was connected to the PC via USB, and this joystick was used to command the AGV in the desired directions.To configure the Modbus TCP/IP server in the PLC, a static IP address was given to the programming block of the PLC server; this server was linked with a data block that contains a double-word (DWord) array with 16 positions. The first 10 positions are used by the PLC to set the analog and digital outputs in order to set the speed and spin direction of the electric motors. The remaining 6 positions of the array are used to store the linear and angular velocities, position, and orientation of the AGV.The client configured in the PC was also assigned with a static IP address; this client was implemented using Python 2.7 and its PyModbus library, which was used to write and read the PLC registers. As mentioned earlier, a joystick was used to control the AGV and thus was used to set the setpoints in the PLC; the reading of this joystick was performed using the Pygame library; this library allowed configuring the different buttons and controls in the joystick, allowing to control the AGV in the desired directions.


#### 4.5.2. Software Architecture

The implementation of the navigation system requires a correct and reliable integration of external signals within the software to be used. ROS [40] is open-source software widely used for the development of robotic platforms. We used the navigation stack, which is a meta-package that makes it easy to integrate multiple nodes for autonomous navigation. Two main nodes directly related to the robot’s sensors and actuators were used: the “odometry source” node and the “base controller” node. The first one was built from (1)−(3), and the readings obtained by the encoders. For the second, an open-loop based controller script was developed taking into account the joystick. These two nodes will be inputs for the future development of the complete autonomous navigation system.


## 4.1. Mechanical Design

The AGV was conceived as a testing prototype with the purpose of validating its capabilities as an industrial platform. The system includes in its design requirements of some systems and tools that are normally used in an industrial environment. Figures4 and 5 illustrate the overall design of the AGV platform.Figure 4
Isometric view of the autonomous guided vehicle.Figure 5
(a) Front and (b) lateral view of the AGV.
(a)(b)The physical system architecture can be appreciated in the exploded view of the AGV in Figure6. Starting at the top of the exploded view, there is a lifting platform, followed by the bodywork of the AGV. Next, there is the chassis, and lastly, there is the traction system that includes the suspension, the AC electric motors, the gearbox, and the mecanum wheels.Figure 6
Exploded view of the AGV principal subsystems.


### 4.1.1. Chassis

The chassis is the main structure of the AGV and works as a skeleton for the rest of the subsystems. The suspension is attached to the chassis and the lifting platform structure via mechanical joints; also, it has the necessary spaces to store the electrical components that are part of the power and control systems. This chassis is covered by the bodywork as displayed in Figure6.The chassis is made of hot rolled steel, and its different sections were attached using a welding procedure. An isometric view of the chassis can be seen in Figure7.Figure 7
Isometric view of the AGV chassis.


### 4.1.2. Lifting/Cargo Platform

The lifting platform is designed to lift and carry pallets with a maximum weight of 150 kilogram. The platform uses a scissor mechanism moved by an endless screw that is attached to an electric motor via a worm drive with a reduction ratio of 1 : 10, and this mechanism moves the whole system. Figure8 shows an isometric view of the mechanism.Figure 8
Transport platform.


### 4.1.3. Suspension

The design of the AGV suspension systems consists in a shock absorber designed to reduce the system vibrations in case the vehicle finds uneven ground, and this shock absorber is linked to the upper and lower control arms that are attached to the chassis, a gearbox, and a three-phase electrical motor; the gearbox and the three-phase motor are joined together using mechanical joints. The gearbox has a reduction ratio of 1 : 20 and uses a worm drive in order to change the axis of rotation since the mecanum wheel, which is attached to the gearbox, has an axis of rotation perpendicular to the axis of rotation of the motor. Also, it is important to note that the gearbox has an optical encoder assembled, and this encoder is attached to the wheel shaft. The suspension system and its components can be seen in Figure9.Figure 9
(a) Isometric and (b) exploded view of the suspension system including the three-phase motor, mecanum wheel, and encoder assembly.
(a)(b)


### 4.1.4. Mecanum Wheels

The AGV prototype uses four mecanum wheels in order to achieve the omnidirectional mobility required. These wheels are composed of a number of free rolls, with a±45° angle rubber cover, that provide lateral friction, allowing the AGV to perform omnidirectional movements. An isometric and frontal view of the mecanum wheels are shown in Figure 10.Figure 10
(a) Isometric and (b) front view of the mecanum wheel.
(a)(b)As mentioned earlier, the mecanum wheels allow the AGV to perform omnidirectional movements through the combination of different spin directions on each wheel; these movements can be seen in Figure11. Several Mecanum wheels on a vehicle allows the user to change its direction and rotation due to the resultant friction of each wheel with the ground. However, the slip generated by these wheels can become one of the main kinematic problems for vehicle control [29].Figure 11
Motions of omnidirectional AGV.


## 4.1.1. Chassis

The chassis is the main structure of the AGV and works as a skeleton for the rest of the subsystems. The suspension is attached to the chassis and the lifting platform structure via mechanical joints; also, it has the necessary spaces to store the electrical components that are part of the power and control systems. This chassis is covered by the bodywork as displayed in Figure6.The chassis is made of hot rolled steel, and its different sections were attached using a welding procedure. An isometric view of the chassis can be seen in Figure7.Figure 7
Isometric view of the AGV chassis.


## 4.1.2. Lifting/Cargo Platform

The lifting platform is designed to lift and carry pallets with a maximum weight of 150 kilogram. The platform uses a scissor mechanism moved by an endless screw that is attached to an electric motor via a worm drive with a reduction ratio of 1 : 10, and this mechanism moves the whole system. Figure8 shows an isometric view of the mechanism.Figure 8
Transport platform.


## 4.1.3. Suspension

The design of the AGV suspension systems consists in a shock absorber designed to reduce the system vibrations in case the vehicle finds uneven ground, and this shock absorber is linked to the upper and lower control arms that are attached to the chassis, a gearbox, and a three-phase electrical motor; the gearbox and the three-phase motor are joined together using mechanical joints. The gearbox has a reduction ratio of 1 : 20 and uses a worm drive in order to change the axis of rotation since the mecanum wheel, which is attached to the gearbox, has an axis of rotation perpendicular to the axis of rotation of the motor. Also, it is important to note that the gearbox has an optical encoder assembled, and this encoder is attached to the wheel shaft. The suspension system and its components can be seen in Figure9.Figure 9
(a) Isometric and (b) exploded view of the suspension system including the three-phase motor, mecanum wheel, and encoder assembly.
(a)(b)


## 4.1.4. Mecanum Wheels

The AGV prototype uses four mecanum wheels in order to achieve the omnidirectional mobility required. These wheels are composed of a number of free rolls, with a±45° angle rubber cover, that provide lateral friction, allowing the AGV to perform omnidirectional movements. An isometric and frontal view of the mecanum wheels are shown in Figure 10.Figure 10
(a) Isometric and (b) front view of the mecanum wheel.
(a)(b)As mentioned earlier, the mecanum wheels allow the AGV to perform omnidirectional movements through the combination of different spin directions on each wheel; these movements can be seen in Figure11. Several Mecanum wheels on a vehicle allows the user to change its direction and rotation due to the resultant friction of each wheel with the ground. However, the slip generated by these wheels can become one of the main kinematic problems for vehicle control [29].Figure 11
Motions of omnidirectional AGV.


## 4.2. Vehicle Kinematics

An important step in the design of the AGV is the definition of a proper kinematic model; this is because one of the purposes of the AGV testing platform is to be able to navigate autonomously with a navigation algorithm, which typically requires an estimate of the relative position of the vehicle, and this is also known as the odometry of the mobile platform. In this case, it is convenient to know the platform kinematics because with them and using the encoders measurement it is possible to estimate the AGV relative position.Figure12 shows a useful representation to define the omnidirectional AGV platform kinematics. The forward and inverse kinematics of the vehicle are given by Taheri and Qiao [37].(1)θ˙0θ˙1θ˙2θ˙3=1rr1−1−lx+ly11lx+ly11−lx+ly1−1lx+lyvxvyωz,vxvyωz=r4r1111−111−1−1lx+ly1lx+ly−1lx+ly1lx+lyθ˙0θ˙1θ˙2θ˙3,where vx∈ℝ corresponds to the forward velocity of the vehicle, vy∈ℝ corresponds to the lateral velocity, ωz∈ℝ is the angular velocity of the robot around its center, θ˙i with i∈0,1,2,3 is the angular velocity of each mecanum wheel, r is the radius of the mecanum wheels, lx corresponds to the distance from the center of the robot to the center of one of the lateral wheels, and ly corresponds to the distance from the center of the robot to the center of the front or back wheels. Table 2 has the values of lx,ly, and r.Figure 12
Vehicle model used for the calculation of inverse and forward kinematics.Table 2
Kinematics parameters.
ParameterValuelx43.05ly57.77r10.16


## 4.3. Position Estimation

In order to perform basic testing on the AGV prototype and explore its capabilities, it was necessary to implement a basic odometry algorithm to estimate the global position of the AGV [38, 39]. To do that, the first step was to calculate the linear velocities of the AGV with the forward kinematics using the angular velocity readings from the wheels’ encoders (Figure 12 shows the inertial and body frame). Then, the position and orientation of the vehicle are given by(2)xR=∑k=0TvxkTs,yR=∑k=0TvykTs,θ=∑k=0TωkTs,where Ts corresponds to the sampling time for acquiring the encoders’ measurements and calculating the linear velocities.Once the relative movements of the vehicle’s frame were calculated, the global position of the AGV was calculated as follows: between two steps of odometryk−1 and k, the vehicle first rotates and establishes its orientation θ, then it performs any of the other movements shown in Figure 11 (lateral displacement, forward/backward displacement, or diagonal displacement) sequentially. Then, the current positions xk and yk of the vehicle with respect to the inertial frame is given by(3)xk=xk−1+ΔxRcosθ−ΔyRsinθ,yk=yk−1+ΔxRsinθ+ΔyRcosθ,where xk−1 and yk−1 represent the previous positions of the vehicle with respect to the inertial frame; and ΔxR and ΔyR represent the displacements of the vehicle.


## 4.4. Electrical Design

The electrical system is made up of a power layer and a control layer. The power layer uses a three-phase AC electric supply that is connected directly into the variable frequency drives (VFDs) and then to the three-phase electric motors; this three-phase AC electric supply is also connected to an AC/DC power supply of 24 V, which is used to supply 24 V to the control layer components. The control layer is made up of a programmable logic controller (PLC) that uses its analog and digital outputs to control the speed and spin direction of the motor via the VFD; it also receives the A and B signals coming from the optical encoders attached to each wheel, and these signals are read using the high-speed counters (HSCs) in the PLC with a sampling frequency of 10 ms. The PLC is connected via an Ethernet cable to a PC that is used to control the vehicle using a joystick controller. Figure13 shows the block diagram of the overall system.Figure 13
Block diagram of the overall vehicle.Table3 shows the brand and reference of the electrical system main components and their main specification or characteristics. More information about the components can be found in their respective manual or datasheet.Table 3
Electrical components’ general specifications.
ComponentReferenceSpecs.Programmable logic controller (PLC)SIEMENS - SIMATIC S7 - 1200, CPU 1214C dc/dc/dcWork memory: 75 KBSupply: 24 V DCHigh-speed counters (HSCs): 6Variable frequency drive (VFD)SIEMENS - SINAMICS G1101 digital input with galvanic isolation3 digital inputs without galvanic isolation1 analog input AIN: 0–10 VThree-phase motorSIEMENS - 1LA7 070-4YC60Speed: 1,800 RPMPower: 0.4 HPWeight: 5 kgEncoderAutonics - E50S8-360-3-T-24Incremental quadrature encoderResolution: 360 PPRSupply: 12–24 VMax speed: 5,000 RPMPCDELL - LATITUD 3550Intel core I5 2.2 GHzRAM: 8 GBOS: Ubuntu 18.04Depth cameraIntel RealSense D435iUse: Indoor/OutdoorIdeal Range: 0.3 to 3 mFOV: 87°° x 58°°Depth-out resolution: 1280 × 720RGB Resolution: 1920 × 1080JoystickLogitech - EXTREME 3DPRONA


## 4.5. Control System

Initially, an open-loop control system was designed because the primary intention of the AGV testing platform was to test autonomous navigation algorithms. This control system has a programmable logic controller (PLC) that receives a setpoint from a PC and then uses its analog and digital outputs to set a frequency and spin direction in the variable frequency drive (VFD); this VFD then modulates the three-phase AC signals to set a specific speed in the electric motor.


### 4.5.1. System Communications

In order to achieve reliable and easy communication between the PLC and the PC, a Modbus TCP/IP communication protocol was used, and this protocol was based on a client/server model, in which the PLC worked as the server and the PC as the client. In addition, a joystick was connected to the PC via USB, and this joystick was used to command the AGV in the desired directions.To configure the Modbus TCP/IP server in the PLC, a static IP address was given to the programming block of the PLC server; this server was linked with a data block that contains a double-word (DWord) array with 16 positions. The first 10 positions are used by the PLC to set the analog and digital outputs in order to set the speed and spin direction of the electric motors. The remaining 6 positions of the array are used to store the linear and angular velocities, position, and orientation of the AGV.The client configured in the PC was also assigned with a static IP address; this client was implemented using Python 2.7 and its PyModbus library, which was used to write and read the PLC registers. As mentioned earlier, a joystick was used to control the AGV and thus was used to set the setpoints in the PLC; the reading of this joystick was performed using the Pygame library; this library allowed configuring the different buttons and controls in the joystick, allowing to control the AGV in the desired directions.


### 4.5.2. Software Architecture

The implementation of the navigation system requires a correct and reliable integration of external signals within the software to be used. ROS [40] is open-source software widely used for the development of robotic platforms. We used the navigation stack, which is a meta-package that makes it easy to integrate multiple nodes for autonomous navigation. Two main nodes directly related to the robot’s sensors and actuators were used: the “odometry source” node and the “base controller” node. The first one was built from (1)−(3), and the readings obtained by the encoders. For the second, an open-loop based controller script was developed taking into account the joystick. These two nodes will be inputs for the future development of the complete autonomous navigation system.


## 4.5.1. System Communications

In order to achieve reliable and easy communication between the PLC and the PC, a Modbus TCP/IP communication protocol was used, and this protocol was based on a client/server model, in which the PLC worked as the server and the PC as the client. In addition, a joystick was connected to the PC via USB, and this joystick was used to command the AGV in the desired directions.To configure the Modbus TCP/IP server in the PLC, a static IP address was given to the programming block of the PLC server; this server was linked with a data block that contains a double-word (DWord) array with 16 positions. The first 10 positions are used by the PLC to set the analog and digital outputs in order to set the speed and spin direction of the electric motors. The remaining 6 positions of the array are used to store the linear and angular velocities, position, and orientation of the AGV.The client configured in the PC was also assigned with a static IP address; this client was implemented using Python 2.7 and its PyModbus library, which was used to write and read the PLC registers. As mentioned earlier, a joystick was used to control the AGV and thus was used to set the setpoints in the PLC; the reading of this joystick was performed using the Pygame library; this library allowed configuring the different buttons and controls in the joystick, allowing to control the AGV in the desired directions.


## 4.5.2. Software Architecture

The implementation of the navigation system requires a correct and reliable integration of external signals within the software to be used. ROS [40] is open-source software widely used for the development of robotic platforms. We used the navigation stack, which is a meta-package that makes it easy to integrate multiple nodes for autonomous navigation. Two main nodes directly related to the robot’s sensors and actuators were used: the “odometry source” node and the “base controller” node. The first one was built from (1)−(3), and the readings obtained by the encoders. For the second, an open-loop based controller script was developed taking into account the joystick. These two nodes will be inputs for the future development of the complete autonomous navigation system.


## 5. Tests and Results

The AGV testing prototype was assembled with the designs presented in the previous sections. Figure14 shows the prototype during the assembly process and the assembled vehicle. Once the prototype was assembled, a series of test were performed in order to validate the design and explore the AGV capabilities. This section describes the tests performed to the AGV testing prototype and their results.Figure 14
(a) Real AGV prototype during assembly and (b) final prototype.
(a)(b)


### 5.1. Position Estimation Evaluation

The AGV prototype was tested in all directions of movement shown in Figure11. This test was carried out in order to determine the average error in the position estimation model in each direction of movement; this error allows a better understanding of the AGV’s capabilities when implementing an odometry system based on the encoders’ measurements. To measure this error, the AGV was moved in each direction on a concrete floor, for the linear motions the error was recorded when the AGV had traveled 2 m in each direction, and each trajectory was performed 3 times.Table4 shows the absolute error in cm for each motion in each trajectory and also shows the average error based on the measurements of each trajectory. Table 5 shows the absolute errors in degrees for the rotational motions, for this test, the AGV was rotated 90°, 180°, and 360°.Table 4
Linear movement errors in the kinematic model.
TrajectoryMean absolute error (cm)Movement123↑0.40.60.90.63↓0.30.70.90.63←0.50.50.60.53→0.40.60.50.50↗0.50.81.00.77↘0.100.10.07↙0.20.30.60.37↘0.40.50.50.47Table 5
Rotational movement errors in the kinematic model.
TrajectoryMean absolute error (deg)2–4 Movement90°180°360°↺0.81.21.31.1↻0.911.21.03As shown in Table4, the mean absolute error does not surpass 1 cm and the average across all motions is 0.5 cm. On the other hand, Table 5 shows a mean average error of 1.07°° for the rotational motions. Part of these errors can be caused by some irregularities in the surface in which the robot was moved and tire slippage.


### 5.2. Lifting Platform and Loaded Movement

In order to test the lifting platform load requirements, the platform was loaded with four concrete blocks, each one of 37 kg, summing up a total of≈150 kg, and then it was activated performing several ascension-descension cycles. This experimental setup can be seen in Figure 15. This test verified that the lifting platform was able to lift the 150 kg, which was the design requirement; however, the lifting capacity of the platform is greater than 150 kg.Figure 15
Lifting platform test.To evaluate the AGV’s movement ability while loaded, the AGV performed the motions discussed in Section5.1 and shown in Figure 11 carrying an approximate weight of 150 kg (4 concrete blocks of 37 kg). During the test, the AGV performed correctly all the linear and rotational motions.


## 5.1. Position Estimation Evaluation

The AGV prototype was tested in all directions of movement shown in Figure11. This test was carried out in order to determine the average error in the position estimation model in each direction of movement; this error allows a better understanding of the AGV’s capabilities when implementing an odometry system based on the encoders’ measurements. To measure this error, the AGV was moved in each direction on a concrete floor, for the linear motions the error was recorded when the AGV had traveled 2 m in each direction, and each trajectory was performed 3 times.Table4 shows the absolute error in cm for each motion in each trajectory and also shows the average error based on the measurements of each trajectory. Table 5 shows the absolute errors in degrees for the rotational motions, for this test, the AGV was rotated 90°, 180°, and 360°.Table 4
Linear movement errors in the kinematic model.
TrajectoryMean absolute error (cm)Movement123↑0.40.60.90.63↓0.30.70.90.63←0.50.50.60.53→0.40.60.50.50↗0.50.81.00.77↘0.100.10.07↙0.20.30.60.37↘0.40.50.50.47Table 5
Rotational movement errors in the kinematic model.
TrajectoryMean absolute error (deg)2–4 Movement90°180°360°↺0.81.21.31.1↻0.911.21.03As shown in Table4, the mean absolute error does not surpass 1 cm and the average across all motions is 0.5 cm. On the other hand, Table 5 shows a mean average error of 1.07°° for the rotational motions. Part of these errors can be caused by some irregularities in the surface in which the robot was moved and tire slippage.


## 5.2. Lifting Platform and Loaded Movement

In order to test the lifting platform load requirements, the platform was loaded with four concrete blocks, each one of 37 kg, summing up a total of≈150 kg, and then it was activated performing several ascension-descension cycles. This experimental setup can be seen in Figure 15. This test verified that the lifting platform was able to lift the 150 kg, which was the design requirement; however, the lifting capacity of the platform is greater than 150 kg.Figure 15
Lifting platform test.To evaluate the AGV’s movement ability while loaded, the AGV performed the motions discussed in Section5.1 and shown in Figure 11 carrying an approximate weight of 150 kg (4 concrete blocks of 37 kg). During the test, the AGV performed correctly all the linear and rotational motions.


## 6. Conclusions and Future Work

This document presents the mechanical and electrical design of an AGV testing prototype following Dieter’s systems engineering methodology. The prototype was designed in order to test its capabilities and possible scalability into an industrial platform. During the performed tests, it was found that the kinematic model can be used to implement an accurate odometry system based on the encoders’ measurements. Section5.1 shows that the kinematic model error is minimum and can be reduced even more with the implementation of a robust control system. The load tests concluded that the lifting platform fulfilled the design requirements of lifting 150 kg; also, the AGV prototype was able to perform all the required linear and rotational movements carrying the said weight.In future work, an Intel RealSense D435i depth camera will be integrated in order to implement a simultaneous localization and mapping algorithm using the robotic operating system (ROS) and the open-source RTAB-Map library. Also, a closed-loop control system will be designed aiming to improve the AGV platform scalability and reduce the error in its motions.



---

*Source: 7712312-2022-03-21.xml*