ROS入门学习之HELLOWORLD C++篇

发布于:2025-06-15 ⋅ 阅读:(21) ⋅ 点赞:(0)

本人在学习复现文献中,需要用到ROS-Gazebo仿真 博主便开始重新捡起ROS

参考学习:1.3.2_ROS2快速体验_HelloWorld(C++)_01基本流程_哔哩哔哩_bilibili

搭建环境 按照up主上面的步骤来

下面是 自己的学习笔记

创建好环境后,利用ROS系统本身带有的海龟模型进行测试

启用终端:ctrl+alt+T
在第一个终端 启动节点
运行: ros2 run ^(文件) ^(节点)
在第二终端 启动控制
(针对海龟实验)ros2 run turtlesim turtle_teleop_key
Ps: 将光标放在第二个终端 才能进行键盘控制

关闭终端: ctrl+c

下面进行HelloWorld:

第一步 创立工作空间:

创立工作空间:(ws00_helloworld)src用于存储源代码

mkdir -p ws00_hellowolrd/src 


进入工作空间:

cd ws00_hellowolrd


编译:
 

colcon build

上面创建完毕后 包含build\install\log\src 四个目录

使用C++:


第二步 创建功能包 :
Ps:进入到 src目录 进行创建

cd src

再输入:

ros2 pkg create pkg01_helloworld_cpp \
    --build-type ament_cmake \
    --dependencies rclcpp \
    --node-name helloworld

创建文件名 pkg_helloworld_cpp
--build-type ament_cmake
--bulid-type ament_python

导入库: --dependencies ^(库)
生成可执行文件: --node-name ^

编辑源文件:

上面的命令 以及默认生成了c++文件

编辑配置文件:

默认生成
package,xml: 依赖库:<depend>rclcpp</depend>
CmakeList,txt:find_package(rclcpp REQUIRED) 根据dependencies生成


第三步编译:在工作空间下进行

cd .. %回到工作空间
colcon build

博主在这里遇到了一个问题:

ModuleNotFoundError: No module named 'catkin_pkg'

出现报错的情况,错误原因是ROS 2 的构建工具依赖 Python 包 catkin_pkg(即使你用的是 ament_cmake),但你的 Conda 环境中没有安装它,下面是解决过程:

在终端运行以下命令安装 catkin_pkg

pip install catkin_pkg

然后重新构建:

conda deactivate  # 退出 Conda
source /opt/ros/humble/setup.bash  # 激活 ROS 2 环境
cd ~/ws00_hellowolrd
colcon build

第四步 运行

执行:

. install/setup.bash %刷新文件
source install/setup.bash
ros2 run pkg01_helloworld_cpp helloworld

返回输出为程序中的"hello world pkg01_helloworld_cpp package"


网站公告

今日签到

点亮在社区的每一天
去签到