这是 ros2_controllers 官方提供的标准控制器,全部开箱即用,是机械臂、移动机器人、关节控制的工业标准插件

我给你整理成一看就懂、直接能用的版本:分类 + 功能 + 用途 + 话题接口。


一、先记住:官方控制器都在这个包

plaintext

ros2_controllers

所有下面的插件,都是它提供的,不用自己写


二、官方控制器插件大全(最核心 10 个)

1. Joint State Broadcaster(必用!)

插件类型:状态广播控制器

plaintext

joint_state_broadcaster/JointStateBroadcaster

功能

  • 从硬件读取所有关节的 position / velocity / effort
  • 转换成 ROS 标准话题 /joint_states
  • 给 RViz2、MoveIt2、TF2 提供关节状态

作用

没有它,机器人在 RViz 里完全动不起来!所有机器人第一个必启动的控制器。

输出话题

/joint_states


2. Joint Trajectory Controller(机械臂核心)

插件类型:轨迹跟踪控制器

plaintext

joint_trajectory_controller/JointTrajectoryController

功能

  • 接收多点连续轨迹(位置、速度、加速度)
  • 控制多关节平滑跟踪轨迹
  • 支持位置 / 速度 / 力矩控制

作用

机械臂官方标准控制器MoveIt2 输出的轨迹就是发给它。

输入话题

/joint_trajectory_controller/joint_trajectory

常用工具

rqt_joint_trajectory_controller 图形化拖动机械臂


3. Diff Drive Controller(差速底盘核心)

插件类型:移动底盘控制器

plaintext

diff_drive_controller/DiffDriveController

功能

  • 输入:Twist 线速度 + 角速度
  • 输出:左右轮目标转速
  • 自动做差速运动学解算
  • 发布 Odometry (里程计) 和 TF

作用

两轮差速小车、ROS 机器人底盘标配Navigation2 的 /cmd_vel 就是发给它。

输入

/cmd_vel

输出

/odom/tf


4. Forward Command Controller(直接指令控制器)

plaintext

forward_command_controller/ForwardCommandController

功能

  • 最简单的控制器
  • 直接把话题收到的数据转发给硬件
  • 不做任何 PID、滤波、解算

作用

调试、简单测试、自定义控制用。


5. Position Controllers(单关节位置控制)

plaintext

position_controllers/JointGroupPositionController

功能

  • 控制每个关节目标位置
  • 适用于舵机、机械臂关节

作用

单独控制某个关节转到指定角度。


6. Velocity Controllers(单关节速度控制)

plaintext

velocity_controllers/JointGroupVelocityController

功能

控制关节转速


7. Effort Controllers(力矩 / 力控制器)

plaintext

effort_controllers/JointGroupEffortController

功能

直接输出力矩 / 电流指令用于力控、柔性关节、机械臂力控制


8. Imu Sensor Broadcaster(IMU 数据广播)

plaintext

imu_sensor_broadcaster/ImuSensorBroadcaster

功能

读取 ros2_control IMU 硬件插件的数据发布成标准 ROS IMU 话题

输出

/imu


9. Force Torque Sensor Broadcaster(力传感器广播)

plaintext

force_torque_sensor_broadcaster/ForceTorqueSensorBroadcaster

功能

发布力 / 力矩传感器话题


10. Steer Drive Controller(阿克曼转向底盘)

plaintext

steer_drive_controller/SteerDriveController

功能

用于无人车、阿克曼底盘、智能车前轮转向 + 后轮驱动


三、最常用 5 个官方控制器(你 90% 会用到)

控制器 用途 机器人类型
JointStateBroadcaster 发关节状态(必用) 全部机器人
JointTrajectoryController 轨迹跟踪 机械臂
DiffDriveController 差速运动 两轮小车
ForwardCommandController 直接指令 调试
ImuBroadcaster 发布 IMU 带 IMU 机器人

四、超简记忆口诀

  • 看状态 → JointStateBroadcaster
  • 机械臂 → JointTrajectoryController
  • 差速小车 → DiffDriveController
  • 直接发指令 → ForwardController
  • 传感器 → ImuBroadcaster
Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