所有由黄, 庆纯发布的文章

从开源硬件到开源机器人应该怎样上手

最近因为众所周知的原因,被迫宅在家里,看到微信朋友圈和群里有人讨论开源机器人实践教育的问题。 

很多热衷于机器人技术和自动化技术的朋友们都有过搭建两轮移动机器人小车的经历,这过程当中往往充满了汗水和艰辛,投入折腾的精力和所带来的成就感往往不成正比。

当你开始写电机控制程序的时候发现控制电机还需要驱动器和焊接工具,当你焊接电机导线和连接好控制器驱动器的时候发现又要机械零件和加工工具来固定电机和控制器。当你把软件、电子、机械都搭建好了想要大展拳脚调试自己算法的时候又发现控制板离开电脑供电又是一个问题,而作为移动式的机器人,每改动一点点参数和算法需要重新调试的时候又要一遍遍的去插拔控制器的烧录线。很多刚入门或只想测试自己机器人算法的朋友往往就因为这些繁复的操作而想要放弃。搭建机器人小车与在面包板上搭建测试几个传感器模块、无线通信物联网可真不是一样简单的操作。

另一些像是乐高EV3等能快速上手的现成产品,对于已经有编程基础和想要尝试更多丰富传感器的朋友又有极大的制约。造成这一现象的重要原因,是由于这项简单的入门实践是由非常充分的跨学科技术和实践制约所导致的。

这时,想起了朋友蒋工和刘工几年前做Kickstarter项目时送我的产品-Blinkgogo!我趁最近待在家里空闲的机会,重新拿起了这款在欧美众筹而归的产品一试手,发现其果然有与众不同之处。对于刚入门的小白来说,可以迅速的借助它破除各种硬件上的入门障碍,直接开始写代码,测试机器人运动算法。而即便是我们这样掌握创客空间各类制造工具的老玩家,也能获益匪浅。那么,这款产品到底有什么过人之处呢?

  • 零基础彩图上手指南和编程手册

相关的资料和示例代码都在随产品附送的U盘里。彩色的印刷手册分别说明了上手操作的每一步和使用图形化界面Mixly米思奇的起步编程。

米思奇Mixly的起步范例包含7个例子程序,分别是1、点亮LED,2、声音控制,3、电机运行控制,4、巡线例程,6、寻光例程,7、手机程序控制

除了附送手册,还有一张A2幅面的地图,分别是用于测试初级的巡线算法和迷宫算法。

  • 合理的电机和基础传感器布局

小车载体主板为一整块电路板,电机已用螺丝可靠固定并巧妙的避免了导线焊接电机端子。电机为电子锁中常用的耐用N20铜齿轮减速马达,比起一般廉价方案中采用的塑料黄色TT马达,除了无需焊接和寿命长以外,最大的不同在于不需要因为电机的参数偏差而不断调整程序中的偏差参数来修正,这是件非常恼人的事情,嗯,玩过的人都懂我在说什么。常见小车算法中需要使用的巡线传感器,光线传感器已经集成到非常合适的位置,对于常见的巡线,避障和走迷宫等算法,无需苦恼安装固定传感器的问题。

  • 集成航模级锂电管理与低电量报警

移动机器人的供电,是很多爱好者,包括我的一个常常头疼的问题。9V小电池用于控制器和传感器供电是没问题的,小巧而且简单,但这种电池对于电机这种大电流负载的器件就无能为力了。很多方案使用干电池,这就需要很多节干电池串联,还有一些使用18650锂电串联,这将严重加大机器人小车的体积和重量。这就带来了三个问题,一是需要多节串联占用体积重量,这往往导致小车做不小被迫变得很臃肿;二是电池使用过程中需要频繁不断拆装其它配件来取装电池,现在这个连手机都不能取电池的年代真的无法忍受;三是电量高低往往不知道,很时候发现指示灯亮传感器和无线通信不能正常工作以为是代码问题,折腾很久才发现原来是电池电量电压太低导致的问题。Blinkgogo完全集成了航模级别的锂电和电源管理,包括电池升压恒定、直接充放电管理和低电压报警,体积小巧且完全避免了上述三个问题。

  • 完全透明的蓝牙无线烧录与调试

Arduino等开源控制板非常好的降低了使用单片机编程和控制传感器及电机等电子元器件的门槛,然而对于移动机器人等场景,最为令人头疼的是程序的上传要一遍遍的去插拔控制器的烧录线,同时移动的机器人不可能尾随一根数据线来进行串口调试,而许多参数无法在编写机器人程序时就确定,并且在机器人运行过程中,也需要不断反馈反馈信息来进行监控调试。

市面上现有的大量类Arduino开发板也声称实现了无线烧录或串口通信,但它们往往不是需要两块类Arduino板子同时采用,就是需要在电脑端进行一系列参数设置和配对工作。无法做到真正的透明传输(无线完全和连线一样)。

这个突出的问题和痛点也在Blinkgogo中得到了彻底解决,Blinkgogo板载的Flyblue开发板是一款完全兼容流行的Arduino Uno的开发板,唯一不同的特点是它实现了蓝牙无线串口的透传。市面上许多号称可以实现类Arduino计算机端只需要插入U盘大小的适配器(无需安装任何额外的驱动和配置指令),当开发板与适配器上的数码管显示一样数字的时候,就意味着开发板已经连上电脑。

  • 配有高价值可扩展配件和预留接口

对于初学者和尝试进行算法测试的使用者来说,简单清晰的接口说明和可扩展性强的实用配件是进行机器人技术实践的重要因素。留下了5路通用的IO接口和2路模拟输入接口,并且可以进行I2C总线设备的连接.

可扩展配件方面,Blinkgogo的可选配件包提供的舵机,超声波测距和该模块的舵机固定支架,12864OLED显示屏,红外遥控和接收器,人体红外传感器,小按键,电位器,温湿度传感器和空气烟雾传感器。更重要的是,配套了可以固定这些传感器的托板,通过简单的杜邦线,就可以开始使用它们。

 

为了方便调试,我花了大概一天,随手搭建了一个带OLED显示屏和红外遥控的模型,并成功进行了调试。等我把代码和思路流传整理好后,在下一次的介绍文字中再和大家详细讲解。

如果说这套准确把握了像我这种老玩家都觉得有痛点小车还有什么缺点的话,可能就是英文的说明相关资料和高达129美元的海外零售定价了。

对此款产品有兴趣或者希望和我交流关于如何搭建测试这类机器人小车问题的朋友,欢迎通过微信公众号后台和微信ID:zhangchengwust与我交流。如果您需要购买此产品,可以在淘宝搜索Blinkgogo!目前仅有10套在售。

Blinkgogo mixly 米思奇Arduino 蓝牙小车

可无线编写程式的Blinkgogo,从实作中学习机器人知识

     Blinkgogo是款专为STEM教育(科学、技术、工程、数学)而设计的车型机器人,它不但可以透过App进行简单的操控,使用者还可以透过Scratch自行开发程式,并透过蓝牙将程式无线传输至主机,更棒的是Blinkgogo还是开源产品,给予使用者更多可以改造的空间。

强化科学教育

     对于小创客而言,自己动手做机器人不但是种乐趣,也能在实作的过程中学习许多相关知识,是近期STEM教育(Science、Technology、Engineering、Mathematics的缩写,指科学、技术、工程、数学等领域的教育)相当重视的一环。

     Blinkgogo就是为此设计的教材产品之一,它采用与Arduino相容的开发环境,让小创客能够从组装机器人开始,逐步熟悉机器人的原理与知识,并可以跟着由浅入深的课程,逐步练习撰写程式的概念与技巧,培养身为创客所需要的基础能力。

     对于刚入门的使用者来说,Blinkgogo可以单纯做为太阳能遥控车使用。使用者只要依照教学手册的指示,按步骤进行组装,并在智慧型手机或平板电脑下载专属App,就能透过虚拟摇杆或重力感应遥控操作Blinkgogo。由于Blinkgogo搭载有光感应器与太阳能充电板,不但可以透过太阳能进行充电,Blinkgogo还可以自动搜寻光源并自动前往适合的地点充电。

▲Blinkgogo具有为初学者准备的教学手册

▲依照教学手册的指示,就能完成组装工作。

▲一旦组装完成,就可以透过专属App轻松地操作Blinkgogo

▲Blinkgogo具有光感应器,可以自动追踪光线移动

▲Blinkgogo也会自动前往光源充足的地点,并透过太阳能进行充电

进阶玩法也很丰富

Blinkgogo除了可以透过专属App遥控操作外,它也相容于Arduino的程式,并支援采用图型介面的Scratch程式开发工具,让不熟悉撰写程式的新手,也能透过拖曳方块的方式建构程式。至于想要进一步学习更深入程式撰写的使用者,也可以利用Arduino IDE等开发工具撰写更复杂的程式。当程式撰写完成后,使用者还可以透过蓝牙,以无线方式便捷地将程式传入Blinkgogo主机,省去在开发与除错过程中,需要反覆连接线路的麻烦。

Blinkgogo基础版包含了Blinkgogo本体、外壳、70公厘x 55公厘太阳能板、USB连接线、USB蓝牙接收器、预载必要程式的USB随身碟、手电筒,以及相关教学手册。想要进一步改造Blinkgogo的使用者,还可以购买具有伺服马达、OLED显示器(解析度为128 x 96)、烟雾增测器、动态感应器、温度与湿度感应器、红外线接收器、与按钮等等扩充模组在内的扩充套件。

Blinkgogo基础版的预定售价为美金99元,扩充套件则为美金50元,现在特价销售,仅限前20名。

▲对程式不熟悉的使用者,也可以使用Scratch的图型化介面开发程式

▲当程式编写好后,可以直接透过蓝牙无线传输至Blinkgogo主机

▲使用者还可以利用3D印表机自行制作Blinkgogo的外壳

▲Blinkgogo的基础版包括了所有需要的基本零件

▲扩充套件则可以进一步改造Blinkgogo,并搭配自行编写的程式发挥更多功能

Blinkgogo附带三个分步教程,可帮助您学习编程。

  • Binkgogo开箱即用教程  Blinkgogo开箱即用。您可以演示许多标准机器人功能。您可以通过蓝牙功能通过手机控制它来驱动它。或者让它遵循黑色线条。
  • Blinkgogo初学者教程  Blinkgogo附带一些分步教程。用图形化编程语言编程很容易。和Arduino IDE编程环境。
  • 高级用户的  Blinkgogo 教程:Blinkgogo为高级用户提供了很多功能。Blinkgogo附带一个硬件扩展原型板,您可以在其中安装舵机和许多其他传感器

盒子里有什么东西?

基本套件

  • 1 - Blinkgogo机器人
  • 2 - 开源3D打印外壳
  • 3 - 太阳能电池板
  • 4 - 装有所需软件的USB闪存驱动器
  • 5 - USB蓝牙适配器
  • 6 - Mrcro USB带电线
  • 7 - 手电筒
  • 教程书籍
  • 图8用线进行下面的演示。
  • 贴纸

拓展组件

  • 1 - 杜邦线
  • 2 - 亚克力面板
  • 3 - 超声波传感器安装支架
  • 4 - SG90伺服和硬件
  • 5-128X96像素的OLED显示屏
  • 6 - 烟雾探测器
  • 7 - 超声波传感器
  • 8 - PIR动作传感器
  • 9 - 按钮
  • 10 - 温度和湿度传感器
  • 12 - 红外接收器模块
  • 13 - M4双通中空铜柱
  • 14 - 电位器
  • 15 - 掌上电脑遥控器
  • 教程书

APP控制

 

APP界面

展示APP控件的案例各种各样的乐趣!

循迹

抓住它!

 

寻光

附送精美印刷小册子两本,助力快速上手

孩子们喜欢阅读

Arduino无线编程的秘密

具有内置蓝牙功能的FlyBlue电路板,可通过我们的蓝牙适配器从您的PC或Mac进行无线下载,取代了有线调试的麻烦。

开源的外壳,让您可以设计和3D打印全新的独特外壳。 你可以设计你喜欢的。

支持音效并播放音乐

 

 

 

 

更多相关资料下载地址:https://pan.baidu.com/s/1t_12bz0wZwVZIxNzPLO0yA

机器学习从零到一(2小时上手机器学习的视频教程)

我们提出了一个很主要的理论:假以时日,过一段时间,比如三年五年,每一个开发人员都会变成一个AI开发人员,这是我们很基本的思路。

为什么这么说?你看30年前,那时候数据库是一个全新的概念,但现在每一个开发人员多多少少都可以做一些数据库,绝大多数开发人员都知道基本的数据库的理论,写数据库的数据访问代码。我们觉得AI再过几年之后,就像数据库一样,变成一个大家都可以使用的东西。现在机器学习的很多算法,就像计算机科学一样里面的哈希表(Hash Table)、快速排序(Quick Sort)一样,今天读大学的人,没有再写这个了,不管是用Python、Java、C#,都已经有现成的这些可以套用,它们已经变成了基本概念。这个概念在每一个编程语言里面都会得到体现。

对所处领域要有激情,需要很多年时间才能够真正做到一个世界级的顶端的大师。这是一方面,另外一方面,需要对技术有一定的展望,对大的技术趋势要有一定的把握。比方说现在,如果不去学一点 AI 的东西,不去学一点机器学习的东西,可能对未来的技术的把握就会落伍了。——微软资深副总裁潘正磊女士

作为机械电子相关专业出身我,在过去一段时间里陆陆续续开始了人工智能领域的相关学习,因为身边没有想过经验的伙伴和同事,在起步阶段遇到的拦路虎不少。我也一直有关注Tensorflow在Youtube的频道,看到了非常棒的适合零基础入门者的介绍视频,直到2019年12月,该官方频道终于发布了该系列视频的中文版。然而比起该视频的英文版本动辄几十万起步的观看量,观看人数寥寥无几(几千人)。我想这大概主要是因为国内访问困难的缘故吧,所以我决定顺手将该视频搬运到国内微信平台,只为便于传播,并无侵权之意图,以便让更多青少年朋友有机会接触和学习。

该视频适合任何零基础朋友,一共四集视频,每集大概5-8分钟,由谷歌工程师主讲,正常情况下,一个下午的时间足够令你由实践方式基于Tensorflow2.0入门上手最基础的神经网络类视觉算法。

在第一集的系列视频中,你将了解到机器学习是编程的一个新领域。用传统的编程语言,比如Java或C++,去编写一个程序,是需要使用明确的规则的。而机器学习则可以通过训练数据来推理出这些规则。但机器学习究竟是什么样子的呢?在第一集的系列视频里,费颖会用一个简单的示例代码去构建一个机器学习模型,介绍一些基础概念,而我们会在之后的视频中应用这些概念去解决一个更有意思的问题:计算机视觉。点击这里尝试一下这段简单的代码 →  https://goo.gle/2Zp2ZF3

在第二集的系列视频中,费颖会通过训练计算机如何看到并识别不同的物体的例子,来教我们一些基本的计算机视觉概念。

中级难度计算机视觉示例:  https://goo.gle/34cHkDk

在第三集的系列视频中,费颖会讨论卷积神经网络,以及为什么它们在计算机视觉中得到了广泛的应用。卷积是一个图像过滤器。它可以用来提取输入图像中具有共性的特征。

在第四集的系列视频中,费颖会讨论如何构建一个剪刀,石头,布的分类器。 在第一集中,我们用这个例子展现了用传统代码来检测和分类它们的难度。 随着我们对机器学习的深入了解,我们已经学习了如何构建神经网络:从探测原始像素中的模式到对其进行分类,再到使用卷积检测特征。 在本集中,我们会将本系列前三集的所有内容都整合在一起。

剪刀, 石头, 布图像数据库 → https://goo.gle/2m68kCV尝试一下这个Colab里的示例 → https://goo.gle/2m07d7W