睿尔曼超轻量仿人机械臂-- RM65-B手眼标定使用说明

一、前言

机器人的视觉系统分为固定场景视觉系统和运动的「手-眼」视觉系统。相机与机器人手臂末端,构成手眼视觉系统。根据相机在机器人安装位置的不同,手眼视觉系统分为Eye-in-Hand系统(眼在手上)和Eye-to-Hand系统(眼在手外)。Eye-in-Hand系统的相机安装在机器人手臂末端(end-effector),在机器人工作过程中随机器人一起运动。Eye-to-Hand系统的相机安装在机器人本体外的固定位置,在机器人工作过程中不随机器人一起运动。

Eye-in-Hand系统的在工业机器人中应用比较广泛,随着机械手逐渐接近目标,相机与目标的距离越来越小,被测物体位置参数的绝对误差会随之降低。在Eye-in-Hand系统中,采用基于图像的视觉控制、基于位置的视觉控制以及结合两者的混合视觉控制,可以快速有效地标定被测物体的坐标。

手眼标定方法通常分为3类:标准手眼标定、基于旋转运动的手眼标定以及在线手眼标定。以上方法是将相机标定与手眼标定分开进行,也有的论文采用的是联合标定法。

本文重点讲解我司封装好后手眼标定的使用方法。

涉及软硬件如下:

机械臂

相机

软件

RM65系列

D435

手眼标定.exe

该标定程序是为了方便部分开发者完成手眼标定,并不能满足所有相机和机械臂需求。

本文章涉及的示例来自于睿尔曼机器人,如需获取最新资料可联系睿尔曼技术支持团队

forrest@realman-robot.com

二、环境要求                                             

本教程主要介绍RM机械臂与Realsense D435相机手眼标定的配置及方法,由于不同处理器架构在系统环境及相关功能包的安装配置上存在差异,所以在此不做相关介绍,如果使用我司提供的设备,出厂默认会将系统环境及相关功能包安装配置好或者提供配套的相关系统环境搭建的教程,在此默认系统环境满足以下要求:

系统:Windows10

软件:手眼标定.exe

硬件:棋牌格标定板,D435相机,RM65系列机械臂

三、开始前准备

1. 相机安装固定

将相机通过转接件固定到机械臂末端,如图所示(这里未安装末端工具,用户如需要可以一并装上):

2. 接线

  • 机械臂接上电源
  • 机械臂面板网口通过网线连接到主机或交换机上(注意:机械臂默认固定IP为192.168.1.18,所以要确保主机与机械臂在同一网段内能够连通)
  • 相机通过Type-C数据线将相机与主机USB3.0接口相连

3. 测试

主机与机械臂上电启动后,在主机打开cmd,执行以下命令测试主机与机械臂是否连通:

ping 192.168.1.18

在主机打开可视化测试界面(IntelRealSenseViewer),若未检测到相机尝试重新连接USB):

相机连接成功后,将左侧【Stereo Module】和【RGB Camera】选择“on”状态,右侧会 显示深度图像和RGB图像画面。鼠标移动到深度图像位置左下方画面会显示实时测量的深度距离,如图说明相机连接正常:

4.标定板

这里使用的是玻璃材质的规格为12x9,每格长宽为3cm的棋盘格,如下图:

四、手眼标定程序EXE操作步骤

1,打开” RM机械臂手眼标定源码+exe文件”文件夹,可看到以下内容:

红色标记为封装后的exe程序,蓝色标记为程序源码。这里我们介绍怎样运行封装好后的exe程序。

2,将标定板放在地面或者桌子上,使其处于相机的视野范围内。

3,开始图像采集,进入到data_collection_d435_win_exe\dist\main路径下

选中main.exe右键以管理员身份运行。

保持标定板和机械臂基座位置不动,挪动机械臂末端,使标定板出现在屏幕上,选择清晰完整的图片,在打开的窗口中(如下图红色标记处),按下键盘 "s"和回车键将会获取当前界面里的标定板图片和当前机械臂末端的位姿。

建议采集15到20组图片以及数据,图片保存在data_collection_d435_win_exe\dist\

main\images路径下,位姿保存在相同路径下的poses.txt文件中。

4, 计算相机坐标系到机械臂末端坐标系的齐次变换矩阵(旋转矩阵和平移向量),将data_collection_d435_win_exe\dist\main\images路径下的图像和poses.txt文件

拷贝到eye_in_hand_homogeneous_matrix_exe\dist\main\images下。

5,修改eye_in_hand_homogeneous_matrix_exe\dist\main\angular_point_interval 文件,文件内容要根据实际情况填写。(备注:12行 ,9列,每格宽度为3cm)

6,进行结果解算

以管理员身份eye_in_hand_homogeneous_matrix_exe\dist\main\main.exe进行解算

