首页 > 其他分享 >ROS学习笔记5

ROS学习笔记5

时间:2024-11-05 14:46:31浏览次数:3  
标签:spawn 异步 函数 编程 阻塞 笔记 学习 API ROS

*回调函数
回调函数是一种特殊的函数,它作为参数传递给另一个函数,
并在被调用函数执行完毕后被调用。回调函数通常用于事件处理、
异步编程和处理各种操作系统和框架的API。

基本概念:
回调:指被传入到另一个函数的函数。
异步编程:指在代码执行时不会阻塞程序运行的方式。
事件驱动:指程序的执行是由外部事件触发而不是顺序执行的方式。

*如何实现一个客户端
初始化ROS节点;
创建一个Client实例;
发布服务请求数据;
等待Server处理之后的应答结果。

*如何配置CMakeList.txt中的编译规则
设置需要编译的代码和生成的可执行文件;
设置链接库;

*/spawn服务
/spawn服务可以生成小乌龟。/spawn的服务数据类型是turtlesim/Spawn

*Server端 :小海龟的程序
Service:Spawn
Client:我们即将要发布的节点

*API
全称是应用程序编程接口(Application Programming Interface)。听起来有点复杂,
但实际上,API 就像是一种交流的桥梁。想象一下,如果你的手机应用想要获取天气信息,
它需要向天气服务发送请求,然后获取数据并展示给你,这个过程中的“请求”和“获取数据”的规则和方法就是由 API 来定义的。

在谈论一个API的行为时,经常会用到下面两组修饰词:
阻塞(blocking)与非阻塞(non-blocking)
同步(sync)与异步(async)
大多数情况下,阻塞意味着同步,非阻塞意味着异步。

标签:spawn,异步,函数,编程,阻塞,笔记,学习,API,ROS
From: https://blog.csdn.net/m0_56428833/article/details/143508911

相关文章

  • dotNet 整合 Microsoft.Extensions.DependencyInjection 利用反射实现依赖批量注入
    前言框架.net8.0Microsoft.Extensions.DependencyInjection8.0创建三个类库项目ConfigServicesLogServicesMailServices创建一个控制台项目ConsoleAppMailConfigServicesnamespaceConfigServices.IService{publicinterfaceIConfigService{......
  • 程序员推荐的笔记本,2024年六款高性能笔记本电脑推荐!非常适合计算机专业,做编程设计的程
    文|二加一网络科技对于计算机相关专业,尤其是学习编程或程序员来说,选择一款高性能的笔记本电脑至关重要,它不仅能够提供流畅稳定的编程环境,还能助力高效地完成各项工作。接下来,小编就来推荐六款2024年非常适合编程的高性能笔记本电脑,看看哪一款能够成为你的得力助手。第......
  • CodeQL学习笔记(5)-CodeQL for Java(AST、元数据、调用图)
    最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比,还是有一定难度的。与现在网上的大多数所谓CodeQL教程不同,本系列基于......
  • 11.5 人工智能学习内容
    人工智能(ArtificialIntelligence)引文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。(一)学科范畴人工智能是一门边沿学科,属于自然科学、社会科学、技术科学三向交叉学科。(二)涉及学科与领域哲学和认知科学,数学,神经生......
  • Python学习18天
    打印金字塔'''1*1层14个总层数-当前层数***2层33个*****3层52个*******4层71个*********......
  • Python学习的自我理解和想法(27)
    学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码!今天是学Python的第27天,学的内容是python操作pptx和pdf,但是这节博客只会介绍如何新建pptx和加密pdf。开学了,时间不多,写得不多,见谅。目录1.安装必要的库2.创建PPTX(1).创建幻灯片对象(2).选择母版添加一页(3).获取标题......
  • 敏捷知识学习
    最近在找工作时看到有很多敏捷教练(Scrummaster,简称SM)专职岗位,那专职SM的工作范围和职责是什么,一起来了解下吧,同时也梳理下敏捷知识。一、敏捷基本知识1、时间盒time-box是什么?怎么管理时间盒?Howtosetatime-boxforatask?答:比如三点估算Three-pointEstimation/ˌest......
  • C语言学习之操作符
    (1)二进制、十六进制、八进制不同进制只是数值不同的表达形式,二进制转换十进制省略,从十进制转换到二进制(不断除二取余自下向上将余数从左到右写下来,就转换到二进制);从二进制转换八进制(从左向右每三位按二进制位换算一个八进制位,不够三个直接换算);从二进制转换到十六进制(跟八进制......
  • 仓储物流机器人信息流【机器人本体软件信息流】【ROS框架】
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、主控制程序二、各模块控制节点1.开机自检和信息打印节点2.定位节点1.二维码相机节点2.IMU节点3.陀螺仪节点4.里程计节点3.电池节点4.控制节点1.行走控制模块节点2.举升控制模块节点3.取......
  • FreeSQL学习
    FreeSQL是一款功能强大的对象关系映射组件,它支持.NETCore2.0+和.NETFramework4.0+。它允许开发者通过简单的接口连接和操作多种类型数据库,包括但不限于MySQL/PostgreSQL/SQLServer/SQLite等。FreeSQL主要特点包括:1.多数据库支持:FreeSQL支持多种数据库系统,包括MySQL/PostgreS......