机器人学习!(二)ROS2-节点(7)2026/02/03

节点 的 理解

执行具体任务的进程

独立运行的可执行文件

可使用不同的编程语言

可分布式运行在不同主机

通过节点名称进行管理

示例:

注意:新建节点需要在对应文件夹下的setup.py文件中增加节点入口

复制代码
from setuptools import setup

package_name = 'learning_node'

setup(
    name=package_name,
    version='0.0.0',
    packages=[package_name],
    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
    ],
    install_requires=['setuptools'],
    zip_safe=True,
    maintainer='Hu Chunxu',
    maintainer_email='huchunxu@guyuehome.com',
    description='TODO: Package description',
    license='TODO: License declaration',
    tests_require=['pytest'],
    entry_points={
        'console_scripts': [

         #新增节点 及 入口
         'node_nihao            = learning_node.node_nihao:main',
         'node_nihao_class      = learning_node.node_nihao_class:main',

         'node_helloworld       = learning_node.node_helloworld:main',
         'node_helloworld_class = learning_node.node_helloworld_class:main',
         'node_object            = learning_node.node_object:main',
         'node_object_webcam     = learning_node.node_object_webcam:main',
        ],
    },
)

文字:

面向过程编程

复制代码
import rclpy
from rclpy.node import Node
import time

def main(args=None):
    rclpy.init(args=args)
    node = Node("node_nihao")

    while rclpy.ok():
        node.get_logger().info("你好,ROS2")
        time.sleep(0.5)

    node.destory_node()
    rclpy.shutdown()

面向对象编程

复制代码
import rclpy
from rclpy.node import Node
import time

class nihaoNode(Node):
    def __init__ (self, name):
        super().__init__(name)
        while rclpy.ok():
            self.get_logger().info("你好,ROS2")
            time.sleep(0.5)
            
def main(args=None):
    rclpy.init(args=args)
    node = nihaoNode("node_nihao")
    node.destroy_node()
    rclpy.shutdown()

图像:

单张图片:

获取摄像头图像流:

相关推荐
لا معنى له30 分钟前
Var-JEPA:联合嵌入预测架构的变分形式 —— 连接预测式与生成式自监督学习 ----论文翻译
人工智能·笔记·学习·语言模型
世人万千丶31 分钟前
Flutter 框架跨平台鸿蒙开发 - 宠物语言翻译器应用
学习·flutter·华为·开源·harmonyos·鸿蒙
AI成长日志35 分钟前
【笔面试算法学习专栏】哈希表基础:两数之和与字母异位词分组
学习·算法·面试
"菠萝"37 分钟前
C#知识学习-021(文字关键字)
开发语言·学习·c#
chase。44 分钟前
【学习笔记】让机器人“边想边动”——实时动作分块流策略的执行方法
笔记·学习·机器人
炽烈小老头1 小时前
【每天学习一点算法 2026/04/08】阶乘后的零
学习·算法
唐樽1 小时前
C++ 竞赛学习路线笔记
c++·笔记·学习
sensen_kiss2 小时前
CAN302 Technologies for E-Commerce 电子商务技术 Pt.6 市场营销与SEO(搜索引擎优化)
android·学习·搜索引擎
我的xiaodoujiao2 小时前
API 接口自动化测试详细图文教程学习系列9--Requests模块
python·学习·测试工具·pytest
乐园游梦记2 小时前
机器学习:监督学习与无监督学习由浅入深全解析
人工智能·深度学习·学习·机器学习