MIRO-一个开放的室内机器人平台

我想谈谈我的工作和我们的集体宠物项目-一个基于一堆ARDUINO微处理器板(如您所见的ATMEGA328-,如您所见)的移动室内机器人,ESP8266和Raspberry Pi。 我和我的朋友称他为MIRO-来自“ Mobile Intelligent RObot”。

图片

目录: 第1部分第2 部分第3 部分第4 部分第5部分

我是太平洋州立大学机器人培训和研究中心的负责人,同时也是我们当地的小型Hackspace EastMaker的负责人。 我们的大学中心已经成立五年了。 正式地,我们是大学的结构单位,具有两个主要活动向量(出乎意料):学术和科学。 到目前为止,科学活动主要与可用的行李有关-水下机器人的导航和通讯系统。 甚至在我们中心出现之前,智能技术与系统实验室(LITiS)就已经存在于计算工程系,这是与俄罗斯科学院远东分校海洋技术问题研究所的联合实验室。 它仍然存在。 中心成立后,该实验室的负责人成为其科学主管,而机器人技术中心成为LITiS的资源库。

该活动的第二部分是教育。 中心的教育程序是作为学生和学童的项目活动的一部分而建立的(我们使学童参与许多项目)。 几乎所有技术领域的本科生和研究生都在从事项目。

图片

图片

我们的中心是跨部门的,不隶属于任何部门。 我们技术基础上的项目,研发工作可以由整个大学的学生和员工来完成。 只要有一个愿望,这个基础就足够了。

随着这项活动,我和我的朋友们在哈巴罗夫斯克创建了私立机器人学校,并为儿童提供了应用工程知识。 对于学校和机器人中心的教育活动,几乎立即就需要某种年轻的战斗机课程,这揭示了以下领域的基础知识:

  • 微处理器技术基础;
  • 简单的传感器(操作原理,使用功能);
  • 材料加工技术(铣削,激光切割,3D打印)的基础知识;
  • 控制场景和来自移动机器人领域的简单算法。

那么在我看来,本课程的目标应该是某种廉价的ARDUINO机器人,这非常正确。

我们开始研究市场上有什么。 他们发现了以下奇怪之处。 有非常好的ARDUINO机器人和套件。 通常很贵。 但他们通常有两个主要缺点:

  • 使用某种“原始”铁(通常是相同的ARDUINO,但在作者的版本中,涉及仅从一个制造商处购买电路板);
  • 缺乏教育资料(这通常是一件有趣的事情-人们制作了出色的教育工具包和工具包,但根本不关心发布基本知识:手册,课程和工作簿(如有必要))。

因此,差不多四年前,MIRO出现了。 但是只是出现了。 随着时间的流逝,该项目的逻辑已经完全改变。

最初,我们基于机器人创建了一个教育综合体。 而且那里没有ESP和Raspberry Pi。 有ARDUINO和一个蓝牙模块。 这是第一辆手推车:

图片

有了这个手推车,我们知道了如何处理学生。 好吧,即使是在我们在哈巴罗夫斯克组织的ROBOMECH节上,他们也为游客组装了一个小型机器人足球。

图片

一段时间后,我们制作了第二个版本,除了形式和布局上的一些改进外,原则上没有什么不同。 在这个阶段,我们还完全放弃了3D打印-所有的支架和支架都是通过激光切割两种板材(丙烯酸和胶合板)制成的。

图片

我们已经获得了组装工具包的精美插图说明,带有手册和练习簿的某种教育程序,并且我们积极培训了学童和学生,并在开放日和城市假期举办了大师班。

大约在这个时候,市场上充斥着关于该主题的不同决策。 ATMEGA328在实际机器人中的功能,甚至对于教育,都变得微不足道。 随后,新的MIRO室内机器人概念诞生了,它是一种开放式解决方案,可通过功能齐全的硬件快速对室内和室外移动机器人进行原型制作,使您可以涉足OpenCV和ROS以及各种IOT。

因此,今天的MIRO概念的实质。

首先 ,MIRO是一款小型的移动机器人,具有完全开源的功能(取决于使用过的现成的串行组件和电路板-如果制造商不提供源代码,那么我们也没有它们),并根据CC Attribution Share Alike 4.0许可进行分发。

机器人的身体是通过3D打印和激光切割制成的。 在第一个机器人版本问世之后,为了降低成本,我们通常不希望在生产技术中使用3D打印。 但是在第二版中遇到了板材问题后,我完全放弃了降低成本,损害质量和功能的想法。 如今,使用3D打印完成了MIRO的90%。 机械可靠得多,使用舒适。 在设计身体部位的过程中,我们唯一支持的愿望是易于打印。 我想避免使用复杂的支撑件和“弯曲的”部分-因此,即使在便宜的3D打印机上,我们也能获得良好的效果。 展望未来,我会说我们已经实现了这一点-在绝对ANET A6消费品上未做任何修改的控制打印就证实了这一点。

