Home » ROS2与C++入门教程 » ROS2与C++入门教程-新建ros2包

ROS2与C++入门教程-新建ros2包

ROS2与C++入门教程-新建ros2包

说明:

  • 介绍如何创建ros2的软件包

概念:

  • 可以将包视为ROS 2代码的容器。
  • 如果您希望能够安装代码或与他人共享代码,则需要将其组织在一个软件包中。
  • 使用软件包,您可以发布ROS 2的工作,并允许其他人轻松构建和使用它。
  • ROS 2中的软件包创建使用ament作为其构建系统,并使用colcon作为其构建工具。
  • 您可以使用官方支持的CMake或Python创建软件包。

步骤:

  • 进入工作空间
cd ~/dev_ws/src
  • 创建ros2包
~/dev_ws/src$ ros2 pkg create --build-type ament_cmake --node-name my_node my_package
going to create a new package
package name: my_package
destination directory: /home/ubuntu/dev_ws/src
package format: 3
version: 0.0.0
description: TODO: Package description
maintainer: ['ubuntu <ubuntu@todo.todo>']
licenses: ['TODO: License declaration']
build type: ament_cmake
dependencies: []
node_name: my_node
creating folder ./my_package
creating ./my_package/package.xml
creating source and include folder
creating folder ./my_package/src
creating folder ./my_package/include/my_package
creating ./my_package/CMakeLists.txt
creating ./my_package/src/my_node.cpp
  • 编译包
cd ~/dev_ws
~/dev_ws$ colcon build --symlink-install --packages-select my_package
Starting >>> my_package
Finished <<< my_package [1.03s]                     

Summary: 1 package finished [1.13s]
  • 可以通过--packages-select指定编译的包
  • 重新加载工作空间
cd ~/dev_ws
. install/setup.bash
  • 运行包
~/dev_ws$ ros2 run my_package my_node 
hello world my_package package

软件包解析:

  • 包目录结构:
~/dev_ws/src/my_package$ tree
.
├── CMakeLists.txt       #告诉编译器如何编译的文件
├── include 
│   └── my_package       #自定义的头文件
├── package.xml          #包相关信息文件
└── src
    └── my_node.cpp      #源文件,具体实现功能的文件

3 directories, 3 files

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ROS2与C++入门教程