首页 > 代码库 > ROS 命令以及相关内容学习(二)

ROS 命令以及相关内容学习(二)

在上一节中我们已经学习了package node topic message 这些的运行方式,下面我们去理解service 的运行方式。

1.sevice

 1 #命令
 2 rosservice list         print information about active services
 3 rosservice call         call the service with the provided args
 4 rosservice type         print service type
 5 rosservice find         find services by service type
 6 rosservice uri          print service ROSRPC uri
 7 #例子
 8 rosservice list
 9 /clear
10 /kill
11 /reset
12 /rosout/get_loggers
13 /rosout/set_logger_level
14 /spawn
15 /teleop_turtle/get_loggers
16 /teleop_turtle/set_logger_level
17 /turtle1/set_pen
18 /turtle1/teleport_absolute
19 /turtle1/teleport_relative
20 /turtlesim/get_loggers
21 /turtlesim/set_logger_level
22 #另一个例子
23 rosservice type [service]
24 
25 rosservice type /clear  #你会发现这个命令是没有什么东西,

 1.1 rosservice call [service] [args]

1 当你运行着一条的 
2 $ rosservice call /clear  
3 就可以清空小乌龟的轨迹哦。
4 运行着一条的时候
5 rosservice call /spawn 2 2 0.2 ""   
6 你会发现另一只小乌龟出现啦!

2 rosparam list查看参数

1 rosparam set [param_name]  #设置参数
2 rosparam get [param_name]  #得到参数
3 rosparam set /background_r 150  #把参数设置成150
4 rosparam get /background_g  #获得G的参数
5 rosparam get /  #获得所有参数

2.1  rosparam dump and rosparam load

1 rosparam dump [file_name] [namespace]  #将参数写进 。yaml文件中
2 rosparam load [file_name] [namespace]
3 
4 rosparam dump params.yaml
5 
6 rosparam load params.yaml copy
7  rosparam get /copy/background_b

3. Using rqt_console and roslaunch 

rqt _console  and rqt_logger_level  是调试的可视化界面。

roslaunch  是一次性打开多个 节点

1 rosrun rqt_console rqt_console
2 rosrun rqt_logger_level rqt_logger_level
3 
4 http://wiki.ros.org/ROS/Tutorials/UsingRqtconsoleRoslaunch#CA-21ef414cf4c910bb1286ff2aedfe349a32a099b9_1

先打开这两个界面然后就,打开node  就可以调试啦!。不懂就去参考wik 吧。

 

创建一个roslaunch文件,你可以在  之前建的工作空间,src/beginner… 中建一个lanunch 文件(这个文件的名字其实是随便取的。反正要存放的你的lanunch文件)之后我们来写一个launch文吧。

 1 cd ~/catkin_ws
 2  source devel/setup.bash
 3  roscd beginner_tutorials
 4 mkdir launch
 5  cd launch
 6 touch turtlemimic.launch 
 7 vi turtlemimic.launch 
 8 
 9 文件内容
10 <launch>                 #嘛 告诉你这是个lanunch 文件
11 
12   <group ns="turtlesim1">
13     <node pkg="turtlesim" name="sim" type="turtlesim_node"/>   #嘛 定义以下这个节点的名字呀,sim ,类型呀。
14   </group>
15 
16   <group ns="turtlesim2">                                      #第二个节点
17     <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
18   </group>
19 
20   <node pkg="turtlesim" name="mimic" type="mimic">           #第三个节点,命令文件,可以让小乌龟跑哦。
21     <remap from="input" to="turtlesim1/turtle1"/>
22     <remap from="output" to="turtlesim2/turtle1"/>           # 运行之后,你能想想到,节点之间是怎么  传递 订阅消息哦的吗?
23   </node>
24 
25 </launch>

这样你运行  roslaunch beginner_tutorials turtlemimic.launch  你就会发现两只小乌龟出现啦!

然后你发不一条命令 rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- ‘[2.0, 0.0, 0.0]‘ ‘[0.0, 0.0, -1.8]‘   两只小乌龟就可以动啦!

  


ROS 命令以及相关内容学习(二)