四足机器人软件架构现状分析


目录

    • 前言
    • 现有产品总结概述
      • MIT
      • 宇树科技
      • 小米
      • 灯哥开源
    • 软件架构分析
      • 菠萝狗
      • CyberDog
        • 资料地址
        • 系统架构分析
        • 文件结构分析
        • 为什么需要操作系统
        • 二次开发可用接口
    • 后记

前言

最近可能需要做机械狗(四足机器人)相关的一些学习,这篇作为开篇之作,主要记录一下最近的学习的总结以及查到的资料,对机械狗的相关问题有个基础的认知,作为个人的记录,同时也为新入坑的小伙伴提供一个参考。

现有产品总结概述

查看现有的一些产品,对已有产品进行梳理总结。方便清楚市场现状,以及规范未来的方向选择。

MIT

MIT的机械狗主要以MIT Cheetah 3 和MIT Cheetah mini而闻名。在DARPA的资助下,MIT开启了猎豹机器人Cheetah 3的研制,现阶段已经成为世界上奔跑速度最快的机器人。Cheetah全身重约90磅(大约41公斤)。并且采用的是腿式的行走方式,保证了其在各种路况下的平稳性。

灯哥开源

菠萝狗项目是灯哥的开源项目,之前有很多项目都采用了灯哥的foc开源项目,作为机械狗运动的核心,灯哥自然而然的延伸到了机械狗的开发中来,当然灯哥主要是作为教育项目,有非常完善的视频教程,帮助大家理解基础的原理知识以及支座出成品的机械狗。不过是八自由度的产品,上面所有产品基本上都采用的是12自由度的,算是低配版了。

其中的PA_SERVO.pyPA_IMU.py我理解为驱动库,采用进行通信,控制舵机的旋转角度来进行输出的控制,IMU通过控制陀螺仪的数据的写入,输出读取。这部分会因为底层硬件的不同需要做修改,比如采用无刷电机的化需要改变为无刷电机的控制方式,或者更改不同的姿态检测方式。

其他的库主要提供了基础的数据计算,利用陀螺仪采集到的信息进行姿态检测并根据不同的状态输出不同的指令。所有的软件也封装出了接口可以直接控制机械的动作,获取机械狗的基本参数等。

作为遥感的控制,以简单为主,所以菠萝狗有一个简单的web界面,大概是下面这个样子:

系统架构分析

官 的开源代码仓库给了一个软件的框架图,但是整体的软件架构给的过于模糊,可以对比相应的硬件架构连接方式进行对比的学习:

文件结构分析

刚才都是从宏观架构进行的软件分析,接下来具体分析一下小米开源的几个文件夹。

文件名 作用
cyberdog_bringup 启动系统相关
cyberdog_ception 感知类算法相关包含电池管理 运动状态感知 光强感知 场景感知
cyberdog_commony 通用类 包含grpc通信框架 多媒体相关以及toml11桥接包等多种基础驱动
cyberdog_decision 决策库 根据各类感知器进行动作的决策
cyberdog_interactiony 交互类相关模块 主要用于声光电多种模块的交互功能
cyberdog_interfaces 包含所有的抽象接口 用于内部外部的信息交互

为什么需要操作系统

上面的菠萝狗只是简单的执行动作,接收指令,并没有复杂的交互逻辑,决策模型。但是小米的机械狗是一个复杂的机器人平台,其中有足足11路感知传感器用于平台对外部环境的感知,并且需要根据传感器状态以及指令语音交互等多种方式进行反馈决策,需要非常巨量的计算量。
所以可以发现cyberdog内部有大脑小脑结构,以及多种驱动板,其内部就是一个简单的分布式系统,为了方便统一管理协调,采用了机器人届常用的开源系统ROS,并且采用了ROS2。
但是仔细观察ROS主要提供的是什么的时候,会发现,ROS主要是提供了统一的通信方式,并且ROS2相比ROS1改变了通信方式为DDS(数据分发服务),相比于ROS1的Master机制,拥有更高的性能瓶颈。保证数据通信的可靠性。

二次开发可用接口

在上面提到了,小米的开源代码里面的通用类文件里面会有gRPC消息定义,对于二次开发使用,主要是使用gRPC通信的方式进行指令的下达。使铁蛋有对应的动作。


后记

由于宇树科技并不开源,而小米小脑上运行的就是MIT cheetah的控制算法,所以只是做了教学版和小米的机械狗软件架构的分析。
可以发现现在的机械狗的研究其实还停留在最初级的阶段,基本上属于制定动作,极其简陋的AI场景识别。未来动作的组合一定可以走向更加丰富,也许可以加上机械手或者其他执行器件完成更加复杂的工作。
但是从中也可以发现ROS其实是运行在操作系统之上的一套机器人通用软件架构,如果能将其功能做到操作系统或者是内核之内,也许会提供更加强大的功能。当然这只是写这篇笔记的时候突发奇想的点,还有其他点等待着我们挖掘。

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览214541 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月26日
下一篇 2022年6月26日

相关推荐