4_机械臂位姿求逆理论及代码计算

news2024/11/20 10:27:14

1、aubo arcs sdk poseInverse 使用例子

auto cur_pose = rpc_cli->getRobotInterface(robot_name)
                ->getRobotState()
                ->getTcpPose();


    // 2.288083 0.035207 1.550335
    auto pose_inv = rpc_cli->getMath()
                       ->poseInverse(cur_pose);


      //结果:0.118611 -0.576932 -0.273097 -3.082975 -0.852550 1.539719

de8312430f1fe69d5f776358ff5d0804.png

2、位姿逆变换

1>UR机械臂脚本手册

pose_inv(p_from)

获取姿态的反向。

参数

p_from:工具姿态(空间矢量)

返回值

使工具姿态变换反向(空间矢量)

2>《机器人学导论》变换算法-逆变换

  已知坐标系{B}相对于坐标系{A}——即908a52f758dab81b30ff673acd3036dc.png的值已知。有时为了得到{A}相对于{B}的描述,即7af60ca8f548a5ca956606a6ac4579fc.png,需要求该矩阵的逆。一个直接求逆的方式是将4×4齐次变换求逆。但是,这样做就不能充分利用变换的性质。容易看出比较简单的方法是利用变换的性质求逆。

   为了求424b3afef723c7f807da62ad2296c1f9.png,必须由9d6685c62b10c8ac94563c28872bc78d.png1e1e0ba7c9cfb643cb02789ff26fe68a.png求出dfd9f910e663bfb1c67a4dcedeb61696.png960b5e86772bcd110871ae4f9aca21da.png。首先,回顾一下关于旋转矩阵的结论:

4e525838b1206647cdba1f356965b07b.png

95f6183fd84a6a43d9cb75051615ca8e.png

之后利用2-13将2047f0d6b6ea63e4380adaf323e79332.png转变成在{B}中的描述:

0ce8c1eea06d162d631c86eaa5b3c136.png

式2-43的左边应为0,由此可得:

d65ec2bd22907b7e053158c2667e8faf.png

由2-42和2-44可写出:

287faaf132c32a9f7ce652dc1657d803.png

注意,使用符号:

59fcd6c7502d1577199e290f4bc89103.png

式2-45是求齐次逆变换一般且非常有用的方法。

3、eigen库求位姿的逆

直接代码:

Eigen::Vector3d euler_angle(2.288083, 0.035207, 1.550335);
    // 使用Eigen库将欧拉角转换为旋转矩阵
    Eigen::Matrix3d RBA;
    RBA = Eigen::AngleAxisd(euler_angle[2], Eigen::Vector3d::UnitZ()) *
          Eigen::AngleAxisd(euler_angle[1], Eigen::Vector3d::UnitY()) *
          Eigen::AngleAxisd(euler_angle[0], Eigen::Vector3d::UnitX());


    cout << "RBA is :\n" << RBA << std::endl;
    cout << "RBA 转置 is :\n" << RBA.transpose() << std::endl;


    Eigen::Matrix3d R = RBA.transpose();
    Eigen::Vector3d rpy = rotationMatrixToEulerAngles(R); // roll,pitch,yaw
    cout << "roll_2 pitch_2 yaw_2 = " << rpy[0] << " " << rpy[1]
         << " " << rpy[2] << endl;


    Eigen::MatrixXd current_pos(3,1);
    current_pos(0,0)= 0.582681;
    current_pos(1,0)= -0.121500;
    current_pos(2,0)= 0.259270;


    Eigen::MatrixXd inv_pos(3,1);
    Eigen::Matrix<double, 3, 1> m3x1;


    m3x1 = -R*current_pos;
        cout << "m3x1 is :\n" << m3x1 << std::endl;

旋转的逆是其转置矩阵。

Sdk 结果:0.118611 -0.576932 -0.273097 -3.082975 -0.852550 1.539719

结果如图:

7415c43ae72e75e31105c486f2462938.png

好了,本次笔记到此结束。

记徐先生到常州溧阳一游,超人结婚。假期前两天心情异常平静。

