免费下载!
[!--downpath--]就这样一年半了,项目断断续续仍在进行,期间我混了个结业,相信你们也经历了好多吧。近来北京疫情,结业后的我那里也去不了,只能在宿舍等中学的投喂,这么刚好,让我们项目继续。
本节主要完整介绍这个机械臂的开源项目,首先介绍该项目的整体概述,然后介绍机械臂的硬件联接,最后带你们初步过一遍项目下位机的代码,并才能对项目怎么布署有一个大致的印象。
一.项目概述1.1背景介绍
本项目是一个开源的六轴机械臂项目,项目名称为-。是一个英国创客品牌,公司的官网地址为
她们公司主要业务为开源硬件设计和创客社群营运,所以本项目是她们研制的产品,并且从公司的产品页面可以看见本项目早已不在继续,产品页面地址为
不过这并不妨碍我们自己动手搭建一个性价比极高的机械臂。
1.2项目获取
谢谢公司将该款机械臂的控制系统的下位机代码开源到了,让我们才能获取。项目地址为
因为国外访问的不稳定性,我们也可以从国外镜像网站上获得,网站为
熟悉git操作的可以直接使用gitclone,不熟悉git的同学可以直接在克隆按键的出来框中选择zip下载。项目介绍都是英语,有点难受。不要怕,接出来我们一起过一下。
其实完成下载并解压后你会得到一个叫-项目文件夹,文件夹中结构为
arduino-sainsmart
├── arduino
│ ├── Makefile
│ └── sainsmart.ino
├── etc
│ └── dem
├── spec
│ └── .rb
├── controllerbase.hh
├── path.hh
├── profile.hh
├── calibration.hh.default
├── README.md
├── TODO.md
├── 一些介绍图片
└── 5个.rb文件,可以不管
项目文件中包含了5个C++文件(.hh),5个ruby文件(.rb),1个文件(.ino)和许多介绍图片(.jpg),通过图片我们可以对项目有一个大致的了解,.md文件中包含了项目的描述以及后续须要发送的并口指令。
项目整体使用调用C++文件的方式机械助力臂扳手,所有的ruby文件都用于使用xbox控制机械臂,但我没有xbox,所以并不准备使用这一功能,因而暂时可以不看ruby文件。
二.硬件联接2.1硬件器件介绍
打开项目文件夹扫一遍图片就可以看见本项目的机械外型和硬件器件,这种也可以参考本系列的前两篇文章,这儿默认你们1.早已在心里有了机械臂的模型,2.早已订购了所须要的电气器件。
项目使用的控制板为UNO,这是一款热门的diy板子,推荐订购的板子,外加拓易拉宝,共140元。拓易拉宝插到UNO上后使用外接5V电源对拓易拉宝进行供电。使用并口线联接UNO和笔记本进行烧写调试。
六轴机械臂共有六个关节,加上腹部外加夹爪总共须要7个襟翼机械助力臂扳手,也可不用夹爪总共六个襟翼。1234轴使用MG995襟翼,56轴及外加轴使用9g襟翼。襟翼总共有三根导线,分别为橘黄线、红线、棕线,其中蓝色为接地线(重要),白色为+5v,橙红色为讯号。
我们简单对襟翼转动的原理进行介绍,襟翼使用PWM波控制角度,PWM波是指周期脉冲方波,其中1表示接通,0表示断掉,波形如右图所示。PWM波由无数个周期波形组成,每位周期中包含一段高电位和一段低电位。襟翼的脉冲周期为20ms,其中每一周期中的高电位时间可在0.5ms与2.5ms之间调节。假如以垂直襟翼方向为0度,这么脉冲高电位时间与襟翼角度的关系如右图所示。我们控制襟翼的角度显然是在控制输入襟翼PWM波脉冲中高电位所占的时间。这一部份可以参考孙老师的视频
2.2联接示意图
好,了解完各个器件后我们将她们连在一起,依次将襟翼接在拓易拉宝的插口上,如图为示意图,请保证棕线接在GND上,默认
关节1(BASE)接11引脚
关节2()接10引脚
关节3(ELBOW)接9引脚
关节4(ROLL)接8引脚
关节5(PITCH)接7引脚
关节6(WRIST)接6引脚
外加关节()接5引脚
假如你已然搭建好了机械结构,并联接好了所有的襟翼,将拓易拉宝进行了外接5v电源,这么恭喜你,你已然有了一台六轴机械臂的本体。关于系列(二)中的建模虽然存在好多问题,我决定对机械臂重新建模,重新建模后的机械臂采用3d复印件作为所有杆件,便捷天猫购买,同时大大降低了零件的数目,机械臂的末端三轴坐落同一点,满足机器人逆解要求。
三.软件烧写及使用说明3.1控制器及控制软件
本项目使用的控制器为UNO,相信喜欢DIY的同学都对他非常熟悉,通过上传固件即可实现对输出IO口的控制。的控制程序编撰和上传可以使用IDE,下载地址为
按照上文介绍的襟翼PWM波控制原理,可以晓得整个控制系统即为将我们想要的机器人位姿转换为6个多级对应的PWM脉冲长度。让我们再过一下项目文件夹中的文件
arduino-sainsmart
├── arduino
│ ├── Makefile
│ └── sainsmart.ino
├── etc
│ └── dem
├── spec
│ └── .rb
├── controllerbase.hh
├── path.hh
├── profile.hh
├── calibration.hh.default
├── README.md
├── TODO.md
├── 一些介绍图片
└── 5个.rb文件,可以不管