Robot coordinate system usage and algorithm principle

Publisher:梦回归处Latest update time:2023-05-11 Source: 自动化机器人砖家Author: Lemontree Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

There is a coordinate system that does not change, called the base coordinate system or the world coordinate system (each company has a different name, but the principle is the same).

How did the base coordinate system come from?

Robot coordinate system

Take a 6-axis robot as an example:

The first axis of rotation

Generally, the rotation axis of the robot's first axis is defined as the Z axis of the base coordinate system. The center of rotation is the origin of the coordinate system, and the directions of X and Y are determined by the zero point. Therefore, as long as you do not change the zero point and structure of the motor, the base coordinate system in a single robot will never change!

Robot external axes

In one case, a new (base) coordinate system will be reset. The new coordinate system is the world coordinate system (each company has a different name for it, you can think of it as a base coordinate system). That is, the robot plus an external walking axis, or an external rotation axis. Taking the walking axis as an example, in this case, the base coordinate will be set at the zero point of the walking axis. If there are multiple walking axes, then the base coordinate will be set to the zero point of the bottom axis. Therefore, the principle of configuring the robot with an external axis is to measure some mechanical parameters and transform the base coordinate system on the robot's axis 1 to the external walking axis. This transformation is also called DH transformation, which will be explained in detail when talking about the tool coordinate system below.

User Coordinate System

The above content determines a (base) coordinate system, and then the tool coordinate system and user coordinate system can be calculated through homogeneous transformation!

User Coordinate System

Let's talk about the user coordinate system first. The essence of the user coordinate system is to rotate and offset the (base) coordinate system to the workpiece. It is for convenience, so that the robot's moving direction is consistent with the direction of the workpiece surface! For example, if there is a workpiece surface with a 45-degree tilt, if you use the base coordinate system, the robot will move along the direction of the base system, horizontally and vertically, and it is difficult to walk along the 45-degree surface, which is difficult to operate for programming. Therefore, the (base) coordinate system is rotated by homogeneous transformation offset to obtain a new user coordinate system!

Second, transform the rotation

Again, transform translation plus rotation algorithm

Secondly, the new user coordinate system is obtained after transformation

Tool coordinate system

The tool coordinate system is also called TCP. The accuracy of the robot is closely related to it. It is on the robot's end effector, that is, the gripper or welding gun. This coordinate system is fixed relative to the six axes, but the actual robot's six axes will keep moving, and this coordinate system will also change in real time with the six axes!

Tool coordinate system

We often say where the robot is and what is the coordinate data? In fact, it is the value of X, Y, Z, A, B, C of the origin of the tool coordinate system (TCP) in the base coordinate system or the user coordinate system. X, Y, and Z are the three coordinate axes of the coordinate system. A, B, and C are the angle data of rotation around the coordinate system X, Y, and Z with the origin of the tool coordinate system (TCP) as the rotation center (some robots, such as KUKA, rotate A, B, and C correspondingly around Z, Y, and X; the standard Euler angle is also ZYX.), pay attention to the rotation center here. The robot uses Euler angles. Its rotation center is TCP, not around the axis of the base coordinate or user coordinate. The rotation around X here is actually to translate the coordinate system to the TCP position, and then rotate around the coordinate system X ! Those who understand vectors can easily understand why this is the case, because the conversion calculation is in the form of unit vector matrix!

How to get TCP? In fact, it has a lot to do with the base coordinates that will not change. After the base coordinates are determined, the Z axis of the base coordinates can be imagined as the rotation axis of the first-axis motor. The zero point of the first-axis motor can determine the X and Y directions, so that the joint coordinate data of the first axis is converted into the form of Cartesian XYZ coordinate system! In the same way, the mechanical position and zero point of the second-axis motor relative to the first axis are also fixed. The joints of the second axis can also be converted into coordinate system form through mechanical parameters. The third axis relative to the second axis, the fourth axis relative to the third axis, the fifth axis relative to the fourth axis, and the sixth axis relative to the fifth axis all have fixed relative positions and zero points. This is a 6-axis serial robot. In this way, one axis is converted to the sixth axis, and the sixth axis is converted to the tool (welding gun or gripper). The resulting coordinate system is the tool coordinate system that is fixed relative to the six axis, that is, TCP, as shown in the figure below.

TCP calculation diagram

Joint coordinate system

Joint coordinate system

This coordinate system is very simple, it is the rotation angle of the six motors! In the joint coordinates, we can move each joint individually by changing the data of the six motors! In fact, its greatest use is inverse operation, that is, when we use the user coordinate system or the base coordinate system to add the TCP motion robot, the robot needs to reverse the coordinate system data into the data of the six joint motors. This is very complicated, and the solution is not unique (the robot posture parameters I talked about in the previous article). I will not go into details here, and I will talk about it separately later!

Therefore, the most important coordinate system of a robot is actually the (base) coordinate system.

Robots also have some extended applications related to coordinate systems

For example, external TCP, continuous trajectory, smooth transition and so on!

Let me talk about the programming principle of external TCP. Most other applications are standard applications and do not need to be changed. However, external TCP is used more frequently, and some of them need to make some improvements based on the standard external TCP program to meet on-site needs!

What is external TCP? The TCP (tool coordinate system) we mentioned earlier can be understood as the rotation center of the robot. When you hold the welding gun, define the TCP at the tip of the gun, and the robot will rotate around the tip of the gun. The robot moves in angle while the tip of the gun does not move. This is especially useful when welding requires turning. The welding gun turns, but the welding wire is still in the welding position and will not deviate!

External TCP is the opposite operation of TCP. If the welding gun is not installed on the robot, and the robot is holding the workpiece to weld, where should you define the robot's rotation center? It doesn't work no matter where you define it. If it is defined, the robot can only rotate around the defined TCP position, but the welding track is moving. If it moves to other positions and you rotate it again, the robot's fixed welding gun will no longer be on the welding track, and serious collision will occur!

The algorithm principle of external TCP is as follows:

For example, I know the first welding point, and calculate a TCP based on the homogeneous transformation of the point's coordinates. The TCP coincides with this welding point.

The coordinates of the next point in the welding process are converted into a new TCP, which coincides with the current point. In this way, a TCP is automatically generated for each point. For example, when welding a 100mm long weld, the robot's internal algorithm divides the 100mm into 10,000 parts, each with a TCP. This realizes the dynamic assignment of TCP, which is the principle of external TCP!

To summarize:

The base coordinates are fixed and can be converted into user coordinates and tool coordinates; other external TCPs are extended applications and cannot be separated from the previous three coordinate systems!

Editor: Huang Fei

Reference address:Robot coordinate system usage and algorithm principle

Previous article:GTP is officially launched. What changes will occur to your self-media?
Next article:KUKA robot advanced programming DEFDAT...ENDDAT

Latest robot Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号