ROS2 humble节点初始化基础写法

c++

#include "rclcpp/rclcpp.hpp"

using namespace std;

int main(int argc, char **argv)
{
    /* 初始化rclcpp  */
    rclcpp::init(argc, argv);
    
    /*产生一个test_ros2_node的节点*/
    auto node = make_shared<rclcpp::Node>("test_ros2_node");
    
    // 打印一句自我介绍
    RCLCPP_INFO(node->get_logger(), "test_ros2_node节点已经启动.");
    
    /* 运行节点,并检测退出信号 Ctrl+C*/
    rclcpp::spin(node);
    
    /* 停止运行 */
    rclcpp::shutdown();
    return 0;
}

CMakelist.txt中修改

# 添加可执行文件,test_ros2_node.cpp 是你的 ROS 2 节点的源文件, test_ros2_node 是你要创建的可执行文件的名称
add_executable(test_ros2_node src/test_ros2.cpp)
ament_target_dependencies(test_ros2_node rclcpp std_msgs geometry_msgs)
# 生成可执行文件到lib/下
install(TARGETS test_ros2_cpp
  DESTINATION lib/${PROJECT_NAME}
)

在这里插入图片描述

Python

一般Python写ROS2代码就不用定义功能包了,直接按脚本运行就好点

import rclpy
from rclpy.node import Node

def main(args=None):
    """
    ros2运行该节点的入口函数
    编写ROS2节点的一般步骤
    1. 导入库文件
    2. 初始化客户端库
    3. 新建节点对象
    4. spin循环节点
    5. 关闭客户端库
    """
    # 初始化rclpy
    rclpy.init(args=args) 

    # 新建一个节点
    node = Node("test_ros2_py")  
    node.get_logger().info("大家好,我是test_ros2_py.")

    # 保持节点运行,检测是否收到退出指令(Ctrl+C)
    rclpy.spin(node) 

    # 关闭rclpy
    rclpy.shutdown() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值