南京学习做网站福建响应式网站制作
本人在学习复现文献中,需要用到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"
