当前位置:网站首页>The most understandable explanation of coordinate transformation (push to + diagram)
The most understandable explanation of coordinate transformation (push to + diagram)
2022-06-12 07:05:00 【Fat fat is the sun】
Catalog
Detailed explanation of coordinate transformation
The function of coordinate transformation
Data required for coordinate transformation
The essence of rotation in coordinate transformation
The essence of translation in coordinate transformation
How to realize coordinate transformation ?
Detailed explanation of coordinate transformation
The function of coordinate transformation
In a robot system , Each measuring element measures the same object to get different information , And the reason is that “ The data measured by each measuring element is based on different coordinate systems ”, for example :

There is a laser radar in this car M And lidar W, The data measured by these two radars are quite different , But the position of the car relative to the measured object is unique , This means that “ The physical meaning represented by data measured by radars at different locations ( That is to say, they all represent the relative position between the vehicle and the object to be measured ) It's the same ”. Since the coordinates of the measured object in different coordinate systems are different but have the same physical meaning , This involves the mutual transformation of coordinates in different coordinate systems .
Data required for coordinate transformation
We usually use the vector starting from and ending at the coordinate point in the coordinate system to represent the position of the coordinate point in the coordinate system relative to the coordinate origin ( distance + bearing ). The mutual transformation of coordinate systems can only be realized by taking the earth coordinate system as the medium , That is, the mutual transformation of coordinate systems must be known “ Each coordinate axis in any coordinate system is located in world Coordinates in a coordinate system ”:

We wonder :world What is the coordinate system ?
In space there will be n+1 Coordinate system , Only one coordinate system is used for calibration , in other words “ other n All three coordinate systems find their own position in space based on this coordinate system ”. Only everyone knows their specific position in the space , Coordinate conversion can proceed smoothly .
Postures
be based on O1 World coordinate system based on O2 The coordinate system of is as follows :

When describing robot motion , We often mention “ Postures ”, In fact, posture is a compound word , We can disassemble it into “ Location + Posture ”. Position means “ A moving joint of a robot / Measure the specific position of the sensor in the world coordinate system , Posture is ” Coordinate system based on this point Compare with World coordinate system Rotation performed “, As shown below :

The essence of rotation in coordinate transformation
The essence of coordinate transformation is “ Projection ”. First , Let's explain how a vector is transformed into coordinates :

Understanding the origin of vector coordinates is very important to understand the essence of coordinate transformation ! Next, let's consider the projection of the unit vector in the coordinate system :

The projection of the unit vector in the coordinate system is exactly the vector P Cosine value of the included angle with each coordinate axis .

We will use the coordinate system A As a reference coordinate system (world Coordinate system ), Based on coordinate system A The coordinate system B And unites each vector , So we get a rotation matrix , The meanings of the elements of the rotation matrix are as follows :

We mentioned earlier , The calculation of vector coordinates is nothing more than projection , So the vector coordinates from the coordinate system B Convert to coordinate system A It's just two projections :

The practical meaning of coordinate transformation is nothing more than to transform a vector P In the coordinate system A The projections of each axis in the are added up to form a new coordinate . That's the question , How does accumulation work ? This involves the rotation matrix and matrix multiplication .

Actually , The multiplication and convolution of this matrix are similar . The properties of rotation matrix :

The essence of translation in coordinate transformation
The vector can move freely in the coordinate system , As long as you don't change the direction and size of the vector , The properties of the vector do not change . But we are studying the coordinate system B A coordinate point in the coordinate system A Mapping in , So we need to consider the coordinate system B The origin of O2 Compared to the coordinate system A origin O1 The distance of translation .

Each is based on a coordinate system B Vector progressiveness rotation transformation , Re and vector O1O2 Sum to get the vector P Then coordinate system A Actual mapping in .
How to calculate the coordinate system B Each coordinate axis is in the coordinate system A The projection on the ?( Multi coordinate transformation )
First , We need to know the world coordinate system A/ Coordinate system B The coordinate axes of are in the world coordinate system ( Reference coordinate system ) Coordinates of :

We can get the coordinate system by using the property of rotation matrix B Transform to coordinate system A The rotation matrix of :
![]()
The coordinate transformation process is as follows :

How to realize coordinate transformation ?
We will P The point is in the coordinate system B The coordinates in are converted to P The point is in the coordinate system A Corresponding coordinates in :

Coordinate transformation = rotate + translation , Therefore, the coordinate transformation expression is as follows :

This is not conducive to matrix operation , We can rewrite it as follows :

among O1O2 It's from O1 Point to O2 Vector .
边栏推荐
- Leetcode: Sword finger offer 66 Build product array [application of pre and post infix]
- leetcode:890. 查找和替换模式【两个dict记录双射(set)】
- 库里扛起了勇士对凯尔特人的第四场
- D cannot use a non CTFE pointer
- Postman splice replacement parameter loop call interface
- Putty installation and use
- How to build your own website (using the pagoda panel)
- 9 Sequence container
- RT thread studio learning summary
- The first day of June training - array
猜你喜欢

5 ROS simulation modeling (4-navigation navigation simulation)

2021 robocom world robot developer competition - undergraduate group (Preliminary)

【图像去噪】基于高斯滤波、均值滤波、中值滤波、双边滤波四种滤波实现椒盐噪声图像去噪附matlab代码

Interview intelligence questions

Jackson XML is directly converted to JSON without writing entity classes manually

Junior high school education, less than 3k, to 30k+ monthly salary, how wonderful life is without restrictions

(14) The software version number is displayed in the flash window of blender source code analysis

Install MySQL tutorial
![[image detection] SAR image change detection based on depth difference and pcanet with matlab code](/img/c7/05bfa88ef1a4a38394b81755966e46.png)
[image detection] SAR image change detection based on depth difference and pcanet with matlab code

SQL language
随机推荐
leetcode:890. Find and replace mode [two dict records set]
Recommend 17 "wheels" to improve development efficiency
Tomato learning notes -seq2seq
Drawing grid navigation by opencv map reading
Leetcode: Sword finger offer 63 Maximum profit of stock [record prefix minimum and or no brain segment tree]
leetcode. 39 --- combined sum
RT thread studio learning summary
June 9th training day - bit operation
Unable to load bean of class marked with @configuration
Matlab 6-DOF manipulator forward and inverse motion
报表工具的二次革命
MySQL multiple SQL batch operations (crud) in JDBC
Tradeoff and selection of SWC compatible Polyfill
Kali and programming: how to quickly build the OWASP website security test range?
12.13-12.19 summary
How to update kubernetes certificates
leetcode:剑指 Offer 66. 构建乘积数组【前后缀积的应用】
Install MySQL tutorial
android studio 利用数据库实现登录注册界面功能
上位机开发(固件下载软件之需求分析)