【机器视觉系统】基于3DOF机械臂的五子棋机器人(2)

基于3DOF机械臂的五子棋机器人–机械设计

1. 项目开源与展示

  关于项目开源,因为下位机部分被我不小心删了,又没有备份,所以我只能给出机械设计部分、软件五子棋和机械五子棋部分的源文件了。这个事情我感到万分抱歉,但是再后面的文章中,我会尽可能的讲清楚原理和设计方法。
  我给的文件包括思维导图、机械设计和软件设计三个部分。思维导图文件夹里面比较清楚的记录了整个制作过程;机械部分是机械臂的设计图和参考别人的一些文件,不过我的机械部分也丢了一点点,只能说凑合着看了;软件部分包括软件五子棋和机械五子棋两部分,软件五子棋就是在文章(1)中开头展示的图片,机械五子棋就是本项目的代码,使用的时候仅仅需要配置好Opencv环境即可,因为我并没有写界面,只是用几张图片展示对弈的过程。

  五子棋机器人开源地址https://github.com/Ciaran-byte/FiveChess
  五子棋机器人视频展示https://www.bilibili.com/video/BV1vZ4y1V7wN?from=search&seid=10498638340852850665

2. 机械臂概述

  在这篇文章中,我主要介绍一下机械臂的结构组成原理和电路驱动方式,关于机械臂的运动学会放到后面继续介绍。

2.1 机械臂组成

  一个机械臂一般具有这些部分:电机控制部分、机械臂骨架部分、机械传动部分、末端执行器部分。
在这里插入图片描述
  骨架就是把各个部分连接起来的结构;电机控制一般包括驱动板和控制板,比如可以使用单片机或者PLC控制电机;机械传动是把电机的转动转换为机械臂骨架运动的结构;末端执行器是用来执行最终工作的结构,比如可以用吸盘舵机或者可以使用夹爪之类的。

2.2 机械臂自由度

  首先,关于机械臂设计,最重要的一点是,我们需要明确需要几个自由度。那么,什么是自由度呢?
  机械臂也就像我们的手臂一样,如果想要到一个地方拿东西,需要两方面的参数,一个是位置参数,一个是姿态参数。位置参数相当于是我们的胳膊,姿态参数相当于是我们的手腕。因为我们要拿一个东西,首先要把胳膊伸过去,到物体的(x,y,z)坐标下,因此,我们的胳膊能够朝几个方向伸出去,就有几个位置自由度,最多是三个。
  同时,我们把胳膊伸到指定位置之后,可能还需要旋转我们的手腕,用一个合适的姿态去拿东西。对于机械臂来说,就是要调整末端执行器的朝向,相当于是空间中的一个方向向量,因此,末端执行器可以在几个维度上调整方向,就有几个维度的自由度。姿态自由度最多也是3个,因为是三维空间,方向向量最多有三维。

在这里插入图片描述
  以我画的这个机械臂为例,通过舵机,可以控制机械臂从任何一个方向伸末端执行器,所以位置自由度是3。但是末端执行器不管运动到哪里,永远都只能朝下,因此姿态自由度是0,因此我画的这个机械臂是三自由度机械臂。
  一个比较简单的方法判断市场上的机械臂是几个自由度的方法是,看机械臂有几个舵机,比如上图的机械臂只有三个舵机,所以自由度就是3。但是末端执行器上的舵机除外,比如下面的机械臂

在这里插入图片描述

  大概可以看出,这个机械臂底座有三个舵机,末端执行器上有一个舵机,但是末端执行器上的舵机只能控制夹爪的开闭,对于机械臂从什么方向伸出夹爪,以及夹爪是朝向什么方向的没有任何帮助,所以这个舵机不能提供自由度信息。因此,虽然这个机械臂有四个舵机,但是是一个三自由度的机械臂。
  如果对于末端执行器执行工作时候的方向没有特殊要求的话,三自由度就可以。比如这个五子棋机器人,我只需要末端执行器能够朝下吸起棋子再放下就好,所以只需要三个位置自由度就够用了。

2.3 三自由度机械臂

  其实,你逛逛淘宝的话,看的多了,就发现三自由度机械臂大概长了两个样子。一种如下图所示
在这里插入图片描述
  这种机械臂是在每个关节轴上都有一个舵机,姑且把他叫做连轴机械臂吧。控制原理就是直接通过舵机控制各个轴的转动。
  另外一种是长这个样子的
