• 2024-07-01ROS2创建简单的C++功能包
    1.创建功能包终端下,进入ws00_helloworld/src目录,使用如下指令创建一个C++功能包:ros2pkgcreatepkg01_helloworld_cpp--build-typeament_cmake--dependenciesrclcpp--node-namehelloworld执行完毕,在src目录下将生成一个名为pkg01_helloworld_cpp的目录,且目录中已经
  • 2024-05-20创建hello_world节点、编译、运行
    1、在功能包的src目录下创建源文件cd hello_world_ws/src/hello_world_pkg/srctouch hello_world.cpp#include"rclcpp/rclcpp.hpp"intmain(intargc,char**argv){  rclcpp::init(argc,argv);  autonode=std::make_shared<rclcpp::Node>("hello_w
  • 2024-05-14ROS学习日记:(报错)terminate called after throwing an instance of 'rclcpp::exceptions::RCLInvalidArgum
    论坛里的一个老哥给出答案https://discourse.ros.org/t/how-to-shutdown-and-reinitialize-a-publisher-node-in-ros-2/4090就是我在初始化环境前先初始化了节点autonode=std::make_shared<Static_tf_broadcaster>(argv);rclcpp::init(argc,argv);rclcpp::spin(nod
  • 2024-04-26ROS2学习--POP方法编写C++节点 debug过程
    一、编写C++节点并测试 1.创建功能包C++功能包使用ament-camke作为编译基础,依赖为rclcpp。打开终端,进入town_ws/src运行下面的指令,目录结构如下ros2pkgcreatevillage_wang--build-typeament_cmake--dependenciesrclcpp2.创建节点village_wang/src下创建一个wang2.cp
  • 2024-03-14ros2中Qos的C++配置方法
    1.dds_debug.hpp#ifndefDDS_DEBUG__DDS_DEBUG_HPP_#defineDDS_DEBUG__DDS_DEBUG_HPP_#include<rclcpp/rclcpp.hpp>#include<rclcpp/qos.hpp>#include<rmw/types.h>#include<sensor_msgs/msg/imu.hpp>constrmw_qos_profile_tmy_cus
  • 2024-01-19重复spin问题
    ROS2重复spin问题报错描述:在执行回调函数时,报错terminatecalledafterthrowinganinstanceof'std::runtime_error'what():Node'/workflow_control_node'hasalreadybeenaddedtoanexecutor.[ros2run]:Aborted;原因在回调函数中又执行了rclcpp::spin监听函
  • 2023-11-20ROS2 话题通讯
    1.发布者模板//1.包含头文件#include<memory>#include"rclcpp/rclcpp.hpp"#include"project_msg_data/msg/stu.hpp"usingnamespacestd::chrono_literals;/*需求:以某个固定频率发送文本“helloworld!”,文本后缀编号,每发送一条消息,编号递增1。步骤:1.包含头
  • 2023-11-02ros2 创建发布和服务
    1.创建工作空间mkdir-pdev_ws/src2.创建功能包ros2pkgcreatetest_demo--build-typeament_cmake--node-namemy_demo--dependenciesstd_msgsrclcpp 3.创建发布topic  3.1头文件#include"rclcpp/rclcpp.hpp"//rclcpp/rclcpp.hpp是ROS2中常用C++接口
  • 2023-06-03 Beginner:Client libraries-8 在类中使用参数
    目标:创建和运行一个具有ROS参数的类背景当实现自己节点的时候,可能需要从launch文件中添加参数。本教程的目的是告诉你怎样在c++类中创建这些参数,以及怎样在launch文件中设置。任务1、创建一个包ros2pkgcreate--build-typeament_cmakecpp_parameters--dependenciesrcl
  • 2023-04-27用C++编写一个简单的发布者和订阅者
    摘要:节点(Node)是通过ROS图进行通信的可执行进程。本文分享自华为云社区《编写一个简单的发布者和订阅者》,作者:MAVER1CK。@[toc]参考官方文档:Writingasimplepublisherandsubscriber(C++)背景节点(Node)是通过ROS图进行通信的可执行进程。在本教程中,节点将通过话题(To
  • 2023-04-08ROS2-发布矩阵类消息
    这个困扰我两个周的难题终于在翻阅官方文档之后得到了解答,简而言之就是对于相关头文件的理解(其实是我懒得自定义头文件),下面解释一下相关代码。发布者代码#include<chrono>#include<memory>#include"rclcpp/rclcpp.hpp"#include"std_msgs/msg/float64_multi_array.hpp"