最终解算结果将会在窗口中显示,此过程需要一到两分钟。若成功解算,将会在窗口显示解算内容。

若出现程序闪退或者无法打开需查看:

(1)系统环境是否正确;

(2)采图像是否清晰无遮挡,与周围环境对比明显;

(3)angular_point_interval 文件中标定板信息是否填写正确。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/457014.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【芯片设计- RTL 数字逻辑设计入门 10 -- 奇偶校验实现】

文章目录 奇偶校验单目运算符(|,^,&)verilog codeverilog codetestbench code 问题总结 奇偶校验 现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果。 实际上这里做的是奇偶检测,如果是奇数个 1 则结果为 1,使用…

代码随想录算法训练营第四十五天(动态规划篇)|01背包

01背包理论基础 学习资料:代码随想录 (programmercarl.com) 相关链接:题目页面 (kamacoder.com) 背包题目分类 01背包定义 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次…

uniCloud ---- schema2code

目录 schema2code有两种方式 label属性 component属性 group属性 应用 DB Schema里有大量的信息,其实有了这些信息,前端将无需自己开发表单维护界面,uniCloud可以自动生成新增、修改、列表、详情的前端页面,以及admin端的列…

在openSUSE-Leap-15.5-DVD-x86_64中使用deepin-wine-8.16再使用微信3.9.7.29

在openSUSE-Leap-15.5-DVD-x86_64中使用deepin-wine-8.16再使用微信3.9.7.29 《在openSUSE-Leap-15.5-DVD-x86_64中使用deepin-wine-6.0.0.62再使用微信3.9.5》 https://blog.csdn.net/weixin_42145772/article/details/135074804?spm1001.2014.3001.5501 按照上面文章的方法…

【iOS ARKit】人形提取

为解决人形分离和深度估计问题,ARKit 新增加了 Segmentation Buffer(人体分隔缓冲区)和Estimated Depth Data Buffer(深度估计缓冲区)两个缓冲区。人体分隔缓冲区作用类似于图形渲染管线中的 Stencil Buffer&#xff0…

挂耳耳机哪个牌子好?推荐几款性价比超高的挂耳耳机

在寻求更轻便舒适的听音体验时,挂耳耳机逐渐成为众多用户的优先选择。市场上各式各样的耳挂耳机琳琅满目,种类繁多,挂耳耳机哪个牌子好?为了帮助大家更好地了解耳挂耳机的市场状况,我推荐几款性价比超高的挂耳耳机。 挂…

《Python 网络爬虫简易速速上手小册》第7章:如何绕过反爬虫技术?(2024 最新版)

文章目录 7.1 识别和应对 CAPTCHA7.1.1 重点基础知识讲解7.1.2 重点案例:使用Tesseract OCR识别简单CAPTCHA7.1.3 拓展案例 1:使用深度学习模型识别复杂CAPTCHA7.1.4 拓展案例 2:集成第三方 CAPTCHA 解决服务 7.2 IP 轮换与代理的使用7.2.1 重…

react 之 UseMemo

useMemo 看个场景 下面我们的本来的用意是想基于count的变化计算斐波那契数列之和,但是当我们修改num状态的时候,斐波那契求和函数也会被执行,显然是一种浪费 // useMemo // 作用:在组件渲染时缓存计算的结果import { useState …

Flex 布局教程

目录 一、Flex 布局是什么? 二、基本概念 三、容器的属性 1、flex-direction属性 2、flex-wrap属性 3、flex-flow属性 4、justify-content属性 5、align-items属性 6、align-content属性 四、项目的属性 1、order属性 2、 flex-grow属性 3、flex-s…

生存类游戏《幻兽帕鲁》从部署服务器到开始体验全过程

SteamDB数据显示,《幻兽帕鲁》上线24小时内,在线人数峰值便突破200万,跻身Steam历史排行榜第二位。随着热度进一步发酵,《幻兽帕鲁》官方发布推文称,游戏发售不到6天,销量已经突破了 800万份。欢迎大家在阿…

Unity接入GVoice腾讯实时语音

Unity接入GVoice腾讯实时语音 一、介绍二、注册GVoice创建项目语音服务1.创建项目2.申请语音权限3.项目管理查看SDK初始化的一些参数和基本信息4.GVoice检测 三、SDK下载SDK是分为两种类型:独立版集成板 SDK放入Unity工程中 四、语音代码写法五、GVoice踩坑语音权限…

板块零 IDEA编译器基础:第二节 创建JAVA WEB项目与IDEA基本设置 来自【汤米尼克的JAVAEE全套教程专栏】

板块零 IDEA编译器基础:第二节 创建JAVA WEB项目与IDEA基本设置 一、创建JAVA WEB项目(1)普通项目升级成WEB项目(2)创建JAVA包 二、IDEA 开荒基本设置(1)设置字体字号自动缩放 (2&am…