欢迎关注:

9fccf11c4a42fca07cad764152935a26.png

坚持探索!

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

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

相关文章

数据不归路?文件清理的后悔药,2个文件恢复技巧

手机已成为我们生活中不可或缺的重要工具&#xff0c;它不仅仅是一个通讯设备&#xff0c;更是我们存储个人信息、工作文件、照片和视频等宝贵资料的仓库。然而&#xff0c;生活中的意外总是难以预料&#xff0c;有时候我们可能会不小心删除重要的文件&#xff0c;或者因为手机…

【c语言】文件操作,解开你的疑惑

文件操作 为什么使用文件什么是文件文件的分类文件名 二进制文件和文本文件文件的打开与关闭流与标准流流标准流 文件指针文件的打开与关闭 文件的顺序读写文件的随机读写文件读取结束的判定文件缓冲区 为什么使用文件 我们程序运行的数据是运行在内存中的&#xff0c;当成程序…

在线课堂知识付费小程序源码系统 带完整的安装代码包以及搭建教程

系统概述 在线课堂知识付费小程序源码系统是基于当前主流技术栈开发的&#xff0c;支持微信小程序端的在线教育平台解决方案。它不仅包含了课程发布、在线学习、支付系统等基础功能&#xff0c;还融入了社区互动、用户管理、数据分析等高级特性&#xff0c;旨在打造一个全方位…

filezilla-server 1.8.1 设置

filezilla-server 1.8.1 设置&#xff1a; 1. 2. 3. 4. 其他不用配置&#xff0c; 5. 6. 7. 8. 9. 如果外网连不上 filezilla-server 提示无法连接到服务器&#xff0c; 多半是 filezilla-server 所在的电脑没有通过防火墙允许&#xff0c;打开 Windows defender 防…

万兴优转 v15 解锁版安装教程(全能音视频格式转换器)

前言 Wondershare UniConverter&#xff08;万兴优转&#xff09;国产全能音视频格式转换器。万兴格式转换器具有音视频格式转换、合并视频、视频压缩、视频编辑、视频录制、下载视频、元数据修复、VR视频转换、字幕编辑器、GIF制作、DVD刻录等一站式视频工具箱功能。万兴转换…

从文本文件中读取博客数据并将其提取到文件中

通常情况下我们可以使用 Python 中的文件操作来实现这个任务。下面是一个简单的示例&#xff0c;演示了如何从一个文本文件中读取博客数据&#xff0c;并将其提取到另一个文件中。 假设你的博客数据文件&#xff08;例如 blog_data.txt&#xff09;的格式 1、问题背景 我们需…

如何压缩jpg图片到200k以下?跟着我操作!

在现代社交媒体和网络分享的时代&#xff0c;经常需要上传和分享各种图片。然而&#xff0c;有时候大尺寸的JPEG图片可能会成为上传和分享的一道难题&#xff0c;特别是当需要在网络条件不佳或存储空间有限的情况下。为了解决这个问题&#xff0c;我们需要学会如何压缩jpg图片到…

鸿蒙轻内核M核源码分析系列二十 Newlib C

LiteOS-M内核LibC实现有2种&#xff0c;可以根据需求进行二选一&#xff0c;分别是musl libC和newlibc。本文先学习下Newlib C的实现代码。文中所涉及的源码&#xff0c;均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m 获取。 使用Musl C库的时候&#xff0c…

什么是AIGC?AIGC是否会颠覆未来的内容生产模式?普通人如何利用好AI提高内容生产效率?

2024年是AI元年&#xff0c;正好我在AI公司里面工作&#xff0c;对AIGC有着几年的研究&#xff0c;接下来把我这对AIGC的学习经验毫无保留的给大家分享一下 AIGC 的简要介绍 在狭义上&#xff0c;AIGC是指利用AI自动生成内容的生产方式&#xff0c;比如自动写作、自动设计等。…

【机器学习】基于3D CNN通过CT图像分类预测肺炎

