当前位置: 首页 > news >正文

高层功能架构详解 - openExo

高层功能架构详解

  • 1. 系统整体结构与模块化设计
  • 2. 两大核心类:ExoData 与 Exo
    • A. ExoData
    • B. Exo
    • C. 数据结构的层级关系
  • 3. 多微控制器协作与BLE通信
  • 4. 主控软件运行流程(主循环伪代码)
  • 5. 架构优点小结
  • 6. 与 Code Structure 的关系
  • 实用建议

1. 系统整体结构与模块化设计

OpenExo 软件架构高度模块化。系统可根据需要自由组装各个功能模块,由一个 Arduino 级别的主控 MCU 统一调度。每个模块(如电机、控制器、传感器、LED 显示等)都是独立的,可插拔、可扩展,便于支持不同的实验和应用场景。

2. 两大核心类:ExoData 与 Exo

A. ExoData

  • 定位:ExoData 作为数据与参数的载体,负责保存系统的所有遥测(telemetry)数据和当前控制参数。

  • 结构特点:ExoData 的层级与 Exo 的模块化硬件结构一一对应,实现了“软硬件一体化抽象”。

  • 作用:

    • 存储和实时更新各传感器数据(如力敏电阻FSR、力矩传感器、马达反馈等);

    • 存储和同步当前所有控制器参数、状态(如各关节的目标/实际力矩、控制模式等)。

B. Exo

  • 定位:Exo 类是真正“驱动外骨骼硬件逻辑”的主对象,负责所有部件的实际控制和数据流转。

  • 作用:

    • 组织、调度所有底层模块(如马达、控制器、传感器、LED等);

    • 每轮主循环执行run(),完成数据采集、控制运算、命令下发等任务。

C. 数据结构的层级关系

可以用如下树状结构理解 Exo/ExoData 关系:

Exo 
http://www.dtcms.com/a/291755.html

相关文章:

  • GitHub新手生存指南:AI项目版本控制与协作实战
  • 医院信息系统(HIS)切换实施方案与管理技术分析
  • 静态登录界面
  • Mosaic数据增强介绍
  • 《C++初阶之STL》【string类:详解 + 实现】
  • 【React 入门系列】React 组件通讯与生命周期详解
  • Redis 初识
  • SpringMVC快速入门之核心配置详解
  • 【安卓笔记】用MVC、MVP、MVVM来实现井字棋案例
  • 厌氧菌数据挖掘可行性评估报告
  • 【Spark征服之路-3.7-Spark-SQL核心编程(六)】
  • 解决栅格数据裁剪矢量数据问题两种方法,ArcGIS解决与PYTHON解决
  • Ajax第一天
  • uniapp各大平台导航组件
  • Taro 网络 API 详解与实用案例
  • JavaScript AJAX 实现,演示如何将 Token 添加到 Authorization
  • 异地服务器备份Mysql数据
  • 电子电气架构 --- 从软件质量看组织转型路径
  • 基于Patroni实现PostgreSQL数据库高可用
  • postgresql使用记录 SCRAM authentication requires libpq version 10 or above
  • Nginx防盗链和Keepalived
  • VirtualBox安装提示security安全问题
  • 【coze扣子】第1篇:coze快速入门
  • 消息队列学习
  • 3.4 安全-分布式-数据库-挖掘
  • LNMP平台部署
  • 【uboot/kernel1】启动流程,环境变量,内存,initramfs
  • 【大模型记忆实战Demo】基于SpringAIAlibaba通过内存和Redis两种方式实现多轮记忆对话
  • 本地代理和服务器代理区别
  • 【AI时代速通QT】第五节:Qt Creator如何引入第三方库,以OpenCV为例