当前位置:网站首页>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 .
边栏推荐
- Kotlin插件 kotlin-android-extensions
- leetcode.39 --- 组合总和
- d不能用非常ctfe指针
- [Li Kou] curriculum series
- platform driver
- Set judge the existence of intersection
- Leetcode: Sword finger offer 66 Build product array [application of pre and post infix]
- 库里扛起了勇士对凯尔特人的第四场
- 网络丢包问题排查
- The fifth day of June training - double pointer
猜你喜欢

Kali and programming: how to quickly build the OWASP website security test range?

丢掉丑陋的 toast,会动的 toast 更有趣
![[Li Kou] curriculum series](/img/eb/c46a6b080224a71367d61f512326fd.jpg)
[Li Kou] curriculum series

4 expression

Meituan won the first place in fewclue in the small sample learning list! Prompt learning+ self training practice

数据库全量SQL分析与审计系统性能优化之旅

SQL Server 2019 installation error. How to solve it

1. Foundation of MySQL database (1- installation and basic operation)

sql server2019安装到这步无法进行下一步了,如何解决?

Jackson XML is directly converted to JSON without writing entity classes manually
随机推荐
Jackson XML is directly converted to JSON without writing entity classes manually
Android studio uses database to realize login and registration interface function
Scons compiling imgui
android studio 利用数据库实现登录注册界面功能
PowerDesigner connects to entity database to generate physical model in reverse
C language pointer
[image denoising] salt and pepper noise image denoising based on Gaussian filter, mean filter, median filter and bilateral filter with matlab code attached
5 ROS simulation modeling (4-navigation navigation simulation)
循环链表和双向链表—课上课后练
库里扛起了勇士对凯尔特人的第四场
Beginners can't tell the difference between framework and class library
[data clustering] data set, visualization and precautions are involved in this column
How to update kubernetes certificates
leetcode. 39 --- combined sum
初中学历,从不到3K,到月薪30K+,不设限的人生有多精彩
Circular linked list and bidirectional linked list - practice after class
d的扩大@nogc
MySQL group query to obtain the latest data date function of each group
新知识:Monkey 改进版之 App Crawler
Torch models trained in higher versions report errors in lower versions