机器人学习!(二)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()

图像:

单张图片:

获取摄像头图像流:

相关推荐
renhongxia133 分钟前
多模态融合驱动下的具身学习机制研究
运维·学习·机器人·自动化·知识图谱
今儿敲了吗40 分钟前
46| FBI树
数据结构·c++·笔记·学习·算法
疯狂成瘾者42 分钟前
git学习目录
git·学习
jinanwuhuaguo1 小时前
AI工具终极解构:OpenClaw、Coze、Dify、FastGPT、n8n、LangChain、RagFlow、GPTBots.ai 的万言深度剖析
人工智能·学习·重构·新人首发·openclaw
observe1012 小时前
51单片机学习
嵌入式硬件·学习·51单片机
leaves falling3 小时前
数据结构-堆学习
java·数据结构·学习
峥嵘life3 小时前
Android16 EDLA【CTS】CtsConnectivityMultiDevicesTestCases存在fail项
android·学习
楼田莉子3 小时前
MySQL数据库:表及其表相关的操作
数据库·学习·mysql
四谎真好看3 小时前
Redis学习笔记(实战篇3)
redis·笔记·学习·学习笔记
炽烈小老头4 小时前
【 每天学习一点算法 2026/03/19】子集
学习·算法