Как получить ROS xml параметр из файла запуска с помощью Python
У меня есть файл запуска с расширением xml, и я хотел бы получить значение параметра. Этот файл запуска называется ardrone.launch
<!-- This is a sample lanuch file, please change it based on your needs -->
<launch>
<node name="ardrone_driver" pkg="ardrone_autonomy" type="ardrone_driver" output="screen" clear_params="true">
<param name="outdoor" value="1" />
<param name="flight_without_shell" value="1" />
<param name="max_bitrate" value="4000" />
<param name="bitrate" value="4000" />
<param name="navdata_demo" value="0" />
<param name="altitude_max" value="10000" />
<param name="altitude_min" value="50" />
<param name="euler_angle_max" value="0.35" />
<param name="control_vz_max" value="2000" />
<param name="control_yaw" value="1.75" />
</node>
</launch>
Например, я хотел бы получить значение от altitude_max, altitude_min и других, использующих python. Я должен добавить, что этот файл находится в каталоге с именем launch, а файл, в котором я его вызываю, находится в каталоге, который называется scripts, а сценарии и launch находятся в одном каталоге.
1 ответ
Параметры, установленные в файле запуска, хранятся на сервере параметров ROS.
Доступ к этим параметрам из узла Python довольно прост, как показано на этой вики-странице. В вашем случае параметры определяются как частные параметры узла (потому что они определены внутри <node>
тег), так что вы должны поставить перед ними префикс ~
при доступе к ним:
altitude_max = rospy.get_param('~altitude_max')
Для меня rospy.get_param("/ardrone_driver/altitude_max") работал