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]‘   两只小乌龟就可以动啦!

  


				
时间: 2024-12-25 13:21:18

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

基础命令 用户管理相关内容学习

用户.组和权限 token 令牌 3A身份验证: authentication 认证 authorization 授权 accouting|Audition 审计 管理员:root ,0 管理组:root ,0 普通组: 系统组:1-499, 1-999 普通组:500+  1000+ linux安全上下文(context) 运行中的程序:进程process 以进程发起者的身份运行: root: /bin/cat mage:/bin/cat 进程所能够访问资源的权限并不取决于运程本身,取决于进程

Maven相关内容学习笔记一:基本配置和使用

首先必须推荐的这本书<Maven实战> 许晓斌,机械工业出版社 Maven简介 其实使用Maven也有很久时间了,大部分都是别人建好了工程我使用一下,实际上并没有非常详细的使用经验,这次到新公司来,逼着自己从头开始搭建一个Maven工程,但有了以前的经验,上手还是很快的. Maven是在Ant之后出现的,能够自动下载构建并管理依赖,这是它与Ant最大的区别.Ant也能实现生命周期的管理,但与Maven相比,付出的成本要更高一下. 安装和配置 下载Maven http://maven.apach

Linux系统学习之路和常用命令及其他系统相关内容

Linux系统学习之路 目录 Linux系统学习之路[第一篇]:Linux目录和基础知识 Linux系统学习之路[第二篇]:文件操作,文件查看,find查找 Linux系统学习之路[第三篇]:grep,vim,压缩功能详解 Linux系统学习之路[第四篇]:mount,rpm,yum,yum组讲解 Linux系统学习之路[第五篇]:用户和用户组管理 Linux系统学习之路[第六篇]:权限管理 Linux系统学习之路[第七篇]:磁盘和文件管理 Linux系统学习之路[第八篇]:LVM逻辑卷和RAI

学习笔记之html5相关内容

写一下昨天学习的html5的相关内容,首先谈下初次接触html5的感受.以前总是听说html5是如何的强大,如何的将要改变世界.总是充满了神秘感.首先来谈一下我接触的第一个属性是  input的里面的一个属性是 type="email".以前用html的时候,type是有很多类型的,有text,password,summit.就是没听说过email.当得知这个email是验证输入的内容是否为email格式的时候.我顿时兴奋了.以前接触到html的时候,如果要验证输入内容时,是需要写js

MySQL命令学习(二)

(13)where字句操作符 =            等于 <>          不等于 !=           不等于 <            小于 >            大于 >=          大于等于 BETWEEN          在指定的两个值之间 例如: 找出学号是0007到0009之间的学生记录(不包括0009)? SELECT* FROM student_info WHERE stu_id BETWEEN 1001101620007 AND

《Linux学习并不难》Linux常用操作命令(1): cat命令显示文本文件内容

8.1  <Linux学习并不难>Linux常用操作命令(1): cat命令显示文本文件内容 使用cat命令可以显示文本文件的内容,也可以把几个文件内容附加到另一个文件中.如果没有指定文件,或者文件为"-",那么就从标准输入读取. 命令语法: cat [选项] [文件] 命令中各选项的含义如表所示. 选项 选项含义 -n 对输出的所有行编号 -b 对非空输出行编号 -s 当遇到有连续两行以上的空白行时,就替换为一行的空白行 -E 在每行结束处显示$ 例:显示/etc/ini

【git学习二】git基础之git管理本地项目

1.背景 git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作.git执行本地项目管理包括对于相关文件的追踪,暂存区的比较分析,提交,撤销等功能. 2.本地项目管理 首先mkdir一个文件夹,叫做GitTestFile,然后执行下面代码,创建git的管理配置 git init 接着加入如下代码,git add . ,把项目加入跟踪队列 git add . 可以用git status查看状态 加入readme文件,vim readme.txt .输入git st

puppet基础学习(二)

puppet基础学习(二) 六.ResourceOrdering(资源定序) 使用变化参数before , require , notify , subscribe catalog是对一个给定的系统的所有资源及关系的编译,在编译catalog时,除非我们指定资源的执行顺序,不然puppet是以其自己的顺序管理,大多数时候puppet指定适当的方式,例如puppet管理用户gigabyte应该存在和文件夹/home/gigabyte/bin应该存在并属于用户gigabyte时,puppet会自动指

EF Code First 配置的相关内容

I.实体间一对一的关系 添加一个PersonPhoto类,表示用户照片类 1 /// <summary> 2 /// 用户照片类 3 /// </summary> 4 public class PersonPhoto 5 { 6 [Key] 7 public int PersonId { get ; set ; } 8 public byte [] Photo { get ; set ; } 9 public string Caption { get ; set ; } // 标题