【工控基础】UVW平台踩坑

前言

本文不讲原理,旨在会用,不踩坑。

一、UVW平台介绍

invalid image(图片无法加载)

疑问: 如何理解可以以平台任意一点为中心进行旋转? 我们目前是以平台的旋转中心最为相机的原点坐标。

关于原理

invalid image(图片无法加载)

目前,我们使用的是旋转标定,这个方式找到的中心应该不是很准。

三、关于uvw的公式

那三个轴是如何进行旋转了的呢?可以看下图:

invalid image(图片无法加载)

1 每个轴按顺时针或逆时针走一个距离,就是旋转。
2 图中W动,U轴V轴不动,就是X方向的平移
3 图中U轴V轴同时动,X不动,就是Y方向的平移。

每个制造uvw平台的公式都会提供自己的公式,用来计算角度到uvw分量的计算。
1 平台的半径
invalid image(图片无法加载)

2 平台轴初始的三个角度

invalid image(图片无法加载)

这次用的平台提供的参数如下:
invalid image(图片无法加载)

公式如下:
在这里插入图片描述

上面的是用于计算角度的。下面是计算极限的,我们先关注角度这个部分。

1 角度的计算
这个无非是通过三角函数计算出角度到uvw的分量。但是我们对位的时候,一般都是平移+加上角度。
不过对应我们的uvw平台旋转也是通过平移实现的。
所以要实现平移+旋转。其实就是两个步骤。
1 通过三角函数计算出角度到uvw的分量
2 叠加平移分量和角度分量,其实就是相加。
这里,我直接给出C#代码实现:

/// <summary>
/// XYR移动量转UVW移动量
/// </summary>
/// <param name="MoveY">Y方向移动量</param>
/// <param name="MoveX">X方向移动量</param>
/// <param name="Rotatetion">旋转角度移动量</param>
public void DataUVW(float MoveX, float MoveY, float Rotatetion)
{float R = GlobalData.Instance.saveInfo.R;float θx = GlobalData.Instance.saveInfo.X;float θy1 = GlobalData.Instance.saveInfo.Y1;float θy2 = GlobalData.Instance.saveInfo.Y2;Rotatetion *= -1;//double rad = Rotatetion * Math.PI / 180;//偏移补偿MoveY += GlobalData.Instance.saveInfo.OffsetY;MoveX += GlobalData.Instance.saveInfo.OffsetX;GlobalData.Instance.U = -(float)(R * Math.Sin(Rotatetion + θx) - R * Math.Sin(θx));GlobalData.Instance.V = (float)(R * Math.Cos(Rotatetion + θy1) - R * Math.Cos(θy1));GlobalData.Instance.W = -(float)(R * Math.Cos(Rotatetion + θy2) - R * Math.Cos(θy2));float tempX = -MoveX;float tempY1 = MoveY;float tempY2 = -MoveY;//角度补偿GlobalData.Instance.U += GlobalData.Instance.saveInfo.OffsetA;GlobalData.Instance.V += GlobalData.Instance.saveInfo.OffsetA;GlobalData.Instance.W += GlobalData.Instance.saveInfo.OffsetA;//角度和平移的叠加GlobalData.Instance.U += tempX;GlobalData.Instance.V += tempY1;GlobalData.Instance.W += tempY2;
}

踩坑记录

1 首先,要注意Math的库里的三脚函数,参数都是弧度,不是角度,所以先要把角度转为弧度再进行计算。
2 其实每个轴对应的初始角度顺序不能错!

invalid image(图片无法加载)

3 要根据电机实际的运动方向适当的添加正负号。

invalid image(图片无法加载)

特别是角度和平移叠加的时候,方向要一致!

额外的记录

为啥正转一度和反转一度,通过计算的得到的平移的距离的绝对值不相同?

invalid image(图片无法加载)

invalid image(图片无法加载)

暂不明白,大概意思是,旋转的中心不是平台的正中心导致的。所以正转一度和反转一度平移的距离的绝对值不相同。

参考文章:

https://blog.csdn.net/weixin_38672958/article/details/129190738

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

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

相关文章

python opencv之提取轮廓并拟合圆

图片存储地址为&#xff1a;C:\Users\Pictures\test.png&#xff0c;该图像图片背景是黑色的&#xff0c;目标区域是亮的&#xff0c;目标区域是两段圆弧和两段曲线构成的封闭区域&#xff0c;其中两段圆弧属于同一个圆&#xff0c;但在目标区域的相对位置&#xff0c;也就是不…

Qt实现对界面列表数据的局部刷新

在Qt中&#xff0c;可以使用QAbstractListModel类来创建自定义的ListModel&#xff0c;实现对界面列表数据的局部刷新。下面是一个示例代码&#xff0c;演示如何创建一个自定义的ListModel并实现局部刷新功能&#xff1a; #include <QGuiApplication> #include <QQmlA…

自定义SpringSecurity异常格式

今天发现spring的异常格式没有跟着mvc的错误格式走&#xff0c;场景是用户权限的时候。查了一下原来是springsecurity定义了一组filter作用在了mvc上层&#xff0c;因此需要处理一下错误格式。 处理前错误返回信息如下&#xff1a; 由于使用了多语言&#xff0c;因此错误格式也…

阿里云2核4G云服务器支持多少人同时在线?并发数计算?

阿里云2核4G服务器多少钱一年&#xff1f;2核4G配置1个月多少钱&#xff1f;2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…

.NET RSA加密算法实现

简介&#xff1a; RSA算法是第一个能同时用于加密和数字签名的算法&#xff0c;也易于理解和操作。 RSA是被研究得最广泛的公钥算法&#xff0c;从提出到现在已近二十年&#xff0c;经历了各种攻击的考验&#xff0c;逐渐为人们接受&#xff0c;普遍认为是目前最优秀的公钥方案…

