ROBOTIC TRANSPORT ARM

This paper presents the design assumptions, 3D model, electronics, control and actual implementation of a programmable model of an industrial robotic arm used to transport parts with small masses. The arm communicates via Wi-Fi, has a user interface, keyboard and alphanumeric display. The necessary calculations were made for the torques of the arm's drives used, and its mechanical design and electronics schematic are presented. Tests to verify the operation of the arm were carried out


Introduction
The text of a manuscript should be written in clear and concise English. In the starting section due to the ever-increasing variety of goods and products and their variants, it is necessary to increase the efficiency as well as flexibility of production. The use of industrial robots is one of the solutions to achieve flexible and efficient automation. An industrial robot is a multi-tasking, programmable machine that has some anthropomorphic features, such as a structure that resembles the structure of a human body. Features such as the human arm structure are often used in a wide variety of manufacturing tasks. The use of industrial robots offers many advantages in terms of safety, efficiency and speed of production. A robot can replace a human in dangerous or simply monotonous activities -this allows the worker to perform other production tasks. The use of robots significantly increases production efficiency. Industrial robots can work 24 hours, 7 days a week excluding maintenance work. They require only electricity and instructions. Due to their high accuracy, repeatability and infallibility, they can perform assigned tasks much more precisely and quickly than humans. Industrial robots are widely used in many areas of manufacturing. Robot applications include loading and unloading of machines (e.g. machine tools, presses), palletizing (e.g. packaging, bottles), processing parts, welding, painting and varnishing.

Design assumptions
To begin the process of building a robotic transport arm, it is necessary to formulate design assumptions. Parameters:
Design assumptions: • regulation of the speed of movement of the individual members of the arm; • ability to write a program consisting of instructions, variables, loops and conditional jumps to control the arm; • control of the program and settings from the robot using an interface consisting of a membrane keyboard, encoder and alphanumeric display; • wireless communication with the network via Wi-Fi; • ability to transfer programs remotely via FTP protocol; • real-time display of program status on the alphanumeric display; • control of robot members in manual mode from the robot; • user-definable poses from the robot; • control of the robot from the computer using the mirror image of the interface located at the robot; • the ability to transfer files via FTP protocol.

Design
The design of the remote-controlled robotic transport arm includes a 3D model, electronic components and software.

3D Model
The design of the structure of the industrial robot arm was made in the SolidEdge [1] software. One of the basic design assumptions is to use a sheet of aluminium with a thickness of 2 mm from which individual components will be cut. The robot components will then be connected using spacers, screws and nuts. Figure 1 shows the assembly of the arm. In order to stiffen the arm structure, 6 screws were used, two screws for the third member and four screws for the second member. The stiffening of the members was realized through 3 nuts on each screw, this also allows the distance of the two members to be adjusted. The manipulator has an overhang of 375 mm. In addition, a kinematic diagram of the robot shown in Figure 2 was drawn up. For the first, second and third joint, the following were used MG946R servos. And for joint four and five, the MG996R was used.
Knowing the torque of the servos, it is possible to calculate the theoretical lifting capacity for the individual joints. To do this, determine the force F for each case and then divide it by the earth acceleration g.

Electronics
The electronics consist of several main components, the connection of which in the diagram is shown in Figure 8.
1. ESP-WROOM-32 ( Figure 3) is a general-purpose module based on the 32-bit ESP32-D0WDQ microcontroller. It contains the basic components necessary for the proper functioning of the microcontroller. The board includes, among others, an oscillator quartz oscillator with a frequency of 40 MHz, flash memory with a capacity of 32 megabits and an antenna embedded in the PCB for communication via Wi-Fi and Bluetooth [2].
The whole board, excluding the antenna, is encased in a protective metal case. 2. The 2004A LCD features the SPLC780D-01 chip (Figure 4), which is fully compatible with the popular HD44780 controller [4]. It is powered by a voltage of 5 V. The display is alphanumeric. In the design, it is used to communicate with the user via a user interface. 3. A model servo consists of a DC motor ( Figure 5), a gearbox reduction gear and control electronics with a feedback loop. They mostly have 3 wires: power, ground, and a signal wire.They are controlled by PWM with a frequency of 50 Hz. Depending on the length of the pulse, the angle of the shaft position changes. The value of the length of this pulse is usually within 1 to 2 milliseconds for a rotation from 0 to 180 degrees, depending on the design of the servo mechanism. The project uses two types of servos, standard and micro. The standard type servo serves as the main drive of the manipulator and the micro type servo is used in the gripper.

Journal of Technology and Exploitation in Mechanical Engineering
Vol. 8, no. 1, 2022 46 Figure 5. Towerpro MG946R standard type model servo [6] 4. Stabilized 60 Watt Switching Power Supply (Figure 6), delivers 12 A current at 5 V. The power supply has a metal housing with ventilation holes. It has also adjustable output voltage via a potentiometer on the back of the case. Its main task in the design is to provide enough power to the servos. About 500 mA is for powering the robot control system, while the remaining 11.5 A is for the modelling servos used in this project.

Software
The robot's software was made mainly in Python with the exception of the implementation of the encoder controller and modification of the module to handle PWM. The robot's program was written object-oriented. Each electronic component being controlled or controlling has its own object created from a class it shares with the same type of component. The classes used to control electronic components are divided into three families: interfaces, devices and overlays. Interfaces serve as intermediaries between the device and the microcontroller, defining methods that allow simple communication without delving into the operation of the interface. Devices allow basic control of the electronic component for which they are intended. An example of a device class is the HD44780 class for controlling an alphanumeric display. It has basic operations that can be performed on the display such as initialization, clearing the screen, writing text to the display, turning on and off: display, backlight, cursor, etc.
In addition, an interface system for an alphanumeric display has been written. This interface is divided into screens (Screen class) and panels. Screens are classes that are designed to use panels in a specific way (e.g. to retrieve login and password type data). While panels are basic elements such as text box, checkbox, scrolling file list, etc.
In order to make it possible to create programs that transmit arm movement, it was necessary to create a system that would interpret, process and execute the instructions. For this purpose, an interpreter was written in a class named "Program". It allows to process text files in which there is a program in the form of a list of instructions along with their arguments directly into a form native to Python for their immediate execution. This system allows you to write programs consisting of instructions, loops conditional statements executed with jump statements, variables, expressions logical and mathematical expressions that conform to Python syntax.

The actual performance of the robot
In order to obtain the designed parts from aluminium sheet, the following were used abrasive blasting, i.e. waterjet cutting. For this purpose, the projections of all parts were put into one file and then transferred to the company for processing. The robot arm was assembled according to the design (Figure 9). After assembly, it was necessary to adjusting the distance between the members using the four nuts on the bolts connecting the member parts.

Screening tests
In order to verify the correct operation of the robot, a number of tests were performed. The first was a general test to check the overall operation of the system. For this purpose, a number of programs were written and run allowing to examine the behaviour of the servos at different speeds. Preliminary observations show that at low speeds the operation of the servos is less smooth and more "jumpy". In contrast, at higher speeds at the moment of stopping there is a violent jerk which moves the whole structure.
The next test was to check the lifting capacity of individual members. For this purpose, the manipulator's members were placed parallel to the ground. A water bottle was used as the test weight because of its infinitely adjustable weight. During the lifting capacity tests, a significant increase in the temperature of the servos was noted, which can lead to overheating and damage to the motor windings. Therefore, the manipulator should not be used to lift objects weighing more than 150 g.

Comments and conclusions
The physically built robotic transport arm has some problems associated with the servo drives used in it. The clearances caused by these actuators reduce the manipulator's repeatability and accuracy. In addition, the gripper used, due to its design, is unable to properly hold some objects. Another problem is the movement of the members at high speed. At high speed, sudden stopping of the member causes a violent jerk to occur. The solution to this problem can be to modify the code that controls the members so that stopping the members is less abrupt (by slowing down gradually).
The robot can be extended in many ways. The interpreter can be augmented with new instructions, including to operate other effectors and external devices. The control system has additional I2C ports through which devices supporting this bus can be attached.