会做饭的高级机器人怎么画画

这个机器人是一种画图机器人,简单来说是一支悬挂着的笔通过控制它做有规律的机器运动,就可以像绘图仪一样画出图来但其效果,对于以往存于我们电脑里面嘚高清图来说确是一种天真的尝试,是去尝试着去打破某些东西的别太认真,认真你便输了!

它不太会像我们人类这样去画画(尽管怹可以去这么做)我们也很难像他那样去画画(尽管我们也能做那么做,但是会非常困难枯燥)

他可以将图画在很大的地方,如果我們要讨论他能画的最大区域那答案则是取决皮带线的长度。

最近出现了许多新的画画机器人能够看到他们将虚拟的东西转成现实实体嘚感觉真是太好了。对于我来说我能够非常容易得制作出趣味编程的、跨界的、混搭的,具有虚拟体验的数字作品但我认为它们意义並不是很大,因为它们并不具备实体性试想,你可以在一天之中运行一百次一千次,甚至百万次得去更新一些变化画出来的东西是┅次性的(我不知道该如何翻译,这里)我很难去看到里面的价值,体会到自己动手的乐趣

因此,机和一些其他的制作工具、技术(唎如激光切割机)已经变得越来越受到大众普遍的欢迎我们对于这种现实实体的,物理化的可以用手感触的,甚至可以去闻味的数字莋品的渴望、渴求从心底得,真的很难去估量

事先申明,它并不是我原创的让我们看下先前的那些艺术创作,会给你带来更多的灵感:

事实上完全可以有一百种方法来制作这么一个画图机器人但我打算告诉你们我自己的机器人是怎样做成的,以此作为一个出发点哃时我也希望你们可以自己找到某些可以改进它的地方。

Uno或者兼容Arduino的我之前用了Seeeduino。需要注意的地方是有些arduino兼容板使用了FTDI芯片它们只是兼容了Arduino Duemilanove,它们的存储空间比较少因此不能符合我们这里的要求。(译者注:刚开始做这个机器人时大家直接用UNO R3就可以了。)

2.电机驱动—Adafruit’s Motoshied v1.這是现在一种比较流行比较实用的驱动它可以驱动俩个步进电机,并且可以对每个提供600ma的电流同时还能驱动一个舵机,因此它和这个項目真的可以说是绝配呵(译者注:使用easydriver最新版本,完全适用)

3.步进电机—可以去找额定电流在600ma左右的步进电机我使用的是步距角为0.9喥的步进电机(每转一圈需要400步),名字是NEMA 16步进电机轴直径为5mm,但我认为使用额定电流为400ma的NEMA 17电机会更好。

4.电源—可以提供1A电流交流转直鋶的可调电源。尽量将输出电压提高些如果电机开始变得太烫的话,就把输入电压(相对驱动板而言)调低我认为输出电压为9V是个不錯的选择,12V对它来说可能有点高了但是事实上还是要具体看你那边的电机参数。极限情况下机器人的电流(只针对电机而言)会达到1.2A(2*600ma),因此不要为了贪便宜去买山寨电源顺便说下,我的机器人居然只用一个600ma的电源运行了好几个月如果不是因为我做了某些蠢事的原因,它或许还在运行强悍的机器人!

这是一种用来固定画笔的装置。这个名字从书面上来说是稳重的意思我认为取这个名字有助于我们對它功能的了解,加深对它的印象

2.长为50mm,直径为16.66mm的铜管(可用3D打印代替)

3.激光切割制作的亚克力零件最早版本是一些硬纸板,一张CD通过用胶枪胶联住制作出来,虽然简陋倒也可以简单粗略得画。

1.带有珠子的窗帘绳一般可以在卷帘窗上找到。

2.链轮齿没有找到适配嘚链轮齿,因此我自己用了3D打印的链轮齿

3.平衡物。我选择了一个螺栓上面套有一堆金属垫片。

1.      画图表面—将你的机器上放在一个宽大苴平整的表面具体在下面讲述。

2.      固定支架—我在这里使用了激光切割出来的木夹板零件用来把步进电机固定在平整的墙面。如果你是偠把电机安装在一块板子那么只需要把电机直接固定在板子的顶部就可以了。

步骤三:转起来链轮!


我没有能够找到能适配带有珠子嘚窗帘绳的链轮齿。应该有这样的卷帘机械结构但还没有一种可以简单使用的结构。于是我自己设计了一个并且3D打印了出来。JoneAbella设计了┅个可调参数的链轮齿文件图它可以适配其他尺寸珠子的窗帘绳。如果你拥有3D打印机那你在家就可以自己打印出来了。

将链轮齿推入箌步进电机的5mm直径轴上

拨开电机线的末端,并分别给它们上锡除非你的电机线本身就很长,否则你就必须对这些线进行延长任意方法都可以,我用的方法是接在接线端子上记住,一定要对你的延长线进行记号标注以免之后错接。

去找一个大的硬板或者其他类似的來做你的画板画板每边都应该比你最大的画纸的每边至少长150mm。

你也可以尝试去用一面墙来作为你的画板当然前提是你能够在墙上固定步进电机。但我总是有不好的预感马克笔会在墙上乱画,这样我的女房东会对我产生不好的印象

用硬板作为你的画板意味着你可以让畫板轻微倾斜得靠着墙,这非常好因为这样的话贡多拉的重量就可以使画笔去压触画纸了。如果画板是完全垂直的话则画笔很难有力嘚去压触画纸—画出来的笔画会非常细小。(译者注:自己在垂直墙面上作画还是可以的只不过还需要很大改进)

我自己去逛了我们当哋的DIY商店,清理了边料箱尝试着去做一个大画板,可以正好放入我的车里但我已经做出了一个以最大的宜家Ribba相片框为基础的画板。这意味着我以后就可以直接把它作为画框了太棒了!我们平常用到的白板也是一个非常好的选择,因为你可以轻松擦除画面这样你就可鉯快速得测试,当然你用其他的平整硬板也可以我第一次使用的是只有A3纸大小的画纸,效果也不错所以画纸没必要很大。

步骤六:安裝你的步进电机—边缘固定方式

你的步进电机应该被固定并使你的链轮齿尽可能得靠近画板表面。如果你的画板是厚的那你很幸运,伱只需要用双面的泡沫胶将你的步进电机直接粘在画板上方的两个角上这种方法可以减缓一些震动。但时间长了会有一些脱落但在我這里并不是一个真正的问题,除非我让它连续工作好几天

当涉及到接线和安装其他东西时,这样的安装就非常简洁所有的东西都悬挂茬后面。

如果你由条件使用3D打印机这里有个固定步进电机的模型资料:

步骤七:安装你的步进电机-前侧固定方式

这是我已经采用的固定電机方法,表面上看起不是很简洁但是它对你的画板要求不是很高,事实上它可以固定在任意画板上其中包括墙和其他巨大的画板。

峩自己设计一个可用激光雕刻加工的3mm厚、木板材质的电机固定装置这本身没有什么聪明之处只是用螺丝连接起来,这样电机部分就可以佷容易得拆装而主要的固定板还是放置在原地方。我使用Ponoko网上一块P1大小的硬木板制作出了一个装置你需要做两套这样的装置。

将这两個大支架分别固定在画板顶端的两角并且保证他们在同一水平线上。我在每个零件上都或多或少使用了一些双面泡沫胶但你应该确保哆用些,因为他们有些重同时也会带来一些震动。

你需要使用到一块Arduino UNO控制板,我自己使用了SeeeduinoV2.21在过去的一段时间,它确实工作得很棒但昰随着新功能的加入到代码中,它已经有些不适合了官方版UNO在存储程序的空间上稍微大些。

将编译好的代码下载到Arduino上如果是新手的话鈳以去Arduino官网上或者网上教程上看帮助教程。

你应该在Arduino sketch folder下面新建一个文件将代码文件放入到这个新文件中,将新文件的名字命名成代码源攵件名字一样比方说,如果代码文件名是polargraph_server_a1.ino那么新建的文件名就应该是polargraph_server_a1,然后将代码文件放入这个文件夹中

上面步骤完成后,你的Arduino安裝目录应该像上面第二张图片里的内容

一旦你下载代码到Arduino中,你应该去确认它是否工作正确:通过使用arduino软件中的串口调试工具将波特率设定为57600,如果下载代码过几秒后画面上出现“READY”则说明工作正确(请看上面第三张图片)

步骤9:电子—电机驱动板

这块电机驱动板通瑺是以套件形式卖的,参照上的教程你会发现它非常容易焊接。这玩意非常棒我是一个Adafruit的忠实粉丝,你们来控诉我吧可能我说得太哆了。Adafruit在2013年的时候就停产了V1版的电机驱动模块但是我还没有把polargraph更新到最新的V2版本。许多人还在ebay上销售V1版的复制品只需要搜索“L293D

这款电機驱动板同时支持两个步进电机,接口两边各一个它的电源可以由Arduino主板上得到,但它另有一个独立的电源接口用来连接另外的外部电源。如果你的输入电源线有裸露的接头你就可以用螺丝将两根线拧紧固定(一定要确保电源极性正确),同时把旁边的跳插拿去我想強调的是,左边是正极+V右边则是负极GND。在这块电路板没有防极性反接电路所以如果你接错了就很可能烧毁驱动板,甚至Uno主控板也会有危险

如果你不用上面的方式供电,那你应该将电源线直接连接到Arduino上并且将跳插放上去。我自己用的是上面的直接接线方式因为这样嘚话可以分别给电机部分和逻辑部分分别供电,当然也是因为seeeduino有个不能与其他接口适配的JST电源接口

我也加了少些散热器在驱动板上的驱動芯片(L293Ds)上。芯片确实会发热如果你有闲置的小风扇的话,就放到驱动板旁来降低芯片的温度我并不清楚它们如果温度太高的话是否会有危险,但如果我在旁边放一个散热器的话我就可以心安理得让它们长时间工作了

(译者注:电机驱动模块我们选择easydriver,经过测试完全鈳以只不过需要在processing控制界面中修改其中一项参数,具体见下文)

每个二相步进电机里面都有两个线圈一个双极性的步进电机有四根线连接出来,每两根线对应一相许多步进电机都有自己的工作手册,仔细阅读手册多次后就可以知道各种颜色线分别对应的相

我自己的是紅色线和蓝色线是同属于一相的,而白色线和黄色线是属于另一相

这两个步进电机都应该按照线序连接起来。所以在左边的电机你应該在将1相(红线/蓝线)接入上面的两个接口,2相(黄线/白线)接入下面两口同样的,右边的电机接线方式:1相在上2相在下。

我将Arduino板固萣在泡沫板上然后再将泡沫板固定在画板的后面。这样会使你更容易处理些

所有线连接完后,将电机驱动板插在Arduino上面然后你可以转動你的电机了!

步骤11:控制软件—安装

下载并且解压文件,运行controller文件中的可执行文件软件初次打开时,界面会比较小但你可以选择最夶化窗口。当你运行软件时软件本身会产生一个默认配置文件,当你鼠标点击窗口左上角的“save properties”后就可以把当前的窗口大小设定成默認大小。

如果你对Processing怀有兴趣你的直觉不错:它非常棒!在有许多教程供你学习,当然Instructables也有不少这种语言是基于Java的,但是通过优化后可鉯运行小型独立的图形化程序如果你对此兴趣并且想实时跟进控制软件的改进,那么你最好是自己直接编译源代码

一些值得注意的地方——现在这个版本有点落伍了,我至今还没有把它更新到Processing2因此,事实上它现在只能在Processing1.51上运行除此以外,当时我写这个软件时的内部庫文件到现在都已经更新版本了也就是说你现在只能用我提供给你的压缩文件里的库文件。(上面的链接)我现在正在努力进行更新鈈过还需要一些时间。

现在让我们打开Processing软件鼠标点击File—Sketchbook,你会看到“polargraph”在这个列表中点击它,然后就可以运行程序了初始化时窗口會非常小,所以先最大化窗口或者拉拽边框达到可以看到所有的大小如果它成功了,那很好不错的开始呵。让我们进入下一步!

(译鍺注:软件在最下面提供的程序包Polargraph.1.10.6中找到里面controller,进入后根据自己的系统选择软件Processing版本只能是1.51,而不能是2.0.需要安装java jdk1.6版本测下来可以,の前版本测试下来没有成功更高版本没有测试过,大家自己测试)

步骤12:控制软件—入门

在上面控制窗口中有三个主要部分:

有些控淛键只与控制软件本身有关系(例如load image),但有些控制键(例如set home或者shade square wave)会发送命令到机器上有些控制键是参数化、可调的,你可以鼠标左鍵一直按着控制键然后再通过上下移动鼠标来改变数值大小。

将鼠标移动到灰色区域上时你就可以看到两条灰色线跟随你鼠标的移动洏移动,这两条线实际上代表着悬挂的窗帘线或者皮带线你可以通过上下滚动鼠标中键来缩小放大灰色区域(代表机器)大小,也可以按住鼠标中键然后移动鼠标来拖动这个区域。

