Should one or multiple controller_manager nodes be used for modular robots (e.g. base + arm)? [ros2_control]
If you have a robot composed of several sub-robots (e.g. a mobile base platform with a manipulator attached), each of which has its own independent controllers defined, is there a preferred approach to managing the controllers for the combination?
Are there reasons for or against either:
- aggregating the controllers for both the base and arm into a single
controller_manager
node, or - running separate
controller_manager
nodes for each sub-robot (e.g.base_controller_manager
andarm_controller_manager
)?
I'd imagine the former might have a bit less overhead, but the latter might make lifecycle management a bit more flexible?