ROS学习(三)参数服务与launch文件
2015-07-27 21:23
253 查看
参数与服务
当启动roscore的时候可以查看当前ros提供的服务。
当前节点没有启动的时候,使用rosservice list命令默认将看到:
/rosout/get_loggers
/rosout/set_logger_level
顾名思义可以通过使用这两项服务获取日志和设置日志输入等级(warn info等等)。
根据参数rosservice提供不同命令,在终端输入rosservice即可查看。
下面通过一个示例了解参数设置与ros服务。
启动小乌龟服务:
对于参数而言,ros提供命令rosparam命令,同样提供许多参数来实现不同的功能,在终端输入rosparam来查看。
在终端输入:
通过:
现在来设置这个参数
另外还可以通过rosparam dump将当前节点的所有参数导出到文件,修改参数后再通过rosparam load加载该文件或者其他的配置文件。
然后调用clear服务就可以加载新的参数。
launch文件
以XML文件的形式存在,可以启动特定的服务。
在文件中必须以<launch></launch>元素对来确定,下面的示例将启动两个“小乌龟”乌龟节点,并且其中一个节点模仿另一个节点的行为:
在终端输入:
创建并进入文件夹launch:
在终端输入:
此时在终端输入:
当启动roscore的时候可以查看当前ros提供的服务。
当前节点没有启动的时候,使用rosservice list命令默认将看到:
/rosout/get_loggers
/rosout/set_logger_level
顾名思义可以通过使用这两项服务获取日志和设置日志输入等级(warn info等等)。
根据参数rosservice提供不同命令,在终端输入rosservice即可查看。
下面通过一个示例了解参数设置与ros服务。
启动小乌龟服务:
<span style="font-size:18px;">rosrun turtlesim turtlesim_node &</span>使用spawn服务在同一个模拟器中产生第二只小乌龟:
<span style="font-size:18px;">rosservice call spawn 2 2 0.2 ""</span>后面的参数分别为:坐标x,坐标y,theta值,新“乌龟”的名字(空值将使用:turtle2)
对于参数而言,ros提供命令rosparam命令,同样提供许多参数来实现不同的功能,在终端输入rosparam来查看。
在终端输入:
<span style="font-size:18px;">rosparam list</span>查看当前节点的主要参数是模拟器背景的 b g r数据。
通过:
<span style="font-size:18px;">rosparam get /background_g </span>获取绿色的bgr数据的参数。默认为255
现在来设置这个参数
<span style="font-size:18px;">rosparam set /background_g 0</span>设置完成后需要调用clear服务来“刷新”参数
<span style="font-size:18px;">rosservice call clear</span>此时点开模拟器发现背景颜色发生了明显的变化。
另外还可以通过rosparam dump将当前节点的所有参数导出到文件,修改参数后再通过rosparam load加载该文件或者其他的配置文件。
然后调用clear服务就可以加载新的参数。
launch文件
以XML文件的形式存在,可以启动特定的服务。
在文件中必须以<launch></launch>元素对来确定,下面的示例将启动两个“小乌龟”乌龟节点,并且其中一个节点模仿另一个节点的行为:
<launch> <group ns="turtlesim1"> <node pkg="turtlesim" name="sim" type="turtlesim_node"/> </group> <group ns="turtlesim2"> <node pkg="turtlesim" name="sim" type="turtlesim_node"/> </group> <node pkg="turtlesim" name="mimic" type="mimic"> <remap from="input" to="turtlesim1/turtle1"/> <remap from="output" to="turtlesim2/turtle1"/> </node> </launch>
在终端输入:
cd ~/catkin_ws source devel/setup.bash roscd beginner_tutorials进入目录:~/catkin_ws/src/beginner_tutorials
创建并进入文件夹launch:
mkdir launch cd launch创建文件turtlemimic.launch,并将上述xml文件复制进去
在终端输入:
roslaunch beginner_tutorials turtlemimic.launch将出现两个模拟器turtlesim1 turtlesim2
此时在终端输入:
rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'两只小乌龟都会转圈,原因时其中一个节点将模仿另一个节点的行为。
相关文章推荐
- SVC入门知识和JSVM基础实验
- iOS 经典面试题
- js if和switch,==和===
- @synthesize和@dynamic区别
- hdu1257
- 准备再次开始更新文章,做了10年.net,有项目需要转java
- Xcode 7如何 免费 真机调试iOS应用
- AndroidManifest.xml - 【 manifest -> Application -> activity 】
- 暑假集训第三周 STL H - Election 选举
- 优先队列 用实验说明问题
- HDU 2005 第几天?
- C++常用术语及其英文翻译的含义和简单用途总结(四)
- Box of Bricks
- 2015-07-27总结
- MapReduce的自定义排序
- 有关ListView优化机制及滑动时数据错
- 图片防盗
- 内存管理(——高质量程序设计语言C/C++第16章)
- uva 725 Division(除法)暴力法!
- Activity 总结