Poker battle between engineering men and robots - uArm Metal robot arm experience
Poker battle between engineering men and robots - uArm Metal robot arm experience

preface

I believe that many post-80s friends are like me. When I was young, when I saw the characters in cartoons operating mechanical armor to fight against evil forces, I always had a desire to become a hero, looking forward to one day having their own robots. I thought it was just a dream, but the more I grew up, the more I found that robots have developed so rapidly. In recent years, Gangzi's work unit has built a lot of robot production lines for auto parts, and Gangzi has also been able to directly contact these steel giants. However, due to various conditions, Gangzi always has no fun. It is slowly discovered that robots are even beginning to integrate into our lives. However, most of the current popular machines are emotional caregivers. Apart from the poor voice dialogue that can make us laugh, it seems meaningless. The most important thing is the lack of long-term firmware update support. For engineering men like Gangzi, it is difficult to expand the closed system by themselves. Is there an open source robot that can give full play to our imagination? Of course, today Gangzi has brought you an open source 4-axis mechanical arm, that is, uArm, the world's first desktop level open source mechanical arm, which is said by the manufacturer. On this basis, a visual recognition system has been added to realize the function of automatically identifying and grasping playing cards. Now please join Gangzi to experience it.

Unpacking

The packaging box of uArm Metal standard version mechanical arm received this time is a black environment-friendly carton with a white fixed jacket. The front center is the logo of uArm, and the matched chip pins around show a strong sense of technology.

On the back of the paper cover is the mechanical outline drawing of uArm. You can get a general understanding of uArm through it and the English introduction on the left.

When we opened the box, instead of the expected robot arm, we saw a handbag.

It used to be a non-woven tote bag customized by UFACTORY, but it is not practical to pack it after assembly, so you can use the tote bag to move the manipulator. Judging from such a thoughtful design, the product manager should be a careful girl.

Take out all the accessories, and first bring a family portrait. The interior includes: uArm Metal body, power supply x1, power cable x1, air pump x1 (with 2 mounting screws attached), USB cable x1, foot support x 4 (with 8 mounting screws attached), and screwdriver x1.

The manual is extremely simple, with basic technical parameters, equipment list, and manufacturer's introduction printed on it. The English throughout makes Gangzi nervous. It seems that the introductory information has to be searched on the website.

Power adapter, 100-240V AC input, global adaptation, 5V5A DC output.

For small gas pump, the specific model is not marked. There are two screw fixing holes, one electrical control plug, one air inlet and one air outlet.

The mounting bracket is made of very textured aluminum alloy with CNC processing technology, and rubber anti-skid pads are added at the contact with the support surface.

Each bracket is fixed with two screws, and the effect after the following installation is completed.

Try it on the table. It feels very stable.

In order to meet the needs of different types of installation, uArm also provides four small suction cups, which can be considered when installing on a smooth and movable surface.

Effect after installing suction cups.

This torque is relatively small, so the suction cup should be firmly installed. The rigid bar does not have this kind of table, so the firmness test is not carried out.

The very popular Arduino development board is the main controller. Those who know about embedded systems should be familiar with it. Different from the ordinary three wire steering gear, the uARM steering gear has an additional feedback line, which can judge the current position of the steering gear in real time and carry out closed-loop control. The steering gear line is a little long, and it is wrapped with casing.

It still looks a bit messy from the side. I hope the line can be shortened properly.

There is also a small steering gear at the suction cup, which can rotate 180 degrees, meaning that the angle can be adjusted after catching something.

In addition to the installed suction cup, a smaller suction cup is also attached to meet the needs of grasping different objects.

Small bearings are used at the joints to ensure smooth and stable action for a long time and extend the service life of the manipulator. Laser marking technology is adopted on the mechanical arm, and the logo of UARM is printed.

introduction

When Gangzi just got the robot arm, he hardly found the corresponding data. He used the official Uarm_Client.exe to carry out a simple action experiment, and used the serial port monitoring tool to intercept and crack the communication protocol. He communicated with the pilot @ anduony, and had a certain understanding of the working mode of the robot arm. Only when the manufacturer's information is available can the development be started quickly. But now the little partners who get the mechanical arm need not bother so much. The official updated the technical data in August, and Gangzi posted it in the way for the convenience of the latecomers. The data address may be updated. If the link cannot be accessed, you can contact the manufacturer. Since the report does not want to be written as a manual PLUS, and the introduction guide of the manufacturer is written in great detail this time, Gangzi will not repeat the introduction process. You can view it by yourself at the following link.





