智能机器人手臂 – 第1部分:机械结构和接线

这篇文章来源于DevicePlus.com英语网站的翻译稿。

robotic arm

您有没有想过拥有一款可以帮您满足日常需求的设备?而且该设备能够区分您(主人)和其他非授权用户,这并非简单的普通工具。在本教程中,我们将向您介绍一款能够识别并理解您语音命令的智能机器人手臂。此机器手臂通过OpenCV软件实现了人脸识别系统。(为了测试目的,我们开发了算法来检测小球颜色。)

作为MakeMIT硬件马拉松项目的一部分,我与同事Isac Andrei和VladNiculescu合作研发了该智能机器人手臂。由于其创新程度和创造性,该项目在硬件马拉松中排名前10。

硬件

  • Arduino UNO
  • 麦克风
  • 网络摄像头
  • 伺服电机

 
软件

 
工具

  • 胶枪
  • 丙烯酸树脂
  • 螺丝
  • 胶带
  • 电锯

 

第一步:结构与力学

处理机器手臂的手腕时,必须非常小心。如果不考虑伺服电机角度就开始组装手腕部件,那么可能会导致手臂发生故障——机器人手臂可能发生您无法控制的混沌行为。在步骤1中,您需要做的就是将5台伺服电机连接到Arduino开发板上,并找到每个伺服机构的正确位置。正确的顺序是自下而上进行校准。

I.底座

底座设计为可向左移动90度,也可向右移动90度。将它放置在金属升降机上进而使基座可以旋转。这是一个关键部分,因为当发出语音命令的人移动时,手臂必须跟随并追踪人物。而且这种跟随必须准确,以便摄像头总能发现人脸。

robotic arm

图1:底座顶视图

底座随动系统安装在一个40 x 30厘米的大亚克力板上,以保持稳定。您也可以用更强大的材料替代亚克力板,从而支撑能够拾起重物的大机器人手臂。

伺服电机安装在一块12 x 12厘米的较小亚克力板上。我们在小板中间钻取了一个与伺服电机尺寸相同的孔。然后,将伺服电机用螺丝拧到孔上(图2)。

robotic arm

图2:底座(前视图)

II.肩部

肩部由两台伺服电机组成,它们相互配合以拾取物体并放置在正确的位置。该项目最重要的校准就在肩部。这两个伺服系统必须完美结合,从Arduino开发板上获得完全相同的命令,并且必须反相同步。为了获得良好的同步性,将两台电机放置在机器人手臂上之前,必须将其面对面放置并通过编程摆动到同一侧。

robotic arm

图3:伺服电机同步性

如果它们的行为不一致,那么处于上游位置的伺服电机会强制第二个电机移动,从而产生短路,最终导致第二个伺服电机烧掉。

如果伺服系统的分辨率不一样,您将无法使它们同步。在这种情况下,最好的办法则是仅使用一种伺服电机。如果它们质量很好,那么实际扭矩会与数据表相同,并且具有提升重物的能力。

另外,为了安全起见,在肩部的基座上装一个旋钮非常好。您也可以使用金属支架,将其放置到所需角度,以防止机械臂坠落。

robotic arm

图4:肩部组件

图4显示了我们之前构建的安装在底座上的肩部。伺服机构固定的部位采用旋转结构。肩部必须牢固地固定在基座上,但也必须能够自由旋转。平衡旋转部分的每一边也很重要,因为我们的装置含有一些较重的支撑金属部件。中心重量必须相同,这样机器手臂旋转时才不会掉落。对于这一部分,我们还放置了一个金属筋(即金属弯头),以便伺服机构没有插入时维持机器臂重量。

III.肘部

现在,我们来看一下肘部。肘部伺服部分通过手臂高度控制。由于手臂必须返回到原来位置,所以肘部延伸部分与肩部之间的最大角度不得超过100度。我们对该机器人手臂原型的肘部伺服系统进行编程,让手臂捡起一个球——系统会协调捕捉器和肩膀,两者相互配合,最终将球拾起。

肘部的工作原理如下:

  • 当肘部延伸部分与肩部之间的角度较小时,肩部的角度将增大;
  • 当肘部和肩部之间的角度较大时,肩部的角度将会减小。

robotic arm

图5:肘部

肘部使用SketchUp STL设计,并用3D打印机打印。(STL扩展可以将图形转换为能够打印的3D模型)。根据设计,肘部在允许弯曲的角度连接2个延伸部分。

robotic arm

图6:肘部的3D模型

