热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

六自由度机械臂研究(1)简介,自由度与改装

六自由度机械臂研究(1)-简介,自由度与改装博主曾经以五自由度机械臂为基础做过本科的毕业设计,毕设的大部分精力是视觉操控部

六自由度机械臂研究(1)- 简介, 自由度与改装

博主曾经以五自由度机械臂为基础做过本科的毕业设计,毕设的大部分精力是视觉操控部分 但是限于时间短, 任务重。 最后仅仅实现了简单的操控, 并没有涉及到精确地机械臂动作规划。 由于我打算将我的本科毕设继续完善升级—— 以此作为我研究生期间的毕设(加入机器学习,视觉检测,动作规划等方面)。 所以认真改装升级我的机械臂设备以及重新建模并进行精确地动作规划是非常有必要的。


机械臂入门知识盘点


(1)六自由度机械臂简介

机械臂是机器人技术领域中使用最广泛的自动机械装置。它可以在工业制造,医疗,娱乐服务,军事,半导体制造和太空探索中看到。虽然它们的形状不同,但它们都具有共同的特征,即它们可以接受指令并准确地定位三维(或二维)空间中的点以进行操作。

六自由度机械手臂,顾名思义,由六个关节组成,由伺服电机机械臂驱动。既然它是手臂,那么就有几个关节,可以想象我们的人体手臂,除了肩膀,肘部,手腕三个关节外,加上手指的关节,还有很多关节。我们的机器人手臂也是如此,它使用六个伺服电机来实现简单的手部结构。除了没有人的关节外,还有一些神经组织和神经系统缺失。然而,已经开发出具有“灵巧手”(其可以完成复杂的组装,处理或手动抓取蛋的手)的“人形”机器。


(2)自由度

自由度: 自由度是机器人的一个重要技术指标,它是由机器人的结构决定的,并直接影响到机器人的机动性。

物体上任何一点都与坐标轴的正交集合有关。物体能够对坐标系进行独立运动的数目称为自由度(DOF,degree of freedom)。如下图所示:
坐标轴
沿着坐标轴ox、oy和oz的三个平移运动T1,T2和T3;

绕着坐标轴ox、oy和oz的三个旋转运动R1,R2和R3。

这意味着物体能够运用三个平移和三个旋转,相对于坐标系进行定向和运动。

一个物体可以相对于坐标系,进行三个平移和三个旋转运动,即一个简单的物体有六个自由度


机器人的自由度

机器人的自由度 是指机器人所具有的独立坐标轴运动的数目,但一般不包括手部(末端操作器)的开合自由度。自由度表示了机器人动作灵活的尺度,但也不是自由度越多越好。因为随着自由度的增加,其结构也会变得更加复杂。


机器人自由度的完美诠释

和电路一样,机器人的自由度也有串并联之分,它们之间的区别在哪呢?举一个简单的例子,串联机器人像是我们用一只手拿起一个东西,并联机器人就相当于两个手一起端一个东西。并联机器人具有刚度大、承载能力强、精度高、末端件惯性小等优点,串联机器人具有结构简单、控制简单、运动空间大等优点。

而关于机器人自由度的完美诠释,我们举个例子。

串联机器人–7自由度机械臂
一般来讲,由之前我们所讲的刚体的自由度来看,6自由度的机械臂已经足够确定末端物体的位姿,那为什么还要增加一个冗余自由度呢?先看一个有趣的例子。

首先介绍一个定理:
6个自由度的机械手,在空间中无法在保持末端机构的三维位置不变的情况下从一个构型变换到另一个构型。

这个定理乍一看很不好理解,可以考虑一个更简单的情况:
六自由度机械臂局限性

如上图所示, 六自由度机械臂如果想改变姿势的同时(由左姿势摆动到右姿势)而时刻保持末端位置不变是不可能的

但是人的手臂是完全可以实现的! 想象一下, 在日常生活中, 你拿着一个水杯, 你完全可以在摆动(旋转)手臂的同时而保持水杯在三维坐标中保持不动———防止杯中的水洒下。

这是为什么呢? 分析人体手臂后我们可以清晰的发现人体手臂的结构是七自由度! 如下图所示
手臂建模
上图为人的手臂自由度剖析图,除去末端手指的自由度,这恰好也是7个自由度。如果我们把上图分解为一个个转动副的关节,便可以得到下面的数学模型:

关节轴建模
由上图解析可得出结论,也许这就是上帝在创造人类的鬼斧神工之处,每一种生物体完美的立体结构都可以为我们创造机器人带来灵感。那么为什么上帝多为我们的手臂创造了七个自由度而不是六个呢?
关于它的答案有特别学术的解释:
改善运动学特性(奇异构型、关节位移超限、工作环境中存在的障碍);
改善动力学特性(七轴机器人可以实现关节力矩的再分配,使整个机器人的力矩分配均匀合理);
容错性(即使有一个关节失效,还可以继续正常工作)。

总结来说: 七自由度机器人可以实现不改变末端位置,只改变机械臂姿态。这对于6自由度机器人来说是无法实现的。 但是要实现驱动机械臂末端到达到任意有效位置来时, 六自由度已经足够了。


(3)五自由度机械臂的改装

楼主曾经在某宝买过一套小型的教学五自由度机械臂部件。由于在开发过程中发现了五自由度的诸多不便, 决定自己进行改装并再加一个自由度。 由于此款机械臂是由简单的机械结构组装而成, 所以原料多, 改装的自由度大, 易于开发者改装学习机械别的机械结构。

五自由度机械臂
五自由度机械臂成品如上图所示,感兴趣的朋友可以参考一下。 博主只买了舵机与空支架配件以及一个简单的夹手。驱动电路板用了博主自己设计的电路板(后面会详细介绍)所以用没买他们家的驱动电路, 只买了一套空架子。 链接如下:乐幻索尔机械臂。

虽然他们家的机械臂在某宝上的简介都标明是六自由度机械臂, 但是买回来组装后发现只有五个自由度。。。 看来客服是把夹手的舵机也算成一个自由度了。 由于本科毕业设计的机械臂部分只要求简单的机械臂操纵, 并没有涉及到运动学的算法部分。 所以当时就仅仅实现了简单的操控五自由度机械臂, 没有研究到运动学算法。

既然现在要抽出时间要好好研究机械臂的运动学算法了, 所以将这款机械臂升级成六自由度机械臂就能更好的辅助学习测试。So, 又在某宝买了几个舵机与支架, 开始改装。 最后选定了一个舵机支架, 一个L型架, 两个长U型架, 和两个短U支架。 最后为了稳固加重了的机械臂,又加了一个旋转云台

经过参考多个六自由度机械臂样例后, 我选择在原五自由度机械臂的第三,四轴之间加一个垂直旋转轴作为新的自由度。 加完云台以及新的自由度后, 改装成果如下图所示(银色部分为新增自由度):

机械臂改装
新增自由度
最终六自由度机械臂效果图如下:
改装效果图
改装准备OK, 下一步开始测量建模, 为运动学算法做准备。


推荐阅读
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • ①页面初始化----------收到客户端的请求,产生相应页面的Page对象,通过Page_Init事件进行page对象及其控件的初始化.②加载视图状态-------ViewSta ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 当写稿机器人真有了观点和感情,我们是该高兴还是恐惧?
    目前,写稿机器人多是撰写以数据为主的稿件,当它们能够为文章注入观点之时,这些观点真的是其所“想”吗?最近,《南 ... [详细]
  • plt python 画直线_机器学习干货,一步一步通过Python实现梯度下降的学习
    GradientDescent-梯度下降梯度下降法(英语:Gradientdescent)是一个一阶最优化算法,通常也称为最速下降法。要使用梯度下降法找 ... [详细]
  • ICRA2019最佳论文  Making Sense of Vision and Touch: SelfSupervised Learning of Multimodal Representatio
    文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
author-avatar
一支妙笔生花来
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有