在roslaunch给cpp文件中的int赋值
时间: 2024-02-16 11:04:45 浏览: 23
在roslaunch中,我们可以使用`<param>`标签为节点设置参数,然后在cpp文件中通过`ros::param::get()`函数获取参数值并赋给变量。以下是具体步骤:
1. 在roslaunch中设置参数,例如:
```xml
<node name="my_node" pkg="my_package" type="my_node_type">
<param name="my_param" value="10"/>
</node>
```
这里设置了节点`my_node`的参数`my_param`为整型数值`10`。
2. 在cpp文件中使用`ros::param::get()`函数获取参数值,并赋给变量,例如:
```cpp
int my_param;
ros::param::get("my_param", my_param);
```
这会将参数`my_param`的值`10`赋给`my_param`变量。
完整的cpp文件示例:
```cpp
#include <ros/ros.h>
int main(int argc, char** argv)
{
ros::init(argc, argv, "my_node");
ros::NodeHandle nh;
// Get parameter value
int my_param;
ros::param::get("my_param", my_param);
// Print parameter value
ROS_INFO("my_param = %d", my_param);
// Do something with parameter value
// ...
return 0;
}
```
注意,参数名字应该和roslaunch中设置的完全一致,包括大小写。