kinova与intel realsense D435手眼标定

相机不动,机构动作----Hands Eyes 以相机在上固定不动,机械手为 EPSON_Robot 为例,详细的一步一步实例操作指引以及对应的完整代码。在实际情况中,你需要根据 EPSON_Robot 的相关通信协议和 SDK 来获取其末端执行器真实的位姿信息,以下代码中暂时还是以模拟数据来示意整体流程,你后续可自行替换相应部分为真实获取逻辑。 阅读详情

背景

最近在做机器人抓取的相关研究,卡在手眼标定这一块了。网上也有一些大佬的博客在写,不过没有看到realsense和kinova的相关实验。小弟在此试错一周,奉上此博客,希望对有需要的小伙伴有所帮助。标定大概是,先启动编写完成的launch文件(相机,机器人,moveit,easy_handeye等),然后手动采集20个点,计算得到机器人base到相机的坐标变换关系,然后进行save,会被默认保存在~/.ros/easy_handeye文件夹下的一个yaml文件,然后进行publish就可以将而这的坐标变换发布到tf中。

标定过程

机器人的手眼标定主要参考开源项目easy_handeye,我再稍微罗嗦一下步骤,需要具备一下几个方面的内容。

easy_handeye

cd ~/catkin_ws/src  # replace with path to your workspace
git clone https://github.com/IFL-CAMP/easy_handeye

cd ..  # now we are inside ~/catkin_ws
rosdep install -iyr --from-paths src


catkin build

需要先进行rosdep。这个过程我就报错了

错误1-缺少库transforms3d

rosdep error
解决方案

pip install transforms3d

运行easy_handeye
参考issue,需要先将calibrate.launch文件中的第十三行move_group的default value改为arm,如下

<arg name="move_group" default="arm"  doc="the name of move_group for the automatic robot motion with MoveIt!" />

这里需要编写一个launch文件,启动相机,机器人,moveit-kinova,以及easy_handeye,aruco等工具,我的launch文件放在代码部分

错误2-cv2.CALIB_HAND_EYE_TSAI

这个问题开始怀疑是opencv-python的版本不对,更换了几次,仍然有问题。后在issue74中有大佬给出解决方案,我的解决方案如下
1.首先安装opencv-contrib

python -m pip install opencv-contrib-python

2.在cv2.CALIB_HAND_EYE_TSAI报错的文件中作如下修改
将import cv2修改为

import sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
import cv2
sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')

这一点的理由是:
ros使用的python库的位置与计算机的Python库位置不一样,所以import cv2是从ros的python库环境中导入,而我们的cv2是安装在计算机的python库中,所以需要先屏蔽掉默认的ros库导入,此时python的库已经切换到了计算机的python库。

错误3-Cannot calibrate from current position

这一个错误是由于未能调出image-view,无法采样,但是在rqt中我始终无法找到plugin菜单栏,报错Cannot calibrate from current position最后,不得已,我只能重新开启一个rqt(只需要运行rqt即可),选择空的rqt中的plugin栏目,选择image-view,topic选择**/aruco_track/result**,此时,只要相机视野中有坐标系,就可以进行采样操作了,这个过程由参考链接5得到启发

ros-realsense(d435)

参考ros-realsense自行安装
验证相机可用:

roslaunch realsense2_camera rs_camera.launch

然后就可以看到相机节点信息

kinova机器人ros驱动

参考ros-kinova自行安装
验证机器人可用:

roslaunch kinova_bringup kinova_robot.launch kinova_robotType:=j2n6s300

另还需要moveit工具进行轨迹规划
验证moveit

roslaunch j2n6s300_moveit_config j2n6s300_demo.launch

这个成功就表明在rviz内虚拟机器人与现实中的机器人的状态是同步的,并且可以在rviz中拖动机器人末端,进行轨迹规划(plan)和执行(execute)

重要:以上步骤配置完成可以看到三个图,见参考链接6,却一不可,如果可以手动进行规划,check starting pose那个图不需要使用,只要点击check starting pose没有错误就可。take sample那里也需要没有错误。

publish

采集完成20个点,计算,然后保存,最后进行publish

