小米 CyberDog 测评
今年8月10日雷军在小米发布会上推出了 CyberDog 仿生四足机器人(外号铁蛋),简单起见我把它看作是一款会行走的智能手机。智能手机通常具备以下功能:
- 人脸识别
- 人体跟随
- 语音交互
- 触摸交互
- 高清图传
- 影像拍摄
根据使用说明书,铁蛋相比于智能手机还具备四种关键能力:
- 地图构建
- 自主定位
- 导航规划
- 自动避障
从而让手机学会了走路,成为了一条名副其实的机器狗。我认为,具备四种关键能力是一款机器人将来能融入百姓家庭的前提,扫地机器人作为第一款大规模走近百姓家庭的机器人亦是成功案例。下面介绍铁蛋软硬件基础及其导航功能。
铁蛋软硬件核心模块
铁蛋完成自主导航功能需要协调大脑、小脑、眼睛和腿。
铁蛋的大脑
铁蛋的感知主机采用 Jetson Xavier NX (软件系统为 Ubuntu 18.04 + ROS 2 Foxy + Cyclone DDS),CPU 为 6 线程,内存 8G,相当于人类的大脑。
登录方法1: 局域网内 (dafault password is 123
) 登录
ssh mi@NX_IP_Address
登录方法2: 使用 USB线连接 Download 接口登录
ssh mi@192.168.55.1
铁蛋的小脑
铁蛋的运动主机采用 Allwinner MR813 (操作系统为 Tina Linux),CPU 为 4 线程,内存 1G,相当于人类的小脑,负责实时运行 MPC 算法,登录方法
ssh root@192.168.55.233
铁蛋的眼睛
铁蛋的深度感知模块采用 Intel 的 D450,相当于人类的眼睛,负责测量空间尺度信息。
铁蛋的腿
铁蛋的每条腿由 3 个行星齿轮减速永磁无刷电机驱动,即每条腿有 3 个自由度。总共 12 个电机。
导航功能
官方应用提供 视觉SLAM (定位和建图) 和导航功能,对应仓库为 athena_automation。视觉SLAM 和导航通过调用如下开源程序实现。
节点管理
感知主机采用 Systemd 的方式管理 ROS 2 节点。铁蛋开机启动的 service 文件有
/etc/systemd/system/bluetooth_ros2.service
/etc/systemd/system/cyberdog_ros2.service
/etc/systemd/system/cyberdog_automation.service
调用 cyberdog_automation.service
开启导航功能。
导航测试
每到一个新场景,用户都需要用手机遥控铁蛋,边行走边建图,地图会显示在手机上,地图需尽可能覆盖所有区域。建图完成后命名保存,然后用户只需要在地图上点选目标点并确认,铁蛋即可自动导航至目的地。测试发现导航存在速度慢不流畅、视觉里程计定位抖动的问题,需要用户进一步调优相关算法。优点是操作流程较简单,用户易用。用户端界面如图
把感知主机 NX 端修改为多播模式,可在局域网内订阅相关话题,并用 RViz 可视化
体验总结
优点
- 价格亲民
- 核心软件开源
- 基于 ROS 2 开发,支持跨平台
- 接口丰富,便于开发与调试
- 铁蛋背部提手方便,人性化设计
缺点
- 官方应用仅支持安卓手机
- 腿太短上下楼梯容易磕碰
- 续航时间短而充电时间长
- 铁蛋的体积较大略显笨重
- 文档还不完善
- 代码仓库从 GitLab 转移到 GitHub 存在版本统一问题
改进建议
- 开源运动控制程序
- 优化融合腿部和视觉的状态估计
- 提供 URDF 文件
- 提供仿真案例