计算机网络 - 基础篇总结

TCP/IP 网络模型有哪几层&#xff1f; 1.应用层 为用户提供应用功能 2.传输层 负责为应用层提供网络支持 使用TCP和UDP 当传输层的数据包大小超过 MSS&#xff08;TCP 最大报文段长度&#xff09; &#xff0c;就要将数据包分块&#xff0c;这样即使中途有一个分块丢失或损坏…

Linux内核之put_user与get_user实例用法(三十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

手搓 Docker Image Creator(DIC)工具(01):前言

设计并实现一款名为 Docker Image Creator&#xff08;DIC&#xff09;的脚本工具&#xff0c;该工具能够高效地利用提供的 Dockerfile 文件&#xff0c;自动化完成从源文件构建定制化镜像的全过程&#xff0c;并无缝集成镜像的功能性运行测试环节&#xff0c;旨在提供一站式的…

GPU-CPU-ARM-X86-RISC-CUDA

CPU更适合处理复杂逻辑运算和单线程任务&#xff0c;而GPU则更适合处理大规模并行计算任务。 CPU&#xff08;中央处理器&#xff09;通常具有较少的核心数量&#xff08;一般在2到16个之间&#xff09;&#xff0c;但每个核心的性能较强&#xff0c;擅长执行复杂的运算和逻辑…

HTTP/1.1 特性(计算机网络)

HTTP/1.1 的优点有哪些&#xff1f; 「简单、灵活和易于扩展、应用广泛和跨平台」 1. 简单 HTTP 基本的报文格式就是 header body&#xff0c;头部信息也是 key-value 简单文本的形式&#xff0c;易于理解。 2. 灵活和易于扩展 HTTP 协议里的各类请求方法、URI/URL、状态码…

专升本-云计算

被誉为第三次信息技术革命 什么是云计算&#xff1f; 云计算是一种商业的计算模式&#xff0c;它将任务分布在大量计算机构成的资源池上&#xff0c;用户可以按需通过网络存储空间&#xff0c;计算能力和信息等服务 云计算的产生和发展&#xff1a; 起源&#xff1a;上世纪6…

投稿指南【NO.12_9】【极易投中】核心期刊投稿(现代电子技术)

近期有不少同学咨询投稿期刊的问题&#xff0c;大部分院校的研究生都有发学术论文的要求&#xff0c;少部分要求高的甚至需要SCI或者多篇核心期刊论文才可以毕业&#xff0c;但是核心期刊要求论文质量高且审稿周期长&#xff0c;所以本博客梳理一些计算机特别是人工智能相关的期…

Swagger文档转html和pdf格式_亲测成功

Swagger文档转html和pdf格式_亲测成功 spring maven项目 使用Swagger作为接口文档时,可以导出html和pdf格式. maven项目pom.xml引入 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncodin…

集成百兆,千兆,万兆网络变压器等电子元器件的RJ45 Jack连接器在屏显控制系统中的应用

Hqst华轩盛(石门盈盛)电子导读&#xff1a;集成百兆&#xff0c;千兆&#xff0c;万兆网络变压器等电子元器件的RJ45 Jack连接器在屏显控制系统中的应用 一 ﹑集成百兆&#xff0c;千兆&#xff0c;万兆网络变压器等电子元器件的RJ45 Jack连接器在屏显控制系统中的应用前景 近年…

Go-JWT完整示例

依赖安装 go get -u github.com/golang-jwt/jwt/v5 文档地址 文档 创建对象 jwt的相关配置 # jwt configuration jwt:signing-key: xxxexpires-time: 7dbuffer-time: 1dissuer: fancy_fishclaim-strings: fancy_fish_to_do_listclaims类型配置 package requestimport (&…

【m122】webrtc的比较

uint16的比较IsNewerSequenceNumber 和 u32的比较LatestTimestamp G:\CDN\WEBRTC-DEV\libwebrtc_build\src\modules\include\module_common_types_public.h/** Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.** Use of this source code is governed …

Node.js中Router的使用

文章目录 介绍router的优点1.导入Express和创建Router&#xff1a;2. 定义路由&#xff1a;3.将router暴露到模块外&#xff1a;4. 将Router挂载到Express应用中&#xff1a;4.1.引入router4.2.使用中间件让router在Express应用中生效(三种写法) 5. 完整示例&#xff1a;5.1.编…

面试题:Spring Boot应用的打包部署方式(jar/war、内嵌服务器)

Spring Boot应用的打包部署方式主要有两种&#xff1a; jar 和 war &#xff0c;分别对应不同的部署场景和需求。 ### 1. 打包成 JAR 包部署 #### JAR (Java Archive) 方式 Spring Boot的一个核心特性就是其内嵌服务器&#xff08;默认是Tomcat&#xff0c;也可更换为J…

【Web】NSSCTF Round#20 Basic 两道0解题的赛后谈

目录 前言 baby-Codeigniter 组合拳&#xff01; 前言 本想着说看看go的gin框架就睡了的&#xff0c;r3师傅提醒说赛题环境已经上了&#xff0c;那不赶紧研究下&#x1f600; 主要来谈谈做题的心路历程 baby-Codeigniter 拿到题目的第一反应应该是&#xff1a;“什么是C…

jmeter性能压测的标准和实战中会遇到的问题

1.性能标准建议 CPU 使用率&#xff1a;不超过 70% 内存使用率&#xff1a;不超过 70% 磁盘&#xff1a;%util到达80%严重繁忙 &#xff08;os.disIO.filesystem.writeKbPS 每秒写入的千字节&#xff09; 响应时间&#xff1a;95%的响应时间不超过8000ms 事务成功率&#xff1a…