当前位置: 首页 > 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.lryc.cn/news/596088.html

相关文章:

  • Agent架构与工作原理:理解智能体的核心机制
  • Nacos 注册中心高频面试题及解析
  • 从感知到决策:虚拟仿真系统与视觉算法融合下的多路RTSP视频接入技术探究
  • 将生产库的数据连同表结构一起复制到测试库中
  • 如何安装没有install.exe的mysql数据库文件
  • ZLMediaKit 入门
  • 20250722在Ubuntu 24.04.2下配置编译RD-RK3588开发板的Android13的编译环境
  • wps dispimg python 解析实现参考
  • 二分查找-852.山峰数组的峰顶索引-力扣(LeetCode)
  • 函数——C语言的重要部分
  • React Three Fiber 实现昼夜循环:从光照过渡到日月联动的技术拆解
  • 金山办公WPS项目产品总监陈智新受邀为第十四届中国PMO大会演讲嘉宾
  • 两个android,一个客户端一个服务器端
  • 深入解析 Spark:关键问题与答案汇总
  • 在easyui中如何自定义表格里面的内容
  • Python爬虫实战:研究pymorphy2库相关技术
  • Python爬虫实战:研究PyPLN库相关技术
  • 【文献笔记】ARS: Automatic Routing Solver with Large Language Models
  • PHP获取淘宝拍立淘(以图搜图)API接口操作详解
  • 如何迁移jenkins至另一台服务器
  • 一个基于现代C++智能指针的优雅内存管理解决方案
  • 探索飞算JavaAI:AI赋能Java开发的新范式
  • docker 设置镜像仓库代理
  • 碰一碰发视频源码搭建:支持OEM
  • 初识opencv01——基本api操作
  • 分布式高可用ELK平台搭建及使用保姆级教程指南
  • 大数据之Hive:Hive中week相关的几个函数
  • 分布式数据库中间件ShardingSphere
  • Protobuf学习
  • SysMind:Go 语言驱动的AI系统运维助手