RoboDK插件接口
Mat类参考

类表示4x4姿态矩阵。该对象的主要目的是表示3D空间中的姿态(位置和方向)。换句话说,姿态是一个4x4矩阵,表示一个参考框架相对于另一个参考框架在3D空间中的位置和方向。姿势通常用于机器人中放置物体、参考框架和目标。
\ (transl (x, y, z) rotx (r) roty (p) rotz (w) = \ \ \ {bmatrix}开始n_x & o_x & a_x & x \ \ n_y & o_y &得+ & y \ \ n_z & o_z z \ \ & a_z & 0 & 0 & 0 & 1 \ {bmatrix} \)结束。更多…

# include <robodktypes.h>

Mat的继承图:

公共成员功能

()
创建单位矩阵。更多…
(bool有效)
创建一个有效或无效的矩阵。更多…
(const QMatrix4x4 &matrix)
创建一个矩阵的副本。更多…
(常量矩阵)
创建一个矩阵的副本。更多…
(双nx,双ox,双ax,双tx,双ny,双y,双ay,双ty,双nz,双oz,双az,双tz)
给定N, O, a, T向量的4x4齐次矩阵的矩阵类构造函数更多…
(const双精度值[16])
给定一个一维16值数组(双精度),创建一个齐次矩阵更多…
(const float values[16])
给定一个一维16值数组(浮点数),创建一个齐次矩阵更多…
(双x,双y,双z)
创建一个转换矩阵。更多…
运营商QString()常量
To String操作符(与qDebug()一起使用)<<tJoints”。更多…
无效 setVX(双x,双y,双z)
设置X矢量值(N矢量)更多…
无效 setVY(双x,双y,双z)
设置Y向量值(O向量)更多…
无效 setVZ(双x,双y,双z)
设置Z矢量值(A矢量)更多…
无效 setPos(双x,双y,双z)
设置位置(T位置),单位为mm。更多…
无效 setVX(双xyz [3])
设置X矢量值(N矢量)更多…
无效 setVY(双xyz [3])
设置Y向量值(O向量)更多…
无效 setVZ(双xyz [3])
设置Z矢量值(A矢量)更多…
无效 setPos(双xyz [3])
设置位置(T位置),单位为mm。更多…
无效 setvalue(双构成[16])
设置姿态值。更多…
无效 VX(tXYZ) const
得到X向量(N向量)更多…
无效 v(tXYZ) const
得到Y向量(O向量)更多…
无效 VZ(tXYZ) const
得到Z向量(A向量)更多…
无效 Pos(tXYZ) const
获取位置(T位置),单位为mm。更多…
无效 (int r, int c, double value)
设置矩阵值。更多…
得到(int r, int c
得到一个矩阵值。更多…
发票()常量
反位姿(假设齐次矩阵)更多…
保龄球 isHomogeneous()常量
如果矩阵是齐次的则返回true,否则返回false。更多…
保龄球 MakeHomogeneous()
强制4x4矩阵是齐次的(vx,vy,vz必须是酉向量,并且尊重:vx x vy = vz)。如果矩阵不是齐次的,并且它被修改为齐次,则返回True。更多…
无效 ToXYZRPW(xyzwpr xyzwpr
计算给定姿态的等效位置和欧拉角([x,y,z,r,p,w]矢量)注:transl(x,y,z)*rotz(w*pi/180)*roty(p*pi/180)*rotx(r*pi/180)参见:FromXYZRPW ()更多…
QString ToString(const QString &separator=", ", int precision=3, bool xyzrpw_only=false
检索姿势的字符串表示形式。更多…
保龄球 FromString(const QString &str)
设置给定XYZRPW字符串数组的矩阵(6个值)更多…
无效 FromXYZRPW(tXYZWPR xyzwpr)
从位置和欧拉角([x,y,z,r,p,w]向量)计算姿态,结果与:
H = transl (x, y, z) * rotz (w *π/ 180)* roty (p *π/ 180)* rotx (r *π/ 180)更多…
Const double * 礼乐祭祀()常量
获取指向16位双精度数组的指针。更多…
Const float * ValuesF()常量
获取指向16位数组的指针作为浮点数数组。更多…
Const double * ()常量
获取指向16位数组的指针(如果定义了ROBODK_API_FLOATS,则为双精度或浮点数)。更多…
无效 (双精度值[16]
将4x4矩阵的16个值复制到双数组中。更多…
无效 (浮点值[16]
将4x4矩阵的16个值复制到双数组中。更多…
保龄球 有效的()常量
检查矩阵是否有效。更多…

静态公共成员函数

静态 XYZRPW_2_Mat(双x,双y,双z,双r,双p,双w)
从位置和欧拉角([x,y,z,r,p,w]向量)计算姿态,结果与:
H = transl (x, y, z) * rotz (w *π/ 180)* roty (p *π/ 180)* rotx (r *π/ 180)更多…
静态 XYZRPW_2_Mat(tXYZWPR xyzwpr)
静态 transl(双x,双y,双z)
返回一个平移矩阵。更多…
静态 rotx(双rx)
返回x轴旋转矩阵。更多…
静态 roty(双)一块
返回一个y轴旋转矩阵更多…
静态 rotz(双rz)
返回一个z轴旋转矩阵。更多…

私有属性

_valid
如果矩阵无效则标记。更多…
_ddata16[16]
将数据复制为双精度数组。更多…

详细描述

类表示4x4姿态矩阵。该对象的主要目的是表示3D空间中的姿态(位置和方向)。换句话说,姿态是一个4x4矩阵,表示一个参考框架相对于另一个参考框架在3D空间中的位置和方向。姿势通常用于机器人中放置物体、参考框架和目标。
\ (transl (x, y, z) rotx (r) roty (p) rotz (w) = \ \ \ {bmatrix}开始n_x & o_x & a_x & x \ \ n_y & o_y &得+ & y \ \ n_z & o_z z \ \ & a_z & 0 & 0 & 0 & 1 \ {bmatrix} \)结束。

行定义361的文件robodktypes.h

构造函数和析构函数文档

垫()(1/8)

创建单位矩阵。

行定义158的文件robodktypes.cpp

垫()(2/8)

保龄球 有效的

创建一个有效或无效的矩阵。

行定义162的文件robodktypes.cpp

垫()(3/8)

QMatrix4x4 & 矩阵

创建一个矩阵的副本。

行定义167的文件robodktypes.cpp

垫()(4/8)

常量& 矩阵

创建一个矩阵的副本。

参数
矩阵

行定义171的文件robodktypes.cpp

垫()(5/8)

nx
斧头
tx
纽约
oy
新西兰
盎司
阿兹
tz

给定N, O, a, T向量的4x4齐次矩阵的矩阵类构造函数

参数
nx 矩阵(0,0)
矩阵[0,1]
斧头 矩阵(0,2)
tx 矩阵[0,3]
纽约 矩阵(1,0)
oy 矩阵[1]
矩阵[1,2]
矩阵[1,3]
新西兰 矩阵(2,0)
盎司 矩阵(2,1)
阿兹 矩阵(2,2)
tz 矩阵(2、3)
返回
\ (\ {bmatrix}开始n_x & o_x & a_x & x \ \ n_y & o_y &得+ & y \ \ n_z & o_z z \ \ & a_z & 0 & 0 & 0 & 1 \ {bmatrix} \结束)

行定义176的文件robodktypes.cpp

垫()(6/8)

const双 [16]

给定一个一维16值数组(双精度),创建一个齐次矩阵

参数
[nx,ny,nz,0, ox, y,oz,0, ax,ay,az,0, tx,ty,tz,1]
返回
\ (\ {bmatrix}开始n_x & o_x & a_x & x \ \ n_y & o_y &得+ & y \ \ n_z & o_z z \ \ & a_z & 0 & 0 & 0 & 1 \ {bmatrix} \结束)

行定义181的文件robodktypes.cpp

垫()(7/8)

const浮动 [16]

给定一个一维16值数组(浮点数),创建一个齐次矩阵

参数
[nx,ny,nz,0, ox, y,oz,0, ax,ay,az,0, tx,ty,tz,1]
返回
\ (transl (x, y, z) rotx (r) roty (p) rotz (w) = \ \ \ {bmatrix}开始n_x & o_x & a_x & x \ \ n_y & o_y &得+ & y \ \ n_z & o_z z \ \ & a_z & 0 & 0 & 0 & 1 \ {bmatrix} \结束)

行定义186的文件robodktypes.cpp

垫()(8/8)

x
y
z

创建一个转换矩阵。

参数
x 沿X方向平移量(mm)
y 沿Y方向的平移(mm)
z 沿Z方向平移(mm)
返回
\(rotx(\theta) = \begin{bmatrix} 1 & 0 & 0 & x \\ 0 & 1 & 0 & y \\ 0 & 0 & 1 & z \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \)

行定义192的文件robodktypes.cpp

~垫()

行定义199的文件robodktypes.cpp

成员功能文档

FromString ()

bool FromString QString & str

设置给定XYZRPW字符串数组的矩阵(6个值)

行定义440的文件robodktypes.cpp

FromXYZRPW ()

空白FromXYZRPW tXYZWPR xyzwpr

从位置和欧拉角([x,y,z,r,p,w]向量)计算姿态,结果与:
H = transl (x, y, z) * rotz (w *π/ 180)* roty (p *π/ 180)* rotx (r *π/ 180)

返回
齐次矩阵(4x4)

行定义475的文件robodktypes.cpp

Get ()

双得到 int r
int c
常量

得到一个矩阵值。

参数
r
c
返回
价值

行定义299的文件robodktypes.cpp

发票()

发票 常量

反位姿(假设齐次矩阵)

行定义305的文件robodktypes.cpp

isHomogeneous ()

bool isHomogeneous 常量

如果矩阵是齐次的则返回true,否则返回false。

行定义310的文件robodktypes.cpp

MakeHomogeneous ()

bool MakeHomogeneous

强制4x4矩阵是齐次的(vx,vy,vz必须是酉向量,并且尊重:vx x vy = vz)。如果矩阵不是齐次的,并且它被修改为齐次,则返回True。

行定义351的文件robodktypes.cpp

运营商QString ()

运营商QString 常量
内联

To String操作符(与qDebug()一起使用)<<tJoints”。

行定义437的文件robodktypes.h

Pos ()

空白Pos tXYZ xyz 常量

获取位置(T位置),单位为mm。

行定义218的文件robodktypes.cpp

rotx ()

rotx 处方
静态

返回x轴旋转矩阵。

参数
处方 绕X轴旋转(以弧度为单位)。
返回
\(rotx(\theta) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & c_\theta & -s_\theta & 0 \\ 0 & s_\theta & c_\theta & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \)

行定义529的文件robodktypes.cpp

roty ()

roty 变化中
静态

返回一个y轴旋转矩阵

参数
变化中 绕Y轴旋转(以弧度为单位)
返回
\(roty(\theta) = \begin{bmatrix} c_\theta & 0 & s_\theta & 0 \\ 0 & 1 & 0 & 0 \\ -s_\theta & 0 & c_\theta & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \)

行定义535的文件robodktypes.cpp

rotz ()

rotz rz
静态

返回一个z轴旋转矩阵。

参数
rz 绕Z轴旋转(以弧度计)
返回
\(rotz(\theta) = \begin{bmatrix} c_\theta & -s_\theta & 0 & 0 \\ s_\theta & c_\theta & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \)

行定义541的文件robodktypes.cpp

设置()

空集 int r
int c
价值

设置矩阵值。

参数
r
c
价值 价值

行定义290的文件robodktypes.cpp

setPos ()(1/2)

空白setPos x
y
z

设置位置(T位置),单位为mm。

行定义239的文件robodktypes.cpp

setPos ()(2/2)

空白setPos xyz[3]

设置位置(T位置),单位为mm。

行定义260的文件robodktypes.cpp

setvalue ()

空白setvalue 构成[16]

设置姿态值。

行定义267的文件robodktypes.cpp

setVX ()(1/2)

空白setVX x
y
z

设置X矢量值(N矢量)

行定义224的文件robodktypes.cpp

setVX ()(2/2)

空白setVX xyz[3]

设置X矢量值(N矢量)

行定义245的文件robodktypes.cpp

setVY ()(1/2)

空白setVY x
y
z

设置Y向量值(O向量)

行定义229的文件robodktypes.cpp

setVY ()(2/2)

空白setVY xyz[3]

设置Y向量值(O向量)

行定义250的文件robodktypes.cpp

setVZ ()(1/2)

空白setVZ x
y
z

设置Z矢量值(A矢量)

行定义234的文件robodktypes.cpp

setVZ ()(2/2)

空白setVZ xyz[3]

设置Z矢量值(A矢量)

行定义255的文件robodktypes.cpp

ToString ()

QString ToString QString & 分隔符”、“
int 精度3.
保龄球 xyzrpw_only
常量

检索姿势的字符串表示形式。

参数
分隔符 字符串分隔符
精度 小数点数
in_xyzwpr 如果设置为true(默认),姿态将使用xyyzrpw表示为XYZWPR 6维数组
返回

行定义405的文件robodktypes.cpp

ToXYZRPW ()

空白ToXYZRPW tXYZWPR xyzwpr 常量

计算给定姿态的等效位置和欧拉角([x,y,z,r,p,w]矢量)注:transl(x,y,z)*rotz(w*pi/180)*roty(p*pi/180)*rotx(r*pi/180)参见:FromXYZRPW ()

返回
XYZWPR的平移和旋转以毫米和度为单位

行定义380的文件robodktypes.cpp

transl ()

transl x
y
z
静态

返回一个平移矩阵。

参数
x 沿X方向平移量(mm)
y 沿Y方向的平移(mm)
z 沿Z方向平移(mm)
返回
\(rotx(\theta) = \begin{bmatrix} 1 & 0 & 0 & x \\ 0 & 1 & 0 & y \\ 0 & 0 & 1 & z \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \)

行定义522的文件robodktypes.cpp

有效的()

bool有效 常量

检查矩阵是否有效。

行定义518的文件robodktypes.cpp

值()(1/3)

const double * Values 常量

获取指向16位数组的指针(如果定义了ROBODK_API_FLOATS,则为双精度或浮点数)。

行定义500的文件robodktypes.cpp

值()(2/3)

无效的值 [16] 常量

将4x4矩阵的16个值复制到双数组中。

行定义508的文件robodktypes.cpp

值()(3/3)

无效的值 浮动 [16] 常量

将4x4矩阵的16个值复制到双数组中。

行定义513的文件robodktypes.cpp

礼乐祭祀()

const double * ValuesD 常量

获取指向16位双精度数组的指针。

行定义484的文件robodktypes.cpp

ValuesF ()

const float * ValuesF 常量

获取指向16位数组的指针作为浮点数数组。

行定义491的文件robodktypes.cpp

VX ()

空白VX tXYZ xyz 常量

得到X向量(N向量)

行定义203的文件robodktypes.cpp

v ()

空白v tXYZ xyz 常量

得到Y向量(O向量)

行定义208的文件robodktypes.cpp

款()

空白之后 tXYZ xyz 常量

得到Z向量(A向量)

行定义213的文件robodktypes.cpp

XYZRPW_2_Mat ()(1/2)

XYZRPW_2_Mat x
y
z
r
p
w
静态

从位置和欧拉角([x,y,z,r,p,w]向量)计算姿态,结果与:
H = transl (x, y, z) * rotz (w *π/ 180)* roty (p *π/ 180)* rotx (r *π/ 180)

返回
齐次矩阵(4x4)

行定义459的文件robodktypes.cpp

XYZRPW_2_Mat ()(2/2)

XYZRPW_2_Mat tXYZWPR xyzwpr
静态

行定义471的文件robodktypes.cpp

成员数据文档

_ddata16

双_ddata16 [16]
私人

将数据复制为双精度数组。

行定义622的文件robodktypes.h

_valid

双_valid
私人

如果矩阵无效则标记。

行定义617的文件robodktypes.h


该类的文档是从以下文件生成的: