Feature request
Feature description
Whilst using nav2_bringup, I noticed that some arguments are defined as native Python booleans (True/False), whilst others are string-based ("true"/"false") depending on the conditional check in the launch file.
For example, here you can see boolean conditions slam and use_localization are in a PythonExpression conditional check whilst the string-based conditions use_sim_time, autostart and use_respawn are in the launch_arguments (funny enough use_respawn is defined as boolean False).
Whilst this has no real impact on anyone using it, it would be nice to stay consistent with their uses. I'm not sure if I'm in the minority here?
Implementation considerations
Possible solution:
condition=IfCondition(PythonExpression(["'", slam, "' == 'true' and '", use_localization, "' == 'true'"]))
This keeps everything as string conditions.
Feature request
Feature description
Whilst using
nav2_bringup, I noticed that some arguments are defined as native Python booleans (True/False), whilst others are string-based ("true"/"false") depending on the conditional check in the launch file.For example, here you can see boolean conditions
slamanduse_localizationare in aPythonExpressionconditional check whilst the string-based conditionsuse_sim_time,autostartanduse_respawnare in thelaunch_arguments(funny enoughuse_respawnis defined as booleanFalse).Whilst this has no real impact on anyone using it, it would be nice to stay consistent with their uses. I'm not sure if I'm in the minority here?
Implementation considerations
Possible solution:
condition=IfCondition(PythonExpression(["'", slam, "' == 'true' and '", use_localization, "' == 'true'"]))This keeps everything as string conditions.