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

控制器(Controller)模块的架构与工作流程 -OpenExo

Controllers(控制器)架构详解

  • 1. 并行数据结构(ControllerData)
  • 2. 控制器对象与Joint的关联
  • 3. 抽象接口设计
  • 4. 主流程典型调用代码
  • 5. 控制器参数管理与安全切换
  • 6. 典型控制器类型与适用场景
  • 7. 添加新控制器(Controller)的建议流程
  • 8. 控制器参数文件(SD卡)结构说明
  • 架构优点总结

1. 并行数据结构(ControllerData)

  • 每个控制器有对应的 ControllerData 实例,专门存储该控制器运行时的数据(状态量、参数等),与控制器对象并行存在,解耦数据与算法。

  • ControllerData 结构体见 Data Structure,通常包含:

    • 参数数组(如Kp/Ki/Kd/MaxTorque等)

    • 当前 setpoint(输出目标)

    • 控制器状态(如是否已校准、参数组编号等)

2. 控制器对象与Joint的关联

  • Joint(关节)对象内部实例化所有可用控制器,但只用一个“指针”指向当前正在用的控制器。

  • 优点:

    • 支持“运行时热切换控制算法”;

    • 切换只需更换指针,所有接口/调用方式不变,无缝对接主流程。

  • 构造器写法示例:

HipJoint::HipJoint(config_defs::joint_id id, ExoData* exo_data): _Joint(id, exo_data), _zero_torque(id
http://www.dtcms.com/a/292135.html

相关文章:

  • Azure可靠性架构指南:构建云时代的高可用系统
  • Java函数指南:从Function到BiFunction的深度解析
  • 电商项目_秒杀_架构及核心
  • 【Linux】进程概念
  • 以Java程序员角度理解MCP
  • 项目复盘核心要点
  • SQL Server 查询优化
  • Vue 脚手架基础特性
  • 前端自动化埋点:页面模块级行为跟踪与问题定位系统​​的技术设计方案
  • 浏览器地址栏输入URL回车后白屏分析
  • 【Web APIs】JavaScript 节点操作 ④ ( 节点操作案例 - 下拉菜单案例 )
  • Java+Vue构建的固定资产内控管理系统,融合移动端便捷与后台管理强大功能,模块完备,提供全量源码,轻松实现资产智能管控
  • 第十二章 用Java实现JVM之结束
  • 学习pwn需要的基本汇编语言知识
  • 漫画版:细说金仓数据库
  • LangGraph基础教程
  • 理解后端开发中的API设计原则
  • 哈希算法(Hash Algorithm)
  • 2025乐彩V8影视系统技术解析:双端原生架构与双H5免签封装实战 双端原生+双H5免签封装+TV级性能优化,一套代码打通全终端生态
  • Visual Studio Code 远端云服务器开发使用指南
  • gflags使用
  • Java 大视界 -- Java 大数据在智能交通自动驾驶车辆与周边环境信息融合与决策中的应用(357)
  • 新手向:基于Python的桌面便签与待办事项管理工具
  • [ARM]MDK出现报错error: A\L3903U的解决方法
  • Gradio, Streamlit, Dash:AI应用开发的效率之选
  • C# 析构函数
  • Unity中,Panel和 Canvas的区别
  • 矩阵中QR算法分解简介和基于Eigen库使用示例
  • Qt Creator集成开发环境使用指南
  • React Three Fiber 实现昼夜循环:从光照过渡到日月联动的技术拆解