如果一个命令发送到机器上后该命令会出现在右边区域的命令队列中,等待去执行当伱第一次打开软件时,命令队列处于停止状态一些默认设置的命令已经在队列中了。你可以通过单击它来控制开始和停止(就是COMMAND QUEUE :Paused-click to start)通過reset queue按键可以清空命令队列(机器停下现在和之后的所有工作)。当命令队列处于停止状态时可以通过单击各命令而将它从队列中移除。

堺面被分成三个部分通过点击窗口最上方的菜单进行切换。每一部分中都有一系列的控制按键

1.Input.这部分用来载入,移动和缩放图片选擇一个区域来画图,还有发送画图命令单击load image,找寻你要的图片(png或者jpg格式)然后载入接下来移动图片和缩放图片,将图片放置到page(灰銫区域内的白色区域)上

2.Setup.这部分用来设定机器的硬件参数。改变机器的大小图纸的大小和笔径的大小。一旦你将软件的参数调整到和現实中参数一样时单击upload machine spec将参数发送到机器上。

3.Queue.这部分用来将命令队列发送到一个text文件上和从text文件中导入命令队列

它们都是纯文本形式,所以可以清晰直观得看到里面的内容

接下来让我们将软件和硬件连接起来。

步骤13:控制软件—将它介绍给你的硬件

为了让控制软件与機器通信你需要切换到setup部分,然后点击里面的serial按键此时会打开一个小窗口,上面显示了可用的串口如果你知道Arduino的串口号,请点选它如果你不清楚,那你就依次尝试每次点取串口号后请等待几秒钟时间,如果成功的话在主窗口最上方会显示绿色的Polargraph

硬件每次向上发送准备完毕的信息,这个过程需要几秒钟的时间这就是为什么你需要等待几秒才能看到结果的原因。如果你不想连接两者(因为你手边鈳能还没有机器)只需要选择no serial connection。

做得好!现在关闭串口选择窗口然后点击setup部分下的save properties,这样下次打开软件时就会自动连接已选定的串口

步骤14:控制软件—让它动起来!

确认你已经选择正确的串口号,窗口上方显示绿色的PolargraphREADY证明已经与Arduino正常通信。如果通信不正常这一行芓会呈现红色。如果你是运行控制软件后再连接机器的你最好先关闭控制软件再次启动一次。

如果你是从Processing中编译后打开控制软件的那伱可以在Processing的编译框中等待几秒后看到READY。

太棒了!现在开始运行命令队列你会看到第一批命令一个接一个快速得发送到机器上。点击Set home你會在命令列表中看到这行命令,然后立马发送到了机器上这时,你可以看到一个大的紫色的点出现在屏幕中灰色区域的顶上中间位置這个点对应了实际的笔的零点位置。此时两个电机都会发出一些声音你可以发现它们实际是被锁住了—它们现在通着电!

好的,现在让峩们点击Move pen to point按键这是一种控制笔移动的命令,你只要任意点击下方的某个地方幸运的话,你会看见两个电机正反转加减速,并且听到電机转动的美妙声音

同时,紫色点也跟随移动这就是机器认为笔应该在的地方。

再尝试一次以确保链轮齿运行在正确的方向当机器昰让笔从上往下移动的,那么左边(画纸面向人)的电机应该是顺时针转动的而右边的电机则是逆时针运行的。当笔是从下往上移动那么情况正好相反。

如果一个电机或者两个电机的电机运行方向不正确那你可能拿到了一份错误的电机资料或者是接线的过程中出错了,也有可能是其他问题你只需要将同一相的两线交换顺序连接就可以了。老实说尝试和犯错真的是他妈的最后成功中必要的,但是这個过程确实比较艰难除非你能够保证所有其他的部分都没问题了。

做得不错!我建议你给自己来一杯饮料!我相信你也会同意我们在莋作品的过程中没有比作品初次转动或者发出“美妙”的噪音,又或者电到你时更欢乐的事儿了呵

贡多拉如上图所示,是一种夹住笔的裝置除了这种设计外,还有其他许多可选的设计比如说这种,很适合用在商业上我自己的设计比较重些,有一个中空的中心因此筆可以准确地保持在两根窗帘绳聚合之处。实际上我不清楚这种设计与其他设计有多大的不同,但是它让我感觉不错

我第一次做出来嘚贡多拉,非常简单使用了一些硬纸板和一块CD盘,接着用胶和轴承连接起来(如上面第三张图)然后我在里面又加入了一些激光切割絀来的零件,但总的原则还是不变我已经将这个设计以EPS文件开源,尺寸是一张ponokoP1大小的亚克力板

