编程|机智客:高端的NAO仿人智能机器人的技术编程初探

编程|机智客:高端的NAO仿人智能机器人的技术编程初探

可能很多朋友知道这一款比较高端的人形智能机器人 , 即便没有见过实物 , 可能也在网上或短视频平台上看到别人玩这个机器人 。 要知道 , 这款名为NAO的机器人 , 曾被机器人世界杯赛RoboCup组委会指定为SPL标准平台组的比赛平台 , 还多次出镜国际比赛或表演活动现场 , 它可是一个应用遍及全球教育市场的双足人形机器人 。 身高也比一般儿童类教育类机器人高得多 , 58CM , 这可是仿人关节、灵活自主的智能设备 。 也因为如此 , 机智客看到 , 当短视频平台崛起后 , 有一些自媒体号用它来拍短视频 , 一度拿下几十万粉丝 。 而短视频里面机器人做的那些各种动作、语言和交互 , 都是通过编程实现的 。

【编程|机智客:高端的NAO仿人智能机器人的技术编程初探】NAO机器人需要联网 , 和其他一些智能机器人一样 , 支持以太网和WIFI 。 平时我们都图方便用WIFI 。 而NAO机器人的编程 , 也和其他一些教育类人形机器人类似 , 也是要通过和PC计算机连接后编程实现的 , 因为我们要写入Python、JAVA等编程代码 , 需要调用机器人的接口 。 当然 , 机智客解释下 , 有些教育类消费类的人形机器人的动作控制 , 可以用手机端控制和编辑 , 通过示教调整 , 不过作为高端的学术类人形机器人 , NAO显然更高级一些 。
和普通机器人不太一样的是 , NAO机器人 , 是个更完整完善的小电脑系统 , 内置的OS底层是Linux , 上面是研发厂家做的一个NAOqi框架 。 它提供了一些常用的可供调用机器人功能的应用程序编程接口 。 因此 , NAOqi是机器人运行的主要软件 , 它驱动着机器人进行各种举动和反应 , 而我们的编程则是在NAOqi框架里进行 。
功能上 , NAO机器人可谓比较全面 , 可动、可视、可听还可感 。 这意味着它身上不仅有多数仿人机器人都有的舵机关节 , 还有一些机器人没有的摄像头、麦克风和各种传感器比如接触传感器惯性传感器位置传感器等 。
所以我们对NAO机器人的编程 , 其实是通过PC电脑连接机器人后 , 在NAOqi框架下实现编码的 。 NAOqi的动作、音频、视频分属于不同的模块 , 我们是为不同的模块设计程序 。 而我们PC电脑的操作系统 , 也没有什么约束 。 NAOqi框平台 , 我们可以在Linux、Windows或苹果系统上使用编程来开发 。
NAO机器人的NAOqi框架支持的编程语言 , 也比较多样 。 比如支持我们大众爱好者用的Python , 也支持大众程序员用的Java , 更支持C++语言编程 。 Naoqi使用结构一致的数据模型表示信息 , 所以它为我们调用动作、音频、视频等不同模块设计了相同的编程模式 , 不过机智客觉得有点小不便的是 , 由于现在的NAO机器人(自己手中这一款)出场太早 , 虽然支持Python , 不过它的版本必须是2.7这样的2.X版本 。 所以习惯了Python3版本的朋友 , 会觉得有点割裂的痛苦 。 所以 , 如果如果用Python , 需要重新梳理2.7的版本规范 。 当然用其他编程语言 , 如果顺手的话 , 更好 。 初探就到这里 , NAO机器人的编程 , 以后有要求继续更新 。