OpenCat—— 面向 STEM(科学、技术、工程、数学)领域的平价四足机器人。一款可编程且机动性极强的机器猫,适用于 STEM(科学、技术、工程、数学)教育以及人工智能强化服务领域。
观看 OpenCat 的第二代产品比特犬(Bittle)在足球比赛中的灵活表现:
您可能见过波士顿动力公司的机器狗和最近发布的索尼Aibo。它们超级酷,但价格太贵,让人难以拥有。我希望提供一些价格亲民且具备它们大部分运动能力的替代品。我不是说我能重现那些机器人巨头的精确动作。我只是将价格从数百万美元降低到数百美元。我不期望把它送到战场或其他具有挑战性的环境中。我只是想让这个调皮的伙伴融入一个干净、智能但过于安静的房子。
凭借非常有限的资源和知识,我从小处着手。较小的结构避免了那些大型模型的许多工程挑战。它还允许更快的迭代和优化,就像老鼠比大象适应得更快一样。无论硬件如何,一旦实现了自由度的精确映射,主要的控制算法就可以共享。我为多种步态推导出了一种运动算法(有十几个参数)。历史最快速度超过每秒
3 个身体长度,是通过小跑(两条腿离地)实现的。由于我不断添加新组件并改变重心,而自适应部分还不够好,所以我为最终模型保留了调整时间。
运动算法目前在一块32KB、16MHz 的 Arduino 板上运行,几乎在各个方面都通过算法优化用尽了其系统资源。我打算切换到一块 256KB、48MHz的板子,以提升主动自适应性能,并为未来用户留出额外的代码空间。考虑到价格因素,运动是由业余级(但仍然坚固、数字式且金属齿轮)的舵机驱动的。引入了一些弹性结构来缓冲冲击并保护硬件。
在运动模块之上是一个树莓派(RasPi)。树莓派对控制肢体的精细动作不负责。它专注于更严肃的问题,比如“我是谁?我从哪里来?我要去哪里?” 它产生思维并向 Arduino 从机发送字符串命令。运动指令仍然可以以较慢的方式发送到Arduino。一个人工遥控器处于中间位置,可以拦截机器人对自身身体的控制。它仍将保留某些本能,比如拒绝跳下悬崖。
目前,我有两个功能原型:
- 迷你模型是一个独立的8 自由度(支持多达 16 自由度)的 Arduino运动模块,具备多种步态和实时自适应的所有技能。代码与完整版兼容,只需更改一个参数。安装尺寸与树莓派板相匹配。所以它也可以成为你现有项目的“腿部帽子”。通过一些增强的 “载体” 配置,它可以额外承载约 1 千克的重量(但行走速度会变慢)。它面向 STEM教育和创客社区。价格将与一些机器人汽车套件相似。
- 完整版使用树莓派来实现更多人工智能增强的感知功能,并指挥一个升级版的16自由度运动模块。除了树莓派的无线网络和蓝牙功能外,它还配备了地面接触、触摸、红外、距离、语音和夜视接口。所有模块都在其轻量化的机身进行了测试。它还采用了一些仿生骨骼设计,使其在形态上更像一只猫。它面向技术背景较少的消费市场。你可以把它想象成一个有腿的安卓手机或Alexa,带有一个可供第三方扩展的应用商店。它可以以约每秒 2.6 个身体长度的速度持续运行 60分钟,或者坐着播放视频几个小时。我还在脊柱下方预留了一些空间用于安装额外的板子(比如GPS)。我有一个复制该模型的常规流程,但需要更好的工业化来减少人工。我预计价格会接近一部智能手机。
- 我还有一个过时的版本,仅使用树莓派来控制人工智能和运动。所有代码都是用 Python 编写的。如果它运行密集型人工智能任务,运动效果就不太好。
2016 年 6 月,我购买了我的第一块树莓派来学习硬件编程。为了表达我第一次用树莓派的火花点亮一个 LED 时的喜悦,我写了一首中文绝句:
启蒙
夜闻禽兽想炊烟,斑白胼胝枉瘦田。
仙界私厨失圣火,人间春事已燎原。
其字面意思是:“夜间动物的吼声让我想起古代文明的开端。白发苍苍、手上长茧的人们辛苦劳作,却只能在贫瘠的土地上种出少量庄稼。有一天,一团曾为仙界私厨服务的火种从天而降。很快,刀耕火种的农业在人间繁荣起来。”
这个机器人是我学习常规树莓派初学者套件中所有组件的试验场。我从工艺棒开始,然后切换到3D 打印框架以优化性能和形态。2017 年 7 月引入了 Arduino 以实现更好的运动效果。在 2016 年 7 月至 2017 年 9月期间进行了 7 次主要迭代。自去年 9 月以来,由于工作任务增加、公司组建和专利撰写等事情分散了我的精力,没有取得重大进展。
我现在正在用迷你套件教授一门大学机器人课程。我希望能卖出更多的套件来验证市场,并带来一些收入以维持项目的进行。完整版仍有待完善。我也在申请几个创业加速器,可能还会尝试Indiegogo 众筹。根据我能获得最佳支持的地方,我可能会创业,或者将项目完全开源。即使作为商业产品,大多数代码也会随着套件的销售而开源。
我相信开源的力量,如果每个人都能拿到一个机器人并开始焊接和编程。与其说它是一个最终产品,不如说它展示了一个不断壮大的创客社区所支持的潜力。用户可以专注于在运动(使用C 语言的 Arduino)或人工智能(使用 Python的树莓派)部分对其进行编程。而且两者可以通过字符串标记进行通信。用几行代码就能教授新的肢体语言和行为也很容易。每个有 Arduino或树莓派知识的人都能想象到它的可能应用。多年来我一直对那些动物形状的汽车感到厌倦。现在孩子们可以在一种新型玩具上学习物理和编程。机器人专家可以在一个便宜得多的平台上专注于他们的行走算法。软件开发人员可以在一个宠物般的机器人上编写人工智能增强的应用程序,而不是在一个“带轮子的 iPad” 上。
如果你对这只机器猫感兴趣并且想拥有一个,请点赞这个视频并分享它。我也很乐意看到你的评论来使它变得更好。你的支持将决定它多久能在市场上推出。
- 分享 STL 文件(立体光刻文件,用于 3D 打印模型的文件格式)吗?
- 完整版机器猫需要用各种不同的材料丝精确打印多个结构部件。打印及后期处理(涉及丙酮处理)大约需要两天时间。而且它们必须使用特定的配件和工具进行组装。有些机械结构的设计精度在
0.2 毫米以下,我目前正在通过仔细锉削来对其进行调试。哪怕是采用焊接或布线的替代方式,都可能在组装时造成麻烦。
我认为最经济(且安全)的方式是投入一些资金制作昂贵的注塑模具,然后进行批量生产,至少对于关键的机械部件来说应该如此。一旦我发布这些文件和规格说明,你们可能就会认同这一点了。
而且我还需要时间来整理出完善的文档资料。迷你版应该会更早推出。
这个项目的代码已经发布在:https://github.com/PetoiCamp/OpenCat