旋转中心 机械手抓料方式

一、为什么要计算旋转中心?

机器视觉——旋转中心的标定_旋转标定-CSDN博客

在机械手抓料的时候传送带上过来的料可能是各个角度的,不同的位置,这样如果我们没有做好机械手标定的话很难抓取,因此我们要做旋转中和和机械手TCP标定。

但是这里我要记录一下再项目中用的其他的一种方式,不需要标定,但是这个的精度可能就没有那么好了。但是做这个所有前提都是要做9点标定的。

那我命名第一方式就是 项目抓取法。

二、项目抓取法
 

有一个前提就是相机不动,而且能排到传送带上的很大的视野,就是让每次产品的图片都在图像里面。示意图如下(盗图,懒得画)

计算偏移量

 首先就是要做九点标定,做完之后我的思路是做一个 位移补偿

我们可以先计算出相机的的位置,然后用机械手做运动,让其走到我们想要的那个产品中间,如果有微小的差距,那么我们可以通过计算移动机械手,计算出差值 delt_x  和 delt_y ,这个值应该是很小的,其实就是一个补偿,我们也可以多做几次然后做一个均值,还可以做个标记然后做运动,其原理是一样的。

计算角度

我们的产品上面是一个矩性的东西,所以很容易找到一条边 如下

在图像上我们可以使用找边的方式,计算出来出两条边的中线,计算与X轴之间的夹角 angle_product,可以知道当前机械手的角度angle_tool ,angle_diff=angle_product-angle_tool ,然后我们可以先走平移,然后再旋转angle_diff ,这样就可以将产品拿到。

但是这种是对产品的精度要求没有那么高的,这种方法是可以的,如果更优点就是解决最短路径和最佳旋转角度的问题。

三、旋转中心

机器视觉——旋转中心的标定_旋转标定-CSDN博客

基础知识: 三点可以确定一个圆

旋转中心 半径

如果机器人没有tcp 标定的功能,而且要求精度是表高的,那么我们就需要使用自己计算出旋转中心和旋转半径。

在拟合的过程重我们可以多拍几个点,拟合的精度会更高一些,基本在就是解方程 ,多个点的话可以用随机一致采样的方法或者最小二乘法来计算一个最优。

步骤:

然后我我们通过拟合一个圆,可以得到一个球心即使一个旋转中心,还可以得到一个旋转半径,下面我就要计算 一个产品从 A-》B的过程;

1、先对角度,将角度转到和目标的角度一致,如下

2、计算平移

3、加上平移补偿

代码就不写了,很简单,思路很重要

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

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

相关文章

章节2:单词本该这样记

为什么我们记不住单词? 单词不是被胡编乱造出来的,单词是有规律的,单词是符合人类的逻辑的。 单词实际意思结构意义历史文化 我们要怎么记单词? 掌握单词的结构规律了解与单词有关的历史文化灵活巧计,不要太拘泥于…

唯一约束

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 唯一约束 唯一约束的特点是在某一个列上的内容不允许出现重复。 例如,现在要收集用户的信息,假设包含编号(mid)、姓名&…

【通信原理笔记】【二】随机信号分析——2.3 平稳随机过程的性质

文章目录 前言一、平稳过程的不变性二、平稳过程通过线性时不变系统2.1 输出随机过程的特性2.2 输入输出随机过程的关系 三、平稳过程经过希尔伯特系统总结 前言 在上一篇中我们学习了平稳随机过程这一特殊的随机过程,这篇我们进一步学习平稳过程具有哪些性质。 一…

Word2vec 学习笔记

word2vec 学习笔记 0. 引言1. Word2vec 简介1-1. CBOW1-2. SG 2. 实战 0. 引言 最近研究向量检索,看到有同事使用 MeCab、Doc2Vec,所以把 Word2vec 这块知识学习一下。 1. Word2vec 简介 Word2vec 即 word to vector,顾名思义,…

02python计算与变量

学习目标: 1、计算符号与运算 2、变量的基本使用方法 一、计算符号与运算 Python 中最常用的运算符号有 +(加)、-(减)、*(乘)、/(除)和 %(取余)。 【演示】:在 Python 中进行简单的计算,例如:5 + 3。 在 Python 中,我们可以使用各种运算符号进行数值计算。 …

封装哈希表

本文旨在讲解哈希表的封装,我们以哈希桶的结构来进行封装unorderedmap/set。要想实现封装哈希表,我们首先得先将哈希表的结构给搭建出来,然后再根据哈希桶的结构进一步封装unorderedmap/set! 下面我们先来实现哈希桶的结构&#x…

Internet Download Manager(IDM下载) v6.42.3 绿色版介绍

