ros launch 文件传参

本文介绍了如何在ROS系统中通过launch文件动态设置C++程序中的摄像头USB编号。通过ros::param::get()函数,程序可以读取launch文件中设定的私有参数~usb_number,实现不重启程序即可调整摄像头设备。这种方法简化了配置过程,提高了灵活性。

针对C++代码,举例说明如下:

可避免重新编辑值,程序中这样写:

假如摄像头序号不定,通过launch文件修改:

int usb_number;
ros::param::get("~usb_number",usb_number);
cout<<"**************************"<<usb_number<<endl;
cv::VideoCapture cap(usb_number);

launch文件,这样写的:

    <node pkg="camera_pub" type="camera_pub" name="camera_pub" output="screen">
        <param name="usb_number"  type="int"  value="11"/>
        <param name="pub_top" value="$(arg output_topic)"/>   
    </node>

想要在launch文件中更改usb_number的值,在程序里只需定义变量usb_number,然后再使用语句 ros::param::get(),即可。程序中的“~”的意思表示此参数是私有参数,也就是,在lauch文件中,你把<param.../>写到<node.../>里面那么你的参数就是私有参数。 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值