1. 引言 1.1. 研究背景 在医学诊断中&#xff0c;医生通过分析CT影像来预测疾病时&#xff0c;面临一些挑战和局限性&#xff1a; 图像信息的广度与复杂性&#xff1a; CT扫描生成的大量图像对医生来说既是信息的宝库也是处理上的负担。每组CT数据可能包含数百张切片&#xf…

金智易表通流程设置的若干问题

1、审批节点的审批人取应用权限组&#xff0c;权限组内任一人审批即可通过 在流程节点的主要配置环节&#xff0c;选择候选组 二、已审菜单要求看到自己审过的也能看到别人审过的&#xff0c;即能看到所有已审的记录 管理设置中取消按钮对流程的依赖&#xff0c;不根据流程审批…

汇编:数组数据传送

要在32位汇编中实现数组数据的传送&#xff0c;可以使用字符串操作指令 MOVS 以及其前缀 REP&#xff0c;可以高效地复制数组数据。 MOVS 指令是一种字符串操作指令&#xff0c;用于将数据从源地址移动到目标地址。MOVS 指令有不同的变种&#xff0c;可以处理不同大小的数据&a…

Mimio安装

mkdir -p /usr/local/develop/minio/bin mkdir -p /usr/local/develop/minio/bin wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/develop/minio/bin/minio 编辑脚本 启动脚本 vim /usr/local/develop/minio/start_minio.sh #!/bin/bash # 设…

HTML,CSS,JavaScript实例 —— 齿轮,按钮

文章目录 一、动态按钮二、CSS实例三、滚动的齿轮 一、动态按钮 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style type"text/css">html,body {background: black;height: 100%;displa…

如何在Bing搜索进行广告推广?2024年必应广告投放怎么做?【附开户攻略】

必应&#xff08;Bing&#xff09;作为全球领先的搜索引擎之一&#xff0c;拥有一个独特且庞大的用户群体&#xff0c;尤其在美国和欧洲市场&#xff0c;很多用户选择必应作为他们的主要搜索引擎。通过必应广告&#xff0c;企业可以触达那些在其他搜索引擎上难以接触到的潜在客…

Redis 7.2.x 主从复制+哨兵模式

IP操作系统服务版本192.168.140.153CentOS 7redis-master,sentinel7.2.5192.168.140.156CentOS 7redis-slave,sentinel7.2.5192.168.140.159CentOS 7redis-slave,sentinel7.2.5 一、安装Redis 配置主从复制 参考下面文档&#xff1a; Redis 7.2.x 主从复制-CSDN博客文章浏览…

时间处理基础:Rust 的 chrono 库教程

在开发过程中&#xff0c;我们经常有对时间和日期处理的需求。不论是日历应用、日程安排、还是时间戳记录&#xff0c;准确的时间数据处理都是必不可少的。Rust 社区提供的 chrono 库以其强大的功能和灵活的接口&#xff0c;在 Rust 开发者中广受欢迎。本文将简单介绍 chrono 库…

Nature | 百年未变?博士评定机制该改改了!

19世纪初&#xff0c;德国和法国先后开始授予现代科研博士学位。时至今日&#xff0c;大学的科研与教学早已不同于往昔。但惊人的是&#xff0c;获得和评定博士学位的流程却几乎没变。但改革势在必行。 博士生导师可以从其他教育阶段的创新中学到很多东西。 Innovation in PhD…

成功学为何如此迷人……上瘾……

做自己才是唯一的解药&#xff0c;无需在意他人的看法。 写博客8年与人生第一个502万-CSDN博客 题记&#xff1a;我们并非生来强大&#xff0c;但依然可以不负青春。 原本想好好写一下如何制定一个目标并通过一点一滴的努力去实现&#xff0c;这三年反思发现其实写自己的经历并…

计量校准证书和检定证书区别,企业仪器校准要哪种证书好?

很多企业做校准&#xff0c;会要求校准机构出具相关证书&#xff0c;而有时候也会被机构询问&#xff0c;是要做检定还是校准&#xff0c;出具的证书是要校准证书还是检定证书&#xff1f;那么两者有什么区别呢&#xff1f; 1-检测方式不同 首先两种证书是不同检测方式所给的证…