首页 > 编程语言 >ROS2官方文档阅读笔记:Managed nodes

ROS2官方文档阅读笔记:Managed nodes

时间:2024-05-01 17:00:13浏览次数:22  
标签:状态 Managed transition nodes 节点 ROS2

原文

目录

Managed nodes

这篇文章讲解了节点的生命周期

蓝色方块里的被称为Primary State,即基本状态
黄色方块里的被称为transition,即转换

state

在这里总结一下的节点的各个状态:
1.一旦节点被实例化,则到达unconfigured的状态
2.经过转换(transition),状态可以变到下一个基本状态
3.Inactive状态,此状态时节点创建一些发布者、订阅者。设置此状态的目的是allow a node to be (re-)configured (changing configuration parameters, adding and removing topic publications/subscriptions, etc) without altering its behavior while it is running
也就是说防止节点在运行的时候对节点进行配置
4.Active状态,进行各种进程,如回应服务需求,读取进程的数据等等
5.Finalized,存在的目的是为了debug

transition

1.Configuring 调用节点的回调函数onConfigure()

注意一下这段话

Create Transition
This transition will instantiate the node, but will not run any code beyond the constructor.

含义是,实例化节点,并仅仅运行其构造函数。

标签:状态,Managed,transition,nodes,节点,ROS2
From: https://www.cnblogs.com/bozhi233/p/18169461

相关文章

  • 编写ROS2的组件(Component)
    0介绍0.1ROS1的Node和Nodelet在ROS1中,你可以将你的代码编写成Node或者Nodelet。Node被编译成可执行文件,Nodelet被编译成一个共享库,然后由一个container进程在运行时加载。0.2ROS2的统一API-组件在ROS2中,推荐使用组件(Component)来编写代码,类似于ROS1中的Nodelet。使用组件可......
  • ROS2学习-节点名随记
    1.节点名定义:主函数中的node=WriterNode("he")定义了该节点的名称defmain(args=None):"""ros2运行该节点的入口函数,可配置函数名称"""rclpy.init(args=args)#初始化rclpynode=WriterNode("he")#新建一个节点rclpy.spin(nod......
  • ROS2学习--OOP方法编写python节点
    1.创建工作空间mkdir-ptown_ws/srccdtown_ws/src2.创建功能包ros2pkgcreatevillage_li--build-typeament_python--dependenciesrclpypkgcreate是创建包的意思--build-type用来指定该包的编译类型,一共有三个可选项ament_python、ament_cmake、cmake--dependen......
  • ROS2学习--POP方法编写C++节点 debug过程
    一、编写C++节点并测试 1.创建功能包C++功能包使用ament-camke作为编译基础,依赖为rclcpp。打开终端,进入town_ws/src运行下面的指令,目录结构如下ros2pkgcreatevillage_wang--build-typeament_cmake--dependenciesrclcpp2.创建节点village_wang/src下创建一个wang2.cp......
  • Network loop(managed by libmosquitto)
    mosquitto_loop_forever()&mosquitto_loop()mosquitto_loop_forever()是一个阻塞调用,适用于你只想在回调中处理传入消息的情况。换句话说,调用这个函数,该函数内部调用了一个while(1)循环和mosquitto_loop(),接下来你什么也不能干。mosquitto_loop_start()&mosquitto_loop_sto......
  • 【VMware vSphere】使用Managed Object Browser(MOB)浏览vSphere相关对象。
    ManagedObjectBrowser(MOB)是一个和vSphere(ESXi和vCenter)捆绑在一起的工具,可以直观的浏览或查询vSphere当中各种对象的信息,比如集群、主机以及虚拟机等。这些对象包含多个属性,我们可以通过这些属性了解相关对象的详细信息,比如对象的状态、配置以及结构等。同时,在不同的对象里,还可......
  • ROS2笔记4--服务通讯
    ROS2中话题通讯可以实现多个ROS节点之间数据的单向传输,不过话题通讯是一种异步通信机制,发布者无法准确知道订阅者是否收到消息。而服务通信是一种基于请求响应的通信模型,在通信双方中客户端发送请求数据到服务端,服务端响应结果给客户端。 从服务实现机制看这种形式是CS模型,客......
  • ROS2笔记3--话题通讯
    一、话题(Topic)通讯简介话题通讯是ROS2使用频率最高的一种通信方式,有发布者发布指定话题的数据,订阅者只要订阅了该话题的数据,就可以接收到数据。话题通讯是基于发布/订阅模型,话题数据传输的特性是从一个节点到另一个节点,发送数据的对象称为发布者,接收数据的对象称为订阅者,每个话题......
  • ROS2笔记2--工作空间、功能包、节点
    一、工作空间(Workspace)ROS工作空间是用于存放ros功能包的一个文件夹,通常以ws结尾。用于存放工程开发相关的所有文件,包括源代码、编译生成的文件以及配置我呢见等。在ROS中工作空间是使用Catkin编译系统来组织和管理代码的基础单元。每个工作空间通常包含一个或多个功能包,这些功能......
  • 编写ROS2(C++语言)软件包的步骤
    0简介介绍编写ROS2(C++语言)软件包的步骤;0.1前置条件参考x.1,和x.2,安装ROS2和编译工具;1创建ROS2软件包以下的指令,创建一个名为mtuav-sns-radar-ros2的ROS2软件包,使用ament_cmake作为构建系统,许可证类型为Apache-2.0,并包含一个名为radar_node的节点;mkdir-p~/ros2_ws/srccd......