expand

In order to achieve visual recognition, let's add a camera to the gripper first. This camera looks strange. It was bought by Gangzi to help dredge the sewer, and finally came into use after being idle for several years. The installation bracket is a bracket made by cutting a cola bottle and fixing it firmly.

In order to ensure the uniqueness of the coordinate system, Gangzi has made a workbench with paper, and each time the mechanical arm is placed at a fixed position, it can ensure the consistency of the angle of the camera. In the early stage, take a piece of paper to do a simple test. In order to reduce the workload, the black mouse pad is used as the background and white paper is used to make identification easier.

The program of the robot arm running inside is the factory UArmProtocol.ino. Gangzi has carefully analyzed the communication protocol, and used C # to program the communication on the computer side for the protocol. What we need to pay attention to here is its unique data format. Because the coordinates will have negative numbers, the protocol has done clever processing, such as sending floating point function:

void sendFloatAsFour7bitBytes(float val){

int int_val = val;

int decimal_val = int(round((val - int_val)*100));

Serial.write(val > 0 ? 0 : 1); //Here is the sign to judge the positive and negative.

Serial.write(abs(int_val) & B01111111 );

Serial.write(abs(int_val) >> 7 & B01111111);

Serial.write(abs(decimal_val) & 0x7F );

}

This is required for C # data parsing


   RX = result[4] + (result[5] << 7) + (float)(result[6]) / 100;

    if (result[3] == 1)

    RX = -RX; //Judge the positive and negative coordinates


After more than a month's efforts, the communication protocol prepared by myself, together with the AForge.net poker recognition program searched on the network, can finally realize simple poker recognition.


Recognition is greatly affected by light. The following recognition is caused by reflection.


The control idea of automatic capture is as follows:

1. When the camera takes a picture, it is fixed at the top, and the position is fixed every time, so that each point on the image is a fixed value relative to the coordinate system of the mechanical arm.

2. Manually start the mechanical arm, determine that when the camera is at this position, collect the coordinates of the four corners of the picture, and record them with software.

3. Identify the playing card, find its center, determine the pixel coordinates of the center point relative to the image, and conduct joint calculation with the coordinate system of the four corners to determine the coordinates of the center in the coordinate system of the mechanical arm,

4. After grabbing, place the playing card to the designated position according to the predetermined path, and then return. Circulate successively.

summary

After this period of trial, I feel that the playability of uArm robot arm is very good. The biggest advantage is open source, which makes it easier for developers to create independently. It is more flexible. In addition, its exquisite workmanship also gives a deep impression. However, the threshold for entry is high at present, which requires professional knowledge to play. Here are some suggestions. I hope the manufacturer will consider them to make the product more perfect.

  1. The steering gear is replaced by a digital steering gear with higher precision. For the specific model, refer to the steering gear used by the Ninja Tortoise robot series of Youbi, which should be of great help to improve the precision.

  2. With the Bluetooth module or WiFi module, the official mobile app is developed, adding action learning, standard action examples, and 3D simulation of actions with graphical programming plus the programming of mobile phones or computer clients, which can lower the threshold for beginners and make the user group more extensive.

  3. Slip ring power supply is used for power supply, and Bluetooth or WiFi communication is used for communication, which will make the manipulator more flexible. The reduction of cables can also improve aesthetics.

  4. The development of cameras, 3D print heads and laser engraving heads has enriched the entire product chain, allowing users to select more functions for easy development.

Share:
The article on the trial of iGo is completed by netizens, which does not represent the views of this website.
ordinary
An electrical engineer, a digital enthusiast, likes to try new things, and is good at finding BUGs to make suggestions.
Share Weibo Share WeChat
 Aigoji WeChat

Aigoji WeChat

 WeChat

WeChat

Recommended products

Sorry, the product you are looking for is not available in the product library

on trial