今天不仅是周未而且还是6.1儿童节,早在一个月之前女儿就问我:“爸爸,6.1儿童节你送我什么礼物呢!”,为此我内心中一阵狂喜,终于有机会以6.1儿童节的名义染指我心仪已久的Cozmo的智能AI机器人玩具了。
自从看到了下面这个视频,就激起了我对 Cozmo 浓厚的兴趣,在还没入手之前就对 Cozmo 提前研究了一翻。
Cozmo的玩具功能介绍网上已经有不少,今天就以程序员的身份简单介绍一下 Cozmo 的玩法!
Code Lab
Cozmo App 自身带有 Code Lab 可视化编程工具,如下图:
Cozmo Code Lab 是基于 Google 与 MIT 合作开发的 Scratch3 的,通过拖动积木块指令就可以控制机器人前进、转向、说话(只能说英语)。
虽然有可视化的编程工具,但对于只有一年级的小朋友还是有些困难,我家小朋友只能打开内置的 Sample 简单玩一玩,与 Cozmo 做做游戏,我觉得这可以让小朋友从小认识编程是怎么会事,提高他们对英语、数学的兴趣,此是后话了...!
Cozmo SDK
Cozmo SDK 才是我想玩的,其实 Code Lab 积木拼装出来的指令都会被转换成 Python 代码,我们可以进入 Cozmo 的 SDK 开发模式,同时连接好 Cozmo 的 Wifi 网络,直接用 Python 直接控制它。
看一个简单的Hello World程序:
#导入 Cozmo SDK
import cozmo
from cozmo.util import distance_mm, speed_mmps
#cozmo程序入口函数
def cozmo_program(robot: cozmo.robot.Robot):
#前进150毫米,以每秒50毫米的速度
robot.drive_straight(distance_mm(150), speed_mmps(50)).wait_for_completed()
#说话:“Hello World”
robot.say_text("Hello World").wait_for_completed()
#执行上面的代码
cozmo.run_program(cozmo_program)
简单看了一下官方SDK中提供的Examples,发现大多数对机器人的指令是:
robot.xxx(...).wait_for_completed()
这里xxx()就是控制机器人的具体函数,大多数都带有参数,不少函数还需要转入时间参数,最后会接上一个wait_for_completed(),等待指令执行完毕,整个过程是同步执行,简化了异步操作,容易上手。
Cozmo Explorer Tool
Cozmo Explorer Tool 是官方提供的可视化控制、监控 Cozmo 的Web工具,可以直接到 github 上下载(https://github.com/GrinningHermit/Cozmo-Explorer-Tool)。
通过 Cozmo Explorer Tool 可以实验 Cozmo 的大部分能力,可以实时看到 Cozmo 摄像头的画面,左下方是事件监控日志,左侧有很多动画点击播放就可以看到 Cozmo 做出对应的动作。
将鼠标移动到 Cozmo 采集的画面上会出现控制提示,可以像玩FPS游戏一样控制 Cozmo 四处游荡!
结语
我这个 Cozmo 是一代,在咸鱼淘的二手货,京东、淘宝等也有,但新的对Shawn来说还是有些贵的,就算是过6.1儿童节要买个上千元的玩具,LP这一关就过不了(大家懂的!)。
我对 Cozmo 的了解还处于皮毛阶段,Python 编程也是只能读懂简单的代码片段,以后有更多的了解再与大家分享,祝大家6.1儿童快乐!
一个人可以走的很快,一群人可以走的更远,欢迎关注「奎特尔星球」公众号,愿我们一起在成长的道路上走的更远!
「奎特尔星球」微信公众号