ROS Server服务端

提示:基于Ubuntu20.04


前言

学习如何制作ROS的服务端和调试。


提示:以下是本篇文章正文内容。

一、创建ROS Server

cd到自己的工作目录下的src文件夹,新建pkg。比如我的工作目录在home/Username/ROSWorkspace/first_ws
那么就执行

cd home/Username/ROSWorkspace/first_ws/src
catkin_create_pkg hello_server rospy rosmsg roscpp
cd .. 
source devel/setup.zsh(或者是.bash)

二、编写SERVER

1.用终端的方式打开IDE

cd /snap/clion/139/bin
./clion.sh

2.编写

在hello_server目录下新建scripts,然后建立server_node.py

#!/usr/bin/env python3.8
'''
目标:
客户端 给数字10和20
服务端 把10和20加在一起
'''

import rospy
# 用官方的教程范例来作用
from rospy_tutorials.srv import AddTwoInts, AddTwoIntsRequest, AddTwoIntsResponse
# 这三个分别是服务类型,服务请求和服务响应

# 回调函数 
def callback(request):
    if not isinstance(request, AddTwoIntsRequest): return
    a = request.a
    b = request.b
    # 业务逻辑处理
    c = a + b
    response = AddTwoIntsResponse()
    response.sum = c
    return response

# 主函数	
if __name__ == '__main__':
    rospy.init_node("server_node")
    # 写对应的service通讯对应的服务端
    # 服务端service
    # 服务名称(地址)
    server_name = "hello"
    # Service class 服务的数据类型
    # 回掉问题 客户端什么时候访问 handler
    server = rospy.Service(server_name, AddTwoInts, callback)
    rospy.spin()

三、调试

1.GUI调试

rosrun rqt_gui rqt_gui

在plugins的service里找到service caller
选中hello 把a改成8,b改成4。点击Call在这里插入图片描述

2.命令行调试

➜  scripts rosservice call /hello "a: 8
b: 4"
sum: 12
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LZZ and MYY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值