当然,肘部的延伸部件需要能够很容易地抬起,所以除了肘部,延伸部分不应连接其他任何东西。每个丙烯酸树脂延伸部件尺寸为20 x 7厘米。延伸部分的另一端用小丙烯酸片粘合起来,以便将两部分固定在一起。您可以改变尺寸,但是由于伺服机构的限制,机械臂的尺寸不应太大

如果您决定更改尺寸(比如制作一个较小的手臂),那么请确保计算出零件的正确尺寸。否则,手臂将发生故障,无法拾起重物。网络摄像机安装在延伸部件上。

robotic arm

图7:安装在机器人手臂上的网络摄像头

VI.手腕

手腕由能够抓取某些小物体的爪钳/捕捉器构成。在本文中,我们以抓取小球为例。当然,手臂还可以抓取并提起适合爪钳的其他物体。您还可以根据您的具体偏好进行设计——必要时请使用SG90 SketchUp文件进行必要修改。您需要做的就根据所抓物体的形状来改变爪钳形状。

robotic arm

图8:手腕

手腕部分也使用SketchUp中的3D模型构建。如果我们想要拿起较重的物体,可以用爪钳抓住它们。但是,爪钳抓取物体时比较有力,可能会对其造成损坏。

robotic arm

图9:手腕的3D模型

 

步骤2:连接伺服电机

  1. 底座

robotic arm

图10:底座伺服系统的接线图

底座伺服(图2)被设置为从0度开始,这意味着它将从左侧开始搜索用户。其旋转角度为140度——机器人手臂可追踪人员递送物体的范围。我们在0度进行校准——这是伺服的中心,叶片面向上方垂直放置。

在控制功能中,基座的分辨率为4度。这是因为在这种情况下,精度不需要太完美。较高的精度反而会导致处理变得缓慢。

每次我们都都需要检查伺服电机的位置,因为相互作用实时进行。为此,我们开发了两个功能:左方和右方。这两个功能可以从35个不同位置追踪人员。

 

  1. 肩部和肘部

肩部与肘部一起能够完成一项重要功能。他们必须弯曲机器人手臂。我们应当指出以下限制,这很重要:

由于前臂的长度,肩部的操作角度不能小于45度,我们有2个例子:

当肩部处于最低位置时,机器人手臂可以拾起最远的物体;

当肩部处于最高位置时,机器人手臂可以拾起最近的物体;

我们选定的角度对于肩部来说已经足够,因为它足以让手臂拾起物体并将其交给正确的人员。

robotic arm

图11:肩部范围

肘部的最大位置不能超过140度,因为该项目的目的是在平面上构建机器人手臂,并且将摄像头与用户处保持在同一高度。我们认为只用70度即可,因为这足以弯曲机器人手臂。

肩部角度和肘部角度之间的组合使手臂具有很大的灵活性,从而形成完整的机器手臂,最终实现拾取物体的功能。

robotic arm

图12:肘部范围

robotic arm

图13:肩部伺服接线图

robotic arm

图14:肘部伺服接线图

本智能机器人手臂教程的第1部分描述了手臂的一般机械结构,以及伺服电机如何与手臂不同连接处进行连接的方法。本教程的第2部分将会介绍几款用C#编写的机器人手臂控制程序。敬请关注!

DevicePlus 编辑团队
Tiberia Todeila

Tiberia目前是布加勒斯特理工大学电气工程学院的大四学生。她非常热衷于智能家居设备的设计和开发,旨在让我们的日常生活更加轻松。

相关文章

  1. how-to-make-eobot_02_19

    “魅力四射”的机器人制作【下篇】

  2. “魅力四射”的机器人制作【上篇】

  3. 用Arduino和TOF距离传感器制作甜甜圈播放器【后篇】

  4. 用Arduino和TOF距离传感器制作甜甜圈播放器【前篇】

  5. 1-1

    Arduino电子制作总结!基于微控制器的电子制作基础之基础篇

  6. 用Arduino制作的太阳能电池板供电数字养殖箱【前篇】

    用Arduino制作的太阳能电池板供电数字养殖箱【前篇】

  7. 使用D/A转换器灵活控制电压并使用Arduino输出模拟信号的方法

  8. 在最后一刻停下来!用Arduino和距离传感器制作小鸡赛车!(第3篇•最终篇)

  9. 在最后一刻停下来!用Arduino和距离传感器制作小鸡赛车!(第2篇)

TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南

基础知识

  • Si功率元器件
  • IGBT功率元器件
  • 热设计
  • 电路仿真
  • 开关噪声-EMC
  • AC/DC
  • DC/DC
  • 电机
  • 传递函数

工程技巧


Sugiken老师的电机驱动器课堂

PICK UP

PAGE TOP