BEAM机器人

十多年前曾在杂志上发过几遍文章,关于BEAM机器人的。十多年过去了,科技迅猛发展。人形机器人,机器狗,AI大模型等等,每天都在给我们刷屏。身处数字技术的繁荣景象中,有时会想人类是不是只是造物主的造物之一。这种感觉又时常让我想起BEAM机器人,一种无需编程的,使用简单电路模拟生命体神经元特征的电路装置。把以前的文章翻出来,缩减整理为一小短文。喜欢模拟电路、机器人的朋友可以来一起探讨研究,如果不喜欢的直接划走就OK了。

BEAM机器人

BEAM机器人是一种很有趣,而且制作极为简单的机器人。BEAM是英文Biology,Electronics,Aesthetics,Mechanics的缩写,中文意思为“生物学、电子、美学、机械”。它是在二、三十年前由洛萨拉莫斯国家实验室的研究人员马克·蒂尔登(Mark Tilden)创立,BEAM机器人不需要微处理器做大脑,也没有极其复杂的控制线路,仅有一些传感器和传动器,它们却能模仿低级生物以原始的生存本能为运行的基础。这些看似简单的昆虫、爬虫类机器人,却能产生出一些相当复杂的行为。创立者蒂尔登博士这样说:“你几乎不废吹灰之力就能造出一个BEAM机器人,而不必去写复杂的程序。但更重要的是,它作为一个范例向你展示了生物学的力量。”制作BEAM机器人的部件可以来自废旧的电器部件,这使得它更容易被爱好者制作和喜欢。

BEAM机器人的基本概念就是利用电路和机械结构模拟简单生物的基本求生本能,它的电路并不是像基于MPU/CPU控制的机器人运行时是根据所编制程序去执行,而是使用类神经元电路使得电路无意识的运行,从而产生出复杂的动作。生物的神经元在受到外界的影响达一个阀值后便会把信号传输到大脑,同时做出反射动作。越多的神经元电路所能产生的变化效果会越复杂。

上图是一个最常用的最简单的类神经元电路。它是由RC微分电路和一个反相器组成。可以使用示波器测量上图中各点的电压波形来分析类神经元电路的工作原理,后面一张图就是测量输入、V点、输出三个点的电压和波形得出的图表。当输入电压从低变高时,V点电压也升高,这时反相器则输出低电平,因为电容和电阻的作用,V点电压逐渐回落,当V点电压低于反相器最低输入电压阀值时,反相器输出高电平。时间段T的长短就取决于电阻电容的取值,而这个T值就可以理解为神经元所产生的兴奋信号。当使用二个或以上的神经元电路连接成网络时,信号就可以在这些神经元电路中传递下去。

当输入端接入传感器,输出端接入到电动机时,神经元网络就可以对环境产生反应,并通过电动机产生对此的动作,这样就可以为机器人对环境的感知和自身的可动性提供了可能。在同一条神经元电路网络中,信号输入后会通过每一个神经元,一直传输下去。因为传感器输入信号是模拟量时,这样的信号没有精确的规律性,再加上输入端的RC作用,使得输出结果更为复杂和多变。这种模糊的逻辑也正是BEAM的乐趣所在,它不像使用微控制器那样产生精确和可预期的控制,而是展现出易变、复杂和有时混乱的行为。

BEAM机器人的电路并没有太多的限制,除了Mark Tilden等先驱者发布的经典电路外,玩家可以自行按自己的元件条件来设计相应的电路,主要还是要遵循模拟生物神经元的原则。以后会分享一些我自己制作的BEAM机器人。

下面这个BEAM机器人是国外网友的作品

照片来源:https://makezine.com/article/technology/robotics/how-to-build-beam-vibrobots/

20231211

制作OTTO机器人

OTTO是一个开源的小机器人,主板使用ardunio nano小板,动力是使用4个SG90 9克的舵机,标准DIY版本支持超声传感器,可以使用ardunio IDE 或mblock等工具进行编程。简单好玩。

所有文件可以到它的官方上得到。https://www.ottodiy.com/

包括3D打印用的模型文件等。

3D打印机体
打印好的机体

这里要注意的是官方的3D模型有2个版本的,一种DIY版本适用于SG90舵机,另一种PLUS版本适用于MG90舵机。

按安装说明文档 安装

这里要注意的是先要调整舵机为0度位置,可以先把舵机装在主板上,用程序包中的servo home程序来调整。

NONA主板
安装好舵机等配件
安装完成了。
玩起来。