Huge, but relatively simple PR that reworks the irobot_create_toolbox package.
Relevant changes:
Nodes are moved to a new package named irobot_create_nodes, with the irobot_create_toolbox becoming the place where to define utilities and tools.
Register all irobot_create_nodes libraries as rclcpp components. This will allow eventually to dynamically load the nodes into systems and also allows to remove all the boilerplate main.cpp files replacing them with automatically generated ones.
Remove the declare_and_get_parameter utility and replace it with standard declare_parameter function. Moreover add a default argument to avoid crashes if a parameter is not provided in the yaml files.
Start populating the new irobot_create_toolbox package with stuff that was previously duplicated between ignition and classic code.
Type of change
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
How Has This Been Tested?
Smoke run using Gazebo classic and Gazebo ignition
Checklist
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
Description
Huge, but relatively simple PR that reworks the
irobot_create_toolbox
package. Relevant changes:irobot_create_nodes
, with theirobot_create_toolbox
becoming the place where to define utilities and tools.irobot_create_nodes
libraries as rclcpp components. This will allow eventually to dynamically load the nodes into systems and also allows to remove all the boilerplatemain.cpp
files replacing them with automatically generated ones.declare_and_get_parameter
utility and replace it with standarddeclare_parameter
function. Moreover add a default argument to avoid crashes if a parameter is not provided in the yaml files.irobot_create_toolbox
package with stuff that was previously duplicated between ignition and classic code.Type of change
How Has This Been Tested?
Smoke run using Gazebo classic and Gazebo ignition
Checklist