Arduino开源机器人汇总(基于 GRBL或Marlin)
本帖最后由 邢顺凯-1Z实验室 于 2021-7-29 09:13 编辑概要
GRBL是一个开源的嵌入式CNC雕刻机框架, 可以直接在Arduino / STM32这类MCU上运行. 内置标准的GCode解析器, 针对有限的单片机资源做了很多的底层优化,是一个高性能低成本的运动控制方案。 另外,其运动规划框架具有极高的学习价值。 因为代码质量比较高,容易对其进行裁剪/自定义运动学算法, 因此也被广泛的用于其他的开源机器人, 例如画图机器人/机械手臂等等.(GRBL 代码仓库地址:https://github.com/grbl/grbl)本文将介绍几款经典的基于Arduino运动控制框架的GRBL/Marlin的开源机器人(共10款),并根据其结构进行分类, 同时也会对我接触过的几款机器人做一下技术方案的介绍。 涉及的机器人结构包括XYZ结构, CoreXY结构, Scara结构.说明 : 课程面列举的资源, 很大一部分来自于国外社区跟视频网站, 为了正常下载跟浏览你需要一点点的超能力。
由于某种神秘的力量,我没办法在社区论坛里面插入超链接, 大家可以参考知乎原文里面的Link
https://zhuanlan.zhihu.com/p/394133174
XYZ结构
https://pic3.zhimg.com/80/v2-93086166b1c1b9e7bad073438bf6f65e_1440w.jpg
XYZ结构广泛的应用于CNC雕刻机/激光雕刻机/切割机/绘图机器人/3D打印机等。 , X轴Y轴Z轴分别用三个滑台/丝杆控制, 三个轴之间相对独立,不发生耦合关系。 优点就是精度高,在进行运动规划的时候,步进的步数跟滑台的位置之间的关系就是简单的线性关系, 不需要频繁做正逆向运动学, 计算量比较小。在学习阶段,尤其是学习GRBL的使用或者做轨迹规划实验的时候, 建议大家使用绘图机器人来入门。 原因如下:
[*]只需要用两个步进,对结构件刚性要求不高, 便宜.
[*]安全环保,不像CNC雕刻机会产生非常大噪音。
[*]可以让绘图机器人帮我们写手写作业 / 检查 / 教案。
激光雕刻机也ok,只是激光头会比较贵.DrawBot 绘图机器人
https://pic3.zhimg.com/80/v2-7576e3e1ab96da9ded45680a52261816_1440w.jpg
Tag内容
项目名称DrawBot V1.1
作者henryarnold YouTube| MoustafaElkadyYoutube
效果视频How To Make Pen Plotter / Homework Writing Machine at Home
项目主页无
运动控制框架GRBL
代码仓库grbl-servoGRBL的分支,Z轴用舵机控制.
安装教程How To Make DIY Pen Plotter / Homework Writing Machine at Home
3D模型下载Thingiverse - Drawing Robot - Arduino Uno + CNC Shield + GRBL
效果视频跟安装教程是另外一个老哥MoustafaElkady做的, 很酷也很燃.
效果视频跟安装教程是另外一个老哥MoustafaElkady做的, 很酷也很燃.推荐教程:
[*]写字机器人保姆级教程-Bilibili
https://www.bilibili.com/video/BV1u5411e7GS?p=1
DREMEL CNC 三轴雕刻机3轴的CNC结构https://www.bilibili.com/video/BV1ev41167cy?from=search&seid=13566530558270723556https://pic2.zhimg.com/80/v2-1fd139a7ee9bda1ab88d6e1b290e0b29_1440w.jpg
https://pic4.zhimg.com/80/v2-ebaaa26069dc5b4ec6af9e513c2206d7_1440w.jpg
Tag内容
项目名称DREMEL CNC
作者Nikodem Bartnik Youtube Facebook
效果视频 Fully Open Source DIY CNC Machine - Dremel CNC-Youtube B站搬运视频
项目主页dremel-cnc
运动控制框架GRBL
代码仓库grbl
安装教程Instructables - DIY 3D Printed Dremel CNC
3D模型下载Instructables - DIY 3D Printed Dremel CNC
作者做的安装视频教程非常详细, 十分感人。使用的就是标准的GRBL固件,需要配置一些参数。INDYMILL 三轴雕刻机https://www.bilibili.com/video/BV1RA411v75T?from=search&seid=14087144026813602452DIY OPEN SOURCE METAL CNC MACHINE 开源金属版CNC雕刻机跟上面的DREMEL CNC 作者是同一个人, 可以理解为升级版, 用全金属打造.https://pic4.zhimg.com/80/v2-ad2c2c18d08287fee20a12ad1cdf5b77_1440w.jpg
Tag内容
项目名称INDYMILL
作者Nikodem Bartnik Youtube Facebook
效果视频IndyMill - Open Source DIY CNC Machine #4 Final Test! - YouTube B站搬运
项目主页IndyMill – DIY Open Source Metal CNC Machine – Indystry.cc
运动控制框架GRBL
代码仓库grbl
安装教程项目主页有安装视频教程,另外还有配套了40页的PDF安装教程, 不过是付费的 $10
3D模型下载IndyMill-STL
BOM表DIY Dremel CNC parts list - Google Sheets
CoreXY结构与传统XYZ结构不同,CoreXY 是一种仅使用一根同步带就可以控制末端在XY两个方向运动的结构,非常巧妙。CoreXY结构无论是移动X轴或者是移动Y轴,都需要两个步进电机同时配合运动, 所以是一种并联结构.相对于XYZ结构, CoreXY结构相对紧凑,工作空间更大一些。 同时因为CoreXY结构可以令两个两个步进都固定, 所以末端的惯性就小, 可以更快的速度进行运动.CoreXY结构原理可以学习B站教程结构详解,hbot和corexy结构的原理和区别-Bilibilihttps://pic3.zhimg.com/80/v2-151ffed0256c465bfa50803b10fb01ce_1440w.jpg大鱼DIY写字机器人V2.0 Pro
Tag内容
项目名称大鱼DIY写字机器人V2.0 Pro
作者大鱼DIY Bilibili
效果视频大鱼DIY写字机器人V2.0 Pro 效果展示
项目主页无
运动控制框架GRBL
代码仓库grbl , GRBL内置对CoreXY结构的支持
安装教程视频-PART2 视频-PART3
3D模型下载百度网盘链接:https://pan.baidu.com/s/1C6H7iBoDg0USvALdU9V_gw 提取码:DW2P
BOM表见网盘文件 大鱼写字机DayuWriter V2.0 Pro采购清单.xlsx
大鱼DIY的这个视频,在B站上非常火, 在B站上是顶流, 拥有81W的播放量。同时也是做了非常详细的视频教程, 开源精神万岁.
SCARA结构关节臂形的结构, 统称为SCARA结构。 也是我目前玩的最多的机械臂的机型。https://pic1.zhimg.com/80/v2-45a8bcc0f725ada3a85179439153cffc_1440w.jpg上图的机器人,使用的主控板几乎清一色的都是Mega2560.为什么做SCARA机械臂不用Arduino Uno呢? 我之前开发grbl版本的DArm就踩过雷。
[*]GRBL项目几乎是压榨干了UNO所有的性能跟内存资源了, 强行将SCARA机械臂的逻辑添加进去, Uno资源会不够用, 而内存处于临界值的时候,及其容易产生莫名其妙的错误.
[*]Uno硬件资源太少, 不方便扩展第四轴, 或者拓展其他的传感器.
20sffactory 机械臂
https://www.bilibili.com/video/BV16V411p7AZhttps://pic4.zhimg.com/80/v2-584d891af88259327da50b39f6274c3f_1440w.jpghttps://pic2.zhimg.com/80/v2-7227d512774606a936fca96b018c3e4d_1440w.jpg
Tag内容
项目名称20sffactory Arm
作者20sffactory Facebook Youtube
效果视频20sffactory 3D打印机械臂-视频合集- Bilibili视频搬运
项目主页 20sffactory
运动控制框架Marlin 2.0
代码仓库20sffactory/community_robot_armMarlin 2.0 Guide
资源列表Resource -20sffactory
3D模型下载+安装教程Resource-20sffactory , 代码仓库里有CAD Files
BOM表BOM表
这款机械臂作者没有给他起名字,用作者的名字来命名. 目前为止,生态最好,做的最完善的一款。 如果你想玩机械臂的话, 就从这款机械臂开始玩吧。 作者的设计是基于ftobler设计的版本做的改进, RobotArm by ftobler - Thingiverse旧版的图片如下:https://pic3.zhimg.com/80/v2-605291a9b0abc1d8bff029bc1492d752_1440w.jpg
在原来的基础上,做了机械结构的改进, 改为同步带传动, 加上了第四轴, 同时也做了大量的内容生态, 同时现在仍然生机勃勃. 机械臂基于Marlin 2.0做的配置修改, 内置运动学算法。 做的比较完善。 从效果视频来看, 高速运动的时候,机械臂仍然可以保持稳定, 可以说非常赞了.DArm 机械臂
https://pic4.zhimg.com/80/v2-5b067437329eabda3b28ac6deb703043_1440w.jpg
Tag内容
项目名称DArm
作者廖洽源 Liao Qiayuan知乎
效果视频3D Print Desktop Robot Arm Drawing test(DARM)
项目主页A 3D Printing desktop arm that can write and draw!!!
运动控制框架Marlin 2.0
代码仓库DArm - Github
SW工程见代码仓库, 作者把Solidworks的工程放到里面了.
3D模型下载3d print desktop robot arm(DARM) - thingiverse
BOM表见3D模型下载
安装教程【教程】桌面机械臂DARM 制作教程- 百度贴吧
DArm是15年的一个开源项目, 作者是廖洽源 Liao Qiayuan , 毕业于广东工业大学 机械电子工程。我在19年跟Sipeed合作的时候,也写过GRBL版本的DArm固件, 我的好朋友小峰也帮我优化过它的结构。 机械臂的臂展比较大, 连杆使用了圆柱管材, 减少了3D打印的部分, 成本比较低. 但是这种圆形管材的设计也会导致连接件易松动,进而影响连杆长度参数, 末端也会产生一定程度的歪斜, 难以保证末端的精度。同时对装配的要求也会比较高。 亮点是作者提供了开源的Solidworks工程, 大家如果要复现的话,可以把圆柱杆替换为板材。总体来讲,如果对工作区要求不高的话,建议玩20sffactory 机械臂。Drawbot 机械臂
Tag内容
项目名称DArm
作者张明 @成都 youtube
效果视频drawbot repetition precision test - YouTube
项目主页drawbot by MG-dream-technology - Thingiverse
运动控制框架Marlin 2.0
代码仓库没开源
3D模型下载drawbot by MG-dream-technology - Thingiverse
BOM表见安装教程
Drawbot的项目是18年做的,整体结构参考了DArm, 将其转换为2自由度的平面绘图机器人, 之前在Arduino中文社区里大火.Scara结构的绘图机器人, 因为机型自身的原因,精度没XYZ或者CoreXY结构的绘图机器人高,而且XYZ结构要更简单一些。 如果是研究的话,可以用来学习, 不过作者好像并没有开源源码。其实原理不难,比DArm还要简单一点点。好在我的好朋友小峰做了一版金属版本的Drawbot, 并且开源了GRBL-stm32版本的SCARA绘图机器人的固件. Uniquemf/grbl-stm32-scara (github.com) , 这个也是他本科的毕业设计。https://pic3.zhimg.com/80/v2-b6673043423fb3c69cfd306b18cb52e6_1440w.jpg
UArm Swift Pro 机械臂
https://pic1.zhimg.com/80/v2-ff68ea0e1d9d2890ff68d1767cd937d0_1440w.jpg
Tag内容
项目名称UArm Swift Pro
作者ufactory
效果视频uArm Swift Pro Robotic Arm Review: Professional Kit for Educators
项目主页uArm – store.ufactory.cc
运动控制框架GRBL-Mega / Marlin
代码仓库SwiftProForArduino
3D模型下载金属件,结构不开源
之前买过一个UArm Swift Pro, 这款机械臂全金属机身, 做工不错. 旧版的UArm Swift Pro固件是基于Marlin做的.但是UArm Swift Pro最新的固件V4.9.0以后,使用的都是基于GRBL改的固件版本。 因为Marlin是针对3D打印机设计的固件, 对于这种关节臂型的机械臂来讲,就显得很庞大. GRBL小巧,更容易学习, 也更容易定制.看源码的时候,注意选择分支版本号V4.0.https://pic3.zhimg.com/80/v2-8ca86fdafffc5632f4468594bbf103b2_1440w.jpg
UArm Swift Pro 主控使用的主控是 Mega2560. 步进电机驱动使用了三个LV8729跟一个A4988 。https://pic2.zhimg.com/80/v2-a06adc0a6fb337989672118141d9d141_1440w.jpg
https://pic1.zhimg.com/80/v2-f29412dd607f5a78809bc521dd8f62c8_1440w.jpg
https://pic3.zhimg.com/80/v2-ae1e35ecdc246cffb1e3c52ee55a23b6_1440w.jpg
UArm方案, 比较有亮点的地方是, 将步进电机+减速齿轮 + 霍尔IC编码器AS5600 (I2C接口)做到了一起, 磁铁是粘贴到减速齿的轴上的. 这样在机械臂上电的时候,主控就可以知道机械臂各个关节的绝对位置了, 所以UArm没有Homing的过程. 这样做的另外一个好处就是, UArm可以给步进电机卸力, 然后通过实时的采集编码器的角度信息, 完成拖动示教。 大家如果用步进电机+减速同步带的方案的时候, 也可以参考类似的做法, 在减速输出轴的位置添加磁铁跟霍尔IC编码器.
https://pic4.zhimg.com/80/v2-6bf3d3ee79d355491a2790023471769b_1440w.jpghttps://pic3.zhimg.com/80/v2-a09532285166594ff0d082861376b382_1440w.jpg
但是严格意义上来讲, UArm的步进电机方案,并不能称得上真正意义上的闭环步进. 在运行过程中,主控不会主动的去查询更新当前编码器的角度,如果步进电机在运动过程中产生了丢步的情况, 不会做任何的补偿/处理, AS5600霍尔IC编码器的用途只出现在Homing的时候。还有顺带说一下UArm Swift Pro 末端的旋转关节舵机, 末端旋转关节配置的舵机规格跟MG90s差不多, 扭力很小, 只不过是四线舵机, 应该是多了一个电位计的ADC信号线, 但是固件里面并没有用到这个ADC采样线,普通PWM舵机也可以用在上面.Mirobot 六自由度机械臂
https://pic1.zhimg.com/80/v2-4ae8620a6d1e783fab78d15970dcd974_1440w.jpg
Tag内容
项目名称Mirobot
作者周冬旭 中国矿业大学 博士藏起来 - 知乎 (zhihu.com)
效果视频机械臂五子棋人机对弈-AlphaZero强化学习+Mirobot六自由度机械臂
项目主页wlkata-mirobot
运动控制框架GRBL-Mega
代码仓库固件不开源, Wlkata Mirobot Supporters Forum (github.com)
3D模型下载不开源,注塑件 。开源了可用于搭建URDF模型的STL文件 wlkata/Mirobot-STL: STL (github.com)
https://www.bilibili.com/video/BV1PT4y1A7cX之前跟Mirobot有过机械臂案例的项目合作, 所以跟周冬旭 周博有过交流。 之前我修改过的Mirobot Python SDK wlkata/mirobot-py: WLkata Mirobot Python SDK (github.com), 被周博fork到官方代码仓库里了, 非常荣幸.GRBL在底层设计里面,并没有考虑到末端姿态欧拉角的问题,只局限于末端的三维坐标 . 而Mirobot开源的6自由度机械手臂的固件里面有6DoF机械臂的正逆向运动学, 有比较好的学习价值。固件在最初发布的时候是开源的, 不过现在固件不开源了。MK2 Plus 机械臂
https://pic4.zhimg.com/80/v2-2c23642f4b94e9734e57095b914fbed3_1440w.jpg
Tag内容
项目名称MK2 Plus 机械臂
作者Jacky Le YouTube
效果视频Cheap 3D printed Robot Arm Free Source code - Part 3 - YouTube
项目主页无
运动控制框架GRBL
代码仓库grbl-servoGRBL的分支,Z轴用舵机控制.
安装教程Robot Arm MK2 Plus (Stepper Motor Used) : 11 Steps - Instructables
3D模型下载见安装教程
BOM表见安装教程
MK1机械臂跟MK2机械臂都是基于舵机来做的, 作者是EEZYrobots, EEZYrobots官网MK系列的机械臂玩的人比较多, 之前我基于MK1机械臂写过机械臂运动学的课程 机械臂运动学控制及Python实现-1Z实验室-网易云课堂https://pic4.zhimg.com/80/v2-2e2ef6b91b1a3bb50ed5b50a7792e1d3_1440w.jpg
MK2 Plus版本是由Jacky Le 设计制作的, 用步进电机替换了舵机.https://pic4.zhimg.com/80/v2-e32a889f42ceac255a8fb7985e605987_1440w.jpg
其设计原型为ABB IRB460机械臂。没有深入针对当前的机型去定制GRBL的固件,使用的是标准的GRBL固件, 使用方式仅局限于示教.也有一个不依赖GRBL版本的,但是也没有运动学的部分. 参考教程MK2 Plus Robot Arm Controller
很牛逼的帖子了,这类机械臂学习起来不难。有一定的适用性。准备找一个来做。
页:
[1]