文章目录
创建工作区目录
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
我们创建了两个目录,ros2_ws和在他下面的子目录,运行编译的目录在ros2_ws目录下,src目录下是我们生成的ros的包,我们自己编写的代码也都早src目录下,colcon build编译之后会在ros2_ws目录下生成一下文件,运行程序也是在ros2_ws这个目录下。
创建包和节点
使用ros2 pkg create来创建包和节点,该命令是在src目录下执行。
- 只创建包
cd .../src # 跳转到src目录下
ros2 pkg create <package_name> --build-type ament_cmake
2.创建包并添加依赖
跳转到src目录下
ros2 pkg create my_package --build-type ament_cmake --dependencies std_msgs rclcpp
- ament_cmake,适用于c++,是cmake的增强版
- ament_python,适用于Python
- 创建包的同时添加
std_msgs和rclcpp的依赖
- 创建包的同时添加节点
ros2 pkg create <package_name> --build-type ament_cmake --node-name <node_name> --dependencies std_msgs rclcpp
- 创建包名填入package_name
- 创建节点名填入node_name
- 这里添加了
std_msgs和rclcpp两个依赖,需要的依赖填在在后面
运行节点的命令
ros2 run 包名 可执行文件名
ros2 run package_name exectable_name
- 列出所有的包
ros2 pkg list
- 输出某个包的路径前缀
ros2 pkg prefix <package_name>
- 列出某个包的清单信息
ros2 pkg xml <package_name>
colcon build编译
我们在有src文件夹的目录下,也就是执行文件的目录
编译所有的包
colcon build
指定单独编译某个包:
colcon build --packages-select <package_name>
CMakeLists.txt文件
该文件是告诉编译器,想要找某个节点去哪里找。
cmake_minimum_required(VERSION 3.5)
project(ros_learn) //包的名称
find_package
如果是添加了某些依赖,需要再find_package中添加
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(std_msga REQUIRED)
find_package

本文介绍了如何在ROS2环境中创建工作区、包和节点,使用colconbuild进行编译,以及通过CMakeLists.txt和package.xml配置文件管理依赖。同时,文章详细讲解了面向过程和面向对象两种方式创建ROS2节点的方法。
最低0.47元/天 解锁文章
1415

被折叠的 条评论
为什么被折叠?



