当前位置:   article > 正文

ROS的初步学习(九)--创建一个简单的文本文件msg_ros新建文本文档txt

ros新建文本文档txt

msg:这是一个简单的文本文件,他描述了ROS message 的变量(fields,数据)。msg文件是让不同语言编写的源码生成messages.

1 结合前面的学习,首先创建一个工作空间catkin_ws2

zhuoli@zhuoligetu:~$ mkdir -p ~/catkin_ws2/src
  • 1
  • 2

进入src先对空间初始化。

zhuoli@zhuoligetu:~/catkin_ws2/src$ catkin_init_workspace 
  • 1

可以看见src下多了一个配置文件

2 建立一个程序包

zhuoli@zhuoligetu:~/catkin_ws2/src$ catkin_create_pkg my_text
  • 1

这时候在 src 文件下就多了两个文件,一个配置文件,一个清单文件。

3 在my_txxt下建立msg

zhuoli@zhuoligetu:~/catkin_ws2/src/my_text$ mkdir msg
  • 1

在msg下的文本写入变量

zhuoli@zhuoligetu:~/catkin_ws2/src/my_text$ echo "uint32 string">msg/num.msg
  • 1
  • 2

4 接下来对.xml .txt进行配置

在.xml下找到

<build_depend>message_generation</build_depend> 
  • 1

在加一行(报错则删掉)

<run_depend>message_runtime</run_depend> 
  • 1

在构建阶段我们需要 “message_generation”, 而在运行时我们需要 “message_runtime”

  1. 1接下来对txt文件进行配置,构建程序需要用的依赖

find_package在linux下非常重要,find_package可以根据cmake内置的.cmake的脚本去找相应的库的模块,当然,内建了很多库的模块变量,调用了find_package之后,会有相应的变量“生成”有效--添加依赖库
  • 1
  • 2

find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation)

5.1
**添加配置数据文本名**
  • 1
  • 2

add_message_files(
FILES
num.msg
)

5.2

generate_messages(
  DEPENDENCIES
 std_msgs 
 )


**5.3**
调用cmake需要用的依赖(如在调用cmake_make时会报错,删掉括号内容试试?)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

catkin_package( CATKIN_DEPENDS roscpp rospy std_msgs message_runtime

**报错内容一般如下**
  • 1
  • 2

catkin_package() DEPENDS on the catkin package ‘message_runtime’ which must
therefore be listed as a run dependency in the package.xml

**但是这样就会使配置失去意义,**
所以在catkin_package(  name) 内添加的内容,就要提前在清单文件中添加依赖
  • 1
  • 2
  • 3

name
name
name




**然后使用指令就可以看见你配置的变量**
  • 1
  • 2
  • 3
  • 4
  • 5

$rosmsg show my_text/num


**5.4遇到的问题**

一般来讲如果报错内容如下,则.msg配置数据的格式错误
  • 1
  • 2
  • 3
  • 4
  • 5

Unable to load msg [my_text/num]:

如果出现很多行报错的内容,以下面代码开头
  • 1

Unable to load msg [my_text/num]: Cannot locate message [num]: unknown package [my_text] on search path
“`
是告诉你没有source路径,在工作空间下source一下即可
这里写图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/642809
推荐阅读
相关标签
  

闽ICP备14008679号