如何用Python从启动文件中获取ROS-xml参数

2024-06-01 03:53:47 发布

您现在位置: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的目录中,scripts和launch都在同一个目录中。


Tags: 文件name目录nodeparamvaluedriverscripts
2条回答

启动文件中设置的参数存储在ROS parameter server

从python节点访问这些参数非常容易,如this wiki page所示。在您的情况下,这些参数被定义为节点的私有参数(因为它们是在<node>标记中定义的),所以在访问它们时,必须在它们前面加上~

altitude_max = rospy.get_param('~altitude_max')

对我来说,rospy.get_param(“/ardrone_driver/altitude_max”)工作了

相关问题 更多 >