roslaunch easy_handeye calibrate.launch eye_on_hand:=true
具身智能【2026-01】:Being-H0.5【VLA + Flow Matching】【MoT+MoE架构】【UniHand2.0数据集:4 亿个样本/35000小时 】 BeingBeyond Teamhttps://research.beingbeyond.com/being-h05Real-World Deployment Figure 1: Being-H0.5 at a Glance. We scale human-centric robot learning with Being-H0.5 toward cross-embodiment generalization. We introduce UniHand-2.0, a large-scale corpus 阅读详情

相关推荐

baostock实战:如何用Python批量下载多只股票的历史数据(含常见错误排查)

本文详细介绍了如何使用Python和baostock库批量下载多只股票的历史数据。内容涵盖从环境搭建、代码标准化到构建稳健的批量下载框架的全过程,并重点提供了高级错误处理、网络重试、数据验证及内存管理等实战解决方案,帮助用户高效构建股票数据处理流水线。

nice1的博客 1081

在 dell precision 7920 tower CentOS 8 Stream 上安裝nvidia驱动程序、Anaconda

简单记录一下如何在实验室dell precision 7920 tower CentOS 8 Stream上安装nvidia显卡驱动。

chen9046的博客 995

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

[软考]系统架构设计师 备考经验分享(一) - 备考计划篇

前言 上周末刚刚结束了软考架构师的考试,自我感觉考的还可以,大概率是过了。 两次参加软考,一次中级嵌入式,一次高级架构师,都是备考不到两个月时间,尤其是架构师这次考试内容和本职工作有不小的差别,并且需要同时备考三个科目,在高强度地备考中感觉是摸索出到了一点软考的技巧与经验。 打算趁还记得,赶紧写几篇文章做下梳理总结,算是给将来自己考系分、高项或者其他考试做个记录,也希望能够帮到正在备考的大家。 先把第一步,个人的备考计划分享给大家。 自身情况分析 首先,请大家一定先明确三个问题,这三个问题会直接影响到你的

_ 6404

Databricks Genie:语义编译器架构与企业级智能解析实践

语义层是现代数据平台实现自然语言查询的核心基础,其本质是将业务术语映射为可执行、可治理的数据契约。原理上依赖结构化元数据、值字典与数据血缘三支柱协同,通过分层AI代理(如Intent Parsing、Retriever、Verifier)实现意图识别→语义对齐→安全执行的闭环。技术价值在于降低SQL使用门槛的同时保障审计性、一致性和权限可控性,适用于销售运营、财务分析等一线业务场景。本文深入解析Databricks Genie作为典型语义编译器的落地逻辑,涵盖Unity Catalog知识注入、七层Agen

weixin_29053695的博客 337

用Python实现四叉树(quad tree)

import numpy as np #正方形类 class square: #lx、ly为左上角坐标(x对应行号,y对应列号),rx、ry为右下角坐标 def __init__(self,lx,ly,rx,ry): self.lx=lx self.ly=ly self.rx=rx self.ry=ry #检查该矩阵中是否满足条件 #参数:原矩阵,阈值 #返回值:布尔类型 def check(s

weixin_44164489的博客 5868

基于R语言的PLS算法实现解读

我们使用"pls"包来执行PLS回归,并提供了相应的源代码。在本文中,我们将详细解读基于R语言的PLS算法的实现过程,并提供相应的源代码。PLS算法的实现可以借助R语言中的"pls"包。该包提供了丰富的函数和工具,用于执行PLS回归、PLS-DA(PLS-Discriminant Analysis)和其他相关任务。除了执行PLS回归,"pls"包还提供了其他功能,例如PLS-DA(用于分类问题)和PLS变量选择等。上述代码将基于输入的X值,使用训练好的PLS模型进行预测,并返回预测结果。

TechWhizKid的博客 1045

【数据集介绍】MVTec 3D AD数据集介绍

MVTec AD(MVTec Anomaly Detection)数据集是用于异常检测的计算机视觉数据集。该数据集包含来自工业生产中不同材料和产品的图像,包括玻璃、塑料、纺织品等。每个类别都包含正常样本和异常样本。这些异常样本包括各种常见的生产缺陷,如划痕、裂纹、凹陷等。MVTec AD数据集旨在帮助研究人员和从业者开发和评估用于检测工业制造中物体缺陷的算法和系统。

原来也有北瓜 7750

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: github README.nd文字居中
下一篇: leetcode练习题
miss_future
博客等级 码龄9年 6粉丝 19原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值