机器人控制系列教程之Delta机器人运动学分析(2)

基于MATLAB的Delta机器人正向运动学模型求解

我们在上一篇推文 中,推导了Delta机器人的正向运动学,简单来说,就是我们可以通过机器人的末端位姿求解出对应的关节空间的角度(位置)。

最终我们分析该机器人的空间位置结构方程最终取得一个解为:

t i = − N i + N i 2 − 4 M i Q i 2 M i {t_i} = {{ - {N_i} + \sqrt {N_i^2 - 4{M_i}{Q_i}} } \over {2{M_i}}} ti=2MiNi+Ni24MiQi

该机器人的驱动角为: θ i = 2 arctan ⁡ ( t i ) {\theta _i} = 2\arctan ({t_i}) θi=2arctan(ti)

% 定义Delta机器人的正向运动学求解函数
function theta=sA(x,y,z)

%% Delta机器人结构参数,此处字母表示可参考上图。
Rd=0.120;
rd=0.045;
r=Rd-rd;
La=0.260;
Lb=0.640;

x=-x;
m=x^2+y^2+z^2+r^2+La^2-Lb^2;

% 支链1计算
M1=((m-2*x*r)/(2*La))-(r-x);
N1=2*z;
Q1=((m-2*x*r)/(2*La))+(r-x);
% 支链2计算
M2=((m+(x-sqrt(3)*y)*r)/La)-2*r-(x-sqrt(3)*y);
N2=4*z;
Q2=((m+(x-sqrt(3)*y)*r)/La)+2*r+(x-sqrt(3)*y);
% 支链3计算
M3=((m+(x+sqrt(3)*y)*r)/La)-2*r-(x+sqrt(3)*y);
N3=4*z;
Q3=((m+(x-sqrt(3)*y)*r)/La)+2*r+(x+sqrt(3)*y);

t12=(-N1+sqrt(N1^2-4*M1*Q1))/(2*M1);
t22=(-N2+sqrt(N2^2-4*M2*Q2))/(2*M2);
t32=(-N3+sqrt(N3^2-4*M3*Q3))/(2*M3);

theta1=2*atan(t12);
theta2=2*atan(t22);
theta3=2*atan(t32);

theta=-[theta1 theta2 theta3]*180/pi;
end

函数调用:

a=sA(0,0,0.54532)

当我们输入该机器人的初始位置时,可得出该机器人的关节空间的变量基本为0.因此也验证了我们建立的正向运动学的准确性。

并联机器工作空间求解方法

现有的基于位置反解法求解工作空间方法主要有三种:

  1. 第一种方法的主要思路是:先得到工作空间内部点的筛选条件,即通过计算可以得到实数解的点就是工作空间内部的点,将大于工作空间的长方体中的点随机取出并使用筛选条件进行筛选,得到足够的点后将通过筛选的所有点进行三维建模。
  2. 第二种方法的主要思路是:先求出工作空间上下边界的最值位置,将该范围内的点以一定的间隔带入位置反解方程进行验证,将确定是工作空间上下边界的点进行插值拟合后即可在 Matlab 中得到工作空间模型。
  3. 第三种方法的主要思路是:通过求解单个支链的的子空间边界曲面,通过空间曲面融合技术和结构限制条件,将所有支链的子空间进行融合处理,即可到整体工作空间。

基于位置正解的求解方法:
现有的基于位置正解法求解工作空间方法主要有二种:

  1. 使用蒙特卡洛法通过随机输入主动杆输入角对工作空间进行仿真,该方法与串联机器人的工作空间求解一样。
  2. 将工作空间的求解转化为对基于位置正解法得到的非线性方程组的求解,由于计算量过大所以得到的点数较少,结果并不是很好。
    求解步骤:
  3. 预估机器人工作空间的大小,确定机器人三个自由度的变化范围;
  4. 带入位置逆解,检查是否符合工作空间中的一点;
  5. 重复第2步,生成多个工作空间中的点;
  6. 通过matlab等软件绘制三维散点图。

具体代码如下:

clear all
clc;

n=10000;
pj=[];
for i=1:n  
    x=0.001*(-500+1000*rand(1,1));
    y=0.001*(-500+1000*rand(1,1));
    z=0.001*(380+(900-380)*rand(1,1));
    
    rd=0.045;
    Rd=0.120;
    r=Rd-rd;
    La=0.260;
    Lb=0.640;    
    m=x^2+y^2+z^2+r^2+La^2-Lb^2;

    M1=((m-2*x*r)/(2*La))-(r-x);
    N1=2*z;
    Q1=((m-2*x*r)/(2*La))+(r-x);
    M2=((m+(x-sqrt(3)*y)*r)/La)-2*r-(x-sqrt(3)*y);
    N2=4*z;
    Q2=((m+(x-sqrt(3)*y)*r)/La)+2*r+(x-sqrt(3)*y);
    M3=((m+(x+sqrt(3)*y)*r)/La)-2*r-(x+sqrt(3)*y);
    N3=4*z;
    Q3=((m+(x-sqrt(3)*y)*r)/La)+2*r+(x+sqrt(3)*y);

    if N1^2-4*M1*Q1>=0
        if N2^2-4*M2*Q2>=0
            if N3^2-4*M3*Q3>=0
               p=[x,y,z];
               st=sA(x,y,z);
               if st(1,1)<60 && st(1,1)>-60 && st(1,2)<60 && st(1,2)>-60 && st(1,3)<60 && st(1,3)>-60
                   ps=[st,p];
                   pj=[pj;ps];
                end
            end
        end
    end
    
end        

aa=pj(:,4)*1000;
bb=pj(:,5)*1000;
cc=-pj(:,6)*1000;
scatter3(aa,bb,cc,'.')

求解结果如下:

往期推荐

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

服务器数据恢复—raid5阵列硬盘出现大量坏道的数据恢复案例

服务器存储数据恢复环境&故障&#xff1a; 一台DELL EqualLogic PS 4000存储中有一组由12块磁盘组建的raid5阵列&#xff0c;存储空间划分3个同等大小的卷&#xff0c;采用的VMFS文件系统。 两块硬盘指示灯亮黄色&#xff0c;raid5阵列崩溃&#xff0c;存储变得不可用。 服…

C++类型转换可调用对象

目录 C的四种可视性类型转换 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast C中的可调用对象 普通函数 函数指针 仿函数 Lambda表达式 包装器function bind C的四种可视性类型转换 C语言中的类型转换是不安全、不明确的&#xff0c;于是C就出了更…

跨境业务经验推荐:三大优秀的IP代理服务商

作为一名多年从事跨境业务的老手&#xff0c;今天我要给大家介绍几款绝对靠谱的IP代理服务商&#xff0c;保证让你的全球业务更加顺畅&#xff01; 1. 711Proxy 711Proxy以其优秀的性能和覆盖范围广而著称。对于跨境电商和国际业务来说&#xff0c;快速稳定的网络连接至关重要…

115V 400HZ远机位电源车在国际机场的推广与应用

随着我国航空业的快速发展&#xff0c;对于远机位电源车的需求也越来越迫切。远机位电源车可以为飞机提供稳定、可靠的电力&#xff0c;确保飞机在停机、起降、航行等环节中正常运行。在当前的航空技术中&#xff0c;115V 400HZ 远机位电源车技术发展及其在航空领域的应用逐年增…

把 AI 人机炼成高玩,游戏 AI 技术实践指南,码住!

今天&#xff0c;为大家深入浅出地讲明白上亚运的经典 IP《梦三国 2》&#xff0c;到底应用了哪些来自网易数智的 AI 黑科技。看完你就会觉得&#xff1a;原来做 AI&#xff0c;我也行&#xff01; 方案概述 游戏作为 AI 落地最佳的试验田&#xff0c;近年来已经产生了多个极具…

计算机系统基础(二)

1.数值数据的表示 为什么采用二进制&#xff1f; 二进制只有两种基本状态&#xff0c;两个物理器件就可以表示0和1二进制的编码、技术、运算规则都很简单0和1与逻辑命题的真假对应&#xff0c;方便通过逻辑门电路实现算术运算 数值数据表示的三要素 进位记数制&#xff08;十…

计算机缺少d3dcompiler_43.dll无法继续执行代码怎么修复

打开游戏或许软件程序时候&#xff0c;我们会经常遇到各式各样的问题&#xff0c;比如找不到d3dcompiler_43.dll无法继续执行代码就是非常常见的问题&#xff0c;今天我叫大家如何解决遇到d3dcompiler_43.dll丢失问题&#xff0c;也详细介绍d3dcompiler_43.dll文件是什么与丢失…

加油卡APP开发,汽车加油省钱新模式

随着社会生活水平的提高&#xff0c;汽车已经成为了家家户户的出行工具&#xff0c;汽车加油也就成为了居民日常出行必不可少的开销。为了让居民享受到更加便利、优惠的加油体验&#xff0c;加油卡APP由此产生&#xff0c;不仅方便了用户&#xff0c;也给汽车加油市场提供了更加…

Qt常用技巧代码分享

写在前面:首先Qt主要是面向于界面设计,界面有些布局以及用法很多,可以不会写代码,但是要知道Qt可以实现这个功能,然后一点点去寻找学习,问AI也好,百度也好都可以,总比Qt可以实现某些布局功能,但是你不知道怎么去实现这些功能要好得多。俗话说的好,可以不会,但是不能…

跨境电商新趋势:海外盲盒小程序的市场机遇

随着全球经济的深度融合和消费者需求的日益多元化&#xff0c;跨境电商作为一种新型的国际贸易模式&#xff0c;正在以前所未有的速度发展。而在这一浪潮中&#xff0c;海外盲盒小程序凭借其独特的商业模式和强大的市场潜力&#xff0c;正逐渐成为跨境电商领域的新宠。本文将探…

双目摄像头测距

Opencv双目校正函数 stereoRectify 详解 参数说明&#xff1a; 输入参数&#xff1a; cameraMatrix1&#xff1a;左目相机内参矩阵 distCoeffs1&#xff1a;左目相机畸变参数 cameraMatrix2&#xff1a;右目相机内参矩阵 distCoeffs2&#xff1a;右目相机畸变参数 imageSize&…

检索增强生成RAG系列6--RAG提升之查询结构化(Query Construction)

在系列3文档处理中&#xff0c;我们着重讲解了文档解析&#xff0c;但是我们说的文档都是大部分是非结构化的文档或者说它就是以一个文档的形式存储。而现实中我们很多有价值的数据可能以结构化&#xff08;关系型数据库、图形数据库等&#xff09;或者半结构&#xff08;关系型…

基于X86+FPGA+AI的切割机控制、六轴机器人控制方案

一、智能设备控制 应用场景 智能制造(Intelligent Manufacturing, IM)是一种由智能机器和人类专家共同组成的人机一体化智能系统&#xff0c;它在制造过程中能进行智能活动&#xff0c;诸如分析、推理、判断、构思和决策等。通过人与智能机器的合作共事&#xff0c;去扩大、延…

从零到百万用户的扩展之路

写在前面: 此博客内容已经同步到我的博客网站,如需要获得更优的阅读体验请前往https://mainjaylai.github.io/Blog/blog/system/design-system 设计一个支持数百万用户的系统是极具挑战性的,它是一段需要持续优化和不断改进的旅程。在这篇博客中,我们将构建一个支持单个用…

开发数字药店APP实战:互联网医院系统源码详解

本篇文章&#xff0c;笔者将深入探讨如何开发一个功能完善的数字药店APP&#xff0c;并详细解析互联网医院系统的源码实现。 一、数字药店APP的需求分析 应具备以下基本功能&#xff1a; 用户注册与登录 药品搜索与浏览 在线下单与支付 订单管理 健康咨询与远程医疗 个人…

人脉社群平台微信小程序系统源码

&#x1f31f;【解锁人脉新纪元&#xff1a;探索人脉社群平台小程序】&#x1f31f; &#x1f680;【开篇&#xff1a;为什么我们需要人脉社群平台小程序&#xff1f;】&#x1f680; 在这个快节奏的时代&#xff0c;人脉不再是简单的名片交换&#xff0c;而是通往成功与机遇…

发电机保护屏的作用及其重要性

发电机保护屏的作用及其重要性 发电机保护屏是电力系统中的重要组成部分&#xff0c;它负责监测和控制发电机的运行状态&#xff0c;确保发电机在正常运行和故障情况下都能得到及时、准确的保护。负责监测和控制发电机运行状态&#xff0c;确保及时准确的保护。它由显示屏、控制…

Nacos 2.x 系列【18】多网卡 IP 配置

文章目录 1. 前言2. 服务端3. 客户端 1. 前言 个人电脑或者服务器&#xff0c;存在多网卡环境时&#xff0c;Nacos 可能会存在IP不正确问题。 2. 服务端 Nacos 服务在启动的时候需要选择运行时使用的IP或者网卡&#xff0c;在启动时&#xff0c;可以看到打印了IP&#xff1a…

2024年【四川省安全员A证】试题及解析及四川省安全员A证模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 四川省安全员A证试题及解析根据新四川省安全员A证考试大纲要求&#xff0c;安全生产模拟考试一点通将四川省安全员A证模拟考试试题进行汇编&#xff0c;组成一套四川省安全员A证全真模拟考试试题&#xff0c;学员可通…

如何在 Odoo 16 中将按钮添加到所有表单视图的操作按钮

在 Odoo 中&#xff0c;操作按钮是关键组件&#xff0c;允许用户触发与特定表单视图相关的特定操作或工作流。这些按钮策略性地放置在用户界面中&#xff0c;可简化操作并提高用户效率。它们可以自定义以执行各种任务&#xff0c;例如创建记录、更新信息或启动特定流程。 操作…