少有人走的路

勇哥的工业自动化技术网站

手眼标定之机器人位姿设置

1. 机器人位姿定义:

image.png 

1.1 如果机器人是abg位姿类型, 通过create_pose算子将数据转换为位姿,旋转矩阵链如下:

image.png[x,y,z,RX,RY,RZ]



1.2 如果机器人是gba位姿类型, 通过create_pose算子将数据转换为位姿,旋转矩阵链如下:

image.png 


1.3 如果机器人是zyz位姿类型,则不能使用create_pose,必须创建相应的齐次变换矩阵,并使用hom_mat3d_to_pose将其转换为位姿。

image.png 

1.4位姿的由来


H即齐次变换矩阵,它表示一个坐标系转为另一个坐标系要经过哪些旋转与平移。

t表示平移向量。

image.png 

当位姿里面的旋转链顺序是gba时:

image.png 

这里可以看到,3D位姿的可读性要比上面的齐次变换矩阵可读性要更好,

虽然两者表达的意思是一致的。


当位姿里面的旋转链顺序是abg时:

image.png 

 

2. 每个校准图像,必须指定机器人相应位姿。

位姿的准确性对于获得准确的手眼校准至关重要;

 

3. 有两种方法向halcon程序输入位姿

一种是直接向halcon程序手动输入机器人的位姿,另一种是从机械手控制单元里读取位姿到halcon程序;




示例:机械手位姿创建

dev_update_off ()
* directory for pose files: adapt to your needs
DataNameStart := './robot_pose_'
i := 0
dev_close_window ()
* let user specify pose type
input_pose_type (PoseType)
* create poses interactively
CreateNextPose := 'true'
while (CreateNextPose == 'true')
    input_pose (PoseType, Pose)
    write_pose (Pose, DataNameStart + i$'03d' + '.dat')
    i := i + 1
    ask_yes_no ('Create another pose?', 'YES', 'NO', CreateNextPose)
endwhile


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864