具身智能新手名词表English

ROS 2 执行器与回调组

ROS 2 Executor & Callback Groups进阶

ROS 2 里决定回调函数由谁、用几个线程、能否并发执行的机制

ROS 2 节点里订阅、定时器、服务等收到事件后都会触发回调函数,执行器(Executor)负责调度这些回调:单线程执行器一次只跑一个,多线程执行器可以并行跑多个。回调组(Callback Group)进一步规定哪些回调能同时运行:互斥组里的回调不会并发,可重入组里的可以。它解决的是实时性和死锁问题,比如在一个回调里同步调用服务并等待结果,如果服务的响应回调被同一线程堵住,就会卡死;把它们放进不同回调组、再用多线程执行器即可避免。

例子控制节点里 100 Hz 的定时器回调和慢速的相机图像处理回调放在不同回调组,用 MultiThreadedExecutor 运行,控制循环就不会被图像处理拖慢。

也叫
Executor、Callback Group、MultiThreadedExecutor
相关
ROS 2、节点、ROS 客户端库、可组合节点 / 进程内通信、实时控制、服务
来源
ROS 2 Documentation: Executors
ROS 2 Documentation: Using Callback Groups

在完整名词表里查看 →