Load Parameters using roslaunch saved as .yaml from RQT Dynamic Reconfigure
Hello All,
I have a motor controller board which is tuned using a ros node. The parameters of this board need to be tuned only once and then use the tuning parameters at each launch. Currently I have two parts to this node. Part A launches the node with parameters in a config.yaml file. The contents of which i manually typed in. Part B launches the dynamic reconfiguration tool and helps me figure out the values of these parameters ( which i manually type into config.yaml) . I can then save the current configuration from dyn reconfigure using the save icon in rqt (top left) ( let say this file is dynConfig.yaml ).
I want to launch Part A of the node using rosparam load with dynConfig.yaml as the file instead of config.yaml. If i directly use the dynConfig.yaml file in launch file i get the following error
error loading <rosparam> tag:
'param' attribute must be set for non-dictionary values
XML is <rosparam command="load" file="$(find drive_control)/cfg/dynConfig.yaml"/>
The traceback for the exception was written to the log file
My understanding is that this is because dynamic reconfigure adds some additional lines in the dynConfig.yaml which the rosparam is not expecting. these are the first few lines of the file when saved from rqt.
!!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
UPLOAD_VALUES_PORT_1: false
UPLOAD_VALUES_PORT_2: false
groups: !!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
groups: !!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
PORT_1: !!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
I want to know if there is a way that i can either convert dynConfig.yaml formatting to the .yaml that roslaunch expects or a way to directly save it in the right formatting. OR if i am doing it entirely the wrong way.
Thank you