c++ - 如何在启动文件中定义参数?
问题描述
我有以下启动文件,我在其中定义了一个参数:
<launch>
<arg name="coordinates_file" value="$(find pkg_name)/name_of_the_txt_file.txt"/>
<node pkg="pkg_name" type="ros_node_name" name="launch_file_name">
<rosparam file="$(arg coordinates_file)"/>
</node>
</launch>
另外,我正在读取 ros_node 中的参数如下:
ros::NodeHandle nh("~");
std::string param="waypoints_cordinates.txt";
std::string wp_file;
wp_file = nh.getParam("wp_file", param);
std::cout << "param1" << param << std::endl;
std::cout << "param" << wp_file << std::endl;
在对提到的启动文件进行 roslaunch 时,我面临以下错误:
RLException: error loading <rosparam> tag:
'param' attribute must be set for non-dictionary values
XML is <rosparam file="$(arg wp_file)"/>
The traceback for the exception was written to the log file
你能帮我解决这个问题吗?我是否错过了创建和读取参数的任何部分?!
解决方案
推荐阅读
- r - R中的复杂循环或函数
- reactjs - 是否可以将 React 拆分窗格与两个以上的窗格一起使用?
- c - 将 UART 与 RPi Pico C sdk 一起使用时遇到问题
- scala - Swagger 3 使用注释记录地图
- amazon-web-services - 以最大吞吐量从 SQS 队列写入 DynamoDB 的模式
- python - TensorFlow 自定义损失函数 TypeError
- javascript - 如何使用来自不同 api 的值或数据显示来自 tmdb api 的数据
- c# - 根据框架版本自动选择 C# 语言版本控制
- sql - 连接非空列时,Postgresql 生成的列失败
- reactjs - 如何在 React 中创建搜索栏