本期技术干货,我们邀请到了小米机器人实验室工程师徐海望,和大家分享开源硬件树莓派(Raspberry Pi)、Arduino、飞控和足式机器人等项目为行业带来的变革与启示。

一、树莓派的启示

提到开源硬件,我们脑海中往往会想起树莓派(Raspberry Pi),这个由英国树莓派基金会开发的单板计算机开源项目享誉全球,由于其丰富的功能和低廉的价格,博得了广大电子爱好者和极客们的喜爱。我们时常会在网上看到来自世界各地的开发者们通过树莓派设计了有趣的制作,比如有人会用它做一个小型服务器,也有人用它设计了一台机器人,还有人通过树莓派建立了家庭的视觉安防系统,甚至有人会用它预测蛋白质结构!

图1

树莓派的项目提供了完整的设计电路设计图纸和软件源码,开发者拿到这些资源后可以轻松对其进行定制。在树莓派3之前的时代,树莓派都是以一个较为统一的板型存在的。如图1所示,右边的Model B是一个标准的树莓派板型,它提供了20路Pin的GPIO接口,间距为2.54mm,两路USB 3.0 Type A接口,两路USB 2.0 Type A接口,一路千兆以太网接口(RJ45),两路Micro HDMI 接口,一路Type C供电接口,两路MIPI的相机接口和两路MIPI显示接口,以及一路模拟音频TRS接口。

几乎所有的树莓派标准板都会提供类似于20路GPIO引脚,HDMI,USB和以太网等标准外设接口,这些接口为开发者带来便利的同时,也为树莓派的产品应用带来了诸多限制和不便。但限于博通与树莓派组织的紧密合作,使用树莓派设计产品的开发者又无法轻易获取到树莓派使用的SoC,所以在树莓派3时,官方组织推出了一个名为Compute Module的板型,它的尺寸更小,功能和性能上与普通的树莓派模组相同,但需要额外设计载板将需要的功能引出。图中的Compute Module 4和Compute Module 3+便是用于定制化设计的小型模组。小型化树莓派的推出,为广大开发者提供了极佳的产品化契机。比如宇树的Go 1四足机器人系列产品,便是基于Compute Module 4实现的运动控制。

作为开源硬件,树莓派提供的不仅仅是硬件本体的设计和原理图,更多的是一个完整的软件和应用生态。它之所以在公版模型上支持了若干种通用外设并不仅是因为这些外设足够通用,更多的是它需要面向更广的应用提供足够多的扩展模块。比如CSI接口支持的官方相机,每一代官方支持的相机都是爆款,且在树莓派官方大力支持的操作系统:定制版Debian的支撑下,及时一个刚接触编程的小朋友也可轻易调用图形化编程的API实现对其的操作。而这一切软件对全世界任何一个人都是免费且自由分发的。树莓派公司的唯一盈利便来自于硬件的售卖。

据悉,自2012年诞生至今,树莓派至少卖出了4200万台开发板,而这也为树莓派公司带来了6000万美元的投资和5亿美元的估值。

树莓派模式的成功也不乏同行们的眼红。在中国,多年来有着不下十个公司参照树莓派设计了其他水果的派,如香蕉派、橘子派、橙子派和荔枝派等,但由于其生态、外设和支持的不足,没有一个活到了现在,其业务也随着时间被其开发公司抛弃和边缘化。树莓派虽然以一个较为低廉的价格占据了市场,但该价格并非导致其无利可图,而是在满足其盈利和生态建设的前提下,达到一个合理的平衡。而这些设计山寨派公司常常妄图以价格战占据市场,低廉的价格确实会给人一种极高性价比的感觉,但随之而来的是利润无法满足团队日常开销和软性资源的输出,进而致使后续支持的疲软,最后导致项目不了了之。

树莓派成功的另一个原因是其SoC的限制。由于树莓派公司与博通公司的长期战略合作,每一个版本的树莓派使用的SoC都是其独一无二的,我们无法从市场上轻易地采购到该芯片,也自然无法通过采购该芯片设计出自己想做的硬件设备。唯一的途径只能是购买树莓派官方提供的模组,这在一定程度上形成了垄断。树莓派公司通过其庞大的生态体系吸引了广大的用户群体,并基于此笼络的众多受众甚至信徒,而加入和参与到生态中的唯一条件便是必须使用其提供的硬件。

树莓派的广泛应用为很多有趣的嵌入式软件项目提供了良好的平台,由于其在开源过程中会将芯片的Datasheet一并开放,所以任何人都可以基于树莓派实现其自定义的操作系统,甚至操作系统的内核。

二、另一个视角:Arduino

和树莓派相似,但应用场景不同的开源硬件是Arduino。和树莓派不同,该项目较多的关注于嵌入式单片机的平台,而非SoC,其平台运行的也多是裸程序。Arduino由同名公司开发并制作,和树莓派相似,也是享誉全球的硬件开源项目。Arduino公司在提供硬件售卖的同时,还设计了一整套软件的集成开发环境(IDE)和调试环境,用于单片机软件的编程和调试。其软件提供了通用接口,使其不仅能支持自家设备,还能够通过扩展库支持任意一家设备。同时,Arduino的IDE还设计了其特定的编程范式,即setup和loop,但语法依旧遵从C语言。

相比树莓派的模式,Arduino更加开放,其硬件不会要求厂商为其独立提供产品,而是支持用户自己设计PCB和电路板,实现自己所想。其软件也更加自由,并且随着时间的积累,Arduino IDE支持的扩展开发板越来越多,比如中国上海的乐鑫公司,其推出的ESP8266和ESP32系列的开发板也在Arduino的支持之下。

当然,开源硬件并不仅限制于PCB层面,如OpenRISC和RISC-V都是在集成电路领域较为著名的开源项目,这些项目提供的不再是PCB,而是芯片的设计内容。比如OpenRISC在其GitHub上提供了其IP核的Verilog代码,还提供了内核Linux代码和编译器代码。随着Arduino和树莓派这类开源硬件走入大众视野后,开源的机器人硬件项目如雨后春笋般层出不穷。最具有代表性的便是无人机和3D打印两个领域。

三、触发无人机的风口:APM与Pixhawk

在这两个领域,开源硬件的力量可以说是推动了整个行业的发展,使旋转翼无人机从模型爱好者这一小众群体走向了大众消费者的视野中,使3D打印这个原本昂贵成本的技术成为人人可用的平价通用技术。

在无人机领域,基于Arduino设计的APM可以说是较为早期开源并且持续至今的开源机器人项目了。APM全名是ArduPilot Mega,最早是面向基于Atmel Mega系列单片机(Arduino 同款)实现的模型飞机自驾仪系统,包括了软件和硬件,以及模型飞机的一整套解决方案。随着多年的发展和社区的开发者不断贡献,该套系统还额外支持了地面车辆和固定翼飞机,并且拥有全套可视化和实时监控的地面站系统。其支持的硬件也不再限制于8位的单片机,而是面向更多的开源或闭源的硬件进行实现,包括BeagleBond、Intel Minnowboard、Quacomm SnapDragon,甚至Xilinx Zynq FPGA系列的硬件。

虽然硬件的基础条件不同,但其对传感器和外设的要求大同小异,如这些芯片(无论是单片机还是SoC)都需要支持SPI、I2C、CAN和串口等外设,硬件上还需要具备惯性测量单元(IMU)、磁力计、高度计(气压计)和GPS等传感器,除此之外,整个系统还可以添加额外的传感器,比如相机、光流计、激光雷达、空速计和超声波雷达等传感器外设。甚至可以添加额外的计算平台用于其他任务的执行。

相似的开源项目还有Pixhawk,由于其最新也是维护时间最长的版本是第4代,所以人们常称之为PX4,但现如今Pixhawk已经支持到了第五代:Pixhawk 5X。Pixhawk和APM很相似,它起源于瑞士的苏黎世联邦理工学院的计算机视觉和几何实验室,也是支持了各类无人系统的自驾工作,如无人机(UAV)、地面车辆(UGV)和潜水器(UUV)等,相比于APM,Pixhawk在学术和规范性上走得更远更宽。Pixhawk目前在一个名为Droncode的开源组织旗下维护着,Dronecode是一个非营利组织,除了Pixhawk,它还维护如MAVLINK、QGroundControl等无人机相关项目。

Pixhawk规范了一系列支持的硬件,并且按照设计商区分为Pixhawk Standard、Manufacturer Supported和Experimental三种。Pixhawk Standard是Pixhawk官方开发的开源硬件,该系列硬件体系在Pixhawk的软件上支持最好,也最全面。网址https://px4.io/autopilots/中可以查阅这些内容。除此之外,Pixhawk还定义了其支持的外设,大家可以登录https://docs.px4.io/master/en/peripherals/查看。在其名单中包含了丰富的外设支持,如GPS、RTK GPS、数传电台、距离传感器、转速器、空速传感器、光流计、相机和ADS-B(Automatic Dependent Surveillance–Broadcast)接收器,甚至降落伞等设备。

与APM相比,Pixhawk更像是一个成熟的机器人项目,因为它的出现,可以帮助人们学习到更多规范性、专业性和系统性的知识,也为不少商业公司提供了非常好的硬件和软件基础。Pixhawk是基于BSD协议发行的,和基于GPL v3的APM相比,它具备更好的商业价值,也易于直接应用在很多定制化的商业场景中。

除了APM和Pixhawk,随着开源热潮兴起的无人机项目还有Paparazzi Project、openpilot、Slugs、Crazyfile和Flone等项目,这些项目极大促进了这一行业的发展和进步,这些进步帮助微型无人机以四旋翼的形态走进了人们的家庭中,为人们提供了另一个看世界的另一个视角;这些进步也为专业摄影提供了低廉的成本,降低了直升飞机的出勤次数,也降低了门槛;这些进步还为繁重且繁复的工作提供了置换可能,农用无人机在灌溉和农药喷洒上被大量应用,工业无人机为建筑测绘和电力巡检等专业应用领域提供了完善的解决方案,一些搭载特种传感器的还可以提供人员搜救和特定目标跟踪的功能。

无论哪个无人机厂商,包括大疆、3D Robotics、Parrot、AscTec、零度、极飞和Skydio等,都或多或少参考甚至基于开源项目实现了自己的产品,即使他们口头上拒绝承认。甚至有一段时间出现过全世界各地都有公司、学习和组织在开源项目的基础上设计并制作无人机的盛况,不过随着微型无人机的产业链逐渐完善和行业洗牌,无人机的热潮也逐渐淡去,开源无人机的热度也渐渐收回到原本的小圈子里。

四、足式机器人的热潮会来临吗?

无人机的风口过后,另一个可能成为新风口的产品形态出现了。随着近些年足式机器人的兴起,与MIT Cheetah Software的开源,人们往往会将足式机器人与微型无人机进行相比,并认为足式机器人会像当年无人机一样,从一个比较小众的圈子里脱胎,变成一个时代的科技符号,并且能够创造出极高的商业价值。

在国内,包括小米在内,有至少十余家大大小小的公司,基于MIT Cheetah Software设计并实现了四足的仿生机器人(也可称之为机器狗)。和当年无人机行业的“人均自主研发”现象一样,虽然该项目是基于MIT协议发布的,但依然有许多厂商拒绝承认使用了Cheetah Software的源码。和无人机的状况不同的是,在足式机器人领域,并没有任何一个组织或公司牵头,开展一项以legged robot为核心的开源机器人项目,MIT Cheetah Software也仅仅是几个学生做出来的小项目,按照开源社区的相关规范运营一个或几个项目并不是几个学生能直接办到的。

不过足式机器人与无人机的区别在于,它需要更贵的电机和更贵的控制板,也具有更高的调试门槛。无人机的兴起得益于应用于模型玩具的无刷电机具有极大的出货量,任何人都可以以自己的目标价格买到合适的电机和电调,并对其进行组装和编程。而足式机器人的问题在于,在其出现之前的很长一段时间,并不存在相似的产品和产业链,业界中除了昂贵的工业机械臂外,并没有任何场景对高扭矩低转速的关节有大量需求,这也是其关节电机价格高昂的原因之一。

足式机器人不温不火的另一个原因是其并没有带来可见的商业应用价值,这也是著名机器人公司Boston Dyanmics连续多年“卖身”易主的原因,我们当下还无法直接通过现有技术判定足式机器人的未来在哪,也无法判断未来会不会有某一项技术能够帮助足式机器人突破瓶颈,走进人们的生活中。但未来都是向好的,相信在不久的将来,一定会有一个类似于APM或Pixhawk的足式机器人项目出现,也一定会有类似Dronecode这样的专注于维护开源机器人项目的组织出现,并一同推进行业的发展与探索。

End

干货丨开源硬件与行业革新相关推荐

  1. 干货丨从硬件配置到框架选择,请以这种姿势入坑深度学习

    深度学习初学者经常会问到这些问题:开发深度学习系统,我们需要什么样的计算机?为什么绝大多数人会推荐英伟达 GPU?对于初学者而言哪种深度学习框架是最好的?如何将深度学习应用到生产环境中去?所有这些问题 ...

  2. 干货丨开源软件的商业路径

    以下文章来源于开源中国 ,作者谢佳 本文为BlockMania「走进开源世界」系列第二篇文章. 点击回顾第一篇:开源背后有怎样的经济学原理? 2018年是开源软件史上意义非凡的一年,这一年在开源软件与 ...

  3. 开源硬件童芯派了解一下?一个真创客聊聊开源硬件

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 前言&概述 值此童芯派获开源硬件认证之际(有点像软文啊,我风格你们懂的,绝对不 ...

  4. 《开源硬件创客——15个酷应用玩转树莓派》——1.2 树莓派基本介绍

    本节书摘来自异步社区<开源硬件创客--15个酷应用玩转树莓派>一书中的第1章,第1.2节,作者 朱铁斌,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.2 树 ...

  5. 《开源硬件创客——15个酷应用玩转树莓派》——1.2树莓派基本介绍

    本节书摘来异步社区<开源硬件创客--15个酷应用玩转树莓派>一书中的第1章,第1.2节,作者:朱铁斌,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.2树莓派基 ...

  6. COSCon'20 开源硬件论坛深圳开源聚会

    COSCon开源硬件论坛,发轫于2018,软硬同台"共享大开源":共生于2019,多元携手"共筑源生态". 开源硬件生态的可持续,更需要产业落地前行.今年,在制 ...

  7. 干货丨【看图识算法】这是你见过最简单的 “算法说明书”

    文章来源:新智元 [导读]像阅读宜家的安装说明书一样学习算法,是怎样的体验?不伦瑞克工业大学的三名研究者制作了这份"算法说明书",简明传神地解释了一些基本算法,一起来看图说话. Q ...

  8. 可能是目前最给力的开源硬件——ESPlay Micro V2,童芯派劲敌他来了

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 文章目录 前言&概述 主角 价格 对比 MCU 屏幕 有电池 其他 公司 最后 ...

  9. 开源硬件论坛,燃烧你的创造力

    写在大会前 开源融合:比特与原子 开源硬件延伸着开源软件的理念,包括硬件设计文件及基于此文件的产品都使用具有开源性质的许可协议,自由使用分享.虽然,从仅开放硬件所配套软件到对硬件本身设计也进行开放的过 ...

  10. 开源硬件基金是如何运作的_如何在没有任何风险投资资金的情况下通过开源硬件赚钱

    开源硬件基金是如何运作的 How Adafruit grew over 700% for 3 years in a row making open source hardware. Adafruit如 ...

最新文章

  1. java交易系统_基于SSM框架的JAVA二手交易系统
  2. Regarding @Inject annotation
  3. MFC子线程访问主线程对话框程序的控件对象
  4. Python遇到的问题(一)
  5. 实用常识 | 文件都在C盘,一点儿都不圆润,盘它!
  6. Spark Yarn Client模式双网卡-多hostname导致问题(阿里云)
  7. POJ 1611 The Suspects(简单并查集)
  8. Linux终端删除文件夹命令
  9. Android 项目使用 Jenkins 打包时的异常问题 AAPT: C:\Windows\System32\config\systemprofile\.gradle\caches
  10. 比较常用的平面设计软件都有哪些?
  11. matlab中线形_MATLAB在绘图时的用法——线形图
  12. python运行时关闭硬件信息-Python实现的读取电脑硬件信息功能示例
  13. 路由器和交换机简单总结(cisco设备)
  14. 美国云主机如何保证数据安全?
  15. 第九章 python 字典(Dict)
  16. oracle exp/imp命令使用parfile实现参数文件调用
  17. fastjson转换器简介及基本使用
  18. python爬取国家男女比例_Python爬取2万条相亲数据!看看中国单身男女都在挑什么...
  19. Android 集成google map,Markers ,定位,聚合
  20. SQL 2012 安装失败解决方案

热门文章

  1. 向日葵远程控制第一人称3D鼠标无法操作旋转问题
  2. 计算机审计中级培训班,计算机审计中级培训心得体会
  3. Matlab | 画图线型及颜色符号汇总
  4. cc2530单片机是几位单片机_cc2530中单片机的通用I/O接口
  5. java 开根号函数_java程序中怎么调用平方根函数
  6. html制作公众号,自制微信公众号一键排版工具
  7. 创业公司操蛋的面试过程
  8. tomcat插入oracle中文乱码_Java连接数据库oracle中文乱码解决方案
  9. ps教程全套|零基础教程-高阶教程快速入门
  10. PS2022安装教程(附个人详细安装教程)