Category Archives: 机器人小组

齿轮传动机构视频

特声明:此视频非创元素原创,来源于西北工业大学机械原理精品课程

平行轴齿轮传动机构

 

 

直齿外啮合齿轮传动 直齿内啮合齿轮传动 直齿轮与齿条机构
 

 

斜齿轮传动 人字齿轮传动

相交轴齿轮传动机构

 

 

 

直齿圆锥齿轮传动 斜齿圆锥齿轮传动 弧齿圆锥齿轮传动

交错轴齿轮传动机构

 

 

 

交错轴斜齿轮传动 蜗杆传动 准双曲面齿轮传动

机器人结构搭建与Makeblock入门

Makeblock是一款不错的机构搭建工具,它使得我们对于机构的理解和创新不再只局限于草纸上的理论推算或者是三维软件的仿真之中。但无论是使用机构仿真软件亦或Makeblock这样优秀的百搭平台,建立基本观念避免了盲目的探索,对快速搭建出实用的机构大有帮助。

百搭平台中最常见的两种运动副:

在使用Makeblock搭建的过程中,我们很容易发现有些零件连接在一起后就不会再有相对的运动,成为一个整体,而有些则不是,正因为如此,才有了丰富多彩的运动和动力传递形式。否则就只能是一个好看的静态模型。

为简单起见,我们就以最简单的两种相对运动,绕某一轴转动 和 沿某一直线平动 为起点,开始学习搭建中的技巧。

