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

图像:

单张图片:

获取摄像头图像流:

相关推荐
通信小呆呆12 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick12 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee12 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e12 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨12 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq12 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan12 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
guslegend12 天前
理论学习:什么是 Coding Agent?
学习
自传.13 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding