Furthermore, the multi-mobile robot system can be distinguished based on the approach used to control the robots. Thus, it is better to focus on improving the performance of the multi-mobile robot system by exploiting all the information.
- Overview of Logistics Automation
- The Challenge of Logistics Industries Today
- Distribution Centre and Warehouse
- Automation of Sorting Centres
- Multi-Mobile Robot System
- Challenges in Multi-Mobile-Robot Coordination
- Problem Statement and Motivation
- Project Scope
- Project Objectives
- Impact, Significance and Contribution
- Report Organization
However, most studies on multi-mobile robot automation and control framework focus on a partially observable environment. In addition, this project investigates how different algorithms implemented in a multi-mobile robot control framework can affect the performance of the system.
Literature Review
- Decentralized and Centralized Multi-Mobile Robot System
- Multi-mobile robot System Design
- Motion Coordination for Multi-Mobile Robot System
- A* Algorithm
- More Path Planning Algorithms
- Collision between Multi-Mobile Robot
- Simulation Modelling .1 Type of Models
- Time-Advance Mechanisms
Apart from that, Zhang, Guo, Chen and Yuan (2018) divide their multi-mobile robotic system into 2 layers. The coordination of multi-mobile robot movements can be approached either reactive paradigm or deliberative paradigm.
Project / System Design
Project Flow
Overview of Multi-Mobile robot Sorting Centre Processes
Language & Library
Overview of Environment Modelling
Static Resource: is an abstract class used to build different types of resources, such as pick-up point, drop-off point, and charging stations. Server: In our design, there must be one and only one server for the environment. Since the purpose of this section is only to provide a high-level view of environment modeling, we will not discuss the responsibilities of these modules in this section.
Robot: The instance of the Robot class is the main agent in our environment, interacting with the environment and the server to perform its tasks. Like the server, a bot has many modules, the modules can also be different if we have a different framework.
- Events
Concrete classes of this class have their own unique properties and behaviors to enable servers or bots. This section lists the important events in our simulation and discusses how to design generators to trigger these events. For example, while the robot is moving, it can also receive a notification from the server, such as the success or failure of the robot to search for the next network in its path.
In this situation, the robot must adjust its speed or make a new plan based on the information obtained. Such situations are difficult to model using a single thread, but it is also difficult to use multiple threads while running the discrete-event simulation. Thus, both robot-server interaction module and motion control module are implemented with a generator/coroutine that is responsible for generating the next event corresponding to the environment situation.
The generator in the robot-server interaction module deals with communication with the server and is responsible for making decisions based on the information obtained from the server, thereby also triggering the path planning module. Then the motion module only manages the motion of the robot or any physical part of the robot, so it always receives a command from the robot-server interaction module and then controls the physical robot corresponding to those commands.
Robot Motion Modelling
Let t0 denote the time when the robot reaches g0, t1 is the time when the robot reaches maximum velocity, but if the robot never reaches maximum velocity, then t1 is infinite, t2 is the time when the robot starts to decelerate, 𝑡𝑓 is the time when the robot reaches gn. Moreover, we let v0 denote the initial velocity when the robot reaches g0, and let sg denote the distance from one grid to another. After that we can use the method shown in Figure 3.3 to know the value of t1, t2.
Whenever a bot's reserved networks change, such as a grid is released or success to search for a new grid, we can recalculate t1 and t2 to ensure that the robot can move at the maximum speed subject to it being able to stop at the last reserved grid or stop at the reserved grid before making a turn. On the other hand, it is necessary to know what is the transition time for the movement of a robot from one network to another and this is the objective to design the algorithm shown in Figure 3.4. The value of s is known, so by solving the above equation, we can get the value of 𝑡′ (always take a positive and real number), and therefore both t and 𝑡′′ can be solved.
If it is true, we can use the previous solution, but if it is false, we need to introduce a new variable 𝑡′′′ that indicates the total time the robot maintains its maximum speed.
- Proposed Framework
- Flow of Proposed Framework
- Role of Robots
- Behaviour of Robots in the Proposed Framework
- Pickup Point Selection Strategy
- Path Planning Algorithm
- Charge Scheduler
Therefore, if a robot needs access to a grid, the robot must request permission from the center server. This mechanism provides the robot with the flexibility to choose a better path based on the new environmental condition. In our proposed framework, the robot cannot move without reserving the grids to which it intends to move.
Therefore, even a reference pick-up point is selected, the robot is not needed to move the pick-up point. Apart from that, if a charging station is assigned to a robot, the charging station will be assigned to the robot within a certain time. During time, the charging station is not preventative, that is, even if other robots have a higher priority than the robot, they cannot interrupt the robot's charging process.
A charging station's priority value is determined by the robot's battery occupying the charging station, while a robot's priority value is its battery level. Briefly, this mechanism allows the selection of several possible charging stations and then the selection of a charging station near the robot that needs a charging station.
Sorting Centre Layout
It's also not a good design if a robot can interrupt a robot that has similar battery power to itself.
Robot Pathfinding Preference
Assumptions
Parameters
Performance Indicators
Design Consideration
Multi-Mobile Robot System
Lock Grids Strategies
If robots make a small error on every move, the error of the expected time it takes a robot to reach future grids can accumulate and thus the error limit becomes larger if the time difference is huge. This will lead us to abandon our original goal of reducing the space required by robots. Therefore, the proposed lock grid strategy could be a simple and efficient strategy to reduce the space required for each robot and increase the robot's moving speed, as long as we set a good maximum number of allowed reservation grids of robots.
Rules / Preference for Grid Environment
- Configuration A
- Configuration B
- Configuration C
To avoid the above situation, we control the movement cost to encourage robots to use the area outside the red rectangle. For example, if we set the cost of the outer ring too low, most robots will use the outer ring, and thus the use of the area inside the red rectangle becomes smaller, and blocking may occur in the outer ring. If we set the greediness of our path planning algorithm to a higher value, the robot walks to find the shortest distance path instead of the least cost path.
Thus, it is important to consider this situation when designing the costing chart. Also, to have better performance, the vertical path in the inner area is also reduced. The vertical path near the center has a lower cost compared to the vertical path near the pickup points.
If the robots prefer to use the center vertical path compared to the vertical path near the pick-up points, the probability of cross-collision can be reduced. However, this is beyond the scope of this project and will not be discussed further here.
Experiment Results & Analysis
- Experiment Design
- Results Analysis – Part 1
- Throughput and Average Robots Performance
- Average Moving Speed
- Average Moving Distance / Job Cycle
- Average Time Spent / Job Cycle
- Results Analysis – Part 2
- Results Analysis – Part 3
- Discussion on Congestion Condition & Cost Configuration
- Summary
Then, the average moving speed of the robot for configuration B exceeds the configuration A when the number of robots is close to 150, while for the robots in configuration C, their moving speed is much higher than others when the number of robots is huge. Apart from that, the average moving speed of robots in configuration A drops drastically when the number of robots after the number of robots exceeds 210. This result shows an intuitive situation, namely when the number of robots increases, the average speed of robots decreases.
Configuration A initially performs best, but Configuration C outperforms Configuration A when the number of robots is around 60. That is, when the number of robots is large, it is more stable compared to Configuration A but worse than Configuration C. Consequently, Figure 5.11 shows that when the robots have an infinite battery number of robots, the performance drops when it reaches 460 robots.
The outer ring may also face congestion if the number of robots increases. For example, when the number of robots is large, congestion is most likely to occur in the center of the indoor space.
Future Work
Additionally, by changing the movement cost, it is possible to influence the robot's path planning behavior so that the path planning behavior is more suitable for a multi-robot environment, but this only applies to static costs in this project. This is ignoring most of the global information that could help make a better decision. Note that it is possible for the proposed framework to assign the task of global information processing to the server and let robots make decisions based on the processed information, but this type of algorithm is still not developed in this project.
On the other hand, this project suggested that path planning behavior can be controlled by changing the cost, but how to design the cost is still mainly empirical. Apart from that, since the cost can affect the path planning behavior of the robots, this technique may be used to solve the congestion by changing the cost based on the particular situation. In this situation, multiple drop-off points can be used for a single destination, thus reducing the moving distance for the robots to sort the packages, if the location of the drop-off points is well designed.
Note The supervisor/candidate(s) must provide the Faculty/Institute with an electronic copy of the complete originality report set. Based on the above results, I declare that I am satisfied with the originality of the final year project report submitted by my students as mentioned above.