本人在学习复现文献中,需要用到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"