关于6轴球腕机械臂的肩部奇异描述纠正

news2025/3/13 20:59:27

对于常见的球腕6轴机械臂构型,在大多数资料中奇异点描述如下:

  • 肩部奇异点(Shoulder singularity): 肩部奇异点是在机器人手腕的中心与J1轴关节在同一条直线上时发生。这种情况下,会导致关节轴1和4试图瞬间旋转180度。

  • 肘部奇异点(Elbow singularity): 当机器人手腕的中心与关节轴2和3处于同一平面时,会产生肘部奇异点。肘部奇异点看起来像机器人“伸得太远”,导致肘部锁定在某个空间位置。

  • 腕部奇异点(Wrist singularity): 当机器人的两个手腕轴(关节轴4和6)在同一条直线上时,就会发生这种情况,这可能会导致这些关节试图立即旋转180度。

对于肘部奇异和腕部奇异,博主无异议,而对于肩部奇异点,博主发现一个问题,即即使球腕中心点与J1轴线不重合,也可能存在该问题。

案例如下:
现有一机器人构型(最常见的构型)如下图所示,
在这里插入图片描述
MDH被定义为:

robot:: 6 axis, RRRRRR, modDH, slowRNE                           
+---+-----------+-----------+-----------+-----------+-----------+
| j |     theta |         d |         a |     alpha |    offset |
+---+-----------+-----------+-----------+-----------+-----------+
|  1|         q1|        0.1|          0|          0|          0|
|  2|         q2|          0|          0|     1.5708|     1.5708|
|  3|         q3|          0|        0.2|          0|     1.5708|
|  4|         q4|        0.2|          0|     1.5708|          0|
|  5|         q5|          0|          0|    -1.5708|          0|
|  6|         q6|        0.1|          0|     1.5708|          0|
+---+-----------+-----------+-----------+-----------+-----------+

在当前位置下,坐标系456原点与1轴重合,发现雅可比矩阵的秩为5。
在这里插入图片描述

当我给连杆2一个较大的偏置时,此处d2=200,此时构型如下图所示:
在这里插入图片描述

从下图中可以看到,坐标系456原点与J1轴线已不再重合,但雅可比矩阵仍奇异。
在这里插入图片描述

由此可见,常见的肩部奇异描述是有问题的,正确的肩部奇异点描述应如下:

腕部中线点在通过J1轴线且平行J2轴线的平面上。
腕部中线点在通过J1轴线且平行J2轴线的平面上。
腕部中线点在通过J1轴线且平行J2轴线的平面上。

What are robot singularities


测试代码如下:

% 通过修改d2的值,观察该现象
clear,clc,close all

d1 = 100;
d2 = 0;
d4 = 200;
d6 = 100;
a3 = 200;
d=[d1 d2 0 d4 0 d6]/1000;
a=[0 0 a3 0 0 0]/1000;
alpha=[0 pi/2 0 pi/2 -pi/2 pi/2];
offset = [0 pi/2 pi/2 0 0 0];

for i=1:6
   Link(i) = RevoluteMDH('d', d(i),'a', a(i),'alpha', alpha(i), 'offset', offset(i));
end

robot = SerialLink(Link,'name','robot')

R = sqrt(a3*a3+d4*d4);
q = [0,-asin(a3/R),pi/2,0,pi/4,pi/2]
J = robot.jacob0(q)
[~,S,~]=svd(J)
rankJ = rank(J)
robot.plot(q)
jsingu(J)

T01 = robot.links(1).A(q(1)).T;
T12 = robot.links(2).A(q(2)).T;
T23 = robot.links(3).A(q(3)).T;
T34 = robot.links(4).A(q(4)).T;
T04  = T01 * T12 * T23 * T34

参考链接:

  • https://zhuanlan.zhihu.com/p/531651439
  • https://www.cad2d3d.com/post-1615.html
  • https://www.163.com/dy/article/GIBAB7RQ05524DYX.html
  • https://www.mecademic.com/academic_articles/singularities-6-axis-robot-arm/

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

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

相关文章

【Java-框架-SpringMVC】(01) SpringMVC框架的简单创建与使用,快速上手 - 简易版

前言 【描述】 "SpringMVC"框架的简单创建与使用,快速上手; 【环境】 系统"Windows",软件"IntelliJ IDEA 2021.1.3(Ultimate Edition)";“Java版本"1.8.0_202”,“Spring"版…

【Machine Learning】02-Advanced Learning Algorithms

02-Advanced Learning Algorithms 2. Advanced Learning Algorithms2.1 Neural Network2.1.1 概述2.1.2 Neural network model2.1.3 TensorFlow的实现2.1.4 Neural network implementation in Python2.1.5 强人工智能(AGI) 2.2 Vectorization2.2.1 矩阵使…

Hadoop分布式文件系统-HDFS

1.介绍 HDFS (Hadoop Distributed File System)是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以部署在低成本的硬件上。 2.HDFS 设计原理 2.1 HDFS 架构 HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成:

keep-alive 是 Vue 的一个内置组件,用于缓存其他组件的实例,以避免重复渲染和销毁,它可以在需要频繁切换的组件之间提供性能优化

目录 keep-alive 使用 keep-alive 的示例代码: 手动清除组件缓存的示例代码: keep-alive 组件有以下几个优点: keep-alive 的原理: 使用 keep-alive 组件,你可以包裹需要缓存的组件,然后这些组件在切…

基于Springboot实现在线答疑平台系统项目【项目源码+论文说明】

