7.4 Динамическая перенастройка из командной строки
Кроме того, можно изменить значение динамического параметра из командной строки, как подробно описано в Ros Wiki. Основная команда-это dynapharm, которая принимает ряд следующих команд:
dynparam list : список текущих запущенных узлов, которые динамически настраиваются
dynparam get : получить конфигурацию узла
dynparam set : настройка узла
dynparam set_from_parameters : копирование конфигурации с параметрами сервера
dynparam dump : конфигурация дампа в файл
dynparam load : загрузка конфигурации из файла
Для выполнения любой из этих команд используйте следующий синтаксис:
$ rosrun dynamic_reconfigure dynparam COMMAND
Например, чтобы установить разрешение глубинной камеры Kinect или Xtion Pro равным 640x480 (параметр image_mode=2) и предположить, что узел камеры работает как /camera / driver, вы должны использовать команду:
$ rosrun dynamic_reconfigure dynparam set /camera/driver image_mode 2
И точно так же установить режим глубины:
$ rosrun dynamic_reconfigure dynparam set /camera/driver depth_mode 2
Команды dump и load полезны, если вы потратили некоторое время на настройку набора параметров с помощью rqt_reconfigure или другого метода и хотите сохранить эти изменения в файл, который можно загрузить позже. Чтобы сохранить текущую конфигурацию узла с именем my_node в файл с именем my_node.yaml, используйте команду:
$ rosrun dynamic_reconfigure dynparam dump /my_node my_node.yaml
Затем, чтобы загрузить эту конфигурацию позже, выполните команду:
$ rosrun dynamic_reconfigure dynparam load /my_node my_node.yaml
Вы также можете загрузить ранее сохраненные параметры с помощью такого файла запуска:
<launch>
<node pkg="dynamic_reconfigure" name="dynaparam"
type="dynaparam"
command="load" file="$(find my_package)/my_node.yaml" />
</launch>
Строка <node> выше будет загружать динамические параметры из файла my_node.yaml находится в пакете my_package. Конечно, вы можете запустить другие узлы в том же файле запуска.
Last updated
Was this helpful?