Skip to content

gary_controller定义了ros2_control中的上层controller, 负责开闭环控制, 实现了多种控制算法的控制器, 拥有参数实时更改能力

License

Notifications You must be signed in to change notification settings

GMasterEmbeddedGroup/gary_controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gary_controller

gary_controller定义了ros2_control中的上层controller, 是gary_ros2中上层控制器的封装, 实现了多种控制算法的控制器, 拥有参数实时更改能力

gary_controller是实时就绪 (Realtime-Ready) 的, 经过优化的代码旨在提供以超过1KHz闭环控制的能力.

usage

启动ros2_control_node

ros2 run controller_manager ros2_control_node 

将控制器加载到ros2_control_node中并运行

ros2 run controller_manager spawner.py <controller_name> --controller-manager /controller_manager --param-file <param-file> --controller-type <controller_type>

controller

OfflineBroadcaster

硬件离线状态广播器, 负责读取所有硬件的offline状态接口, 并将状态广播到指定的topic上

OfflineBroadcaster可配置参数如下

  • interface_name: 硬件暴露的掉线状态接口名称, 默认offline
  • diagnose_topic: 发送的自检信息主题名称, 默认/diagnostics
  • pub_rate: 发送频率, 默认10Hz

PIDController

基本pid控制器, 其订阅~/cmd主题获得pid设定值, 与从state_interface拿到的反馈数据进行pid闭环运算, 将输出写入到command_interface

PIDController可配置参数如下

  • command_interface: pid运算结果输出的指令接口, 默认为空
  • state_interface: pid反馈输入的状态接口, 默认为空
  • kp: 比例项, 默认为0
  • ki: 积分项, 默认为0
  • kd: 微分项, 默认为0
  • max_out: pid总体最大输出, 默认为0
  • max_iout: 积分项最大输出, 默认为0
  • stale_threshold: pid设定值topic接收超时阈值, 超时将导致pid输出关闭, 默认为0.1(s)

About

gary_controller定义了ros2_control中的上层controller, 负责开闭环控制, 实现了多种控制算法的控制器, 拥有参数实时更改能力

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •