Skip to content

KamilGos/autonomous-forklift-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 

autonomous-forklift-system

Position detection system of mobile robot in the warehouse enviroment

Top language Status Repository size

About   |   GUI   |   Tests   |   Starting   |   License   |   Author   |  



You can wath the oryginal video presenting system by clicking here



🎯 About

An application that runs the autonomous forklift palletization algorithms. Projekt was created for Engineering Thesis. It was fully completed. The last release of this application is available in this repository. The application uses image processing (OpenCV library) to detect the position of Acuco markers. Based on the calculated positions of the forklift, pallets and the storage place, the trajectories for the truck are generated (mainly using Voronoi graph and Dijkstra algorithm). Then the module responsible for communication with the robot controls it, so the robot collects chosen pallets and puts them one on top of the other in the designated warehouse.

💻 GUI

 
The interface was created using the PyQt5 and pyqtgraph libraries.The following elements are shown in the figure: 1. **Menu bar** - user can change the FPTV coefficient, communication port and baudrate. 2. **Image transmission** - user can choose between three views. The first view displays the real image from the camera. View 2 displays marked tags with their identifiers. The third view displays the trajectories for a robot and updates it with each move robot (fig. 3.22). 3. **Entering identifiers** - to start system, the user has to enter the robot ID and the pallet that the robot has deliver to the storage area. 4. **Parameters** - In the Module statuses table you can observe camera, communication and navigation module status. The Warehouse table shows the status graphically storage place. The Parameters table shows in sequence: camera number (by default 1), COM port (COM14 by default), baud rate (9600 by default), ratio FPTV (25 by default), fault information, phase one status, phase two status, and the number of steps remaining to complete the phase. 5. **Start and progress** button that starts the palletization process (Start). It is available only after the correct robot and pallette identifiers are entered

🔬 Tests

  1. Correctness of generated paths - The correct route is considered to be a safe route to the destination. In the first phase the palette is the goal. The robot has to reach the pallet and then pick it up. In the second phase the goal is the storage area (warehouse). Result: Correct

  1. Correctness of completing the route - A correctly covered route is characterized by a minimal error between generated route and the route taken by the robot. This is equivalent to maintenance safety assumptions for every traffic. Result: Correct

  1. Correctness of multi-level storage - This test checks whether the palletiser is correctly stacking the pallets. It is necessary to consider the created system as a multi-level palletizing system. Result: Correct

🏁 Starting

# Clone this project
$ git clone https://github.com/KamilGos/autonomous-forklift-system

# Access
$ cd autonomous-forklift-system

# Run the project
$ sudo python3 main.py

📝 License

This project is under license from MIT. For more details, see the LICENSE file.

🧑‍💻 Author

Made with ❤️ by Kamil Goś

 

Back to top

About

Position detection system of mobile robot in the warehouse enviroment

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages