ros学习(二)从roslaunch到创建自己的消息和服务

调试和运行多个节点

rqt_console 显示节点的输出信息

rosrun rqt_console rqt_console


rqt_logger_level  允许我们修改节点运行时输出信息的日志等级  (包括 DEBUG、WARN、INFO和ERROR)

rosrun rqt_logger_level rqt_logger_level


roslaunch可以用来启动定义在launch文件中的多个节点。

roslaunch [package] [filename.launch] 


先切换到所用程序包目录下:

roscd beginner_tutorials


创建一个launch文件夹:mkdir launch cd launch 

创建一个名为turtlemimic.launch的launch文件 里面写入


launch 开头表明其为launch文件;

创建了两个节点分组并以'命名空间(ns)'标签来区分,其中一个名为turtulesim1,另一个名为turtlesim2,两个组里面都使用相同的turtlesim节点并命名为'sim'。这样可以让我们同时启动两个turtlesim模拟器而不会产生命名冲突。

启动模仿节点,并将所有话题的输入和输出分别重命名为turtlesim1和turtlesim2,这样就会使turtlesim2模仿turtlesim1。


通过roslaunch命令来启动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]'

注意话题前要加上名空间   可以用rqt检视一下此时的话题名


使用rosed来编辑ros中的文件

直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径

rosed [package_name] [filename]      (vim编辑器)

如:

rosed roscpp Logger.msg


可以修改默认编辑器:   修改为vscode

gedit ~/.bashrc

export EDITOR='code -w'


创建消息和服务

消息(msg): msg文件就是一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。

服务(srv): 一个srv文件描述一项服务。它包含两个部分:请求和响应。


msg文件存放在软件包的msg目录下,srv文件则存放在srv目录下。

msg文件实际上就是每行声明一个数据类型和变量名,ROS中有一个特殊的数据类型:Header,它含有时间戳和坐标系信息。在msg文件的第一行经常可以看到Header header的声明.


样例

srv文件分为请求和响应两部分,由'---'分隔


样例


使用msg


echo "int64 num" > msg/Num.msg       来向其中添加信息



查看package.xml  确保它包含以下两条语句:

<build_depend>message_generation</build_depend>

<exec_depend>message_runtime</exec_depend>

打开CMakeLists.txt文件

在 CMakeLists.txt文件中,找到


添加对message_generation的依赖

找到

加入你写的msg文件

找到

打开代码块 在依赖项最后加上message_runtime

找到

附加上所有你消息文件所依赖的那些含有.msg文件的package

完成创建!


使用 rosmsg来确认

通过rosmsg show命令,检查ROS是否能够识别消息
rosmsg show [message type]

如:

rosmsg show beginner_tutorials/Num


使用 srv

创建一个服务:在包下 mkdir srv

这次不手动创建服务,而是从其他包复制一个服务

roscp实现了将文件从一个package复制到另外一个package的功能。

roscp [package_name] [file_to_copy_path] [copy_path]


rospy_tutorials package中复制一个服务文件:

roscp rospy_tutorials AddTwoInts.srv srv/AddTwoInts.srv


依赖:

CMakeLists.txt文件中: find_package步和msg一样


在这里加入文件名


即可。


使用 rossrv 

通过rosmsg show命令,检查ROS是否能够识该服务

rossrv show <service type>

rossrv show beginner_tutorials/AddTwoInts


重编译

增加了新的消息,所以我们需要重新编译我们的package:

所有在msg路径下的.msg文件都将转换为ROS所支持语言的源代码

生成的C++头文件将会放置在~/catkin_ws/devel/include/beginner_tutorials/。 Python脚本语言会在 ~/catkin_ws/devel/lib/python2.7/dist-packages/beginner_tutorials/msg 目录下创建。 lisp文件会出现在 ~/catkin_ws/devel/share/common-lisp/ros/beginner_tutorials/msg/ 路径下.


帮助

大多数ros命令可以通过 -h 来访问帮助

rosmsg -h

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358