上机6 编写launch文件启动节点

上机6 编写launch文件启动节点

本次实验以以下题目为样例:
编写launch文件启动节点通过launch文件向节点传入一个foat参数节点接受该参数,并通过std:.cout将参数输出修改launch文件的output参数,将节点的std::cout输出信息打印在终端
第一步 创建功能包:
mkdir -p ROS/shangji6/src
cd ROS/shangji6/src
catkin_init_workspace 
catkin_create_pkg text roscpp std_msgs
cd text
mkdir launch
cd launch
vi mynode.launch

其中mynode.launch文件内容为

<launch>  
    <node pkg="text" type="float_param_node" name="float_param_node" output="screen">  
        <param name="float_param" value="2.5" /> <!-- 设置float_param的值为1.24 -->  
    </node>  
</launch>
第二步 进入工作空间编译
cd ~/ROS/shangji6
catkin_make
第三步 编写.cpp节点
cd ~/ROS/shangji41/src/text/src
vi float_param_node.cpp

float_param_node.cpp如下:

#include <ros/ros.h>  
#include <std_msgs/Float32.h>  
  
int main(int argc, char **argv)  
{  
    ros::init(argc, argv, "float_param_node");  
    ros::NodeHandle nh;  
    ros::NodeHandle pnh("~");  
  
    // 获取名为float_param的参数  
    float float_param;  
    if (!pnh.param<float>("float_param", float_param,0.1))  
    {  
        ROS_ERROR("Failed to get float_param parameter.");  
        return -1;  
    }  
  
    // 打印参数  
    ROS_INFO("Received float_param: %f", float_param);  
  
    return 0;  
}
第四步 CMakeLists.txt配置.cpp文件:

在CMakeLists.txt中添加以下内容

add_executable(float_param_node
  src/float_param_node.cpp
)

target_link_libraries(float_param_node
  ${catkin_LIBRARIES}
)
第五步 launch文件启动节点

在工作空间下运行如下指令编译并运行 launch文件:

cd ~/ROS/shangji6
catkin_make
source devel/setup.bash
roslaunch text mynode.launch

可以观察到如下信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值