10933| 18
|
[项目] EWON:最懂你的树莓派机器人 |
EWON:最懂你的树莓派机 器人
最近发现因为疫情的缘故,自己疯狂的追了很多Netflix的连续剧。在此,祝大家都平安、健康。我看到了《黑镜》第五季已经上映。这是一部围绕一群人的私生活以及技术如何操纵他们的行为的连续剧。 其中一个引起我注意的情节是瑞秋,杰克和艾希礼。该剧的一个主要角色是一个名为Ashley O的家庭机器人,这个机器人有很多的特点,我私下对自己说,应该制作一个同款机器人。这是一个初学编程很好的练手项目,至少可以编程让它在我讲笑话时大笑。 Ewon是谁?它能做什么?在开始动手之前,我设定了一些要遵循的基本原则。这个项目必须:
定好这些原则之后,我决定使用谷歌助手SDK(Google Assistant SDK)。这个SDK不但提供了很多我一直在寻找的特性,而且如果厌倦了Ewon,可以把它当作谷歌家庭设备,做谷歌家庭设备能做的事情。 Ewon要做的是在谷歌助手中添加一个角色。也就是对用户说话作出情感和动作反应。你不仅听到声音,还能看到动作。 注意:本指南正在开发中。我很快会上传所有相关文件。谢谢。 第1步:所需零部件电子类
紧固件和轴承
其他材料
工具
第2步:了解Ewon和编程在开始编写代码之前,让我简单地解释一下Ewon的电路框图。 RPI(树莓派)是系统的大脑。RPI(树莓派)通过伺服驱动器控制电机,通过串行通信控制显示器显示表情,通过麦克风和扬声器与Ewon沟通。既然知道了各个硬件的功能,那就让我们开始给Ewon编写代码吧。 安装谷歌助手SDK
我们从安装谷歌助手SDK开始。这应该不难,因为有大量的资源可以帮助您在RPI(树莓派)上安装谷歌助手SDK。您可以跟着这个教程进行操作: 教程网址:https://developers.google.com/assistant/sdk/guides/service/python 完成上述过程后,应该能够通过键盘上的回车键与谷歌助手交谈。好了,谷歌助手SDK的安装过程就介绍这里吧。 该起个什么名字呢?Ewon?
让我们开始在RPI(树莓派)上安装SnowBoy。记得激活虚拟环境来安装SnowBoy,就像安装谷歌助手SDK那样。从现在开始,所有需要安装的东西都必须安装在虚拟环境中。安装SnowBoy可能有一定难度,但这个链接应该可以帮助你扫清障碍。 推荐链接:http://docs.kitt.ai/snowboy/#introduction 下面是安装过程用到的命令。
安装完成后,试着运行演示文件[在文件夹-snowboy/examples/Python3/]确认是否一切正常。 注意:可以很容易给机器人起个自己喜欢的名字。你只需前往链接https://snowboy.kitt.ai/训练一个自定义的热词,然后将新热词放入ewon.pmdl所在的目录里。 Ewon能理解情感吗? 用一个简单的分析脚本就可达到目的。Ewon一共支持6类不同的表情。 快乐、悲伤、愤怒、恐惧、厌恶和惊讶。这些是主要的情感分类,每个分类都有一个与情感相关联的关键字列表。(例如好、真好、兴奋,都属于快乐的情感)。 所以,每当我们说了情感类中的任何一个关键字时,就会触发相应的表情。因此,当你说“嘿,Ewon!”,然后等着Ewon说话,接着说“今天是个好日子!”,它提取关键字“好”并触发相应的“快乐”情感,进而触发快乐的面部表情。 Ewon长有耳朵吗? 首先是伺服电机,驱动伺服电机是相当容易的,可以按照这个教程设置Adafruit伺服库。 教程链接: https://learn.adafruit.com/adafruit-16-channel-servo-driver-with-raspberry-pi/overview
Ewon的眼睛 这是我在PhotoShop中设计的图像序列,当按顺序播放时,会生成一个动画。每个情感类都有类似的图像序列。现在要显示任何情绪,你所要做的就是调用组成动画的特定图像序列。这些文件在“Display files”文件夹中,下载链接如下。 终于来了! 这是运行EWON所需的所有文件的下载链接。下载该文件并执行以下步骤:
第3步:3D打印主体您可以在此处找到3D文件:https://www.thingiverse.com/thing:4511545 既然设置好了Ewon的大脑,是时候3D打印它的主体了。有18个独特的部件要打印,其中大部分是很小的,总打印时间约15-20小时。(不包括外壳)。 我用白色PLA、50%填充,层高2mm。如果需要,您可以更改这些值。它应该可以正常工作,但要确保小部件用100%填充,以增强强度。 文件打印完成后,可以使用砂纸或手锉清理打印部件,尤其是部件间相互滑动的接头。光滑的关节将使机构平滑,并将减少伺服电机的阻力。这个过程可以花去很长时间,因为很容易沉迷在追求完美当中。 附加说明:可以使用3mm钻头在3D打印部件上重新钻孔。所有孔的尺寸都一样。这将使后面装配时更容易拧入螺母。 第4步:把Ewon装配在一起在开始装配之前,打印部件需要做一些修改。名为伺服链接的文件必须匹配伺服链接,这使得3D打印链接与伺服连接良好。 Ewon的装配应该是直截了当的。我已经附上了图片,让你跟着做。 附加说明:确保不要把螺栓或螺钉拧得太紧,因为这可能会损坏和磨损打印部件。 第5步:给Ewon接线我们正处在激活Ewon的最后一步。这是组件的接线图以及显示连接的图像。
警告:小心你的RPI短路。请检查所有的连接两次,确保你没有犯任何错误。扬声器、伺服驱动器和显示器都由单独的5v电池供电,而不使用树莓派的5v线路。树莓派只是用来给配件发送数据,而不是给它们供电。 第6步:嗨,Ewon!你能听见我说话吗?至此,我们已接好了全部配件,并安装了所有必要的库。可以通过运行shell脚本来启动Ewon
但这个.sh脚本是什么?Ewon通过不同脚本使用许多不同的库(谷歌助手SDK、SnowBoy、Adafruit等)。所有脚本都放在各自的文件夹中。(我们可以移动同一路径中的所有文件,但目前,某些库不允许移动源文件,因此,我们只将它们保留在各自的位置上) .sh是从每个目录逐个运行所有这些脚本的shell脚本,因此您不必手动到每个目录运行这些脚本。这样就更容易处理所有命令。 一旦运行了shell脚本,只需说“嘿,Ewon!“你应该看到Ewon开始听你说话。现在你可以用Ewon做谷歌助手,和它说话,你可以看到Ewon随着你说的话改变表情。试着说“嘿,Ewon!我今天很难过”,你可以看到Ewon和你在一起难过。试试跟Ewon开个玩笑,你看,它真的笑了。 第7步:下一步怎么办?Ewon不会就此停止。Ewon现在有了一种检测和显示情感的方法,但我们可以让它做得更多。这只是个开始。 在接下来的更新中,我们将研究如何
注意:由于目前疫情严重,采购零件变得非常困难。考虑我现有的库存,让我改变了设计和功能。一旦获得所需的部件,我会更新这个项目。 更新:
代码及3D打印文件
|
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed