Num.msg的内容是不是: int64 a int64 b int64 sum 如果没有这个文件make会出错,所以我参考了turtlesim |
1、消息(msg)和服务(srv) 消息(msg):一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。 服务(srv): 一个srv文件描述一项服务。它包含两个部分:请求和响应 msg存放在package下的msg中 srv存放在package下的srv中 msg例程: cd~/catkin_ws/src/beginner_tutorials mkdir msg vim msg/Num.msg 修改beginner_tutorials目录下的package.xml 确保msg文件被转换成C++Python等语言的源代码 vim package.xml 添加: <build_depend>message_generation</build_depend> <run_depend>message_runtime</run_depend> 修改beginner_tutorials目录下的CMakeLists.txt //确保增加了message-generation依赖 fing_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation ) //确保运行了message_runtime依赖 catkin_package( CATKIN_DEPENDS message_runtime ) add_message_files( FILES Num.msg ) //确保运行了函数 generate_messages() 运行: 格式:rosmsg show[message type] 例程:rosmsg showbeginner_tutorials/Num 结果:返回int64 num srv例程: cd ~/catkin_ws/src/beginner_tutorials mkdir srv 使用roscp复制一个文件到目录下 格式:roscp[package_name] [file_to_copy_path] [copy_path] roscpropy_tutorials AddTwoInts.srv srv/AddTwoInts.srv 确保srv文件被转换成C++Python等语言的源代码 vimpackage.xml 添加: <build_depend>message_generation</build_depend> <run_depend>message_runtime</run_depend> 修改beginner_tutorials目录下的CMakeLists.txt //确保增加了message-generation依赖,这个对msg和srv都起作用 fing_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation ) //确保运行了message_runtime依赖 catkin_package( CATKIN_DEPENDS message_runtime ) add_services_files( FILES AddTwoInts.srv ) //确保运行了函数 generate_messages() 运行: 格式:rossrv show[service type] 例程:rossrv showbeginner_tutorials/AddTwoInts 结果:返回int64 a int64 b --- int64 sum |