ROS的初步学习(九)--创建一个简单的文本文件msg
2017-11-04 18:58
1396 查看
msg:这是一个简单的文本文件,他描述了ROS message 的变量(fields,数据)。msg文件是让不同语言编写的源码生成messages.
1 结合前面的学习,首先创建一个工作空间catkin_ws2
进入src先对空间初始化。
可以看见src下多了一个配置文件
2 建立一个程序包
这时候在 src 文件下就多了两个文件,一个配置文件,一个清单文件。
3 在my_txxt下建立msg
在msg下的文本写入变量
4 接下来对.xml .txt进行配置
在.xml下找到
在加一行(报错则删掉)
在构建阶段我们需要 “message_generation”, 而在运行时我们需要 “message_runtime”
1接下来对txt文件进行配置,构建程序需要用的依赖
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation)
add_message_files(
FILES
num.msg
)
catkin_package( CATKIN_DEPENDS roscpp rospy std_msgs message_runtime
)
catkin_package() DEPENDS on the catkin package ‘message_runtime’ which must
therefore be listed as a run dependency in the package.xml
name
name
name
$rosmsg show my_text/num
Unable to load msg [my_text/num]:
Unable to load msg [my_text/num]: Cannot locate message [num]: unknown package [my_text] on search path
“`
是告诉你没有source路径,在工作空间下source一下即可
1 结合前面的学习,首先创建一个工作空间catkin_ws2
zhuoli@zhuoligetu:~$ mkdir -p ~/catkin_ws2/src
进入src先对空间初始化。
zhuoli@zhuoligetu:~/catkin_ws2/src$ catkin_init_workspace
可以看见src下多了一个配置文件
2 建立一个程序包
zhuoli@zhuoligetu:~/catkin_ws2/src$ catkin_create_pkg my_text
这时候在 src 文件下就多了两个文件,一个配置文件,一个清单文件。
3 在my_txxt下建立msg
zhuoli@zhuoligetu:~/catkin_ws2/src/my_text$ mkdir msg
在msg下的文本写入变量
zhuoli@zhuoligetu:~/catkin_ws2/src/my_text$ echo "uint32 string">msg/num.msg
4 接下来对.xml .txt进行配置
在.xml下找到
<build_depend>message_generation</build_depend>
在加一行(报错则删掉)
<run_depend>message_runtime</run_depend>
在构建阶段我们需要 “message_generation”, 而在运行时我们需要 “message_runtime”
1接下来对txt文件进行配置,构建程序需要用的依赖
find_package在linux下非常重要,find_package可以根据cmake内置的.cmake的脚本去找相应的库的模块,当然,内建了很多库的模块变量,调用了find_package之后,会有相应的变量“生成”有效--添加依赖库
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation)
5.1 **添加配置数据文本名**
add_message_files(
FILES
num.msg
)
5.2 generate_messages( DEPENDENCIES std_msgs ) **5.3** 调用cmake需要用的依赖(如在调用cmake_make时会报错,删掉括号内容试试?)
catkin_package( CATKIN_DEPENDS roscpp rospy std_msgs message_runtime
)
**报错内容一般如下**
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) 内添加的内容,就要提前在清单文件中添加依赖
name
name
name
**然后使用指令就可以看见你配置的变量**
$rosmsg show my_text/num
**5.4遇到的问题** 一般来讲如果报错内容如下,则.msg配置数据的格式错误
Unable to load msg [my_text/num]:
如果出现很多行报错的内容,以下面代码开头
Unable to load msg [my_text/num]: Cannot locate message [num]: unknown package [my_text] on search path
“`
是告诉你没有source路径,在工作空间下source一下即可
相关文章推荐
- 机器人操作系统ROS Indigo 入门学习(11)——创建一个ROS msg和srv
- ROS的初步学习(四)--创建一个工作空间和一个程序包
- ROS的初步学习(六)---写一个简单程序
- ROS学习随笔二(创建一个简单的ROS package)
- 机器人操作系统ROS Indigo 入门学习(11)——创建一个ROS msg和srv
- 机器人操作系统ROS Indigo 入门学习(11)——创建一个ROS msg和srv
- ROS的初步学习(五)--自己写一个简单的发布(Publisher)、订阅(Subscriber)程序
- 机器人操作系统ROS Indigo 入门学习(11)——创建一个ROS msg和srv
- 吕鑫MFC就业培训宝典学习笔记—创建一个简单的win32应用程序(2-1)
- Unity3D Mesh学习笔记1-创建一个最简单的四边形
- VS2010 C++ MFC框架学习笔记2 - 创建一个简单的加法计算器(2)
- ROS学习笔记二——创建和构建一个包
- Android学习之四:创建一个简单程序
- ROS学习--(十二)编写一个简单的发布器(publisher)
- ROS的学习(十四)用C++写一个简单的接收者
- 机器人操作系统ROS Indigo 入门学习(14)——用C++语言写一个简单的service和client
- win32sdk学习-简单的创建一个自己的工具栏
- ROS的学习(三)创建一个工作空间
- CSS学习之创建一个简单的导航栏下拉菜单
- Open GL 学习(1)---创建一个简单的open GL项目