Skip to content

use dedicated executor for component nodes  #1774

@gezp

Description

@gezp

Feature request

Feature description

Hi, guys

I'm working on project Reduce ROS2 Nodes and Determinism of OSPP2021 (under the mentor of Steve Macenski).

Currently, i'm trying to support composed bringup for Nav2 stack, and i have done some works about manually composed bringup (Compile-time composition) of Nav2, which performs better than Normal bringup , in addition, i find a problem that a large multi-threaded executor consumes higher cpu(increase 30%-50%) than a bunch of single-threaded executors , you can find some details here: https://discourse.ros.org/t/nav2-composition/22175.

for Run-time composition , i notice that rclcpp_components only provides component_container which use SingleThreadedExecutor for all component nodes in container and component_container_mt which use MultiThreadedExecutor.

how about supporting a bunch of SinglethreadedExecutor for component_container ? in other word, create a SingleThreadedExecutor with dedicated thread for each component nodes.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions