ros2_control 架构

打印 上一主题 下一主题

主题 862|帖子 862|积分 2586

ros2_control 架构


控制器(Controllers):

图片顶部的部分体现多个控制器(如 Controller A、Controller B、Controller C)。这些控制器是基于控制理论的组件,它们将参考值与丈量输出进行比力,并基于这个偏差计算系统的输入,管理和调节系统的行为。当控制循环执行时,会调用 update() 方法。这个方法可以访问最新的硬件状态,并使控制器可以或许向硬件命令接口写入数据。控制器通过 Controller Manager 加载,并将其所需的接口授予Controller Manager。
控制器管理器(Controller Manager):

控制器管理器负责管理控制器的生命周期,包括加载、激活、停用等。它请求接口并与资源管理器交互以获取所需的资源。
控制器管理器从控制器接收请求接口的请求,并从资源管理器处获取所需的接口资源。
资源管理器(Resource Manager):

资源管理器负责抽象硬件资源并管理这些资源的状态和命令接口。它输出状态接口(只读)和命令接口(读/写),以供控制器使用。
控制器管理器从资源管理器获取所需的接口,并将这些接口提供给控制器。
状态接口和命令接口(State Interface & Command Interface):

状态接口是只读接口,用于读取硬件组件的当前状态。
命令接口是读/写接口,用于向硬件组件发送命令以控制其行为。
资源管理器管理并导出这些接口给控制器使用。
硬件资源(Hardware Resources):

硬件资源包括传感器、系统和执行器,这些组件通过状态接口和命令接口与控制器交互。
传感器提供状态信息,系统和执行器可以担当控制命令并执行相应的动作。
传动装置(Transmissions):

传动装置是硬件资源的一部分,用于实现系统中的力或运动通报。控制器可能通过命令接口来使用这些传动装置。
User Interfaces(用户接口)

用户通过控制器管理器(Controller Manager)的服务与 ros2_control 框架进行交互。 ros2_control 提供了一个与 ros2 CLI 集成的用户友好命令行界面(CLI)。该界面支持自动补全,并提供了一系列常用命令。
输出已加载的控制器列表

  1. ros2 control list_controllers
复制代码
输出已加载的控制器列表、范例和状态。如下为一个输出例子:
  1.         joint_state_broadcaster[joint_state_broadcaster/JointStateBroadcaster] active   
复制代码


  • 名称:joint_state_broadcaster
  • 范例:joint_state_broadcaster/JointStateBroadcaster
  • 状态:active
输出可用硬件组件列表

  1. ros2 control list_hardware_components
复制代码
如下为一个输出例子:
  1. Hardware Component 1
  2.        name: aubo
  3.        type:
  4.        plugin name:
  5.        state: id=3 label=active
  6.        command interfaces
  7.                shoulder_joint/position [available] [claimed]
  8.                upperArm_joint/position [available] [claimed]
  9.                foreArm_joint/position [available] [claimed]
  10.                wrist1_joint/position [available] [claimed]
  11.                wrist2_joint/position [available] [claimed]
  12.                wrist3_joint/position [available] [claimed]
复制代码
输出可用命令和状态接口的列表

  1. ros2 control list_hardware_interfaces
复制代码
如下为一个输出例子:
  1. command interfaces
  2.        foreArm_joint/position [available] [claimed]
  3.        shoulder_joint/position [available] [claimed]
  4.        upperArm_joint/position [available] [claimed]
  5.        wrist1_joint/position [available] [claimed]
  6.        wrist2_joint/position [available] [claimed]
  7.        wrist3_joint/position [available] [claimed]
  8. state interfaces
  9.        foreArm_joint/position
  10.        foreArm_joint/velocity
  11.        shoulder_joint/position
  12.        shoulder_joint/velocity
  13.        upperArm_joint/position
  14.        upperArm_joint/velocity
  15.        wrist1_joint/position
  16.        wrist1_joint/velocity
  17.        wrist2_joint/position
  18.        wrist2_joint/velocity
  19.        wrist3_joint/position
  20.        wrist3_joint/velocity
复制代码




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

兜兜零元

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表