创建工作空间
mkdir -P 工作空间名/src
创建功能包
- 先转移到工作空间的
src/
目录下 - 创建功能包需要指定功能包的:包名、程序编译构建类型、依赖项目、生成的节点名称(示例如下)
ros2 pkg create 功能包名 --build-type ament_cmake --dependencies rclcpp --node-name 节点名
需要注意上面的示例为构建 C++ 功能包的命令, Python 功能包构建命令如下ros2 pkg create 功能包名 --build-type ament_python --dependencies rclpy --node-name 节点名
==主要不同点在于 build 类型和依赖项
编写代码
- 在“功能包名/src/”下编写源文件
- 在“功能包名/CMakeLists.txt”中写入被编译代码文件的编译脚本,包括编译代码所涉及到的外部依赖包名、被编译代码与其生成的可执行文件之间的映射,被编译代码的库路径、定义节点的安装规则
- 主要修改部分示例如下:
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
add_executable(节点名 src/C++源代码名.cpp)
ament_target_dependencies(
节点名
"rclcpp"
)
install(TARGETS 节点名
DESTINATION lib/${PROJECT_NAME})
代码编译
- 返回到工作空间根目录下
cd ~/工作空间名/
- 执行编译:
colcon build
代码运行
- 返回到工作空间根目录下
cd ~/工作空间名/
- 刷新工作空间路径 :
. install/setup.bash
- 运行节点:
ros2 run 功能包名 节点名
以上所有命令代码中的中文均为自定义,需要开发者按需自行修改