基于Springboot实现在线答疑平台系统演示 摘要 社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大师生的喜爱,也逐渐进入了每个学生的使用。互联网具有便利性,速度快,效率高,成本…

Brew包的基本安装(手把手教学)

大家在使用mac或者linux系统的过程中,大致了解Homebrew的用处,不多说直接进入正题 相信大家已经看到了Homebrew官网的安装介绍了,我们依然使用终端(不去下载应用过于麻烦) 一、开始安装 在按照官网安装时发现会安装失…

Linux常见基本指令合集及其效果展示

Linux基本命令 文章目录 Linux基本命令1. whoami2. who3. clear4. pwd5. 查看文件信息5.0 什么是文件5.1 ls5.2 ls -l5.3 ls -a5.4 ls -a -l 6. 补充知识:对于Linux系统目录的认知6.1 什么是路径 7. cd8. touch9. mkdir10. rmdir11. rm12. man13. cp14. mv15. nano1…

(Python) Python中三种时间格式的转换方法

1. 时间元组 1.1. 时间元组和时间戳的互相转化 import time,datetime # 获取当前时间的时间元组 t time.localtime() print(t) # 时间元组转时间戳 timestamp time.mktime(t) print(timestamp) # time.struct_time(tm_year2019, tm_mon10, tm_mday23, tm_hour23, tm_min15,…

clion 此文件不属于任何项目目标

如果你已经尝试了所有办法都不行,那就试试这个,不需要重启ide,啥都不用干。版本clion 2023.2.2

华为OD机考算法题:评论转换输出

题目部分 题目评论转换输出难度难题目说明在一个博客网站上,每篇博客都有评论。每一条评论都是一个非空英文字母字符串。评论具有树状结构,除了根评论外,每个评论都有一个父评论。当评论保存时,使用以下格式: 首先是评…

24届好未来数开笔试

目录 选择、多选SQL题目描述输入 目标解答解析 题目分享 选择、多选 Java, int x 1, float y 2, x/y 0.5 2. Hive 的数据结构 基本数据类型 复合数据类型 text 不是 Hive 内外表 建表时如果不显示声明表的类型为 外表 Kafka 通过()避免任务重复执行…

利用QT通过http协议,来实现上传文件功能

#假如你有一台服务器,你最想做哪些事?# 大体上的软件界面如下: 主要阐述一哈写的这个软件实现的功能: 通过名称找到指定的文件,并且将文件按照后缀名的格式进行分开,最后再将所有找到的文件,进…

Vue3-属性绑定、定时任务

1.Vue3-属性绑定 2.定时任务 1.Vue3-属性绑定 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><!-- vue.js --><script src"https://unpkg.com/vue3/dist/vue.gl…

android开源投屏工具scrcpy简介

目录 一&#xff0c;初识scrcpy 1.1 scrcpy介绍 1.2 scrcpy特点 二&#xff0c;scrcpy指令说明 2.1 画面设置 2.1.1 缩小分辨率 2.1.2 修改画面比特率 2.1.3 限制画面帧率 2.1.4 画面裁剪 2.1.5 锁定屏幕朝向 2.2 屏幕录制 2.3 连接方式 2.3.1 无线 2.3.2 多设备…

云计算:掌控未来,一触即发!

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是尘缘&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f449;点击这里&#xff0c;就可以查看我的主页啦&#xff01;&#x1f447;&#x…

Systrace学习笔记

Systrace学习笔记 1.Systrace快捷键2.线程状态3.CPU info4.图形化4.1 Frames帧4.2 用户活动4.3 CPU活动4.4 系统事件 5. SystemServer5.1 SystemServer简介5.2 窗口动画5.3 AMS(ActivityManagerService)5.4 WMS(WindowMagerService)5.5 ServiceThread5.6 HandlerThread 6. Surf…

软考-网络安全体系与网络安全模型

本文为作者学习文章&#xff0c;按作者习惯写成&#xff0c;如有错误或需要追加内容请留言&#xff08;不喜勿喷&#xff09; 本文为追加文章&#xff0c;后期慢慢追加 by 2023年10月 网络安全体系相关安全模型 BLP机密性模型 BLP&#xff08;Biba-格雷泽-麦克拉伦&#x…

安装Elasticsearch步骤(包含遇到的问题及解决方案)

注&#xff1a;笔者是在centos云服务器环境下安装的Elasticsearch 目录 1.安装前准备 2.下载Elasticsearch 3.启动Elasticsearch 非常容易出问题 第一次运行时&#xff0c;可能出现如下错误&#xff1a; 一、内存不足原因启动失败 二、使用root用户启动问题 三、启动ES自…

【数据仓库】hadoop生态圈与数据仓库

文章目录 1.大数据定义2. Hadoop与数据仓库3. 关系数据库的可扩展性瓶颈4. CAP理论5. Hadoop数据仓库工具5.1. RDS和TDS5.2. 抽取过程5.3. 转换与装载过程5.4. 过程管理和自动化调度5.5&#xff0e;数据目录&#xff08;或者称为元数据管理&#xff09;5.6&#xff0e;查询引擎…

ELK + Filebeat 分布式日志管理平台部署

ELK Filebeat 分布式日志管理平台部署 1、前言1.1日志分析的作用1.2需要收集的日志1.3完整日志系统的基本特征 2、ELK概述2.1ELK简介2.2为什么要用ELK?2.3ELK的组件 3、ELK组件详解3.1Logstash3.1.1简介3.1.2Logstash命令常用选项3.1.3Logstash 的输入和输出流3.1.4Logstash配…