当前位置:网站首页>Introduction to Robotics II. Forward kinematics, MDH method
Introduction to Robotics II. Forward kinematics, MDH method
2022-07-02 03:27:00 【RuiH. AI】
Introduction to Robotics Two 、 Forward kinematics
Preface
This chapter studies the forward kinematics of the manipulator ,MDH Law .
Joints and links
The joints joint, connecting rod link, It is the basic structure of the manipulator .
Joints include rotating joints and moving joints , Generally, there is only one degree of freedom .
One joint connects two adjacent connecting rods ,n Joint handle n+1 Connecting rods , have n A degree of freedom .
Number
Take the fixed base as the first 0 A connecting rod , The connecting rod at the end of the manipulator is used as the n A connecting rod .
Connecting rod parameters
Description of connecting rod
The length of the common vertical line between two adjacent joint axes , It is called the length of the connecting rod .
The angle formed between two adjacent joint axes , It is called the angle of the connecting rod .
Above picture , connecting rod i-1 The length of is its proximal joint axis i-1 With the distal joint axis i The length of the common vertical line between a i − 1 a_{i-1} ai−1
connecting rod i-1 The corner of is its proximal joint axis i-1 With the distal joint axis i Form an angle α i − 1 \alpha_{i-1} αi−1, As for the sign of angle , It can be determined when the coordinate system is established later .
Description of connecting rod connection
The distance between two adjacent connecting rods , It is called connecting rod offset .
The included angle of rotation of two adjacent connecting rods around the common joint axis , It is called joint angle .

Above picture , The joints i It's the connecting rod i-1 And connecting rod i The common joint of .
Because the actual connecting rod is bent , The common vertical line segment a i − 1 a_{i-1} ai−1 and a i a_i ai As a straight connecting rod instead of a curved connecting rod i-1,i.
Straight link i-1,i The distance between them is the joint i Connecting rod offset d i d_i di
Straight link i-1 Along the joint axis i Rotate to the straight link i The angle of is the joint angle θ i \theta_i θi
Joint variables
A connecting rod can use the upper connecting rod length 、 Connecting rod angle 、 Connecting rod offset 、 Four parameters of joint angle are determined .
For rotating joints , The joint angle is variable , The other three parameters remain unchanged .
For moving joints , The connecting rod offset is variable , The other three parameters remain unchanged .
Variable parameters are called joint variables .
The connecting rod coordinate system
The connecting rod coordinate system is used to describe the relative position relationship between adjacent connecting rods .
The number of the connecting rod coordinate system is the same as that of the connecting rod , be called { i } \{i\} { i}.
The coordinate system of the intermediate connecting rod is established
For connecting rod i Set up a coordinate system :
With joint axis i As Z Axis , With connecting rod i And Z Axis As origin , With connecting rod i As X Axis Point to the joint axis i+1, The right-hand rule determines Y Axis .
exception : If the connecting rod i The length of a i = 0 a_i=0 ai=0( At this time, the connecting rod i,i+1 Of Z Axis The intersection ), Take the intersection as origin , With Two Z The plane of the axis The vertical line of X Axis , There are two choices of direction , and α i \alpha_i αi The symbol of is composed of X Axis Direction determines .
The establishment of each coordinate axis should meet the right-hand rule .
Above picture , The coordinate system can be established in this order :
First find all the joint axes i-1,i
Then determine the coordinate system { i − 1 } \{i-1\} { i−1}, Take the joint axis as Z ^ i − 1 \hat Z_{i-1} Z^i−1, Straight link i-1 As X ^ i − 1 \hat X_{i-1} X^i−1, Then the right hand rule determines Y ^ i − 1 \hat Y_{i-1} Y^i−1.
Then determine the coordinate system { i } \{i\} { i}.
Establish the coordinate system of the head and tail connecting rods
For the head and tail connecting rods 0,n, There is a special way to build a department .
Head coordinate system
Coordinate system { 0 } \{0\} { 0} On the base , Generally used as a reference system .
The first joint variable is 0 when , Specify the coordinate system { 0 } \{0\} { 0} On { 1 } \{1\} { 1} coincidence .
When the first joint is a rotating joint , d 1 = 0 d_1=0 d1=0; The first joint is the mobile joint , θ 1 = 0 \theta_1=0 θ1=0
Tail coordinate system
Coordinate system { n } \{n\} { n} Origin and x Axis The direction can be arbitrarily selected , But try to make the connecting rod parameters 0.
Connecting rod parameters and connecting rod coordinate system
Follow the above method of building a department , The connecting rod parameters can be redefined :
- a i a_i ai Connecting rod length : Along the X ^ i \hat X_i X^i, from Z ^ i \hat Z_i Z^i Move to Z ^ i + 1 \hat Z_{i+1} Z^i+1 Distance of
- α i \alpha_i αi Connecting rod torsion angle : Around the X ^ i \hat X_i X^i Axis , hold Z ^ i \hat Z_i Z^i Rotate to Z ^ i + 1 \hat Z_{i+1} Z^i+1 The angle of
- d i d_i di Connecting rod offset : Along the Z ^ i \hat Z_i Z^i, from X ^ i − 1 \hat X_{i-1} X^i−1 Move to X ^ i 1 \hat X_{i1} X^i1 Distance of
- θ i \theta_i θi Joint angle : Around the Z ^ i \hat Z_i Z^i Axis , hold X ^ i − 1 \hat X_{i-1} X^i−1 Rotate to X ^ i \hat X_{i} X^i The angle of
Set up a i > 0 a_i>0 ai>0, Other parameters can be positive or negative .
The above method of establishing the connecting rod coordinate system and connecting rod parameters is called MDH Law (Modified Denavit–Hartenberg).
DH The coordinate system established by the method is not unique .
Connecting rod change
Connecting rod parameters can be used to calculate the relative pose between adjacent rods .
Above picture , Consider the coordinate system { i − 1 } , { i } \{i-1\},\{i\} { i−1},{ i} The transformation between i − 1 i T ^i_{i-1}T i−1iT, Establish an intermediate coordinate system { P } , { Q } , { R } \{P\},\{Q\},\{R\} { P},{ Q},{ R}, Then there are :
i i − 1 T = R i − 1 T Q R T P Q T i P T ^{i-1}_iT = \ ^{i-1}_RT \ ^R_{Q}T \ ^Q_PT \ ^P_{i}T ii−1T= Ri−1T QRT PQT iPT
The transformation above , It can be seen as putting X ^ i \hat X_i X^i Transformation for X ^ i − 1 \hat X_{i-1} X^i−1, Then there are :
i i − 1 T = R X ( α i − 1 ) D X ( a i − 1 ) R Z ( θ i ) D Z ( d i ) ^{i-1}_iT = R_X(\alpha_{i-1})D_X(a_{i-1})R_Z(\theta_i)D_Z(d_i) ii−1T=RX(αi−1)DX(ai−1)RZ(θi)DZ(di)
Or write out the transformation of each intermediate coordinate system :
i P T = [ 1 0 0 0 0 1 0 0 0 0 1 d i 0 0 0 1 ] P Q T = [ cos θ 1 − sin θ 1 0 0 sin θ 1 cos θ 1 0 0 0 0 1 0 0 0 0 1 ] Q R T = [ 1 0 0 0 0 1 0 a i − 1 0 0 1 0 0 0 0 1 ] R i − 1 T = [ 1 0 0 0 0 cos α i − 1 − sin α i − 1 0 0 sin α i − 1 cos α i − 1 0 0 0 0 1 ] ^P_iT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & d_i \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^Q_PT = \begin{bmatrix} \cos \theta_1 & -\sin \theta_1 & 0 & 0 \\ \sin \theta_1 & \cos \theta_1 & 0 & 0 \\ 0 & 0 & 1 &0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^R_QT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & a_{i-1} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^{i-1}_RT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos \alpha_{i-1} & -\sin \alpha_{i-1} & 0 \\ 0 & \sin \alpha_{i-1} & \cos \alpha_{i-1} & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ iPT=⎣⎢⎢⎡10000100001000di1⎦⎥⎥⎤ PQT=⎣⎢⎢⎡cosθ1sinθ100−sinθ1cosθ10000100001⎦⎥⎥⎤ QRT=⎣⎢⎢⎡1000010000100ai−101⎦⎥⎥⎤ Ri−1T=⎣⎢⎢⎡10000cosαi−1sinαi−100−sinαi−1cosαi−100001⎦⎥⎥⎤
obtain i i − 1 T ^{i-1}_iT ii−1T The general form of :
MDH Method use steps
- Find all joint axes ;
- Establish the coordinate system of the intermediate connecting rod in sequence ;
- Determine the head and tail coordinate system ;
- Write DH Parameters ;
- Calculate the forward kinematics matrix .
Postscript
This article is about forward kinematics in robotics , It's using MDH Law .
There will be Matlab Example programming .
边栏推荐
- 知物由学 | 自监督学习助力内容风控效果提升
- verilog 并行块实现
- Discrimination between sap Hana, s/4hana and SAP BTP
- Unity脚本的基础语法(6)-特定文件夹
- C#聯合halcon脫離halcon環境以及各種報錯解决經曆
- West digital decided to raise the price of flash memory products immediately after the factory was polluted by materials
- aaaaaaaaaaaaa
- Verilog avoid latch
- PY3 link MySQL
- Redis set command line operation (intersection, union and difference, random reading, etc.)
猜你喜欢

Getting started with MQ

MySQL advanced (Advanced) SQL statement (II)

数据传输中的成帧

Verilog timing control

How to establish its own NFT market platform in 2022

Review materials of project management PMP high frequency examination sites (8-1)

What do you know about stock selling skills and principles

Pycharm2021 delete the package warehouse list you added

MySQL之账号管理

JS introduction < 1 >
随机推荐
[untitled] basic operation of raspberry pie (2)
《MATLAB 神經網絡43個案例分析》:第42章 並行運算與神經網絡——基於CPU/GPU的並行神經網絡運算
In depth interpretation of pytest official documents (26) customized pytest assertion error information
"Analysis of 43 cases of MATLAB neural network": Chapter 42 parallel operation and neural network - parallel neural network operation based on cpu/gpu
Halcon image rectification
Redis set command line operation (intersection, union and difference, random reading, etc.)
Use blocking or non blocking for streamline
JIT deep analysis
[C Advanced] brother Peng takes you to play with strings and memory functions
One of the future trends of SAP ui5: embrace typescript
Unity脚本的基础语法(7)-成员变量和实例化
知物由学 | 自监督学习助力内容风控效果提升
/silicosis/geo/GSE184854_scRNA-seq_mouse_lung_ccr2/GSE184854_RAW/GSM5598265_matrix_inflection_demult
verilog REG 寄存器、向量、整数、实数、时间寄存器
Detailed explanation of ThreadLocal
C#聯合halcon脫離halcon環境以及各種報錯解决經曆
Discrimination between sap Hana, s/4hana and SAP BTP
Large screen visualization from bronze to the advanced king, you only need a "component reuse"!
【DesignMode】建造者模式(Builder model)
[golang] leetcode intermediate bracket generation & Full Permutation