转动副(Turning pairs

平动副(Sliding pairs

这两种运动副最显浅易懂,而且还可以相互转化,后面我们将会看到。

不过,在搭建一个相对复杂的机构,然后给某个转动副环节加上电机企图使其运动的过程中,是否会遇到这样的问题,要么整个机构卡住了,要么机构加了电机似乎整个机构还能自由运动,于是补上一个连接想来约束,结果却又矫枉过正让机构完全无法运动。

要彻底解决这个问题,首先,我们需要先谈谈自由度的问题。

如上图所述,三个两两垂直的坐标轴构成笛卡尔坐标系XYZ。那么一个完全自由的物体,在空间中的运动可以用六个分量来描述,分别是沿XYZ三个轴的平动和转动。

嗯,这还是太复杂了,为了避免引入复杂的数学,我们再一次缩小研究范围到平面XOY,那么就没有六个自由度,而是下图所示的三个

平面的3个自由度:X方向的平动,Y方向的平动,绕Z轴的转动

转动副约束了XY两个方向的平动,保留了Z轴的转动,因此转动副减少了机构的两个自由度

同样平动副约束了XY一个方向的平动,还有Z轴的转动,因此平动副业减少了机构的两个自由度

Makeblock介绍

Makeblock是一款铝积木式的结构模块和电子模块的组合,包括基本结构部件,传动部件,电机,传感器,控制器等等。主要零部件是铝合金材质,以Arduino作为控制器。利用此平台,你可以在很短的时间里实现自己的各种创意想法。动手制作机器人或者自动化装置的原型需要制作者同时拥有机械、电子、软件编程三个方面的专业技能,这就使得DIY这类产品的门槛很高。Makeblock主要宗旨是让制作变得很简单,让初学者易于登堂入室,人人都可以动手做一些东西,并体会其中的乐趣,让大人和孩子们共同学习。

1998年,乐高(Lego)推出了它的第一款Mindstorms机器人套件,乐高的形象也由单纯的玩具制造商变成向大众提供创意原型平台而深得人心,至今该产品仍然被广泛的使用,从教育到科研、从学习到娱乐。而现在,一家在深圳的创业公司也在做着和乐高机器人看似相同当却有着更加远大理想的工作————构建开源易用的机械电子百搭平台,产品叫做“Makeblock”

和许多初学者一样,我在大学的时候经常看到别人网上发布的DIY的机器人倍感鼓舞,准备大展身手,可等到自己真正动起手来的时候却发现问题很多,让本来很好的创意荒废。不过电子方面的问题还算比较好解决的,至少可以找到一些电子爱好者咨询帮助,慢慢也还能上手。而如果你要搭建机器人这类产品,机械零件不可或缺却又困难重重。单个零件的制造不仅成本高昂,来回迭代的设计变更会严重拖延进度,你在实现想法的同时还要消耗大量不必要的精力去寻找愿意接受你制造需求的零件供应者或者代加工者。验证创意的头脑风暴阶段,除了运用软件仿真,我们更加需要简单易用的百搭平台来验证、初步实现我们的想法,然后展现给大家分享或者进行下一步的商业化。更重要的是构建这样一个电子机械兼有的百搭平台,在教育领域激发孩子们的创造力和想象力的助益更是巨大的。

要动手制作智能机器人一般需要做三个领域的工作:搭建机械结构、拼接电子硬件和编写软件程序。在以Arduino为代表的趣味电子制作和开源软硬件运动浪潮席卷国外后,动手制作一些自己感兴趣的项目已经不再是少数技术极客们的专利。随后又出现了各类易学易用的图形化编程工具,大大降低了大众进入这个领域的门槛。如今,经过多批零件的生产,Makeblock的各主要零部件的质量终于有大幅的提高,外观也采用了和苹果手机一样的铝合金氧化工艺,闪闪发亮的金色和蓝色零件对消费者也越发有吸引力。

Makeblock的特色

螺纹槽——极高灵活度的搭建

Makeblock的最主要零件就是两种主梁———双孔梁和U型梁,他们都有我们独创的专利———螺纹槽。螺纹槽的好处不言而喻,你可以在槽任何地方安装螺丝,这样,就可以搭建出任意角度或者间距的梁或者其它零件,这使得整个零件系统搭建的灵活度大大提高。

铝合金——强度和重量的完美平衡

Makeblock绝大部分零件采用铝合金制作,铝合金是典型重量轻而强度相对高的材料。采用Makeblock搭建的小车不仅不会像塑料零件那样容易松动,而且甚至整个结构承受一个人的重量都不会变形或者损坏。

多种规格多种方式——灵活配置你需要的

你可能在某些场合只需要提供很小的扭转动力,也可能需要较大的扭转动力以便于承受更重的负载。我们提供至少3种不同规格的直流电机,供你不同的需求来选择。又或者你并不需要很大的动力,但是需要精确控制运动的位置,这时候你可以选用我们的步进电机,它还配有非常容易控制的电控模块。还有可能你需要电机在某个位置输出一定的力,不会受干扰的偏移原来预定的位置,譬如航模中的摆舵,这时候就可以选用我们提供的大扭力伺服电机(舵机)。

Makeblock平台的灵活性不仅体现在零件选择上有大中小的规格,更体现在自由搭配的数量上。履带就是一个很好的例子,履带是由类似手表带一样的方式,通过中间轴和橡胶的配合一起完成的,使用者可以通过使用不同数量的履带单元,自由调节这种履带的长度以适应不同场合的需求。

多种传动结构——让运动变换更有趣

你可以通过同步皮带轮将电机运动的速度降低,扭矩提高,以达到传动的目的。也可以使用我们提供的直线运动部件让电机的旋转运动变成来回的直线运动。

采用我们的多功能滑轮装上履带或者橡皮车轮,你也可以把电机的运动转换成履带和地面的摩擦运动,这一个零件同时实现了三种不同可能性的功能。

如果你系统的学习过机械原理,知道什么叫连杆机构,说不定可以试试拼个六足蜘蛛来玩玩。这种机器人实现了机械专业学生渴望机构变换搭建的需求,可以作为实验课的配套教具。

不懂接口不想连线——积木式电子接线

机械零件的安装和搭建是容易了,那电子模块呢?也许你曾经看过一些电子模块的接线混乱如麻,不仅连接不可靠,用户更要花费大量时间在对接口找编号上面。Makeblock向用户提供统一的四芯水晶头接口,不仅插拔的用户体验大幅提升,而且连接更可靠,从此再也无需为接线而烦恼。

此外,Makeblock提供的电子模块也是有着和机械结构件一样的通孔大小和间距。用户只需要轻轻摁动可拆卸的塑胶铆钉,便可轻松固定各种电子模块和主控制板Arduino

我是乐高控——选择Makeblock也继续用乐高

Makeblock是完全开放的平台,我们兼容乐高。乐高零件的标准是直径4mm间距8mm的通孔。而Makeblock也一样,部分零件也采用16mm的间距规格,这丝毫没有妨碍到乐高的用户过渡到Makeblock这个平台上来。不仅如此,你曾经用过的乐高零件还可以作为Makeblock丰富扩展的一部分。

 

此外,我们还提供从Arduino到乐高零部件的转接板,这样,你完全可以继续使用Arduino来控制乐高的电子零配件,丝毫没有问题,这也许又是一条能让用户感到惊喜的好消息吧?

Makeblock的受众

Makeblock对于喜欢自己动手制作机器人、数控机床、互动玩具产品的创客们显然是极佳的选择。

Makeblock官方网站:http://www.makeblock.cc/

开始搭建一个简单的Makeblock坦克

现在,让我们开始搭建你的第一个简单的Makeblock机器坦克,你必须要确保手上要有一套完整的Makeblock初学者套件。让我们拿出一块Arduino Uno R3或者Makeblock自带的Meduino,它们是完全一样的东西,除了名字。因为Arduino是被注册的商标,除了Arduino官方团队以外,其他完全一样的兼容板也不能使用。

接着在Makeblock套件中找出Makeblock基础盾牌。如下图所示,把它插接到Arduino上。

第一步,添加电机

如图所示,用沉头十字小螺丝将两个电机分别装到电机托架上去,然后把整个电机连托架安装到8个单位长度的双孔梁上,注意,呈斜对角线安装效果较佳。

第二步,搭建机器人底座

将六个单位的双孔梁拿出,如下图所示,两侧插入并用螺丝刀拧紧,坦克底座即完成。

第三步,安装驱动轮

此范例的坦克机器人需要四个轮子,其中两个是主动轮(连接电机),另外两个是被动轮。它们的搭建稍有差别,首先,将两个主动轮用联轴器连接

第四步,连接被动轮

如下图所示,取出一边带螺纹,一边光滑的小轴,此外,我们还需要两个杯轴承,一个白色塑料挡圈以及一个侧面需要旋入止付螺丝的轴套。此步骤稍有点复杂,涉及的新零件较多,请按图逐步操作

第五步,安装履带

Makeblock的履带式可扩展式的,类似于钢带手表的表带,中间通过光滑的小轴连接。本范例需要每边需要20片履带片,在履带片串接小轴过程中,请尽量使用工具(如螺丝刀手柄)来按压,以免受伤。 履带串接好后,即可如下图所示套到底座的轮子上。

Wiring a robot tank

第一步,将基础控制板安装在电池托盘上

将六节AA5号电池)的电池架安装到塑料托盘上,用3mm的尼龙铆钉固定,再用4根铜螺柱和杯头螺丝安装好主控板。请注意,不要拧太紧,塑料板较脆,容易产生裂缝。

第二步,把主控器及电池托盘安装到坦克上

同样的方式,但使用直径4mm的尼龙铆钉将塑料板安装在坦克的主双孔梁上。

 

第三步,添加超声波传感器

用两颗M4X8的螺母和两个尼龙铆钉,安装好Makeblock的第二代超声波传感器,你就可以用它来测量距离了。如果你需要了解更多关于这款传感器的信息,请访问Makeblock的官网。

第四步,接线

下图简要表示了主控器如何与电池盒、两个直流电机、超声波传感器和红外接收器连接。如果需要更多关于这两种传感器的知识,请回顾本书第三篇的相关内容。

 

搭建一个三轮机器人小车

第一步,搭建小车的基本结构

在搭建过程中尤其注意要垂直螺纹槽旋入螺丝,以保护螺纹槽不受损。万向轮的连接螺母不是匹配普通杯头螺丝的螺母,请注意选用正确的螺母。

第二步,将两直流电机安装到小车主结构上

第三步,安装所有小车需要的轮子

此步骤依然需要使用联轴器,可见在电机D轴和多功能车轮的连接过程中,铝联轴器是必不可缺的。先安装联轴器到车轮上,再使用止付螺丝安装车轮到电机的D轴上。此外,在车轮外加装橡胶轮胎能够有效的提供静摩檫力,使小车在干燥的地面行驶时更有效率。

三轮机器车的接线

这些步骤和四轮坦克类似,唯一不同的地方就是超声波传感器、电池夹以及主控板的安装。电池夹和主控板通过4mm的尼龙铆钉安装到双孔梁上,超声波传感器用4mm的尼龙铆钉固定在L型金属片上。

编程

Makeblock的扩展板1.0在用户首次使用时已经内置了我们初学者套件的代码。你可以使用在红外遥控器面板上的测试(TEST)按键来切换超声波壁障模式和红外控制模式。当你开始使用你的机器人,你可以使用红外遥控来控制你的机器人。当你按下测试键,机器人就切换到智能壁障模式,它可以自动的避开障碍物向前行进。在壁障模式中,你依旧可以使用红外遥控来控制你的机器人

安装Arduino开发环境及Makeblock

安装Arduino部分在本书第一章已经完整阐述相关步骤,这里不再赘叙。下面说明如何在Arduino IDE已经安装好的基础上引用Makeblock的库文件。

下载Makeblock库:

https://github.com/Makeblock-official/Makeblock-Library.

Github是全球知名的开源代码分享社区,Makeblock希望我们的开发者也参与其中,你也可以提交你自己对于代码的理解和修改。点击上述网址,进入githubMakeblock代码库的页面,你可以直接浏览当中的代码,相关内容请读者自己尝试或在网上查阅相关资料。为了在本地运行,点击页面右下角的Download Zip,如图所示,将整个库文件以ZIP压缩包文件的形式下载下来

新版的Arduino IDE支持直接导入Zip格式文件的库,在导航菜单中点击->Sketch->Import Library然后选择Add Library

将路径指向我们刚才下载文件的目录即可,如图所示

当然,你也可以手动安装,这种方式我们在本书第三章有提到。解压文件夹“Makeblock_Library”,并将其放置到Arduino软件根目录下的libraries文件夹下。

运行示例代码库

USB连接到你的Arduino或者Meduino控制板,新版的Arduino IDE会自动帮你安装控制板所需驱动,这可能需要约一分钟的时间。重启Arduino IDE后,

在导航菜单栏中即可看到Makeblock官方提供的示例代码,如下图所示:

file>examples>Makeblock_Library>examples>makeblock_Robot_Starter_Kit>

 

选择控制板类型:

在导航菜单栏Tools>Board>中对你所使用的控制板类型进行选择,如下图所示。如果你使用的是Meduino请选择Arduino Uno,如果你使用的事Me-Baseboard,请选择Arduino Leonardo

选择串口

Arduino IDE的菜单栏中,导航到Tools>Serial Port>Com x如下图所示,选择你正在使用Arduino连接的串口。

  • 装载程序

单击upload图标,编译并装载代码到控制板中,当装载过程完成,Arduino IDE的状态栏中会显示“Done uploading”.

装载代码中可能会遇到的问题?

由于Me BaseBoard是基于LeonardoArduino控制器,装载代码的过程中可能会遇到如下提示错误: "Couldn't find a Leonardo on the selected port". 先检查你是否选择了正确的串口号,如果确认无误,在转载前请按紧控制板上的reset按键不放,同时点击Arduino IDE中的upload按键,如果还不能解决问题,请访问Makeblock官方论坛(英文):

(http://forum.makeblock.cc/t/me-baseboard-leonardo-error/)

来反馈你的问题,并取得技术支持。

运行你的机器人

Makeblock官方提供了两个示例代码IR_Control是用来使用红外遥控远程控制机器人的程序;Ultrasonic_car是自动壁障机器人的示例程序,确保你往控制器中装载的是你想要的程序。

以下两个是你初次使用Makeblock可能会遇到的问题

如何使用红外遥控器

首先,确保你选择了IR_Control 的示例程序并装载好到你的主控器中,同时,还要确保你的红外传感器、超声波传感器接到了主控器中正确的端口,在最新版的Makeblock中,默认红外传感器是接在6号端口的 (PORT_6)。这时你可以打开主控器上的电源开关,注意如果是使用Makeblock扩展板插接在Arduino上,需要打开扩展板上的开关,并且电池连接线需要和扩展板供电,而不是Arduino主控板供电,否则无法向电机供电。

下面的图片显示了红外遥控器上面指令按键的分布,其它并未标记的按键暂时未被使用,将来请你写程序来用上它们。

有些时候,当你发现使用遥控操纵的过程当中,你想让机器人前行,它却转弯。这是因为电机的正负极接线接反了,这时你只需将电机的连接线对调一下,如下图所示。如果你遇到想让机器人前行它却后退的问题呢?嗯,就让我们把这个问题留给读者自己思考吧,多试几次,你一定会体会其中的缘由的。

运行自动壁障机器人

首先,你要确保你是将示例程序Ultrasonic_car装载到你的主控器中的,同时你还需要保证超声波传感器连接的事主控器中的7号端口 (PORT_7);同样,你需要保证红外传感器连接到6号端口(PORT_6).打开开关,开始你人生自制的第一个壁障机器人小车的乐趣吧。

机器人学浅谈及反馈控制

第一节 机器人学浅谈


机器人是自动控制机器(Robot)的俗称,自动控制机器包括一切模拟人类行为或思想与模拟其他生物的机械,如机器狗。至今对机器人尚无统一定义,笔者认为,根据智能的程度,可以把机器的智能程度分为以下六类
第一类:手动操作机器,由操作人员直接操作的具有运动功能的装置,如阿凡达里面上校用的作战机器人或者你家的小轿车。
第二类:定序机器,按照机器设计之初的构想能顺序、条件、位置,逐步地重复执行给定的作业任务,但其设定的信息(如工作步骤等)难以更改,如生产线上面一般的自动化装置。
第三类:变序机器,和第二类一样,但其工作次序等信息易于修改。
第四类:示教型机器人,拥有记忆存储装置来复现原先由人操作过的示教动作,这些动作能够被重复执行,譬如许多常见的工业机器人。
第五类:程控机器人,由预先约定好的指令程序而不是操作人员的示教动作来执行给定的任务,譬如数控机床。
第六类:智能机器人,能够通过传感器来独立检测其工作环境或工作条件的变化,并借助其自我决策能力,成功的进行相应的工作,譬如发射至火星表面探险的机器人。
基本上,我们只将最后四种机器装置称为机器人,更因为公众的想象和科幻小说以及电视电影中的展望,我们往往只将最后一类智能机器人认定为真正的机器人。所以理想中的高仿真机器人是高级整合控制论、机械电子、计算机与人工智能、材料学和仿生学的产物,目前科学界正在向此方向研究。


此外,现在有些电脑程序甚至也被称为机器人。Googlebot是google的机器人的意思,也称google爬虫。google机器人是Google 的web 抓取漫游器。它从web上收集文档,为Google搜索引擎建立可搜索的索引。这种给计算机程序安上机器人称呼的原因是由于它们往往是较为智能,这些融入了人工智能研究成果乃至于机器自主学习能力的程序,如清华大学图书馆机器人小图(http://166.111.120.164:8081/programd/)。它们虽然能够部分像人一样通过学习来回答我们提出的问题,但笔者认为毕竟不能归为真正意义上的机器人。


笔者认为,无论多么智能的程序,计算机程序和机器人有天然的界限。迄今为止,计算机与人类交流的方式基本上只限于键盘、屏幕、鼠标、打印机等。而机器人是拥有和物理环境直接交互能力的机器。它不仅要有智能的程序,更要有获取外部物理环境的各类传感器和影响外部环境的装置。譬如能驱动运动装置的电机、能感知颜色、距离、气味、声音的传感器。因为相比传统计算机只能依靠键盘鼠标输入,以iPhone为代表而出现的智能手机已经大大的前进了一步,譬如使用触摸屏,重力传感器等,其使得人可以用更自然的方式与机器对话。但这仍然不够,我们所强调的智能机器人,不仅仅是与人对话,更重要的是与环境交互。譬如能够自主的绕开障碍物,或者自主的寻找目标,又或者在迷宫中穿梭而能找出破解迷宫的路径等等。


有关机器人的话题,常见于科幻作品中。科幻小说中对机器人行为的描述,以科幻小说家以撒·艾西莫夫在小说《我,机器人》(I, Robot)中所订立的“机器人三定律”最为著名。 艾西莫夫为机器人提出的三条“定律”(law),程序上规定所有机器人必须遵守:
第一法则:机器人不得伤害人类,且确保人类不受伤害;
第二法则:在不违背第一法则的前提下,机器人必须服从人类的命令;
第三法则:在不违背第一及第二法则的前提下,机器人必须保护自己。
“机器人三定律”的目的是为了保护人类不受伤害,但艾西莫夫在小说中也探讨了在不违反三定律的前提下伤害人类的可能性,甚至在小说中不断地挑战这三定律,在看起来完美的定律中找到许多漏洞。取材于这部科幻小说的电影I, Robot(中文译:名机械公敌)已于2004年公映,有兴趣的读者可以通过网络等渠道去领略科幻大师心目中的机器人与人的世界。


第二节 反馈控制原理
要实现控制,先要知道什么是反馈。反馈现象广泛存在于自然界的生命体和许多人造的智能系统中。
譬如,我们需要让一个电动机每分钟转500圈,在实际运转过程中会有很多干扰因素。这些干扰因素有我们可以理论估算的,也有难以估算的,诸如润滑状况改变导致摩擦力的变化、同型号但不同批次电机内部机构的差异、高速旋转轴的振动等等。那如何来保证这个结果与我们期望相符?如果电机的实际转速比预期低,那么我们就要供给电机更多的能量来加速以达到预期转速;如果电机的实际转速比预期高,那么我们就要减少供给电机的能力来减速以回到预期转速。
这样很自然的想法,就引入了反馈,因为我们需要通过传感器之类的采集装置,随时测量电机现在的转速,然后将这个结果反馈给决策系统,让决策系统通过控制的途径来调节以达到预期的值。

如图所示,由于有了感知系统形成的反馈回路,整个控制系统就闭合成了一个环,专业术语就是闭环控制,于此相对的,就是不存在反馈回路的开环控制。
历史上,著名的瓦特在发明蒸汽机的同时也给蒸汽机系统配上了一套可以控制蒸汽机转速的离心调速器。通过这个拥有闭合环路的蒸汽机,人们就可以控制其转速在我们所设定的目标范围内。其原理是,在离心式调速器中有二颗重球锥摆,其旋转速度和蒸汽机相同,当蒸汽机的速度提高时,重球因离心力移到调速器的外侧,因此会带动机构,关闭蒸汽机进气阀门, 使得蒸汽机速度会下降,当蒸汽机速度过低时,重球会移到调速器的内侧,再开启蒸汽机进气阀门。依此原理即可将蒸汽机的速度控制在一定范围内。

                   

这种离心调速机就是典型的负反馈系统,特点是系统的输出会影响系统的输入,在输出变动时,所造成的影响恰和原来变动的趋势相反(速度过快,则关闭进气阀门使其降低,速度过低,则开启进气阀门使其提高);反之,就称为正反馈。在控制系统中,我们往往使用负反馈,因为它能使我们需要控制的物理量稳定在我们需要的范围内。
在瓦特那个时代,人类显然还没有利用电来进行能量的驱动或者信息的处理,所以整个控制系统都是纯机械的。然而在今天,由于使用电子器件和线路更容易进行信息的采集和处理,机械部分往往只出现在动力的变换和最终的执行机构(Actuator),其反馈部分往往采用各种电子传感器(Sensor),而比较部分往往采用各种微控制器(MCU/Microcontroller Unit)。如此,自然就诞生了机电一体化系统和机械电子工程的交叉前沿学科。

如图所示,机电整合电子硬件、程序或软件,对机械进行控制,有别于以往机械工程较少触及电子方面。当中较为人熟悉的机电一体化产品,即本书探讨的主题机器人。这些产品的系统包括以下四项:
机械系统
电子系统
控制系统
电脑(微控制器)

Arduino机器人实践之初体验(一)

设计机器人一向被视为极高深的技术领域,然而,现在互联网上越来越多的创客、业余玩家利用Arduino来制作形形色色机器人。通过在https://www.google.com/网站上输入Arduino+robot,切换到图片搜索(Image,就会看到大量图片,其火爆程度不言而喻。

他独自一人,坐在简陋的自制作坊里,伴随着每一次各种工具使用的噪音和回响。他不停地动手工作并且还要进行计算,才能使他的创造性想法逐渐变成现实。从一堆无法辨认的金属和塑料,变成一个有着奇异的轮廓的家伙,然后……这可能是一种关于目前机器人爱好者的相当黑暗的描述。尽管存在很多困难,如果时光倒退二十年,遍布世界的机器人技术的业余爱好者也许都不得不如此,才能搭建一个像样的机器人。你要学习电子知识、你要有程序设计能力、你要学习机械知识、你要拥有加工能力的车间、你需要忍受孤军奋战的无奈和寂寞等等。

但是,今天,情况大不一样。由于种种进步,你可以在网络上轻易买到各种性能优异且价格低廉的传感器,像是电子罗盘、超声波测距模块、GPS系统、人体红外传感器、颜色传感器、陀螺仪、加速度计以及摄像头。还有小车底盘、各类型的电机,成熟的通讯设备(蓝牙、WiFi、红外等)。除此之外,你还可以到论坛上去逛,去问高手们,很容易翻找到一些书籍和手册来指导你。

即便如此,依然有一个问题摆着这些业余爱好者面前。要想制作成智能化的机器人就必须使用很多微控制器,诸如你的智能手机里面所使用的那些。使用这些装置往往需要比较专业的技能和知识,他们对于诸如非电子、计算机等专业的学生和广大业余爱好者来说门槛依旧较高。

虽然Arduino的创始团队开发这款产品时并非专门为机器人爱好者而设计,而事实上Arduino也可以有更广泛的用途。但对于机器人爱好者来说,Arduino的出现就像是买彩票中了头奖一样,以往我们很难想象会有如此简单易用的微控制器。于是,使用Arduino的机器人作品如雨后春笋一般的出现在了网络上。

因此,贯穿本系列的将会是一个带领读者使用Arduino动手制作最简单的两轮式移动机器人的实例。所有的知识都将会为这个实例而铺垫,那些过于技术细节和作者认为对于初学者而言属于拓展性质的内容我们都不会在正文过多的呈现。

由于这门书是面向零基础的读者,但零基础是指涉及机器人技术专业方面的知识,如果你阅读本书,那么,我们至少假设您应该具有以下技能:

  1. 会使用电脑,如会解压缩文件、打开程序、输入字符等

  2. 会使用互联网查找自己需要的信息,如Google、百度、阅读博客等

  3. 会使用电子支付系统(如网银、支付宝)进行网上购物

想必多数读者都兼备以上三条,即便你有一项乃至数项不会,随便请教一下身边的同事或者同学,应该就不是什么问题了。此外,如果你能阅读简单的英文、具备中学水平的电路知识、又甚至在大学里学过诸如C语言之类的程序设计课程,那对你日后使用Arduino作出令人惊叹的作品而言更加如虎添翼了。

1.1 Arduino是什么
Massimo Banzi是意大利一所设计学校的老师。他的学生们经常抱怨找不到便宜好用的微控制器来发挥他们在设计上的创意。2005年冬天, Massimo Banzi 跟David Cuartielles 讨论了这个问题。David Cuartielles 是一个西班牙的芯片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并请Banzi 的学生 David Mellis 为电路板设计编程语言。数天后,电路板和开发环境都已完成,并被命名为Arduino。这个名字的灵感来源于意大利历史上一位著名的国王。

很快,他们发现这块板子交给即使完全不懂电子和程序设计的学生,只要稍加指点,他们就能用 Arduino 迅速实现他们的创意,做出很酷的东西。之后,三位作者把设计放到了互联网上,数月后,他们的设计作品就在网上得到了迅速的传播。

确切的说,Arduino是包括一系列(尺寸及端口数量有所差异)的控制板,一个简单易用的集成开发环境组成。访问Arduino官网http://arduino.cc/,选择Products(产品)菜单就可以看到所有的产品及其介绍。对于初学者,我们推荐使用Arduino Uno这一款官方主推的控制板。

    

1.2 动手实践-到电子市场和网上淘一把

如果你曾有过在淘宝上购物的经历,那么很多机器人零部件的购买就会方便许多。只是很多东西只值几元甚至于几分,你需要的量又不大,搭上运费就会出现运费占了你采购开支大部分的怪现象。不过如果你在一些大城市,你总可以比较容易能找到一些电子市场,诸如深圳华强北、北京中关村这样的,多去跑跑,实体货拿在手上掂量掂量和老板多些交流必定会让一个初学者获益匪浅,作者也是这样一步一步积累过来的。本节将会粗略的告诉你,Arduino的初学者应该筹备哪些电气零件,第一次自己搭建机器人,又应该准备好哪些机械结构的零件。

在电气零件方面,最基本的LED(发光二极管)、1602液晶显示屏、矩阵键盘、蜂鸣器显然是必不可少的,除此之外,作为机器人用途应该要有常用的直流电机、步进电机和舵机以及无线通信模块和电子罗盘;测距、巡线和壁障用的传感器,如红外测距传感器、超声波测距传感器,巡线用光敏电阻等。

机械结构零件方面,底盘、车轮、万向轮,支持各类传感器和电机的支架,螺栓、螺母连接件和支撑固定电路板用的铜柱、塑料柱等。

显然,在机器人安装调试的过程之中,除了这些耗材,我们往往还需要一些工具、仪器来测试和安装我们的各类元器件。机械方面,像是一字、十字的螺丝刀、剥线、剪线用的剪刀、钳子都是家里常备的工具。电气方面、万用表、面包板和针头线、万能板、烙铁和焊锡都是必不可少的。

事实上,这是一项繁琐而又不得不做的工作,在我们确定产品前,就先必须要先列出你所需的物料清单,然后才能去采购。对初学者来说幸运的是,关于本书的所有实例,我们都会在配套淘宝店上直接提供或者指引你采购。

Ttable参加遥控车擂台赛的经历

本届擂台赛有约80支队伍参赛,Ttable在这场赛事的首战就被对手爆出翔来,轻松地进入80强,本着分享失败、传递痛苦的理念,T决定把这次经历写下来给大家看看。

赛事的承办方是华南农业大学工程学院的学生组织——科技联合会,赛事的正式名称是“机器人擂台赛”。虽然T输得很惨,没什么发言权,但T还是坚持称这场比赛为“遥控车擂台赛”。下文将统一称参赛作品为“小车”。

规则摘要
规则摘要

        T在自己的参赛团队中负责小车结构、驱动电路、外壳的设计制作。

最后做出来的是一架“模块化”的小车。机构上可分为车体和功能模块,功能模块又分为侧模块和前模块。理想很丰满,现实很骨感,实际上T只为小车制作了最基础的装甲模块,没有其他模块可更换。

图片3 图片4

        小车硬件的制作过程:

3月中旬,T花了一个晚上在创元素的场地使用makeblock搭建了小车的骨架。

用makeblock搭建的骨架
用makeblock搭建的骨架

         3月下旬,T制作了小车的驱动电路。我将几个芯片集中到一个电路板,选用3节18650电池作为单一电源供电。

电路板布局
电路板布局驱动电路板驱动电路板

 

加上驱动电路和电源的小车骨架
加上驱动电路和电源的小车骨架

4月份我开始设计小车的外壳。选用亚克力作为材料,激光切割作为加工手段。因为只处理二维的材料,所以我使用AutoCAD进行设计。

设计中的结构
设计中的结构
实际结构
实际结构

用胶水粘合激光切割后的亚克力板,形成立体的结构,内部要加横隔板和加强筋增加结构强度。

功能模块与车体之间通过“导轨+槽”的组合实现连接,方便快速更换其他模块。

最后,在功能模块四周贴上一些锁牌以实现贴地。至此,一块鲜嫩的豆腐就完成了。

图片4

 

制作遥控部分和编写程序由队友韩锦澎负责。T在此声明,其对小车的制作付出了大量的劳动。

部分制作材料清单

部分制作材料清单

            比赛进行时

大家看图!照片里红色圈圈里面那个就是把我的小车干下来的!大家认住它,明年我要报仇!

警察叔叔,就是这个人!图片2警察叔叔,就是这个人!

图片1

 

进入决赛的作品

       声明:

参与此次制作的人员有:华南农业大学-谢林宏,华南农业大学-韩锦澎,华南农业大学-林远平,华南农业大学-谭远祥,华南农业大学-莫凯伦。

并且感谢广州创元素提供makebolck和其他相关支持。

各位,我说完了,如果需要我的小车的外壳图纸,可以在评论中留下你的邮箱。

 

蒜泥空间的机器人

一直在广深两地创客圈混迹的我(@张成wust),对内地的创客发展情况一向不是很明了,不过至少在我本科呆在武汉的四年时间里,我觉得内陆地区的创客氛围不是很浓厚。

不过这次在2014深圳制汇节(Make Faire)遇到了杨总,让我幡然悔悟,其实中国应该有很多潜藏创客,只是一直没有露脸,甚至不知道创客这个称呼而已,而他们在做创客做的事情,已经不是一两年了。

据闻他们本科就开始做这个机器人,一直陆陆续续在改进,现在已经是第五代,也是一个持续不断做了三年多的项目。这不由让我想起了@罗振宇的“死磕自个”之说法。

这次,在经过杨总允许后,我把蒜泥车间打造的一些资料转载和创元素的朋友们分享,蒜泥车间是位于西安的创客空间,最初由西安电子科技大学的几位同学发起。

是不是很拉风呢?O(∩_∩)O哈哈哈~

不仅有图有真相,有视频有动力,还有杨总给的一份PDF介绍,精彩岂容错过。

啊!~让我翻版一下老马(克思)的一句话:全中国机器人爱好者团结起来!....此处省略3万字
 

我本科在校时用Arduino做的小机器人

最近很多人问起我,我选的微薄@张成wust微信头像是什么东西,哎!我就不打算多做什么解释了。据说当年把课程设计放到百度文库上面,真的是很麻烦,因为后来好几届学生的机械设计老师都找我麻烦,说我给了学生抄袭课程设计的模板,我也非常无语。我想,这主要的责任还是现在的大学生太懒太没进取心的缘故吧?

如果下面的PDF载入太慢,您老就“稍等片刻”,美味马上就好。

至于你问我为什么体验这么好的东西会变成这样,我想引用HAXLR8R友人的一句话:“Chinese Internet, Awesome!”