当前位置: 首页 > news >正文

手眼标定学习笔记

目录

标定代码:

手眼标定原理学习

什么是手眼标定

手眼标定的目的

eye in hand

eye to hand

AX=XB问题的求解


标定代码:

GitHub - pumpkin-ws/HandEyeCalib

推荐博文:

https://zhuanlan.zhihu.com/p/486592374

 

手眼标定原理学习

参考:手眼标定理解「建议收藏」-腾讯云开发者社区-腾讯云

原文参考:https://blog.csdn.net/yaked/article/details/77161160?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control

什么是手眼标定

手眼标定是为了得到相机坐标系与机器人坐标系之间的位姿关系,包括两种:eye in hand (相机安装在机械臂末端)和eye to hand (相机安装在机械臂外侧)。

手眼标定的目的

在机械臂抓取时,往往需要知道抓取目标与机械臂之间的位置关系,使用相机获得抓取目标的位置是有效的方法。 但是单纯使用相机得到的目标点位置是在相机坐标系下的位置,而抓取任务要得到的是目标点与机械臂之间的位置,因此这中间需要通过一些方法获得相机与机械臂之间的位置关系,从而实现目标点从相机坐标系到机械臂坐标系的转换。手眼标定正是用来获得相机与机械臂之间位置关系的一种方法。 简单讲,已知目标点A与相机B之间的坐标关系(相机获得),想要得到机械臂C与目标点A之间的坐标关系,就必须得到相机B与机械臂C之间的位置关系。

eye in hand

这种方式的手眼标定是通过两次运动解得相机坐标系(Camera)与机械臂末端坐标系(End)之间的坐标关系。 注意: 1、机械臂末端(End)在机器人(Base)坐标系下的坐标是可以通过机械臂各个关节的角度值直接解算出来的。 2、标定是通过两次改变机械臂末端(相机)位置来解算的,这整个过程中标定板(Object)相对是机器人(Base)的位置是固定不变的。(实际上,并不需要知道标定板与机器人(Base)的具体位置关系)。下面等式成立的条件就是两个不同位姿下标定板与机器人位置不变。

在这里插入图片描述

在这里插入图片描述

eye to hand

这种方法的手眼标定是通过两次运动解得相机坐标系(Camera)与机器人坐标系(Base)之间的坐标关系。 注意: 1、机械臂末端(End)在机器人(Base)坐标系下的坐标是可以通过机械臂各个关节的角度值直接解算出来的。 2、标定是通过两次改变机械臂末端(标定板)位置来解算的,这整个过程中标定板(Object)相对机械臂末端(End)的位置是固定不变的。(实际上,并不需要知道标定板与机械臂末端(End)的具体位置关系)。下面等式成立的条件就是两个不同位姿下标定板与机械臂末端位置不变。

在这里插入图片描述

在这里插入图片描述

AX=XB问题的求解

实际上,求解的只是一个固定的6自由度的位置姿态关系,可以用3X3的旋转矩阵和3X1的平移矩阵表示,也可以用其他方法表示如用四元数表示角度关系等。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133111.html原文链接:https://javaforall.cn

相关文章:

手眼标定学习笔记

目录 标定代码: 手眼标定原理学习 什么是手眼标定 手眼标定的目的 eye in hand eye to hand AXXB问题的求解 标定代码: GitHub - pumpkin-ws/HandEyeCalib 推荐博文: https://zhuanlan.zhihu.com/p/486592374 手眼标定原理学习 参…...

Dell戴尔XPS 16 9640 Intel酷睿Ultra9处理器笔记本电脑原装出厂Windows11系统包,恢复原厂开箱状态oem预装系统

下载链接:https://pan.baidu.com/s/1j_sc8FW5x-ZreNrqvRhjmg?pwd5gk6 提取码:5gk6 戴尔原装系统自带网卡、显卡、声卡、蓝牙等所有硬件驱动、出厂主题壁纸、系统属性专属联机支持标志、系统属性专属LOGO标志、Office办公软件、MyDell、迈克菲等预装软…...

【第8章】SpringBoot实战篇之文章分类(上)

文章目录 前言一、后端代码1. CategoryController2. service3. CategoryMapper4. Category 二、测试1. 失败(校验)2.正常 总结 前言 从这开始进入文章相关的接口开发,本章主要介绍定义文章分类接口和新增文章分类 建表语句和测试用例,在SpringBoot专栏首…...

【QT】Qt Plugin开发

目录 插件是什么QT插件是什么 为什么要有插件开发插件开发优势插件和动态库区别 Qt PluginQT插件类型QT插件开发流程QT插件应用QT插件JSON文件 参考文章 插件是什么 插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。…...

快速了解GPU分布通信技术:PCIe、NVLink与NVSwitch

在现代高性能计算和深度学习领域,GPU的强大计算能力使其成为不可或缺的工具。然而,随着模型复杂度的增加,单个GPU已经无法满足需求,需要多个GPU甚至多台服务器协同工作。这就要求高效的GPU互联通信技术,以确保数据传输…...

Python对获取数据的举例说明

当使用Python来获取数据时,有许多不同的方法和库可以根据你的需求来选择。以下是一些常见的示例,说明如何使用Python来从各种来源获取数据。 1. 从网站或API获取JSON数据 你可以使用requests库从网站或API获取JSON格式的数据。例如,从某个API…...

JVMの垃圾回收

在上一篇中,介绍了JVM组件中的运行时数据区域,这一篇主要介绍垃圾回收器 JVM架构图: 1、垃圾回收概述 在第一篇中介绍JVM特点时,有提到过内存管理,即Java语言相对于C,C进行的优化,可以在适当的…...

人工智能就业方向有哪些?

人工智能就业方向有哪些? 随着人工智能技术的不断发展,其应用领域也越来越广泛。对于想要进入人工智能领域的年轻人来说,选择一个合适的职业方向是至关重要的。今天给大家介绍六个热门的人工智能就业方向,分别是机器学习工程师、自然语言处理…...

自定义类型:枚举和联合体

在之前我们已经深入学习了自定义类型中的结构体类型 ,了解了结构体当中的内存对齐,位段等知识,接下来在本篇中将继续学习剩下的两个自定义类型:枚举类型与联合体类型,一起加油!! 1.枚举类型 …...

负载均衡加权轮询算法

随机数加权轮询算法 public int select() {int[] weights {10, 20, 50};int totalWeight weights[0] weights[1] weights[2];// 取随机数int offset ThreadLocalRandom.current().nextInt(totalWeight);for (int i 0; i < weights.length; i) {offset - weights[i];i…...

PyTorch 相关知识介绍

一、PyTorch和TensorFlow 1、PyTorch PyTorch是由Facebook开发的开源深度学习框架&#xff0c;它在动态图和易用性方面表现出色。它以Python为基础&#xff0c;并提供了丰富的工具和接口&#xff0c;使得构建和训练神经网络变得简单快捷。 发展历史和背景 PyTorch 是由 Fac…...

1千2初中英语语法题库ACCESS\EXCEL数据库

英语语法是针对英语语言进行研究后&#xff0c;系统地总结归纳出来的一系列语言规则。英语语法的精髓在于掌握语言的使用。比如词类有名词、代词、数词、感叹词等&#xff0c;时态有一般状态、进行状态、完成状态和完成进行状态四种&#xff0c;语态有主动语态、被动语态等。 …...

高德面试:为什么Map不能插入null?

在 Java 中&#xff0c;Map 是属于 java.util 包下的一个接口&#xff08;interface&#xff09;&#xff0c;所以说“为什么 Map 不能插入 null&#xff1f;”这个问题本身问的不严谨。Map 部分类关系图如下&#xff1a; 所以&#xff0c;这里面试官其实想问的是&#xff1a;为…...

MySQL数据库主从配置

MySQL主从配置 1. 修改数据库my.cnf文件 修改数据库my.cnf文件&#xff0c;在文件中添加如下内容&#xff0c;其中主数据库的server-id必须要比从库的更小。 # 注册集群id server-id101 # 开启二进制日志文件 log-binmysql-bin # 设置日志格式 binlog-formatrow # 开启中继日…...

测试工程师经常使用的Python中的库,以及对应常用的函数

os (操作系统接口) 该库提供了许多与操作系统交互的函数&#xff0c;如文件处理、目录操作、进程管理等。 常用功能包括&#xff1a; os.name: 获取操作系统的名称。 os.path: 用于操作文件路径的模块&#xff0c;如os.path.join拼接路径。 os.mkdir: 创建目录。 os.remove: 删…...

【frp】服务端配置与systemd启动

ini配置的方式已经废弃。官方文档是toml 。阿里云ecs 部署服务端参考大神的文章 使用Frp配置内网访问(穿透) 0.54 版本 我现在用最新的0.58版本。systemd apt install systemdfrp服务端配置 /root/frp目录 vim frps.toml#服务绑定的IP与端口 bindAddr = "0.0.0.0" …...

计算机网络学习实践:模拟RIP动态路由

计算机网络学习实践&#xff1a;模拟RIP动态路由 模拟动态路由RIP协议 1.实验准备 实验环境&#xff1a;华为模拟器ENSP 实验设备&#xff1a; 3个路由器&#xff0c;3个二层交换机&#xff08;不是三层的&#xff09;&#xff0c;3个PC机 5个网段 192.168.1.0 255.255.…...

详解 Flink 的常见部署方式

一、常见部署模式分类 1. 按是否依赖外部资源调度 1.1 Standalone 模式 独立模式 (Standalone) 是独立运行的&#xff0c;不依赖任何外部的资源管理平台&#xff0c;只需要运行所有 Flink 组件服务 1.2 Yarn 模式 Yarn 模式是指客户端把 Flink 应用提交给 Yarn 的 ResourceMa…...

【UE5.1 角色练习】11-坐骑——Part1(控制大象移动)

前言 在上一篇&#xff08;【UE5.1 角色练习】10-物体抬升、抛出技能 - part2&#xff09;基础上创建一个新的大象坐骑角色&#xff0c;并实现控制该角色行走的功能。 效果 步骤 1. 在商城中下载“African Animal Pack”资产和“ANIMAL VARIETY PACK”资产导入工程中 2. 复…...

数据结构严蔚敏版精简版-线性表以及c语言代码实现

线性表、栈、队列、串和数组都属于线性结构。线性结构的基本特点是除第一个元素无直接前驱&#xff0c;最后一个元素无直接后继之外&#xff0c;其他每个数据元素都有一个前驱和后继。 1 线性表的定义和特点 如此类由n&#xff08;n大于等于0&#xff09;个数据特性相同的元素…...

告别残差加法,Kimi 给神经网络换了个 “智能引擎”

来源&#xff1a;算法进阶 本文约2800字&#xff0c;建议阅读6分钟本文介绍了 Kimi 团队用 Attention Residuals 替代传统残差机制的成果。只要接触深度学习神经网络的读者们对「」一定不会陌生。自从 2015 年 ResNet 诞生以来&#xff0c;这种「将输入直接加到输出上」的简单逻…...

PromptSource与环保科技NLP:环境数据分析的提示工程指南

PromptSource与环保科技NLP&#xff1a;环境数据分析的提示工程指南 【免费下载链接】promptsource Toolkit for creating, sharing and using natural language prompts. 项目地址: https://gitcode.com/gh_mirrors/pr/promptsource 在当今环保科技领域&#xff0c;自然…...

别再让LDO过热罢工了!手把手教你用串联电阻给TPS732这类芯片‘减负’

巧用串联电阻为LDO芯片降温的工程实践 最近在调试一块嵌入式板卡时&#xff0c;发现采用SOT-23封装的TPS732频繁触发热保护&#xff0c;导致系统间歇性重启。这种看似简单的电源问题&#xff0c;往往会让工程师在深夜的实验室里抓狂。传统解决方案如增大铺铜面积或更换封装&…...

java+vue+SpringBoot企业信息管理系统(程序+数据库+报告+部署教程+答辩指导)

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿ppt部署教程代码讲解代码时间修改工具 技术实现 开发语言&#xff1a;后端&#xff1a;Java 前端&#xff1a;vue框架&#xff1a;springboot数据库&#xff1a;mysql 开发工具 JDK版本&#xff1a;JDK1.8 数…...

工业 AI Agent 落地全解:制造业智能化转型的技术架构与场景实践

2025 年被行业称为 AI Agent 元年&#xff0c;Gartner 将 Agentic AI 列为 2025 年顶级技术趋势首位。在智能制造加速推进的背景下&#xff0c;AI Agent 技术正成为破解制造业 AI 落地难、价值转化慢的核心抓手&#xff0c;实现从技术 Demo 到产线落地的跨越&#xff0c;真正融…...

CC 开源版完整安装部署指南

CC&#xff08;Claude-Code-Compiled&#xff09;开源版完整安装部署指南 前言 CC&#xff08;Claude-Code-Compiled&#xff09;是一款基于 Claude 生态的轻量化命令行代码助手工具&#xff0c;基于 Bun 运行时实现高效编译与执行。本文将手把手带你完成环境依赖安装 → 项目构…...

实战应用:基于快马AI构建openclaw101官网从登录到跳转的完整流程

今天想和大家分享一个基于InsCode(快马)平台实现的登录系统实战案例。这个项目模拟了openclaw101官网从登录到跳转的完整流程&#xff0c;特别适合想学习前后端交互的同学参考。 项目整体架构 这个登录系统采用经典的前后端分离设计。前端使用纯HTMLCSSJavaScript实现页面交互&…...

突破60帧束缚:原神高帧率解锁工具完全指南

突破60帧束缚&#xff1a;原神高帧率解锁工具完全指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 你是否曾为《原神》的60帧限制而感到遗憾&#xff1f;当你的显示器支持144Hz甚至更…...

FPGA新手避坑指南:UART、SPI、I2C三大串行协议到底怎么选?

FPGA新手避坑指南&#xff1a;UART、SPI、I2C三大串行协议到底怎么选&#xff1f; 第一次接触FPGA开发时&#xff0c;面对琳琅满目的通信协议选择&#xff0c;很多新手都会感到无从下手。UART、SPI、I2C这三种最常见的串行协议各有特点&#xff0c;但选错协议可能导致项目延期、…...

APISIX性能优化指南:response_rewrite插件的最佳实践与避坑建议

APISIX性能优化指南&#xff1a;response_rewrite插件的最佳实践与避坑建议 在微服务架构盛行的今天&#xff0c;API网关作为流量入口承担着越来越重要的角色。APISIX凭借其高性能和丰富的插件生态&#xff0c;已成为众多企业技术栈中的关键组件。然而&#xff0c;随着业务规模…...