MIRO具有一些模块化。

图片

无需拆卸机器人就可以很容易地更换前传感器模块。 此外,机器人的设计应使几乎所有组件都易于接近和更换。 他们正寻求操作和修改的便利。 稍后再说。

其次 ,MIRO是开发的软件工具:

  • 适用于ATMEGA328的机器人API ,带有与Raspberry Pi(仍在开发中)或通过UART与主机的通信库(但已经准备就绪)。
  • 从电机最简单的旋转到将视频流或视频处理结果传输到主机的技术视野课程和程序示例 。 在不久的将来,在ROS下举很多例子。
  • 现成的Raspbian 映像具有预安装的库和软件,VirtualBox 虚拟机还具有预安装的开发软件。

此外,我们会写出机器人生产的详细地图,以便任何人都可以在家中/圆形/ CMIT /大学组装。

目前,在Beta测试中,一个站点可以为MIRO发布其项目。 到目前为止,只能在其中托管小文件,但是随着时间的流逝,我认为我们会分叉。

现在将有一系列有关MIRO的文章,我将在其中详细介绍所有细节。

坦白地说,材料的数量已经如此庞大,以至于我很难跟上及时更新存储库的工作(这仍然不是主要工作)。 因此,材料中可能存在错误和遗漏。 另外,我绝对没有支持开源项目的经验。 我希望很快就能学到这一切。

此外,计划将所有资料翻译成英文。 对于我们来说,这是一项单独的重大工作,只是还没有时间去做。

本系列文章中的某些材料将按照我在存储库中的指示进行复制,但在某些地方会更详细。

今天,让我们回顾一下机器人的硬件。

MIRO机器人基于三个流行的微处理器系统:

  • ARDUINO(基于Atmel ATMEGA328,AVR内核)
  • ESP8266
  • Raspberry Pi(该版本现在不重要)。

MIRO机器人由电池供电,额定电源电压为7.4V(锂离子2S)。 为了获得机器人的大多数微处理器设备所需的5V,使用了LM2596S转换器。

作为标准,所有传感器和执行器均由ATMEGA328控制。

ESP8266允许从ARDUINO IDE环境对ATMEGA328芯片进行无线编程,并且还用作SERIAL-WIFI桥接器,允许使用TELNET协议与ATMEGA328串行端口(UART)无线交换数据。 显然,ATMEGA328和ESP8266通过RX / TX线连接。

另外,要无线实现ATMEGA328芯片,此芯片的RESET线连接到ESP8266微控制器的GPIO2线。

因此,即使没有Raspberry Pi,MIRO仍包含了开发的便捷架构。

在带有前端模块SENS1的机器人的基本配置中,以下传感器和设备连接到ATMEGA328微控制器:

  1. 数字里程表传感器(左右轮)
  2. L9110S芯片上左右引擎的驱动程序
  3. 超声波线传感器HC-SR04
  4. 光阻光传感器(左右)
  5. 压电发声器
  6. 前灯LED(左右)
  7. 线传感器(左,右和中心)
  8. 相机倾斜伺服电机

设备3-7是可选的,可以用任何传感器或设备替换。 您可以设计和制造自己的前端模块,以换取所建议的模块(在文档中称为SENS1)以及您的任务和设备。

设备1、2和8对于机器人的功能是必不可少的,并且不涉及关机。 这是可以理解的-没有电动机驱动器,机器人将无法移动,没有里程传感器,您将无法说出机器人运动的性质,也将无法准确地控制机器人的运动。 好吧,相机悬挂(如果可以这样称呼)可能也是必不可少的部分。

Raspberry Pi通过I2C(TWI)连接到ATMEGA328。 Raspberry Pi Camera v1.3相机连接到Raspberry Pi板上。

我要注意那些现在在MIRO中使用的串行组件。 基本上,我们专注于一家中俄制造商(在生产图中,在串行组件列表中,您可以窥视公司名称)。 这部分是有目的的。 中国人有许多高音喇叭,哨子和其他消费品。 这些相同的人至少代表一些带有命名法的品牌。 而且您至少可以以某种方式指示机器人的一个或另一个节点中应该确切地放置一块铁片。 尽管他们以很少的钱出售相同的消费品。 我仔细地看着他们,给我留下了深刻的印象,就像一家俄罗斯公司一样。 以及他们在网站上发布的消息,他激发了希望这些家伙“为了美丽的一切”。 显然,实际上,一切都不太好。 至少该制造商的UNO + WiFi板的电路图不能承受任何批评。

图片

它不完整,执行时有很多错误。 据此,我们无法确定电路板的所有组件,所连接的组件。

