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.


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