互联网下载管理器是一个广泛使用的软件,它可以帮助用户更好地管理和加速他们的下载。最新版本v6.42.3已经发布,它带来了一系列新功能和改进,让用户更加方便和快速地下载他们需要的文件。 新版本的互联网下载管理器增加了对最新浏览器的支持&…

ROS2+NAV2如何快捷的在docker中使用主机的CAN

驱动底盘一般通过CAN口和底盘通信,在docker中使用CAN最方便的方式就是容器(container)在创建(run)时,指定网络为host模式:--network=host。 例如: docker run -it --restart=always --name ros2humble3 --network=host -v /home/tom/Tom/DockerContent/nav2_ws(your do…

1.Spring入门

1.1 Spring简介 Spring是一个轻量级Java 企业级应用程序开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。 Spring Fra…

Linux第80步_使用“信号量”实现“互斥访问”共享资源

1、创建MySemaphoreLED目录 输入“cd /home/zgq/linux/Linux_Drivers/回车” 切换到“/home/zgq/linux/Linux_Drivers/”目录 输入“mkdir MySemaphoreLED回车”,创建“MySemaphoreLED”目录 输入“ls回车”查看“/home/zgq/linux/Linux_Drivers/”目录下的文件…

【git】常用操作

基础操作 git init 初始化仓库 要使用 Git 进行版本管理,必须先初始化仓库, 执行了 git init命令的目录下就会生成 .git 目录。这个 .git 目录里存储着管理当前目录内容所需的仓库数据 git status 查看仓库状态 工作树和仓库在被操作的过程中&#xff0…

C++-线程池

1、使用C构造线程类 #include <iostream> #include <stdio.h> #include <stdlib.h> #include <queue> #include <cstring> #include <time.h> #include <unistd.h> #include <pthread.h> #include <thread> #include &…

Github: Github actions 自动化工作原理与多workflow创建

Github actions 1 &#xff09;概述 Github Actions 是Github官方推出的 CI/CD 解决方案 https://docs.githu.com/en/actions 优点 自动发布流程可减少发布过程中手动操作成本&#xff0c;大幅提升ci/cd效率&#xff0c;快速实现项目发布上线 缺点 存在较高的技术门槛需要利用…

Cloudways搭建WordPress外贸独立站完整教程

现在做个网站不比从前了&#xff0c;搭建网站非常的简单&#xff0c;主要是由于开源的CMS建站系统的崛起&#xff0c;就算不懂编程写代码的人也能搭建一个自己的网站&#xff0c;这些CMS系统提供了丰富的主题模板和插件&#xff0c;使用户可以通过简单的拖放和配置操作来建立自…

使用 Next.js 配置接口跨域

在现代 Web 开发中&#xff0c;跨域请求是一个常见的问题。当我们尝试从一个域&#xff08;例如example.com&#xff09;向另一个域&#xff08;例如api.example.com&#xff09;发送 HTTP 请求时&#xff0c;由于浏览器的同源策略限制&#xff0c;这个请求可能会被阻止。为了解…

制定游戏开发里程碑和迭代周期的最佳实践是什么?

制定游戏开发里程碑和迭代周期是游戏项目管理中的重要环节,以下是最佳实践的几个关键点: 明确项目愿景与目标: 在开始阶段,首先确立游戏的整体愿景、核心玩法以及最终发布的目标。这将为后续的所有里程碑提供方向。定义可度量的里程碑: 里程碑应当具体、清晰且可度量,如完…

ZK vs FHE

1. 引言 近期ZAMA获得7300万美金的投资&#xff0c;使得FHE获得更多关注。FHE仍处于萌芽阶段&#xff0c;是未来隐私游戏规则的改变者。FHE需与ZK和MPC一起结合&#xff0c;以发挥最大效用。如&#xff1a; Threshold FHE&#xff1a;将FHE与MPC结合&#xff0c;实现信任最小…

第k个数——字典序

题目链接&#xff1a;1.第k个数 - 蓝桥云课 (lanqiao.cn) 样例解释&#xff1a; 输入13&#xff0c;得到的初始数组为1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c;9&#xff0c;10&#xff0c;11&#xff0c;12…

【微服务】分布式调度框架PowerJob使用详解

目录 一、前言 二、定时任务调度框架概述 2.1 为什么需要定时任务调度框架 2.2 定时任务调度使用场景 三、PowerJob 介绍 3.1 PowerJob 概述 3.2 PowerJob 功能特性 3.3 PowerJob 应用场景 3.4 PowerJob 与其他同类产品对比 四、PowerJob 部署 4.1 PowerJob 架构 4.…

综合知识篇06-软件架构设计考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…