手眼标定+jaka机械臂

手眼标定+jaka机械臂 虽万人吾往矣 2023-04-14 11:16:33 1040

今天讲一讲如何使用jaka机械臂完成手眼标定。

关于jaka
Jaka这家的机械臂让小智觉得比较好的是他们的示教器做的很人性化,这点需要点赞,但是也有不好的地方,想二次开发的时候SDK有点不太好用,都是血的教训。

本次所介绍的方式使用的是jaka的TCP通讯协议获取的机械臂末端的位姿,所以需要大家在程序中配置机械臂的ip地址。

本次文章默认大家已经学会使用aruco获取到标定板在机械臂中的位姿,如果有不清楚的可以后台回复手眼标定获取相关文章

项目开源地址:https://gitee.com/ohhuo/handeye-calib

开始标定

jaka标定程序会自己订阅两个话题的数据,一个是机械臂的位姿话题和相机中标定物的位姿话题。

机械臂的话题可以通过运行本仓库中的jaka_comuniate功能包中的jaka_comuniate.launch获得。

相机中标记物的姿态数据,可以参考上一篇文章,或者后台回复手眼标定获取教程。

下载源码:

git clone https://gitee.com/ohhuo/handeye-calib.git
cd handeye-calib
catkin_make or catkin build
下载完成需要配置jaka_host参数为你的jaka机械臂所在的host,并确保你目前所使用的电脑能够ping通该ip。

运行该节点后将会发布jaka_pose话题并运行

使用的是jaka机械臂TCP通信,默认端口为10000,这里不用设置,如果有改变可以在程序中修改。

运行JAKA节点

source devel/setup.bash
roslaunch jaka_comuniate jaka_comuniate.launch

运行标定板识别程序

source devel/setup.bash
roslaunch handeye-calib aruco_start_usb_cam.launch

配置标定所需话题信息

主要配置参数有jaka_pose_topic、camera_pose_topic。分别代表jaka机械臂的通信地址和,相机中标记物的位姿话题。

通过这两个话题我们就可以拿到机械臂和标志物在相机中的位姿信息.

node> launch> #####运行标定程序 source devel/setup.bash roslaunch handeye-calib jaka_hand_on_eye_calib.launch #####开始标定 程序运行是会对话题数据进行检测,先检测是否收到机械臂数据,如果没有会一直等待。 当检测到已经接收到数据之后,就会出现,命令提示。 命令定义如下: r rocord 记录一组手眼数据(当记录的数据大于程序计算所需的数据量之后会进行自动计算) c calculate 计算当前数据 s save 保存数据 p print 打印当前数据到屏幕上(格式为 type,x,y,z,rx,ry,rz 角度制) q quit 退出标定程序 [INFO] [1612856654.307437]: Get topic from param server: jaka_pose_topic:/jaka_pose camera_pose_topic:/aruco_single/pose [INFO] [1612856655.311045]: Waiting jaka pose topic data ... [INFO] [1612856656.313039]: Waiting jaka pose topic data ... [INFO] [1612856657.314364]: Waiting jaka pose topic data ... input: r record,c calculate,s save,q quit: 拖拽机械臂或者用示校器移动机械臂,但要保证相机视野中依然可以看到标定板。 输入r记录一组手眼数据。 #####生成参数 完成标定之后输入s即可进行保存,将保存标定结果数据和计算所使用的数据。 #####标定结果误差分析 观察数据计算结果的标准差大小。 每次计算之后,程序都会输出不同算法下标定结果点的平均数、方差、标准差三项数值。 由于标定过程中标定板是没有发生移动的,所以我们通过机械臂的末端位置、标定结果(手眼矩阵)、标记物在相机中的位姿即可计算出标定板在机器人基坐标系下的位姿,如果标定结果准确该位姿应该是没有变化的。 可以比较最终数据的波动情况来判定标定结果的好坏。 比如: 标定板在机械臂基坐标系的位置1: Tsai-Lenz x y z rx ry rz distance ----------- ------------ ----------- ------------ ------------ ------------ ----------- ----------- point0 -0.45432 0.0488783 0.000316595 0.0420852 -0.0245641 1.52064 0.456941 point1 -0.457722 0.054523 0.0121959 -0.0266793 0.0050922 1.53391 0.461119 point2 -0.457198 0.0535639 0.00246136 0.0252805 -0.0329136 1.51927 0.460331 point3 -0.453302 0.0618366 0.00165179 0.0405718 -0.0472311 1.53318 0.457503 point4 -0.455802 0.0589413 0.000377679 0.0222521 -0.0360589 1.51963 0.459598 point5 -0.455392 0.0615103 0.00584822 0.0365886 -0.033448 1.50684 0.459565 point6 -0.451144 0.0571198 0.00498852 0.0618337 -0.0170326 1.52463 0.454773 point7 -0.452829 0.0588266 -0.000827528 0.0324858 -0.0292652 1.52268 0.456635 point8 -0.454238 0.063634 0.00488078 0.0411648 -0.0373725 1.51611 0.458699 point9 -0.453579 0.0631788 0.00390939 0.0339742 -0.0645821 1.53168 0.457974 point10 -0.454952 0.066057 -0.00144969 0.0399135 0.0029201 1.5053 0.459725 point11 -0.459518 0.0553877 -0.00209946 0.0450864 -0.0147387 1.50702 0.462848 point12 -0.454928 0.0590754 -0.0045181 0.0297534 -0.0296122 1.52043 0.45877 point13 -0.455234 0.0527075 -0.00389213 0.0358822 -0.0260668 1.51244 0.458292 mean -0.455011 0.0582314 0.0017031 0.0328709 -0.027491 1.51955 0.45877 var 4.21677e-06 2.16484e-05 1.84365e-05 0.000357231 0.000305579 8.29112e-05 3.79771e-06 std 0.00205348 0.00465279 0.00429378 0.0189005 0.0174808 0.00910556 0.00194877 标定板在机械臂基坐标系的位置2: Tsai-Lenz x y z rx ry rz distance ----------- ----------- ----------- ----------- ----------- ------------ ----------- ----------- point0 -0.428394 0.052448 0.0353171 0.0259549 -0.0541487 1.57929 0.433035 point1 -0.427841 0.0448442 0.0345359 0.0454481 -0.0371304 1.55639 0.431569 point2 -0.424889 0.0486165 0.0278942 0.0455775 -0.0438353 1.57073 0.42857 point3 -0.421985 0.0485442 0.0311218 0.0138094 -0.0307286 1.55606 0.425906 point4 -0.428353 0.0454091 0.0326252 0.039192 -0.0492181 1.59177 0.431987 point5 -0.432111 0.0458869 0.0359774 0.04632 -0.0383476 1.55942 0.436028 mean -0.427262 0.0476248 0.0329119 0.0360503 -0.0422348 1.56894 0.431183 var 9.9672e-06 6.79218e-06 7.71397e-06 0.000148499 6.11379e-05 0.000174299 1.03945e-05 std 0.00315709 0.00260618 0.0027774 0.012186 0.00781908 0.0132022 0.00322405 我们可以观察两次标定结果的距离的标准差,第一次的标准差小于的第二次的标准差,这表示第一次的标定结果好于第二次。 标准差越小,数据越聚集。 如果有不明白和有错误的地方可以留言。最后欢迎大家关注、点赞、分享~
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
虽万人吾往矣
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区