We use yaml aliases to prevent configuration duplication.
When two nodes use a very similar set of parameters we can setup a parameter file like this:
(The two nodes being: kalman_filter_odom and kalman_filter_map
kalman_filter_odom: &KALMAN_FILTER_ODOM
world_frame: "odom"
imu0: imu/data
imu0_config: [false, false, false, # X,Y,Z,
true, true, true, # roll,pitch,yaw,
false, false, false, # X`,Y`,Z`,
true, true, true, # roll`,pitch`,yaw`,
true, true, true] # X``,Y``,Z``
odom0: wheels/odom
odom0_config: [false, false, false, # X,Y,Z,
false, false, false, # roll,pitch,yaw,
true, true, false, # X`,Y`,Z`,
false, false, true, # roll`,pitch`,yaw`,
false, false, false] # X``,Y``,Z``
kalman_filter_map:
<<: *KALMAN_FILTER_ODOM # All settings and inputs kalman_filter_odom has and:
world_frame: "map"
odom1: absolute/odom
odom1_config: [true, true, true, # X,Y,Z,
false, false, false, # roll,pitch,yaw,
false, false, false, # X`,Y`,Z`,
false, false, false, # roll`,pitch`,yaw`,
false, false, false] # X``,Y``,Z``
This is supported by roslaunch in melodic. But rosmon crashes with the following error:
Running as '/rosmon_1574149719933920064'
terminate called after throwing an instance of 'ros::InvalidNameException'
what(): Character [<] at element [19] is not valid in Graph Resource Name [/kalman_filter_map/<</frequency]. Valid characters are a-z, A-Z, 0-9, / and _.
Aborted (core dumped)
We use yaml aliases to prevent configuration duplication.
When two nodes use a very similar set of parameters we can setup a parameter file like this:
(The two nodes being:
kalman_filter_odomandkalman_filter_mapThis is supported by roslaunch in melodic. But rosmon crashes with the following error: