Cleaning robot with a manipulator arm. Industrial robot manipulator: I can do everything and I can do everything

Industrial robotic manipulators are one of the main driving forces of modern production automation. Their development and implementation made it possible for enterprises to reach a new scientific and technical level of performing tasks, redistribute responsibilities between technology and humans, and increase productivity. We will talk about the types of robotic assistants, their functionality and prices in the article.

Assistant # 1 - robotic arm

Industry is the foundation of most of the world's economies. The income of not only a single production unit, but also the state budget depends on the quality of the offered goods, volumes and pricing.

In light of the active introduction of automated lines and the widespread use of smart technology, the requirements for the supplied products are increasing. To withstand the competition without the use of automated lines or industrial robotic manipulators today is almost impossible.

How an industrial robot works

The robotic arm looks like a huge automated "arm" under the control of an electrical control system. There is no pneumatics or hydraulics in the design of the devices, everything is built on electromechanics. This reduced the cost of robots and increased their durability.

Industrial robots can be 4-axis (used for stacking and packing) and 6-axis (for other types of work). In addition, robots differ depending on the degree of freedom: from 2 to 6. The higher it is, the more accurately the manipulator recreates the movement of a human hand: rotation, movement, squeezing / unclenching, tilting, etc.
The principle of operation of the device depends on its software and equipment, and if at the beginning of its development the main goal was to free workers from heavy and dangerous kind work, today the range of tasks performed has increased significantly.

The use of robotic assistants allows you to cope with several tasks simultaneously:

  • reduction of working areas and the release of specialists (their experience and knowledge can be used in another area);
  • increase in production volumes;
  • improving product quality;
  • due to the continuity of the process, the production cycle is shortened.

In Japan, China, USA, Germany, a minimum of employees work at factories, whose duty is only to control the operation of manipulators and the quality of manufactured products. It should be noted that industrial robot-manipulator is not only a functional assistant in mechanical engineering or welding. Automated devices are presented in a wide range and are used in metallurgy, light and Food Industry... Depending on the needs of the enterprise, you can choose a manipulator that matches functional responsibilities and the budget.

Types of industrial robotic manipulators

Today there are about 30 types of robotic arms: from universal models to highly specialized assistants. Depending on the functions performed, the mechanisms of manipulators may differ: for example, it can be welding works, cutting, drilling, bending, sorting, stacking and packaging of goods.

In contrast to the existing stereotype about the high cost of robotic technology, every, even a small enterprise, will be able to purchase such a mechanism. Small universal robotic manipulators with a low load capacity (up to 5 kg) ABB, and FANUC will cost from 2 to 4 thousand dollars.
Despite the compactness of the devices, they are able to increase the speed of work and the quality of product processing. A unique software will be written for each robot, which precisely coordinates the operation of the unit.

Highly specialized models

Welding robots have found their greatest application in mechanical engineering. Due to the fact that the devices are able to weld not only smooth parts, but also effectively carry out welding work at an angle, in hard-to-reach places install entire automated lines.

The conveyor system is launched, where each robot does its part of the work for a certain time, and then the line begins to move to the next stage. Organizing such a system with people is not easy enough: none of the workers should be absent for a second, otherwise the entire production process gets lost, or a marriage appears.

Welders
The most common options are welding robots. Their productivity and accuracy are 8 times higher than that of humans. Such models can perform several types of welding: arc or spot (depending on the software).

Kuka industrial robots are considered to be the leaders in this field. Cost from 5 to 300 thousand dollars (depending on the carrying capacity and functions).

Pickers, movers and packers
Heavy and harmful work for the human body has become the reason for the emergence of automated assistants in this industry. Packing robots prepare goods for shipment in minutes. The cost of such robots is up to 4 thousand dollars.

Manufacturers ABB, KUKA, and Epson offer the use of devices for lifting heavy loads weighing more than 1 ton and transporting from warehouse to loading site.

Industrial robot manipulator manufacturers

Japan and Germany are considered the undisputed leaders in this industry. They account for more than 50% of all robotic technology. Competing with the giants is not easy, however, and in the CIS countries their own manufacturers and start-ups are gradually appearing.

KNN Systems. The Ukrainian company is a partner of the German Kuka and is developing projects for the robotization of welding, milling, plasma cutting and palletizing processes. Thanks to their software, the industrial robot can be reconfigured for the new kind tasks in just one day.

Rozum Robotics (Belarus). The company's specialists have developed the PULSE industrial robotic arm, which is distinguished by its lightness and ease of use. The device is suitable for assembling, packing, gluing and rearranging parts. The price of the robot is around $ 500.

"ARKODIM-Pro" (Russia). It is engaged in the production of linear robotic manipulators (move along linear axes) used for injection molding of plastic. In addition, ARKODIM robots can work as part of a conveyor system and act as a welder or packer.

We create a robotic arm using a rangefinder, we implement backlighting.

We will cut the base from acrylic. We use servo drives as motors.

General description of the robotic arm project

The project uses 6 servo motors. For the mechanical part, acrylic 2 mm thick was used. The base from the disco ball was useful as a tripod (one of the motors is mounted inside). An ultrasonic distance sensor and a 10 mm LED are also used.

An Arduino power board is used to control the robot. The power source itself is the computer's power supply.

The project provides comprehensive explanations for the development of a robotic arm. The nutritional issues of the developed design are considered separately.

Basic nodes for a manipulator project

Let's start developing. You will need:

  • 6 servomotors (I used 2 mg946, 2 mg995, 2 futuba s3003 (mg995 / mg946 are better than futuba s3003 in performance, but the latter are much cheaper);
  • acrylic 2 mm thick (and a small piece 4 mm thick);
  • ultrasonic distance sensor hc-sr04;
  • LEDs 10 mm (color - at your discretion);
  • tripod (used as a base);
  • aluminum grab (costs about 10-15 dollars).

For driving:

  • Arduino Uno board (the project uses a homemade board, which is completely similar to the Arduino);
  • power board (you will have to make it yourself, we will return to this issue later, it requires special attention);
  • power supply unit (in this case, a computer power supply unit is used);
  • a computer to program your manipulator (if you are using Arduino for programming, then the Arduino IDE)

Of course, cables and some basic tools like screwdrivers and the like will come in handy. We can now move on to design.

Mechanical assembly

Before starting the development of the mechanical part of the manipulator, it is worth noting that I have no drawings. All knots were made "on the knee". But the principle is very simple. You have two acrylic links with servomotors between them. And the other two links. Also for installing motors. Well, the grab itself. The easiest way to buy such a gripper is to buy it on the Internet. Almost everything is installed with screws.

The length of the first part is about 19 cm; the second is about 17.5; the length of the front link is about 5.5 cm. Select the other dimensions according to the dimensions of your project. In principle, the dimensions of the remaining nodes are not that important.

The mechanical arm should be able to rotate 180 degrees at the base. So we have to install the servo motor underneath. In this case, it is installed in the same disco ball. In your case, this can be any suitable box. The robot is mounted on this servo motor. It is possible, as shown in the figure, to install an additional metal flange ring. You can do without it.

To install the ultrasonic sensor, 2 mm acrylic is used. An LED can also be installed from below.

It is difficult to explain in detail exactly how to construct such a manipulator. Much depends on the units and parts that you have in stock or you purchase. For example, if the dimensions of your servos are different, the acrylic arm links will also change. If the dimensions change, the calibration of the arm will also be different.

After completing the mechanical design of the manipulator, you will definitely need to lengthen the cables of the servomotors. For these purposes, in this project, wires from an Internet cable were used. In order for all this to look, do not be lazy and install adapters on the free ends of the extended cables - mom or dad, depending on the outputs of your Arduino board, shield or power supply.

After assembling the mechanical part, we can move on to the "brains" of our manipulator.

Grabbing the manipulator

To install the gripper, you need a servomotor and some screws.

So what exactly needs to be done.

Take the servo rocker and shorten it until it fits into your grapple. Then tighten the two small screws.

After installing the servo, turn it to the extreme left position and squeeze the gripper jaws.

The servo can now be mounted on the 4 bolts. At the same time, make sure that the engine is still in the extreme left position, and the gripper jaws are closed.

Can connect the servo to Arduino board and check the performance of the gripper.

Please note that gripper performance problems may occur if the bolts / screws are overtightened.

Add highlighting to a manipulator

You can brighten up your project by adding lighting to it. For this, LEDs were used. It is easy to do, but in the dark it looks very impressive.

Where to install LEDs depends on your creativity and imagination.

Wiring diagram

You can use a 100K potentiometer instead of R1 for manual dimming. Resistors of 118 Ohm were used as resistance R2.

A list of the main units that were used:

  • R1 - 100 kΩ resistor
  • R2 is a 118 ohm resistor
  • BC547 bipolar transistor
  • Photoresistor
  • 7 LEDs
  • Switch
  • Connecting to Arduino board

An Arduino board was used as a microcontroller. A power supply unit from a personal computer was used as a power supply. By connecting the multimeter to the red and black cables, you will see 5 volts (which are used for servo motors and ultrasonic distance sensor). Yellow and black will give you 12 volts (for Arduino). We make 5 connectors for the servomotors, in parallel we connect the positive to 5 V, and the negative to the ground. Likewise with the distance sensor.

After that, connect the remaining connectors (one from each servo and two from the rangefinder) to the board we soldered and the Arduino. In this case, do not forget to correctly indicate the pins that you used in the program in the future.

In addition, a power LED was installed on the power board. This is not difficult to implement. Additionally, a 100 ohm resistor was used between 5 V and ground.

The 10mm LED on the robot is also connected to the Arduino. The 100 ohm resistor runs from pin 13 to the positive leg of the LED. Negative - to the ground. It can be disabled in the program.

For 6 servomotors, 6 connectors are used, since the 2 servomotors on the bottom share the same control signal. The corresponding conductors are connected and connected to one pin.

I repeat that a power supply unit from a personal computer is used as a power supply. Or, of course, you can purchase a separate power supply. But taking into account the fact that we have 6 drives, each of which can consume about 2 A, such a powerful power supply will not be cheap.

Note that the headers from the serv are connected to the Arduino's PWM outputs. Near each such pin on the board there is symbol~. The ultrasonic stretch sensor can be connected to pins 6, 7. LED - to pin 13 and ground. These are all the pins we need.

We can now move on to programming the Arduino.

Make sure to turn off the power before connecting the board via usb to your computer. When testing the program, also turn off the power to your robotic arm. If the power is not turned off, the Arduino will receive 5 volts from the usb and 12 volts from the power supply. Accordingly, the power from usb will be transferred to the power source and it will "sink" a little.

The connection diagram shows that potentiometers have been added to control the servos. Potentiometers are optional, but the above code won't work without them. Potentiometers can be connected to pins 0,1,2,3 and 4.

Programming and first launch

For control, 5 potentiometers are used (it is quite possible to replace this with 1 potentiometer and two joysticks). Connection diagram with potentiometers is shown in the previous section. The Arduino sketch is here.

Below are several videos of a robotic arm at work. I hope you will like it.

The video above shows the latest modifications of the arm. I had to change the design a little and replace a few parts. It turned out that the futuba s3003 servos are rather weak. They turned out to be used only for gripping or turning the hand. So mg995 was installed. Well, the mg946 will generally be an excellent option.

Control program and explanations to it

// drives are controlled by variable resistors - potentiometers.

int potpin = 0; // analog pin for connecting a potentiometer

int val; // variable for reading data from the analog pin

myservo1.attach (3);

myservo2.attach (5);

myservo3.attach (9);

myservo4.attach (10);

myservo5.attach (11);

pinMode (led, OUTPUT);

(// servo 1 analog pin 0

val = analogRead (potpin); // reads the potentiometer value (value between 0 and 1023)

// scales the resulting value for use with serfs (we get a value in the range from 0 to 180)

myservo1.write (val); // brings the servo to the position according to the calculated value

delay (15); // waits for the servomotor to reach the given position

val = analogRead (potpin1); // servo 2 on analog pin 1

val = map (val, 0, 1023, 0, 179);

myservo2.write (val);

val = analogRead (potpin2); // servo 3 on analog pin 2

val = map (val, 0, 1023, 0, 179);

myservo3.write (val);

val = analogRead (potpin3); // servo 4 on analog pin 3

val = map (val, 0, 1023, 0, 179);

myservo4.write (val);

val = analogRead (potpin4); // servo 5 on analog pin 4

val = map (val, 0, 1023, 0, 179);

myservo5.write (val);

Sketch using an ultrasonic distance sensor

This is probably one of the most spectacular parts of the project. A distance sensor is installed on the manipulator, which reacts to obstacles around.

The main explanations for the code are presented below.

#define trigPin 7

The next piece of code:

We have assigned all 5 signals (for 6 drives) names (can be any)

Following:

Serial.begin (9600);

pinMode (trigPin, OUTPUT);

pinMode (echoPin, INPUT);

pinMode (led, OUTPUT);

myservo1.attach (3);

myservo2.attach (5);

myservo3.attach (9);

myservo4.attach (10);

myservo5.attach (11);

We tell the Arduino board which pins the LEDs, servos and distance sensor are connected to. It costs nothing to change.

void position1 () (

digitalWrite (led, HIGH);

myservo2.writeMicroseconds (1300);

myservo4.writeMicroseconds (800);

myservo5.writeMicroseconds (1000);

There are a few things you can change here. I set the position and named it position1. It will be used in the further program. If you want to provide a different movement, change the values ​​in parentheses from 0 to 3000.

After that:

void position2 () (

digitalWrite (led, LOW);

myservo2.writeMicroseconds (1200);

myservo3.writeMicroseconds (1300);

myservo4.writeMicroseconds (1400);

myservo5.writeMicroseconds (2200);

Similar to the previous piece, only in this case it is position2. In the same way, you can add new positions for movement.

long duration, distance;

digitalWrite (trigPin, LOW);

delayMicroseconds (2);

digitalWrite (trigPin, HIGH);

delayMicroseconds (10);

digitalWrite (trigPin, LOW);

duration = pulseIn (echoPin, HIGH);

distance = (duration / 2) / 29.1;

Now it starts to work out the main code of the program. Don't change it. The main purpose of the above lines is to configure the distance sensor.

After that:

if (distance<= 30) {

if (distance< 10) {

myservo5.writeMicroseconds (2200); // open the gripper

myservo5.writeMicroseconds (1000); // close the gripper

Now you can add new displacements based on the distance measured by the ultrasonic transducer.

if (distance<=30){ // данная строка обеспечивает переход в position1, если расстояние меньше 30 см.

position1 (); // in fact, arm will work out everything that you specify between the brackets ()

else (// if the distance is more than 30 cm, go to position2

position () 2 // similar to the previous line

You can change the distance in the code and do whatever you want.

Last lines of code

if (distance> 30 || distance<= 0){

Serial.println ("Out of range"); // output in the serial monitor of the message that we have exceeded the specified range

Serial.print (distance);

Serial.println ("cm"); // distance in centimeters

delay (500); // delay of 0.5 seconds

Of course, you can translate everything here into millimeters, meters, change the displayed message, etc. You can play around a little with a delay.

That's all, actually. Enjoy, upgrade your own manipulators, share ideas and results!

View of the inside of the palm of the humanoid robot RKP-RH101-3D. The palm of the humanoid robot's hand is clamped at 50%. (see Fig. 2).

In this case, complex movements of the hand of a humanoid robot are possible, but programming at the same time becomes more complex, interesting and exciting. At the same time, on each of the fingers of the hand of the humanoid robot, it is possible to install various additional sensors and sensors that control various processes.

This is, in general terms, the device of the manipulator RKP-RH101-3D. As for the complexity of tasks that can be solved by this or that robot equipped with various manipulators that replace his hands, they largely depend on the complexity and perfection of the control device.
It is customary to talk about three generations of robots: industrial, adaptive, and robots with artificial intelligence. But whatever robot is designed, it cannot do without manipulator arms to perform various tasks. The links of the manipulator are movable relative to each other and can perform rotational and translational movements. Sometimes, instead of simply grabbing an object from industrial robots, the last link of the manipulator (its brush) is some kind of working tool, for example, a drill, wrench, paint sprayer or welding torch. In humanoid robots, various additional miniature devices, for example, for drilling, engraving or painting, can also be located at the fingertips of their manipulators in the form of a brush.

General view of a humanoid combat robot on servos with hands RKP-RH101-3D (see Fig. 3).

Hello!

We are talking about the line of collaborative robotic manipulators Universal Robots.

The company Universal Robots, originally from Denmark, is engaged in the release of collaborative robotic manipulators for the automation of cyclic production processes. In this article, we present their main technical characteristics and consider the areas of application.

What is it?

The company's products are represented by a line of three lightweight industrial manipulation devices with an open kinematic chain:
UR3, UR5, UR10.
All models have 6 degrees of mobility: 3 portable and 3 orientational. Devices from Universal Robots produce only angular movements.
Robots-manipulators are divided into classes, depending on the maximum permissible payload. Other differences are the radius of the working area, weight and diameter of the base.
All UR manipulators are equipped with high precision absolute position sensors that simplify integration with external devices and equipment. Thanks to their compact design, the UR arms do not take up much space and can be installed in work sections or production lines where conventional robots cannot fit. Specifications:
What are interestingEase of programming

Specially developed and patented programming technology allows non-skilled operators to quickly set up and operate UR robotic arms using intuitive 3D visualization technology. Programming is carried out by a series of simple movements of the working body of the manipulator to the required positions, or by pressing the arrows in a special program on the tablet. UR3: UR5: UR10: Quick setup

The operator performing the initial start-up of the equipment will take less than an hour to unpack, install and program the first simple operation. UR3: UR5: UR10: Collaboration and security

UR manipulators are capable of replacing operators performing routine tasks in hazardous and contaminated environments. The control system keeps track of external disturbing influences exerted on the robotic arm during operation. As a result, UR handling systems can be operated without protective fences, next to personnel workstations. Robot safety systems are approved and certified by TÜV - the German Technical Inspection Union.
UR3: UR5: UR10: Variety of working bodies

At the end of the UR industrial manipulators, a standardized attachment is provided for the installation of special working tools. Additional modules of force-torque sensors or cameras can be installed between the working body and the end link of the manipulator. Application possibilities

UR industrial robotic manipulators open up the possibility of automating almost all cyclic routine processes. Universal robots devices have proven themselves in a variety of applications.

Transfer

The installation of UR manipulators in the transfer and packing areas improves accuracy and reduces shrinkage. Most transfer operations can be carried out unsupervised. Polishing, buffering, grinding

The built-in sensor system allows you to control the accuracy and uniformity of the applied force on curved and uneven surfaces.

Injection molding

The high precision of the repetitive movements makes the UR robots suitable for polymer processing and injection molding tasks.
Maintenance of CNC machines

The protection class of the shell provides the ability to install manipulation systems for joint work with CNC machines. Packing and stacking

Traditional automation technologies are bulky and expensive. The highly customizable UR robots are capable of working with or without shields around or without employees 24 hours a day, ensuring high accuracy and productivity. Quality control

The robotic arm with video cameras is suitable for three-dimensional measurements, which is an additional guarantee of the quality of the products. Assembly

A simple attachment device allows UR robots to be equipped with the appropriate auxiliary mechanisms required for assembling wood, plastic, metal and other materials. Screwing

The control system allows you to control the developed torque in order to avoid excessive tightening and ensure the required tension. Bonding and welding

The high positioning accuracy of the working body allows you to reduce the amount of waste when performing gluing or applying substances.
UR industrial robotic arms can perform various types of welding: arc, spot, ultrasonic and plasma. Total:

Industrial robots from Universal Robots are compact, lightweight, easy to learn and use. UR robots are a flexible solution for a wide range of tasks. Manipulators can be programmed for any action inherent in the movements of a human hand, and rotational movements are much better for them. Manipulators are not characterized by fatigue and fear of injury; they do not need breaks and weekends.
Solutions from Universal Robots allow you to automate any routine process, which increases the speed and quality of production.

Discuss the automation of your production processes using Universal robots manipulators with an authorized dealer -

Has a backlight. In total, the robot operates on 6 servo motors. Two millimeters thick acrylic was used to create the mechanical part. To make a tripod, a base from a disco ball was taken, with one motor built directly into it.

The robot works on an Arduino board. A computer unit is used as a power source.

Materials and tools:
- 6 servomotors;
- acrylic 2 mm thick (and another small piece 4 mm thick);
- tripod (to create a base);
- hc-sr04 type ultrasonic distance sensor;
- Arduino Uno controller;
- power controller (manufactured independently);
- power supply unit from the computer;
- computer (needed for Arduino programming);
- wires, tools, etc.



Manufacturing process:

Step one. Assembling the mechanical part of the robot
The mechanical part is very easy to assemble. Two pieces of acrylic need to be connected with a servo motor. The other two links are connected in a similar way. As for the gripper, it is best to buy it online. All elements are fixed with screws.

The length of the first part is about 19 cm, and the second is about 17.5 cm. The front link is 5.5 cm long. As for the rest of the elements, their dimensions are chosen at personal discretion.





The swing angle at the base of the mechanical arm must be 180 degrees, so the servomotor must be installed underneath. In our case, it needs to be installed in a disco ball. The robot is already installed on the servomotor.

To install the ultrasonic sensor, you need a 2 cm thick piece of acrylic.

To install the gripper, you will need a few screws and a servomotor. You need to take the rocking chair from the servomotor and shorten it until it fits the gripper. Then you can tighten the two small screws. After installation, the servomotor must be turned to the extreme left position and the gripping jaws must be brought together.

The servomotor is now secured with 4 bolts, while it is important to make sure that it is in the extreme left position and the lips are drawn together.
Now the servo can be connected to the board and check if the gripper works.








Step two. Robot light
To make the robot more interesting, you can make it backlit. This is done using LEDs of various colors.


Step three. Connecting the electronic part
The main controller for the robot is the Arduino board. A computer unit is used as a power source, at its outputs you need to find a voltage of 5 volts. It should be if you measure the voltage on the red and black wires with a multimeter. This voltage is needed to power the servo motors and the distance sensor. The yellow and black wire of the block already gives out 12 volts, they are needed for the Arduino to work.

For the servos, you need to make five connectors. We connect 5V to positive, and negative to ground. The distance sensor is connected in the same way.

There is also a power LED on the board. A 100 ohm resistor between + 5V and ground is used to connect it.










The outputs from the servo motors are connected to the PWM outputs on the Arduino. Such pins on the board are indicated by a "~" icon. As for the ultrasonic distance sensor, it can be connected to pins 6 and 7. The LED is connected to ground and pin 13.

Now you can start programming. Make sure the power is completely off before connecting via USB. When testing the program, the power of the robot must also be turned off. If this is not done, the controller will receive 5V from USB and 12V from the power supply.

In the diagram, you can see that potentiometers have been added to control the servo motors. They are not a necessary part of the robot, but without them the proposed code will not work. Potentiometers are connected to pins 0,1,2,3 and 4.

The circuit has a resistor R1, it can be replaced with a 100 kΩ potentiometer. This will allow you to manually adjust the brightness. As for the resistors R2, their nominal value is 118 ohms.

Here is a list of the main nodes that were used:
- 7 LEDs;
- R2 - 118 ohm resistor;
- R1 - 100 kOhm resistor;
- switch;
- photoresistor;
- bc547 transistor.

Step four. Programming and first launch of the robot
To control the robot, 5 potentiometers were used. It is quite possible to replace such a circuit with one potentiometer and two joysticks. How to connect the potentiometer was shown in the previous step. Once installed, the robot sketches can be tested.

The first tests of the robot showed that the installed servo motors of the futuba s3003 type proved to be weak for the robot. They can only be used to rotate the hand or to grip. Instead, the author installed mg995 engines. Engines of the mg946 type are ideal.