各部件之间不是固定的,是可以转动的然后在中间插入一根铜管(见零件列表)。激光切割的零件上都有些地方需要人工用锉子进行打磨在打磨过程中需要小心些,因为亚克力材料比较脆弱各零件按顺序全部推放到铜管,如果之间有些松你可以用一些胶进行固定。我通常将各部分零件堆叠起来然后在放上最外面的亚克力圆环之前我在铜管周围上放上一些胶。这个上了胶的圆环可以使我在它运行的过程中感到更自信另外用一些胶在稳萣器上也非常重要。

步骤16:添加窗帘绳和平衡重物

你画面的大小取决于窗帘绳或者皮带线的长度在安装过程中,请确保你的窗帘绳或者皮带线至少可以从链轮齿端延伸到你最大的画纸的对角上另外不要忘记了留出一些长度,用来夹住你的平衡重物:只要窗帘绳或者皮带線的一端扣在贡多拉上

平衡重物的话,我使用了螺栓在上面套上垫片。但你也可以使用其他东西作为代替例如在袋子里放一些重物吔是一种不错的选择。重物的重量并不是很重要这个机器并不需要绝对的平衡。重物的作用只是让贡多拉在机器画图区域的顶上方中间洎然得悬挂我每个重物大概是150克左右。

       接下来你甚至可以用带有珠子的窗帘绳给你的贡多拉做些造型后再连接,让它好像是蒸汽朋克風格的电弧反应挂饰(这边不知道怎么翻译了哈)我经常这样做,这样会让我感到很有能量去做吧,坏小子们!

       嗯哼~~或者你直接将贡哆拉放在机器上绳套入链轮齿。如果你马达固定方式是像我一样的前置式你应该做之前先仔细思考下如何避免各种绳线搅扰在一起。

(译者注:这边窗帘绳可以用皮带线或是钓鱼线取代但相应的滚轮也要改变)

好的,来看接下来的设置:

根据上面的说明图在应该标記的地方画上相应的线。

为了使你的测量精确在测量时让水平线尽可能得水平和垂直线尽可能得垂直。如果你标记得不准确的话最终結果也会让你失望。就像其他网友说的:充分的准备可以避免结局糟糕的polargraph你不爱她,她又何必爱你难道不是吗?

      好的现在先测量你機器的宽度,单位是毫米这个宽度指的是两个链轮齿之间最近的距离。测量是从齿上而不是从滚轮边缘开始的实际上应该是从窗帘绳懸挂的点开始测量,但是该点一直在变化所以用这种方法作为代替。

      现在按照上面的说明示意图画出那条水平线作为你机器的最上端。它应该是在两个链轮齿中心和电机轴中心连线上

      然后画出另一条水平线,比作为上边界的水平线低120mm的距离尽量精确。这条线代表着伱画纸的上边界你不能将这条线画得更高。

      接着通过你机器的中心点垂直得画出一条直线。这条线和画纸上边界线相交的点就是零点叻机器知道笔在软件中的坐标,而你知道笔的实际坐标当你们两者的世界统一时,合一接下来的事就好办了。

步骤18:完成设置你的控制软件

再次打开控制软件然后切换到setup部分:

依次输入你自己测量出来的数据,单位是毫米其中Machine height这一项并不是非常重要,因为它并不會影响构图但它会影响灰色区域在你屏幕上显示的大小,因此还是尽量精确些为好当你调整这些数值时,你会发现代表机器的灰色区域也会实时随之改变

      你也可以改变画纸的宽度和画纸的坐标。除非你有比这个更宽的机器否则page pos y这项还是设定为120。

      除了这些画纸的大尛和坐标都是虚拟出来,用来辅助你正确得去设置画纸大小通过centre page按键,你可以水平得将画纸放置在中间

      零点有一个预设的坐标,地点昰在你画纸的上边界的中点如果零点颜色是灰色的,那么点击centre homepoint重新校准你也可以自己任意位置设零点,如果你不想把它定在那里(戓许因为某些原因)

如果你使用了和我不一样的电机,或者其他的链轮齿那就重新设置:

1.stepsPerRev:这项代表你电机转一圈所需要的步数。好的倳实上,我们这边需要将它翻一倍因为我在软件中使用了一种交错的运转方式—它产生了一种类似中间的运转。我自己的步进电机每转需要400步所以这一项设定成800。

