ROS control combined_robot_hw

O pacote combined_robot_hw (CombinedRobotHW) permite combinar vários RobotHWs num só RobotHW. Com o seu uso, todos os  controladores vêm as articulações (joints) de todos os RobotHWs como articulações de um só RobotHW.

O mecanismo que está por traz desse comportamento especial é chamado de carregador de classes (pluginlib). O mesmo sistema por trás do gestor de controladores (controller_manager), portanto, num certo sentido o CombinedRobotHW é um tipo de gestor do RobotHW.

Depois de compor o robot, com vários subsistemas de controlo, pode usar um gestor  de controladores para todo o sistema. Mas caso estiver a usar diferentes interfaces de controlo (esforço, velocidade, posição) em diferentes RobotHWs, não poderá liga-las apenas a um controlador de esforço, por exemplo.

No wiki do repositório do ros_control está um exemplo em que se combina  dois robôs de 2 DOF cada num robô articulado de 4 DOF.

Saber mais em: https://github.com/ros-controls/ros_control/wiki/Writing-CombinedRobotHW