看世界 看自己
从0开始的ros2学习 【1】节点(c++)
从0开始的ros2学习 【1】节点(c++)

从0开始的ros2学习 【1】节点(c++)

编写一个ros c++节点

首先创建一个工作空间,后续的功能包都存放在这个工作空间中

终端输入命令

mkdir -p ros2_ws/src

然后在src下创建你的节点功能包

 cd ros2_ws/src
ros2 pkg create node_cpp --build-type ament_cmake --dependencies rclcpp

然后在功能包下添加一个node.cpp文件

touch node_cpp/src/node.cpp

编写代码到node.cpp中

#include"rclcpp/rclcpp.hpp"

int main(int argc,char** argv){
    rclcpp::init(argc,argv);
    auto node =std::make_shared<rclcpp::Node>("node_cpp");
    RCLCPP_INFO(node->get_logger(),"hello c++ node");
    rclcpp::spin(node);
    rclcpp::shutdown();
    return 0;
}

编辑cmakelists.txt文件,添加下列内容

add_executable(node src/node.cpp)
ament_target_dependencies(node rclcpp)
install(TARGETS
node
DESTINATION lib/${PROJECT_NAME}
)

保存文件,然后在工作空间下进行编译

colcon build

编译完成后确认工作空间

source install/setup.bash

启动你的节点

ros2 run node_cpp node

终端会打印hello c++ node的日志,至此,你的一个c++节点创建完成

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注