在开发板上,设计人员发现了一个无用的错误/功能:单个ATMEGA328和ESP8266复位电路。 这意味着在该板上无法通过ESP8266组织ATMEGA328无线固件-当ESP8266尝试重置ATMEGA时,它将拉出自己的重置线。 同时,开发板上有一个单独的按钮可用于重置ESP,同时还具有一个用于所有控制器的常规重置按钮。 此外,用于8条线的DIP开关焊接在板上。 并且不涉及第八开关。 最后,我断开了ESP复位线,并使用安装线使用第八个开关将其连接到公共复位电路。 也就是说,如果开关8关闭,则只能通过按ESP RESET按钮来复位ESP,并且公用RST线上的信号或按通用复位按钮不会使ESP复位。 当开关打开时,一切恢复到修改板之前的状态。
还需要弄清楚如何断开复位电路。 我找到了最轻松的解决方案。

  1. 在连接外部天线的连接器附近焊接D3二极管。
  2. 将电容器焊接在焊接二极管的支脚(3.3V)与地面之间。

现在,当您按下重置按钮时,ESP不会重置。

记住网站上的消息,我给他们写了一个纠正此“功能”的建议。 但是他们甚至没有回答我。
我根本不想制造一块铁,但显然我必须这样做。 同样在开放许可证下。

还有一个替代解决方案-普通的Arduino UNO和这样的扩展卡(或类似的东西)。

图片

但是在这里,ESP固件有点不方便。 但是,ESP固件在MIRO中的当前作用是相当罕见的过程。

好了,无论如何,您都需要将GPIO2 ESP8266连接到用于无线固件的ATMEGA328控制器的Reset线。 您可以选择其他GPIO,但是在MIRO代码中注册的是GPIO2(否则必须更正该代码)。 首先,出于经验不足,他们选择了即将发生的第一件事-GPIO0。 但是他们很快意识到了自己的错误-对于ESP固件,由于在固件过程中使用了ESP中的GPIO0线,因此必须断开/卸下此跳线。

总结:组装MIRO时,可以使用任何制造商的卡来满足开关方案的要求。

MIRO机器人的完整电路图在上述存储库之一中提供

马上是一个平庸的问题。 市场上有类似的解决方案吗? 当然有 但是很贵。 顺便说一下,在这里发表了有关ROS购物车的一系列文章的人也指出,缺少或多或少易于使用的“铁”解决方案。 如果我和作者将他们的结果体现在MIRO上,那就太好了。

现在,大致而言,有关计划。 对于所有内容的开发以及第三个版本之前的所有内容,该项目都得到了国家的支持。 融资。 即促进创新基金。 为此,感谢他。 没有这笔钱,我们可能会以完全不同的品质离开他。 我真的希望该机器人成为原型,培训和实验的平台,这将为我国CMIT(FabLabs,hacks)之间的某些真正互动奠定基础。 这成为共同努力的一个奇特点,每个人的贡献都成为所有人的利益。 我清楚地了解到,我指望团队中的每个单位都会变得有趣。 但是,即使这样的互动也将是成功的。 西方的结果使我感到非常鼓舞-就像在一个空旷的地方,以及一些无聊的倡议,一个巨大的生态系统诞生了。 如果解决了怎么办? 其中有很多应用方面的努力。

我认为,当前的开发路线图位于GitHub上的看板板上。

我们还制定了一些项目开发政策。 任何平台都暗含某些限制,即“标志”。 没有它们,一切都会变成无政府状态,平台也就不会出现,如果平台出现了,它的生存期也不会长久。 在同一GitHub上有一个文档 ,类似于平台开发宣言。 随着时间的流逝,它几乎肯定会发生变化-体验只会调整每个人(用户,开发人员)的方便程度。

至于商业潜力,该项目当然具有它,我和团队也将尝试使用它。 怎么了 最简单的是组装套件的生产和销售。 最终,这也是一种扩大不希望打扰生产的用户受众的方法。 毫不犹豫地,现在决定在该站点上打开现成的机器人的预订。

谢谢大家的关注,我很高兴有一些建设性的问题和倡议,对项目的发展有所帮助。

下一篇文章将专门讨论船体的力学,设计和制造。

机器人的几张照片。

图片

图片

图片

PS在此过程中,我身边有许多亲爱的人陪同我,他们在不同时期成为团队的一员,并帮助开发了该项目。 我们的专业道路与某人有所分歧,但我不得不指出他们的贡献。 让他们的名字几乎对任何人都没说,但我希望他们会满意。 这是叶夫根尼·列德科夫(Yevgeny Ledkov),他现在在FEFU教育计划局工作,他编写了基本上尚未完成的第一个商业计划,并全心全意淹没了该项目。 帕维尔·埃菲莫夫(Pavel Efimov)也搬到了FEFU,又搬到了机器人实验室,后者做了很多与该项目直接或间接相关的事情。 拜尔·丹巴耶夫(Bair Dambaev)回到了乌兰乌德(Ulan-Ude)的家园,现在正在他建立的儿童中心教孩子。 还有几个干得很好的人。

Source: https://habr.com/ru/post/zh-CN472380/


All Articles