精华内容
下载资源
问答
  • rosrun时直接设置参数
    千次阅读
    2015-09-23 20:54:23

    使用usb摄像头调试时,不想写launch文件,想在rosrun时直接设置参数可以以此为例:

    rosrun usb_cam usb_cam_node _video_device:=/dev/video1

    更多相关内容
  • 4.6.1 rosrun设置参数

    2021-03-18 21:44:37
    ROS入门 4.6.1 rosrun设置参数 《ROS入门-理论与实践》视频教程镇楼 rosrun 在启动节点时,也可以设置参数: 语法: rosrun 包名 节点名称 _参数名:=参数值 1.设置参数 启动乌龟显示节点,并设置参数 A = 100 rosrun...

    ROS入门 4.6.1 rosrun设置参数


    《ROS入门-理论与实践》视频教程镇楼


    rosrun 在启动节点时,也可以设置参数:

    语法: rosrun 包名 节点名称 _参数名:=参数值

    1.设置参数

    启动乌龟显示节点,并设置参数 A = 100

    rosrun turtlesim turtlesim_node _A:=100
    
    

    2.运行

    rosparam list查看节点信息,显示结果:

    /turtlesim/A
    /turtlesim/background_b
    /turtlesim/background_g
    /turtlesim/background_r
    
    

    结果显示,参数A前缀节点名称,也就是说rosrun执行设置参数参数名使用的是私有模式

    展开全文
  • ROS的节点有很多中调用方式,包括rosrun,launch,直接运行等,向节点内传递参数的方式也有很多,在此做个总结。 左侧专栏还在更新其他ROS实用技巧哦,关注一波? 1. rosrun + 参数服务器传递 ros::init(argc, ...

    0. 写在最前面

    本文持续更新地址:https://haoqchen.site/2019/03/22/send-param2node/

    如果觉得写得还不错,可以找我其他文章来看看哦~~~可以的话帮我github点个赞呗。

    你的Star是作者坚持下去的最大动力哦~~~

    ROS的节点有很多中调用方式,包括rosrun,launch,直接运行等,向节点内传递参数的方式也有很多,在此做个总结。

    1. rosrun + 参数服务器传递

    ros::init(argc, argv, "imu2txt");
    ros::NodeHandle nh("~");
    std::string file_name;
    nh.param<std::string>("file_name", file_name, "./imu_data.txt");
    

    首先在节点初始化之后获取参数服务器的参数,并设置初始值,如上面的程序就是在参数服务器的空间(即节点本身)获取名字为"file_name"的参数放到std::string file_name中,默认参数为后面那个。

    接着就可以rosrun了。下面是命令
    rosrun package node _parameter:=value

    在我们这里就是rosrun datatxt imu2txt _file_name:=~/Documents/test.txt就可以将节点内的参数改为想要的值了。

    注意: string不需要加双引号,string第一个字符不能是数字

    2. roslaunch + 参数服务器传递

    同样是上面的例子,我们如果想通过roslaunch来调用的话,可以像下面这样,将参数放在node之间。

    <launch>
        <node name="imu2txt" pkg="data2txt" type="imu2txt" respawn="false" output="screen" >
            <param name="file_name"         type="string" value="/home/night_fury/Documents/record_bags/calibration/imudata_to_wall.txt"/>  
        </node>
    </launch>
    

    3. rosrun + main参数传递

    int main(int argc, char** argv)

    main函数有两个参数argc, argv。argc = length(argv),argv[0]是程序的名字,argv[1]到argv[argc - 1]是传递给程序的参数,按空格分割参数后以char指针的形式存储。这是C、C++的特性,跟ros无关,你编写的C++程序也可以这么用。你编写的ros程序甚至可以直接运行,并通过这种方式传递参数,而不用rosrun或者roslaunch。

    比如我们常用的map_server、rosbag就是用的这种参数传递方式。

    rosrun map_server map_saver -f ~/Documents/test或者直接找到二进制文件后map_saver -f ~/Documents/test

    像上面这样运行程序,那么

    argc=3  
    argv[0]="map_server"  
    argv[1]="-f"  
    argv[0]="test"  
    

    你就可以在程序中使用这些参数了。

    4. roslaunch + main参数传递

    续上,如果使用main参数传递,那在roslaunch应该怎么样呢?如下,使用args

    <launch>
        <node name="map_server" pkg="map_server" type="map_server" args="$(find costmap_2d)/test/willow-full-0.025.pgm 0.025" />
        <node name="rosplay" pkg="rosbag" type="play"
            args="-s 5 -r 1 --clock --hz=10 $(find costmap_2d)/test/simple_driving_test_indexed.bag" />
    </launch>
    

    参考

    http://wiki.ros.org/rosbash#rosrun


    喜欢我的文章的话Star一下呗Star

    版权声明:本文为白夜行的狼原创文章,未经允许不得以任何形式转载

    展开全文
  • ROS向节点传递参数的方法总结(rosrun,launch) + (参数服务器,main函数参数) https://blog.csdn.net/u013834525/article/details/88744327

    参考:ROS向节点传递参数的方法总结(rosrun,launch) + (参数服务器,main函数参数)https://blog.csdn.net/u013834525/article/details/88744327

    rosrun 向 参数服务器

    rosrun package node _param:=value

     param前加 "_" 

    roslaunch 向 参数服务器

     使用param标签

    <launch>
    
         <node name="imu2txt" pkg="data2txt" type="imu2txt" respawn="false" output="screen" >
    
             <param name="file_name"         type="string" value="/home/night_fury/Documents/record_bags/calibration/imudata_to_wall.txt"/>
    
         </node>
    
    </launch>

    rosrun 向 main()

    直接在后边添加

    rosrun package node p1 p2 p3

    roslaunch 向 main()

    在 node标签中,使用 args 

    <node pkg="ros_tutorials_parameter" type="service_client_with_parameter" name="service_client" args="6 8">
    <param name="calculation_method"  value="2"/>
    <launch>
    
         <node name="map_server" pkg="map_server" type="map_server" args="(findcostmap2d)/test/willow−full−0.025.pgm 0.025"/>
    
    <node name="rosplay"pkg="rosbag"type="play"args="−s 5 −r 1 −−clock −−hz=10 (find costmap_2d)/test/simple_driving_test_indexed.bag" />
    
    </launch>

     

    展开全文
  • 有时候我们通过rosrun运行的.cpp文件中会打开或保存某个文件,而此时文件名如果直接写入程序里会有些不方便,每次更改文件名都需要再编译一次。。。 最近在对实验的点云数据进行处理时就遇到了这个问题,每个ros包中...
  • ROS中rosrun和roslaunch命令的对比

    万次阅读 2012-07-30 17:00:34
    在ROS中运行节点的命令有两个:rosrun和roslaunch。  官网上的解释如下:  rosrun allows you to run an executable in an arbitrary package without having to cd (or roscd) there first.  roslaunch...
  • ROS 节点 和 命令行传参

    千次阅读 2016-04-04 12:13:50
    file和命令行改变的参数,传递给代码中真正使用的参数,注意命令行话题的映射直接进行,不需要在话题前面加_符号 ) 设置 ~param为1.0 ROS使用YAML语法来确定参数的输入。 其他关键字: __name 是为...
  • ROS的节点有很多中调用方式,包括rosrun,launch,直接运行等,向节点内传递参数的方式也有很多,在此做个总结。 左侧专栏还在更新其他ROS实用技巧哦,觉得写得有见解,还不错,关注一波? 1. rosrun + 参数服务器...
  • 在ROS系统中参数服务器是一个很重要的功能,我们给程序传递初始化参数,可以通过运行节点时命令行传递,也可以通过配置文件传递,配置文件传递又分成几种,第一种:绕开ROS,直接用C++代码以读文件的方式读取...rosrun
  • roscore:为ROS提供名称服务+rosout+参数服务器 Usage: $ roscore rosnode:用于获取节点信息的ros工具 Usage: $ rosnode再根据提示输入命令行 rosrun:从给定软件包中运行节点 Usage: $ rosrun [package_name] [node_...
  • rosrun和roslaunch命令比较

    千次阅读 2018-11-08 16:06:01
    在ros中运行节点的命令有2个,rosrun和roslaunch 官网解释如下: rosrun allows you to run an executable in an arbitrary package without having to cd (or roscd) there first.  roslaunch is a tool for ...
  • rosrun rqt_reconfigure rqt_reconfigure 动态参数调整
  • ROS读取参数文件

    千次阅读 2021-12-05 09:45:04
    目录参数文件读取参数文件使用参数 参数文件 新建参数文件:param.yaml my_param: # hong wai ============================================================ row: 480 col: 640 usb_cam: [1084.483722,0,261....
  • 在launch中node节点有一个cwd参数,按照文档的解释,这个参数可以为ROS_HOME或node。当设置为ROS_HOME时,cwd为ROS_HOME参数指定的位置。当设置为node时就是对应node所在的位置。但是如果你echo $ROS_HOME时会发现这...
  • #include "std_msgs/String.h"//传递的消息类型 #include "sstream" int main(int argc, char **argv)//写ROS程序需要加argc,argv,因为init需要传这两个参数 { ros::init(argc, argv, "talker");//初始化ros,向...
  • 【ROS】参数服务器

    2021-03-11 17:42:15
    参数服务器在ROS中主要用于实现不同节点之间的数据共享。参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据,关于参数服务器的...
  • 1.在ros launch文件中添加gdb编译参数 launch-prefix="xterm -e gdb -ex run --args " 如: <node pkg="mls_map" type="mls_map" name="mls_map" output="screen" launch-prefix="xterm -e gdb -ex run --...
  • ROS向节点传递参数的几种方式

    千次阅读 2020-07-29 09:35:32
    ROS的节点有很多中调用方式,包括rosrun,launch,直接运行等,向节点内传递参数的方式也有很多。 1. rosrun + 参数服务器传递 ros::init(argc, argv, "imu2txt"); ros::NodeHandle nh("~"); std::...
  • 然后,新建终端,执行:rosrun rqt_reconfigure rqt_reconfigure命令,启动ROS系统自带的Dynamic Reconfigure软件,在该软件里面修改对应相机的参数。 方法2:(通过命令行修改) 通过roslaunch先发布realsense...
  • ROS与Python教程之参数使用

    千次阅读 2019-05-29 15:21:57
    ros中可以使用的参数类型有整数、浮点数、字符串、bool、列表、字典为参数参数为字典时有额外的意义,可以当做命名空间使用: /gains/P = 1.0 /gains/I = 2.0 /gains/D = 3.0 #在rospy输出/gains {'P':1.0, 'I':...
  • ROS 摄像头参数标定

    万次阅读 热门讨论 2021-02-19 15:11:15
    利用ROS对摄像头参数进行标定
  • 大致有以下几种方法可以传递参数rosrun + 参数服务器传递; roslaunch + 参数服务器传递; rosrun + main参数传递; roslaunch + main参数传递. 详细内容可看ROS向节点传递参数
  • 相机标定和参数

    2019-09-25 14:21:17
    $rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/camera/rgb/image_raw camera:=/camera/rgb //标定彩色摄像头 $rosrun camera_calibration cameracalibrator.py --size 8x6 --...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,408
精华内容 2,163
关键字:

rosrun 参数

友情链接: WOL.rar