在这里插入图片描述
  可以看出这种机械臂的舵机都在底座上,舵机通过与之连接的杆件转动来带动需要的关节轴运动,实现位置的控制,我就把这种叫做连杆机械臂吧。
  因为我感觉连杆机械臂看起来比较好看,所以我就按这个做的。我画的结构主要是模仿的一款淘宝的商业机械臂,所以这里的一些结构就当我是在讲解这个商业机械臂是怎么设计的吧。
在这里插入图片描述

3.机械设计

3.1 电路组成

  控制和驱动电路的话前面也说过,我用的是arduino nano和舵机控制板,舵机用的是三个180度的MG996R,末端执行器用的是气泵电机和电磁阀。
  舵机控制原理主要是arduino通过控制pwm的占空比输出一个参考电位,舵机转动的时候会带动电位器转,电位器取样电压等于输入的参考电压时,就停止转动。如果你觉得舵机在平面上转动180度太小了,也可以换270度的舵机,但是这个时候要注意,参考270度舵机的参数,与180度舵机是一组不同的pwm参数。
  气泵电机就是用来吸气的,电磁阀是用来放气的。因为如果气泵电机吸起来棋子,不放气的话,棋子是掉不下来的,因为内外压力不一样。只有通过电磁阀重新让内外气体联通,棋子才会掉下来。电磁阀和气泵电机的控制方法与舵机控制是一样的,因为里面加了个电调,可以把pwm的信号转换成高低电压,驱动两个设备进行工作。
  电磁阀和气泵电机有专门的模块可以购买。链接: https://item.taobao.com/item.htm?spm=a1z09.2.0.0.6fbf2e8dhyjacq&id=588137536124&_u=72oq22bj3bb1
在这里插入图片描述

3.2 传动结构

3.2.1 底座舵机

  底座的舵机能够控制底座的旋转,我们把这个结构拆分来看,如图所示。
在这里插入图片描述

  主要原理是,转盘连接轴承外圈,底座连接轴承内圈。通过转盘上顶盖、转盘下顶盖(内)的机械应力,固定在轴承内圈上,舵机连接在转盘上顶盖上,转动时带动轴承内圈。转盘连接在轴承外圈。从而使得舵机转动的时候,能够使得底盘和转盘分开转动。

3.2.2 大臂驱动

在这里插入图片描述
  大臂与左边舵机通过舵盘直接相连,左边舵机转动的时候带动大臂前后运动
在这里插入图片描述

3.2.3 小臂驱动

  右边的舵机通过舵盘与小臂连接,舵机转动的时候带动小臂转动。右边舵机与大臂是不连接的,只是在舵盘外面接了一个法兰轴承,给大臂提供了一个固定的支点。
在这里插入图片描述

在这里插入图片描述

3.3 末端执行器

  末端执行器使用的是真空吸盘、气泵电机和电磁阀。通过大气压吸起棋子。

4. 一些小问题

4.1 尺寸问题

  设计机械臂或者购买机械臂的时候还需要考虑一个这个机械臂的工作空间有多大,是否足够到达五子棋棋盘的所有点。这里我还想说一下三角键三边长度的确定方法,这是我自己想的,可能对,也可能不对。
在这里插入图片描述
  在这个图中,三角键的下面两边用于与机械臂构成运动的四边形,因此下面两边的尺寸只需要找到构成这个四边形的端点就可以确定。
  关于上面的边长,我是这么确定的
在这里插入图片描述

4.2 机械结构稳定性

  除了尺寸问题以外,稳定性也挺重要的,结构刚性要够,尤其是与舵机相连接的结构,如果说,与舵机相连接的结构刚性不够,会晃动,那么舵机误差会非常的大。因为舵机达到指定位置之后,因为杆件会晃动,所以有一个很大的可能的位置区间,使得你的舵机达不到你想要的位置。

4.3 转轴的连接

  转轴的连接可以通过螺丝直接固定,只要拧的松一点。不过最好是所有的转动轴之间都用轴承连接,有种法兰轴承,一边大一边小,可以通过设计连接杆件一个大孔,一个小孔的方式接入法兰轴承。具体杆件怎么连接,可以去看看我的图纸里面。

5. 小结

  这次这篇文章根据市场上的商业机械臂,写了点结构设计方面的思路和注意的问题,虽然可能写的不专业,希望还是能够给需要的人提供一些帮助吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值