Cyberdog——小米四足机器人测评

Cyberdog——小米四足机器人测评

小米在2021下半年的发布会上,出人意料地发布了一款四足机器人——Cyberdog,其中文名为“铁蛋(以下简称Cyberdog)。Cyberdog的定价为9999元,只限400个名额,需要申请并审核才能拥有购买资格。

开箱

硬件

要知道,四足机器人能卖到9999元的价格,真的是“交个朋友”了。纵观国内外四足机器人厂商,国内的“宇树科技”售价1.6万起,国外的“波士顿动力”售价更是高达48万元。

Cyberdog-1

根据官方的宣传图,传感器与外设部分,Cyberdog搭载了Intel Realsense D450深度摄像头、双目超广角相机、环境光传感器、AI交互相机、GPS模组、惯性测量单元、光流计、TOF传感器、地磁传感器、超声波传感器、触摸传感器等。

而主控部分,Cyberdog搭载了英伟达的 Nvidia Jetson Xavier NX作为主控制器、全志科技的Allwinner MR813作为电机驱动器、STM32F405和GD32用作其他外设的驱动。

再来看价格,只看千元价格的硬件,Jetson Xavier NX定价3000+,Intel Realsense D450定价1500+,12个高性能关节电机每个售价至少500+,这还没算其他的传感器、外壳、电池等等。制作成本加起来至少超过定价9999元,我相信售卖一定是亏本的。

Cyberdog-2

外设与硬件之间使用串口或CAN相互通信,上图为Cyberdog的硬件架构。

软件

下图为Cyberdog的软件架构图

Cyberdog-3

CyberDog使用的是主流的机器人开源架构ROS2。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。但Cyberdog没有使用ROS,而是使用了ROS2。

Why ROS2?本文对于ROS2不会详细阐述,这里埋个坑,后面的文章会深度讲解ROS2的安装与配置。

前景

很多人会问,这个机器狗有啥用?对于我来说,Cyberdog是一个超高性价比的四足机器人实验平台,可以通过这个平台学到运动控制,电机控制,ROS2的使用等等一系列的技术栈。Cyberdog的源码是全开源的,虽然代码有很明显的赶工迹象,但是有几百位开发者的加入,我相信整个项目的源码与资料会逐渐完善。

仿生机器人在服务、军工、医疗等多种领域都有着无限的发展潜力,相信在未来会有更多类似的产品出现在我们的日常生活中。

### CyberDog 技术资料与项目介绍 #### 项目概述 CyberDog 是一个开源项目,其目标是帮助用户控制和定制自己的智能机械狗。该项目受到现代机器人技术和 AI 驱动的机器人的启发,提供了交互平台,使爱好者和开发者可以轻松地与这些未来宠物互动[^1]。 #### 软件架构 CyberDog 使用 ROS2 作为主要的技术框架。ROS2 是一种改进版的机器人操作系统(Robot Operating System),相比传统的 ROS 提供了更高的实时性和更强的多机通信能力。尽管传统 ROS 广泛应用于许多机器人开发场景中,但 CyberDog 明确选择了 ROS2 来构建其核心功能[^2]。 #### 开发环境配置 对于希望深入研究 CyberDog 的开发者来说,理解 Docker 和相关容器化工具是非常重要的。Docker 可以为开发者提供一致的运行环境,减少因不同操作系统的差异而导致的问题。在具体实现上,`cyberdog_ws` 源码仓库中的 `cyberdog_bringup` 文件夹包含了启动和初始化的关键脚本,这有助于快速搭建开发测试环境[^3]。 以下是基于上述描述的一个简单代码示例,展示如何通过 Python 接口调用 ROS2 中的服务: ```python import rclpy from std_srvs.srv import Empty def main(args=None): rclpy.init(args=args) node = rclpy.create_node('example_service_caller') client = node.create_client(Empty, 'reset_simulation') while not client.wait_for_service(timeout_sec=1.0): node.get_logger().info('等待服务上线...') request = Empty.Request() future = client.call_async(request) rclpy.spin_until_future_complete(node, future) if future.result() is not None: node.get_logger().info('重置模拟器成功!') else: node.get_logger().error('调用失败!') node.destroy_node() rclpy.shutdown() if __name__ == '__main__': main() ``` 该代码片段展示了如何创建一个简单的 ROS2 客户端来请求远程服务,这对于调试或扩展 CyberDog 功能非常有用。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

范子琦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值