找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 4035|回复: 24

已知面角,如何求欧拉角,机器人坐标变换怎么求?

  [复制链接]
发表于 2025-7-26 18:44:29 | 显示全部楼层 |阅读模式
问题的来源是这样的:
  x3 M+ G; E8 A+ o& h- l
5 p/ ~1 H7 a! h: c2 q/ F) V有一个项目,机器人末端的手爪,因为种种情况,设计了一个倾斜的吸盘。需要在3D视觉的引导下,去吸取一个倾斜的物体。
9 r* |" w* i5 |" v; y7 W: w. M机器人编程工程师嫌手工做工具坐标系比较费时费力,问我能否通过三维软件,求得坐标变换的数值,直接填入机器人系统中的工具坐标系的标定参数中。
* o0 p( A7 G" G/ g; O7 V5 Q% s我感觉应该挺简单的呀,于是就在三维模型中(我是用solidworks进行的建模)建立了两个坐标系,一个是安装法兰的坐标系,一个是吸盘面的坐标系。. B4 Y2 N4 G3 B
然后测量了两个坐标系的位移,和角度,然后给了机器人编程工程师4 h1 ?- e$ o& H% u* ~

) n. w, s6 x! O/ w5 u1 ^! |' t结果发现不对(测试方法:走轴坐标ABC,并不能绕坐标系原点旋转,证明坐标系不对)
5 ?4 l+ j  P5 d/ s
( X) A0 Z) s6 g4 J2 S两个坐标系的位移很好测量。两个坐标系的角度,我是这样测量的,我的solidworks版本低,没法直接给出数,于是我建了三个面,例如要测量Z轴之间的角度,我就测量了两个XY平面的角度。
+ b/ m, c4 a7 P/ n& @) e& m
& w3 W% g! X) ?1 b; m5 A/ {4 J( F于是我将这个问题抽象出来了,花了大量的时间研究面角,欧拉角,也没研究明白。发现这个欧拉角,这个三个轴的旋转顺序还有要求,有ZYZ,有XYZ,可能各个品牌的机器人还不一样。
. O" Y: K) X# Q' b2 X, w
1 f3 J, Q1 w2 j3 B# G我抽象了模型,问了AI,竟然说我这样的坐标系不存在?
' \- K! ]3 v# U
" V! `1 ^& H; L& W5 v5 O! i- F+ N下面是我抽象出来的数学模型:两个坐标系的三个面之间的角度都是30度,坐标系原点重合,求坐标变换欧拉角。6 F$ ?" ^# g" b; D
5 k2 {: e( w+ l1 A6 ?
有没有高手给解答一下。
0 X$ O$ y+ T0 n, R) J+ z
( r4 q' p7 u& R9 p. o3 ?以下截图是这个两个坐标系的空间位置
# [- t' B3 a- }! n$ v( j; i( b: Q0 M7 }4 K( M

, E8 M- F% _% z5 T, J% }  ^- z& y
3 Y$ N" X4 Y0 K. R  w) F
; y% P$ K9 d3 X( U) \" C

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
回复

使用道具 举报

发表于 2025-7-26 19:12:37 | 显示全部楼层
机械手变换坐标系要是这么容易,那何来机械臂动力学和D-H建模法呢。  E- B" l& W: @: B* N& r8 _$ `
先了解点基本常识吧,https://zhuanlan.zhihu.com/p/692369673
发表于 2025-7-26 20:52:10 | 显示全部楼层
楼上正解;五轴机床转换你懂不?你可以把机器人看成一个五轴机床,用DH法建模来求解旋转角度,从机械手末端到基座,或者从基座到机械手末端,都可以推导出来。7 C8 n. d3 L* u" z: r( H( {: x
发表于 2025-7-26 20:53:51 | 显示全部楼层
还有别问国内的AI,国内的AI,连欧拉角动态旋转和静态旋转的等效性都不会给你正确的推导出来。
1 B* y& B- y- ~, k! g. f
发表于 2025-7-26 21:40:29 | 显示全部楼层
不懂,但是AI只能够搜资料,有时候给不了出处的还不能够信.  `4 ]; ]( e1 ^- @
何况复杂的建模肯定少不了计算的优化.5 P8 }0 F/ m9 m% J$ p* O8 X+ j
矩阵肯定少不了需要高效的算法.
0 R' m: e0 D2 `我只会简单的x^x+y^2=1) V) ^, c. f/ k( B- E1 R' g/ S
x=cos(theta),y=sin(thea)( H* o, @8 s# a. e6 w/ Y$ W1 [' h
这些东西肯定少不了各种知识.8 d* [  M+ S) @9 d' C
与其纠结,不如先把路走远,再走深.
, p7 e. u$ T' B8 H% D7 u9 a
发表于 2025-7-27 07:22:10 | 显示全部楼层
机械工程师解决不了现场调试的痛,模型上永远都是理论的,何况这么多零件组装在一起的累积误差,对于相机和机械手的计算补偿来说都是灾难。最近几年一直做复合机器人的项目,一直头痛精度问题,都和这些有关系。
发表于 2025-7-27 14:23:34 | 显示全部楼层
直接把机械手模型和治具导入SW/各类机械手软件,模拟点位,然后出各个轴的角度数据就好了

点评

你怎么会有二面角会计算出欧拉角的错误错觉。  发表于 2025-7-28 14:31
发表于 2025-7-28 11:56:31 | 显示全部楼层
本帖最后由 DaedraMech 于 2025-7-28 12:32 编辑 " X- A. ~9 O0 S" u/ I

- H0 B& Q* B" L2 K( \1 m! C0 R不知道我有没有正确理解楼主的意思,我先谈谈自己对坐标变换的理解:
) [: h& }( _1 u% T1 K$ ]坐标变换矩阵既是变换参数(转角、位移),又是变换后坐标系的基底在原坐标系上的坐标组合
, Y! e7 O8 G$ [; R3 e
7 B% h3 J' m1 l. r! a0 a楼主在SW中使用的方法是控制三个正交平面和原平面各成30°,我个人更喜欢直接建立坐标系,由于x轴是YZ面法向量/y轴是XZ面法向量/z轴是XY面法向量,所以我约束3个新坐标轴和原坐标轴各成30°达到效果和楼主应该是一样的。三个基底([ix iy iz],[jx jy jz],[kx ky kz])有9个未知坐标值,有【3个基底长度为1】、【新基底和原坐标轴各成30°】、【基底之间互成90°】这9个约束一定能在SW中画出3个代表基底的线段,由此即可建立新坐标系,测量线段端点的坐标值即可获得变换矩阵。
  a, p$ w: Q7 U, }& d8 `. E' I' i9 R# F
, Y1 G' C1 L5 x7 |8 G$ {7 g, k3 z
我们来测试一下,我们假设工具坐标系上有一点[0.5 0.6 0.7]',我们想知道该点在法兰坐标系上的坐标值,那就可以用变换矩阵左乘这个向量:
# G" z" F) j, d, j6 {
0 {7 l/ @$ G3 ]0 i$ D  I# P把获得向量的坐标值输入SW,测量下它在工具坐标系下的坐标,果然还是[0.5 0.6 0.7]',变换矩阵是正确的:3 f+ D* }% n, z; t3 v0 Q8 Y& H
! N/ F2 e* N1 _; A' r$ _& M
, y7 j  z5 q6 W9 f! \. M; c4 N7 ?0 A
如果坐标系还有位移,可以使用齐次变换矩阵进行变换:* B9 ~( g6 u" ?$ y  U; d
! D" z( j/ H+ I
上面的演示中,楼主可以看到,矩阵里的坐标值就是特定角度的正弦/余弦值,所以欧拉角可以从这些角度中拆解出来,也就是总变换矩阵可以拆解成一系列单轴角度变换矩阵连续左乘,由此可以表示出坐标系绕各轴旋转的角度和先后顺序,这也就是楼主说的“面角转换为欧拉角”,过程较为麻烦,我个人不推荐这种方式。7 y6 A( A) P* z% u/ C
+ e, U3 n: w) c, Y" I8 t
- q9 O2 j& v( w0 l, p& T+ v

" ], |+ c" O# j

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×

点评

就是这样,坐标系旋转使用旋转矩阵,需要9个参数,而楼主说的两个二面角仅仅是两个参数,根本不够。  发表于 2025-7-28 14:33
已补充  发表于 2025-7-28 12:29
有些图没传上去,后面补充  发表于 2025-7-28 12:03
发表于 2025-7-28 14:23:09 | 显示全部楼层
本帖最后由 DaedraMech 于 2025-7-28 15:41 编辑 , \/ _* l0 z2 j( l- S: z! [
DaedraMech 发表于 2025-7-28 11:56. A9 j6 ?. v5 t
不知道我有没有正确理解楼主的意思,我先谈谈自己对坐标变换的理解:
4 l; p) j, T* W8 q' N坐标变换矩阵既是变换参数(转角、位 ...
) V$ j9 \1 ]. v1 O" E& B9 j( h
一般对算法这边来说最直接的就是拿到变换矩阵了,不知道为什么还要舍近求远获得欧拉角,不过楼主需要的话可以按照下图解方程,获得各轴转角和顺序。另外,方程是多解的,比如【先绕z轴逆时针旋转17.927°,再绕y轴顺时针旋转24.465°,再绕x轴顺时针旋转17.927°】就是其中一个解:+ O0 w/ t( Q( j3 }. _1 u$ n1 f
  g$ o% i7 O% e' b+ d' }" }

. E  V% s+ G$ y/ v% i: @" w" F( w+ k( e- U3 ]  z3 E

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
发表于 2025-7-28 18:11:40 | 显示全部楼层
线性代数吗,都忘得差不多了
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-9-17 18:41 , Processed in 0.073064 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表