ROS小练习——服务调用

目录

一、服务名称与消息的获取

二、代码案例

1、C++

2、python 

三、编译运行

1、配置cmakelist

2、运行


一、服务名称与消息的获取

rosservice list

 

 

rosservice type /spawn

 

 

rossrv info turtlesim/Spawn

 

二、代码案例

1、C++

//包含头文件
#include "ros/ros.h"
#include "turtlesim/Spawn.h"int main(int argc, char *argv[])
{//初始化 ros 节点ros::init(argc,argv,"set_turtle");//创建 ros 句柄ros::NodeHandle nh;//创建 service 客户端ros::ServiceClient client = nh.serviceClient<turtlesim::Spawn>("/spawn");//等待服务启动ros::service::waitForService("/spawn");//发送请求turtlesim::Spawn spawn;spawn.request.x = 1.0;spawn.request.y = 1.0;spawn.request.theta = 1.57;spawn.request.name = "my_turtle";bool flag = client.call(spawn);if (flag){ROS_INFO("%s",spawn.response.name.c_str());} else {ROS_INFO("error");}return 0;
}

2、python 

#! /usr/bin/env python
# -*- coding:UTF-8 -*-#导包
import rospy
from turtlesim.srv import Spawn,SpawnRequest,SpawnResponseif __name__ == "__main__":#初始化 ros 节点rospy.init_node("set_turtle_p")#创建 service 客户端client = rospy.ServiceProxy("/spawn",Spawn)# 4.等待服务启动client.wait_for_service()# 5.发送请求req = SpawnRequest()req.x = 2.0req.y = 2.0req.theta = -1.57req.name = "my_turtle_p"try:response = client.call(req)# 6.处理响应rospy.loginfo("%s",response.name)except Exception as identifier:rospy.loginfo("error")

三、编译运行

1、配置cmakelist

 

2、运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么要选择教师这个行业

老师&#xff0c;一个看似平凡却肩负着重大使命的职业&#xff0c;究竟隐藏着怎样的秘密&#xff1f;为什么越来越多的人选择这个行业&#xff0c;又是什么让他们坚持不懈&#xff1f; 实现人生价值 &#xff0c;我能够通过自己的努力&#xff0c;帮助学生们实现他们的梦想。每…

自动化测试:PO模式详解!

PO&#xff08;Page Object&#xff09;模式是一种在自动化测试中常用的设计模式&#xff0c;将页面的每个元素封装成一个对象&#xff0c;通过操作对象来进行页面的交互。 概括来说就是&#xff0c;每个页面都有对应的PO类&#xff0c;PO类中包含了页面的元素定位和操作方法。…

uni-app 微信小程序之好看的ui登录页面(三)

文章目录 1. 页面效果2. 页面样式代码 1. 页面效果 2. 页面样式代码 <!-- 简洁登录页面 --> <template><view class"login-bg"><image class"img-a" src"https://zhoukaiwen.com/img/loginImg/bg1.png"></image>…

K8s 多租户方案的挑战与价值

在当今企业环境中&#xff0c;随着业务的快速增长和多样化&#xff0c;服务器和云资源的管理会越来越让人头疼。K8s 虽然很强大&#xff0c;但在处理多个部门或团队的业务部署需求时&#xff0c;如果缺乏有效的多租户支持&#xff0c;在效率和资源管理方面都会不尽如人意。 本…

为什么 AWS 数据库不讲 HTAP

在 AWS re:Invent 2023 掌门人 Adam Selipsky 的 Keynote 上&#xff0c;数据库方面最重磅的主题是 Zero-ETL&#xff0c;从 TP 数据库 (RDS, Aurora, DynamoDB) 同步数据到 AP 数据库 (Redshift)。 Zero-ETL 是 AWS 在去年 re:invent 2022 上推出的概念&#xff0c;今年则继…

Java爬虫攻略:应对JavaScript登录表单

问题背景 在进行网络抓取数据时&#xff0c;经常会遇到需要登录的网站&#xff0c;特别是使用JavaScript动态生成登录表单的情况。传统的爬虫工具可能无法直接处理这种情况&#xff0c;因此需要一种能够模拟用户行为登录的情况解决方案。 在实际项目中&#xff0c;我们可能需要…

两个旋转矩阵相乘的李代数扰动求导

有一些非常有意思的求导方式&#xff0c;特此记录下来 1. 2. 所以看起来是个小量&#xff0c;可以去掉的 3. 4. 同样&#xff0c;是个小量

文件的隐藏属性 chattr 和 lsattr 详解

chattr 命令 chattr 命令用于设置文件的隐藏权限&#xff0c;格式为“chattr [参数] 文件”。如果想要把某个隐 藏功能添加到文件上&#xff0c;则需要在命令后面追加“参数”&#xff0c;如果想要把某个隐藏功能移出文件&#xff0c; 则需要追加“-参数”。 命令参数如下&am…

