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
Previous article:GTP is officially launched. What changes will occur to your self-media?
Next article:KUKA robot advanced programming DEFDAT...ENDDAT
- Popular Resources
- Popular amplifiers
- Using IMU to enhance robot positioning: a fundamental technology for accurate navigation
- Researchers develop self-learning robot that can clean washbasins like humans
- Universal Robots launches UR AI Accelerator to inject new AI power into collaborative robots
- The first batch of national standards for embodied intelligence of humanoid robots were released: divided into 4 levels according to limb movement, upper limb operation, etc.
- New chapter in payload: Universal Robots’ new generation UR20 and UR30 have upgraded performance
- Humanoid robots drive the demand for frameless torque motors, and manufacturers are actively deploying
- MiR Launches New Fleet Management Software MiR Fleet Enterprise, Setting New Standards in Scalability and Cybersecurity for Autonomous Mobile Robots
- Nidec Drive Technology produces harmonic reducers for the first time in China, growing together with the Chinese robotics industry
- DC motor driver chip, low voltage, high current, single full-bridge driver - Ruimeng MS31211
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- STM32F7 CubeMX automatically generates ADC self-calibration program
- The applications of TI audio chips used in smart speakers are revealed.
- ART-Pi evaluation application RL-TCPnet realizes Ethernet transceiver function and DTU
- Is it just simple impedance control? Answer with real examples!
- Common integrator applications: signal processing, sensor conditioning, signal generation, filtering
- What are the advantages of electronic load switches over MOS or transistors as output control? Now many domestic semiconductor...
- Lighter igniter electric shock/ignition principle
- This is the second time I haven't seen any replies in the past few days. The pattern is: there are replies on the 20th floor, but no more on the 21st floor; there are replies on the 40th floor, but no more on the 41st floor...
- Find TI, NXP, ALTERA, XILINX, ST, Microchip factory stock chips
- Record the use of TM1668 driver