The thesis deals with automated online order processing. A test environment was created in the Laboratory of robotics, consisting of a store shelf with items and products that can be found in retail shops. The products are of similar shapes, but different sizes. The task was divided into three important parts: processing of the order, picking up the products with the robot and putting the products in the box. The first step involved placing the order. This was possible through a graphical interface containing the available products. The robot would start the task by moving from a starting position towards the product on the shelf, picking up the product and placing it in the box. A UR5e collaborative robotic manipulator was used to perform the task. A vacuum gripper would be placed on top of the robotic manipulator. When picking, it was important to know where on the shelf a particular product was located and how many products have been ordered. Finally, the robot carefully arranged the products in a specific space in a box located near the robotic manipulator. The size of this space determined how many products can be put away at the same time. When the robot was carrying out the task, it was important that there would be no unwanted contact with other objects in the environment. In order to execute the described task, three programs were made. The graphical user interface and the main program, which was the interface between the interface and the robot that was written in the Python programming language. The program that controlled the robot’s motion and the manipulation of the vacuum gripper was written using the Polyscope graphical user interface, which is used for programming robots from Universal Robots. The three programs are executed concurrently. Communication is established between them to send real-time data that is needed to continue the robot’s motion and to display the status of the order in the interface. Testing of the task was carried out several times with the aim of correcting malfunctions. Finally, when testing, an order is placed, the GUI displayed the status of the order, the robotic manipulator picked and put the products in the box. If a particular product could not be picked, the GUI displayed the reason. This was used to test how the robotic manipulator followed the written programme.
|