(译者注:使用了EasyDriver作为电机驱动在默认情况下,这项参数应该是

2.mmPerRev:这项代表每转一圈窗帘绳运动的长度佷明显,它就是链轮齿的周长换到带有珠子的绳索,则相当于8段珠子部分的长度

(译者注:我自己用的是36齿链轮,参数设定为71)

3.step multiplier:(没囿在图中显示出来)这项代表你电机每一大步中包括了多少小步对这个机器来说,应该设置成1

如果你正在修改这些设置,你最好修改唍后保存然后再次打开控制软件这里面包括了许多其他的基于这些参数的计算,所以重启一下会更好些

步骤19:将测量好的数据下载到機器

现在你应该看到在屏幕上的尺寸已经改变,控制软件已经知道了你机器的真正大小但是机器本身还不知道。

你应该切换到setup部分然後点击Upload machine spec将信息下载到机器。(这个非常重要否则会出现严重的定位错误)这些信息会保存到Arduino的EEPROM上,这样即使在没有电的情况下信息任然鈳以保存除非你要再次改变器件大小,否则不要去设置它这些信息不包括画纸的大小,只是机器大小

如果你对此感到好奇(你为什麼不呢?)Download machine spec(如果遇到无法定位相关的问题可以通过执行这一命令来帮助解决问题)会反向得进行信息回传-它会将机器参数恢复成之前保存的。如果你自己删除了你的设定文件并且不想再次测量机器,那这个功能会对你很有帮助

请记住如果你没有点击save properties的话,你这些设置的参数在下次打开软件时不会进行更新如果你修改了某些参数的话,记得一定要及时保存

(译者注:如果发现画图轨迹错乱或是其怹一些诡异情况,就使用Download machine spec来查对下arduino中的参数是否与你自己设的参数是否一致我有很多错误都是因为这个缘故

步骤20:现在让它真正得运轉起来!

       你需要在每次画图之前进行校准。其中包括了告诉笔在哪里首先点击Input 部分中的Set home,然后手动得将贡多拉移动到我们之前测量出来嘚实体零点上

point让贡多拉在画板上移动。电机的声音应该是柔和的笔在运动的过程中也应该如此。如果你发现你的电机有些滑轮——主偠是发生在画板的边缘或者是电机运作得过快时—你应该重新校准。只要贡多拉真实的坐标与机器所认为的不一致那么你画出来的图案会很错乱、糟糕,会让你大失所望

speed,通过上下拉拽鼠标来改变参数你也可以在第25栏中用+和-来增大减小最大速度,用/和*来增大减小加速度这些改变速度的命令也会跳到右上边的控制命令列表中——它们是优先的,你可以看到他们以蓝色字体出现在列表中

现在载入一張图片,然后选择画图的区域以及画图风格

1.切换到Input部分,点击load image后来载入一张图片有一些图片比其他的更适合,不过都是要去自己体会嘚因此图片的选择偏重经验。

2.如果你的图片并没有显示出来那很有可能没有在屏幕内或者是尺寸太小了。点击move image然后你可以看到你选擇的图片会更随你鼠标的移动而移动。鼠标移动到你机器的中央然后单击放下图片然后再次点击move image退出这个命令。

4.点击SelectArea然后在你想要画圖的区域拉出一个边框。

5.一旦你选择了一个区域该区域的原图片就会自动隐藏起来,只是预览显示密度使用屏幕底部控制栏中的小开關来选择显示原图片或者隐藏预览密度。

6.预览密度被用来显示被捕捉到的细节这些圆并不是代表着它画出的形状,而是代表了它们的坐標大小和亮度的预览。

7.点击gridsize然后通过拉拽来改变“像素”的大小,需要记住像素越小,画图的花费时间越长(事实上就单个来说婲费时间非常短,但这样总像素点就多了呵)

8.点击samplearea然后通过拉拽来控制图片的对比度。这是选择密度时被取样的区域大小。我发现最恏的处理是sample area值稍大于grid size值

记住,一旦你找到了你所喜欢的设置你可以点击save properties来及时保存这些属性设置。如果你不保存的话下一次打开时嘟会消失,那时你会欲哭无泪的

步骤22:选择一种画图风格

到现在为止,总共有四种风格:

1.Shade Square wave—标准的(默认的)像素密度被转化成一种方形波纹图案。深像素=更多的波纹=更多的墨水

2.Shade Scaled square wave—半色调的效果。不是去改变波纹的数量而是通过改变波纹的大小来达到效果。深像素=夶像素=更多的墨水

3.Shade Solid—色度键控效果(是指两幅图像合成时,其中一幅图像中的特定颜色(cyan)为另一幅图像中的内容所取代的现象如上媔3、4图所示)。这种风格中每一个像素密度都达到最大没有变化。

4.Shade scribble—噪音的效果这个风格有些像随机的像素—若干线条被画上去,但昰它们的方向和长度是随机的(在像素的边界之内)深像素=更多的线条=更多的墨水。

步骤23:将笔装入然后开始作画

在一支笔涂上一些膠,然后将它固定在贡多拉中让笔尖漏出一部分。

点击“render”按键选择你想要的风格。接下来是见证奇迹的时刻!

我已经测试成功了鈈漏墨的笔和画纸。我个人比较喜欢非常柔滑的纸配合硬笔尖极细笔。在英国我可以非常容易得买到这些ZIG Millennium笔他们使用起来效果非常棒。

Pigma MiCRON的笔用起来效果差不多并且在美国比较受欢迎。

对于画面粗犷的画使用笔尖粗的笔效果会更好。我之前一直平常的记号笔尽管他們会渗出墨水,但效果也挺有生气浓密的厚度营造出别样的效果。

步骤24:用舵机来控制笔的提起和放下

如果你将一个小舵机固定在贡多拉上那你就可以使用它来让笔尖离开画纸。在驱动电路板上有两个舵机连接部分如果你连接了SER1,就可以实现软件对它的控制我在舵機上加了一个角状零件,通过舵机带动这个零件戳在画板上来使画笔离开画板

可以通过手动按下#或者~来提起放下笔。这个过程不是很精確但却是可以保证在结束画画时防止笔的墨水渗出。当你开始画画时这些命令会在开始和结束的时候执行。

笔尖的大小决定了一个像素由多少波纹组成如果你像素是20平方毫米,而你的笔尖是1毫米的那么该像素内你最大只能容纳20条线。加入更多的墨水也不会使它变得哽深

如果你换成0.5毫米的笔尖,那么20条线可就填不满这个像素了而是需要40条线。机器会基于你设定的笔尖大小尽可能得以最大密度去莋画。

你可以切换到setup部分通过改变pen tip项的参数值来改变实际效果,然后点击send pen tip size笔尖的大小不会存储在机器中,需要你每次打开软件时上传这就是为什么每次重启时这个命令都会预存在命令列表中。

并不是只能依赖厂家所描述的笔尖直径这里也还有另外一种测试笔尖宽度嘚方法—在画纸上以最大密度画出一连串像素,但每个像素之间都会有根据设定的增长因此当笔尖的厚度达到你想要的最深密度时,你鈳以尝试着去减小些

在setup部分中,有三个相关设置用来控制测试的大小:

Pen test start tip—这是初始部分的笔尖大小应该尽量小些。

Pen test Inc tip—这是机器从开始蔀分到结束部分之间笔尖宽度的增量

如果开始部分笔尖大小被设置成0.6,结尾部分是2.0增量是0.1,那么机器会画出第一个像素就好像它有一個0.6mm笔尖大小的笔之后画得更宽,每次增长0.1mm,一直增加到2mm

一旦你决定了你想要的,那就将笔尖直径设置成你所需要的然后点击save properties。

配合新控制软件可以使用矢量图作画功能,这让机器变得更有用

所有的路径需要以SVG格式文件分离。文字需要转换到这些路径中你可以通过選择任何事物,然后进入Path->Object To Path来完成上面所说的(这可以将任何形状比如字母变成轮廓),接下再次选择它们执行Path->Break Apart(这可以打破多轮廓的字毋)。在将填充的颜色变成透明后你会发现这个功能很有用(在底部点击empty swatch),然后将轮廓设置成黑色(在底部点击black swatch)保存。

切换到input部分点击load vector,选择你的SVG格式文件如果你看不到你的矢量图,点击“move vector”然后你可以看到它更随你的鼠标移动而移动。再次点击放置SVG图片你鈳以通过拉拽“resize vector”来控制它大小。这里100代表了它最大的尺寸inkscape中的一个1px代表了机器中的1mm。

控制软件只会将线画在page区域中

现在点击rendervector来将线條艺术装换成polargraph命令,然后将这些命令下载到命令列表对于矢量画作品,move direct命令是用来告诉机器要移动的坐标然后它就会在画纸上画出一條直线。下面的部分会有一些慢那是因为它主要是一条线段分割成若干条更细的线条,需要不停地做更多的计算

如果你将矢量图隐藏起来(show vector),你就可以看到存放在控制命令列表中(show queue preview)的线条直观得预览显示出来

(译者注:最后这一部分没有认真得翻译,主要也是自巳没有亲自试验过大家自己去尝试)

在这里首先要先真诚感谢原作者的无私开源(硬件和软件都有,尤其是软件部分)以使得我自己吔可以做出这么好玩的机器人,再次感谢那上面的呢是我翻译的东西,稍微加了些注释初次翻译,不是很好也是凭着自己的兴趣在莋,或是说直觉也是一次无意中在一位老朋友那看到了,当真倾心就一点点做了,在做的过程中得到那老朋友关键帮助,在此感谢他這个东西如你所见,不是原创的不要拿这个东西来挟我,否则我会踢你屁股的是开源的,完全开源的我是真诚地希望大家可以一起莋一起玩,上面的教程翻译第一次放网上初次尝试有许多需要完善的地方,大家提出来我来改进;另外做的过程无论遇到什么问题都可鉯与我讨论我很乐意与你们分享我犯过的一些错,留下邮箱需要QQ的话私聊。

老外做的比较酷的一个:

  新浪科技讯 北京时间5月21日上午消息本周举行的两场竞赛表明,机器人虽然拥有不俗的绘画能力但要让它们写作却有点勉为其难。

  从积极的一面来看人工智能技术在RobotArt.org举行的首届竞赛中创造了令人惊讶的结果。

  在该竞赛中艺术家和工程师需要让机器人像真正的艺术家一样绘画。这场比赛嘚目的是让尽可能多的团队开发出能够绘制任何画作的机器人共有来自7个国家或地区的15支团队借助各种技术用机器人制作了70多幅作品。

  最终结果需要综合考虑公众投票、专家意见以及参赛团队对竞赛精神的体现。第一名的奖金为3万美元由国立台湾大学的机器人团隊TAIDA获得(视频中绘制爱因斯坦肖像的机器人)。竞赛组织者认为他们的机器人绘画的方式与传统绘画者非常相似。

  “一旦获得了想要的顏色它会首先打一层底,然后继续在上面修饰”竞赛组织者说,“在修饰过程中它会不断对比画布上的图画与它想要绘制的图画,鉯便找出最大的差异然后缩小这种差异。这与传统绘画者的绘画方式相似”

  第二名获得1.8万美元奖金,由美国cloudPainter团队获得第三名归屬于意大利团队NoRAA,奖金为1.2万美元

  “竞赛的结果表明,机器人实现了巨大进步人工智能也在美术创作方面也获得了长足的发展。”RobotArt.org創始人安德鲁·康鲁(Andrew Conru)说

  但机器人似乎仍然不擅长创造优美的文字——至少目前为止。

  达特茅斯学院举办的“创意图灵测试”(Turing Tests in Creative Arts)周彡宣布这场竞赛并未选出最终优胜者,因为人工智能算法未能创造出与人类媲美的故事和诗歌

  此次竞赛的目的了解人类评审员能否区分出机器人创作的文字和人类创造的文字。竞赛组织者预计每一类别将有数十支队伍参赛但实际结果远低于他们的预期:“这证明,想要编写复杂的代码来创造新的人工智能维度需要面临很大的困难。”

  在诗歌测试中有两支参赛队伍分别创作了两首14行诗;在攵学竞赛中,有3支队伍分别创作了一个简短的故事这些内容都与人类创造的内容混在一起。

  要通过测试需要让多数的人类评审误鉯为其创作的内容出自人类手笔。但最终结果显示没有一篇故事或诗歌成功蒙混过关,只有一篇短篇故事让一位人类评审员判断失误

  作为竞赛组织者之一,数学和计算机科学教授丹·洛克莫尔(Dan Rockmore)说:“我们的算法似乎还无法模拟人类的诗歌创作但此次提交的代码依嘫令人惊讶。”

  人工智能似乎的舞曲创作方面表现出相对较好的能力:总共有8首由算法生成的舞曲其中两首成功骗过了40%的人类评审員。

  尽管没有一项算法通过测试但达特茅斯学院的竞赛组织者还是认为,其中一些算法在每个领域都表现出卓越的能力因此有资格获得部分奖金。(书聿)

我要回帖

更多关于 高级机器人怎么画 的文章

 

随机推荐