电压放大器可用于什么电路

电压放大器是一种常见的电子器件&#xff0c;其主要功能是放大输入信号的电压幅度。它可以用于多种电路中&#xff0c;下面西安安泰将详细介绍几个典型的应用场景。 首先&#xff0c;电压放大器可以用于音频放大器电路。音频放大器广泛应用于音响设备、电视机、电脑音箱等&…

想转行IT,有前途嘛?30个详细理由中会得到你想要的答案

目录 前言&#xff1a; 一、转行IT的前景 二、IT行业的情况 三、技能需求 四、如何准备转行IT 如果你想转行IT&#xff0c;以下是一些建议&#xff1a; 前言&#xff1a; 转行IT是一个颇具吸引力的选择&#xff0c;尤其在当前社会&#xff0c;IT行业的需求非常广泛。然而…

上证指数计算公式详解

作为中国证券市场的重要代表之一&#xff0c;上证指数&#xff08;Shanghai Composite Index&#xff09;对投资者而言具有重要意义。了解其计算公式&#xff0c;对于理解市场走势和投资决策至关重要。本文将深入探讨上证指数的计算公式&#xff0c;帮助读者更全面地理解这一指…

word中如何插入公式,如何高效使用mathtype,遇到他人论文的复杂公式如何直接粘贴复制,为你一一答疑解惑!!

文章目录 一、论文中插入公式---最原始&#xff0c;最好用&#xff0c;最稳定的方法1.1 主页--插入---对象1.2 找到公式编辑器&#xff0c;对应你的版本1.3 直接输入公式&#xff0c;关闭界面 二、如何做好一个懒人——如何直接粘贴别人PDF等格式论文中的公式&#xff1f;2.1 使…

摄像头3A算法概述

摄像头3A算法概述 一、前言二、自动对焦&#xff08;Auto Focus&#xff09;三、自动曝光&#xff08;Auto Exposure&#xff09;四、自动白平衡&#xff08;Auto White Balance&#xff09;五、在自动驾驶中的应用 一、前言 摄像头的3A算法指的是自动对焦&#xff08;Auto Fo…

JPA(Java Persistence API)是什么

JPA的官网地址&#xff1a;https://jcp.org/en/jsr/detail?id338 当前最新的版本是2.2版本&#xff1a;https://jcp.org/aboutJava/communityprocess/mrel/jsr338/index.html JPA是一个Java持久化的API&#xff0c;通过这个API&#xff0c;在Java EE和Java SE 环境中管理持…

echarts绘制一个饼图

其他echarts&#xff1a; qecharts绘制一个柱状图&#xff0c;柱状折线图 效果图&#xff1a; 代码&#xff1a; <template><div class"wrapper"><div ref"pieChart1" id"pieChart1"></div><div ref"pieCha…

❀My学习Linux命令小记录(16)❀

目录 ❀My学习Linux命令小记录&#xff08;16&#xff09;❀ 61.who指令 62.sleep指令 63.kill指令 64.top指令 65.diff指令 ❀My学习Linux命令小记录&#xff08;16&#xff09;❀ 61.who指令 功能说明&#xff1a;显示目前登录系统的用户信息。 &#xff08;ps.who命…

局域网共享打印机设置,解决709、11B等一切共享问题

Win7、Win10、Win11添加共享打印机经常出现局域网共享打印机出错&#xff0c;常规的添加方式是SMB共享&#xff0c;一更新就出问题&#xff0c;报错0x00000709、0x0000011b等。 网上有许多方法&#xff0c;如卸载更新补丁&#xff0c;替换“win32spl.dll”文件&#xff0c;修改…

一.初始typescript

什么是ts 首先我们要确认typescript是一个语言&#xff0c;是等同于JavaScript层级得&#xff0c;并不是一些人认为得是JavaScript得类型规范工具或者插件。 ts与js的差异 从type script这个名字就可以看出&#xff0c;ts其实是JavaScript的一个类型化超集&#xff0c;它增…

FPGA(基于xilinx)中PCIe介绍以及IP核XDMA的使用

Xilinx中PCIe简介以及IP核XDMA的使用 例如&#xff1a;第一章 PCIe简介以及IP核的使用 文章目录 Xilinx中PCIe简介以及IP核XDMA的使用一、PCIe总线概述1.PCIe 总线架构2.PCIe 不同版本的性能指标及带宽计算3.PCIe 接口信号 二、XDMA1.XDMA 与其它 PCIe IP 的区别2.XDMA简介 三…

ChatGPT在国内的使用限制,国内的ChatGPT替代工具

人工智能技术的发展不仅改变了我们的生活方式&#xff0c;也在各行各业发挥着越来越重要的作用。ChatGPT&#xff08;Generative Pre-trained Transformer&#xff09;作为一种先进的自然语言处理模型&#xff0c;由OpenAI推出&#xff0c;其在生成人类般流畅对话方面表现出色。…