配置ros消息和服务之服务文件配置

ros系统强大的功能之一便是进程间可以方便的相互通信

实现这一功能的是ros提供的消息msg和服务srv

1.创建工程空间

2.创建软件包

3.创建服务文件

4.编辑配置文件 package.xml和CMakeLists.txt


1.创建工程空间

创建ros工程空间 mkdir -p ~/your_ros_ws_name/src

进入工程空间文件夹 cd ~/your_ros_ws_name

编译空工程空间 catkin_make

加载工程空间的配置文件 source ~/your_ros_ws_name/devel/setup.bash


2.创建软件包

进入目录 cd ~/your_ros_ws_name/src

创建自定义的软件包 catkin_create_pkg your_pkg_name [dependency_params]

例子:catkin_creaete_pkg learn_ros rospy roscpp std_msgs

依赖项分别是 rospy ----python相关 roscpp ----c++相关 std_msgs ---- 标准消息

执行创建软件包指令时,ros系统会创建package.xml和CmakeLists.txt并将依赖项添加入package.xml中。


3.创建自定义ros服务

进入待创建服务的软件包路径 

        可以通过roscd your_pkg_name 进入软件包目录

前提是已经加载了所在工程空间的配置文件 source ~/your_ros_ws_name/devel/setup.bash

在软件包中创建srv文件夹,用于保存服务文件 mkdir srv

进入文件夹 cd srv

创建服务文件 touch your_srv_name.srv

编辑内容 vi your_srv_name.srv

srv文件的格式

类型 请求名
---
类型 响应名

举例

string request
---
string respond

在package.xml中添加依赖,软件包内的package.xml

<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>

在CMakeLists.txt中修改

find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation
)
add_service_files(
  FILES
  your_srv_name.srv
)
generate_messages(
  DEPENDENCIES
  std_msgs
)

退回到工程空间根目录进行编译 catkin_make

测试 交互式python中进行[前提是已经加载了所在工程空间的配置文件 source ~/your_ros_ws_name/devel/setup.bash]

1.python
2.import rospy
3.from your_pkg_name.srv import your_srv_name
>>>
# 交互时执行过程中无报错----ok

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值