Writing a Node by using ROS2 Cpp Client Libraries.
Create a package
Navigate into the workspace directory
1 | ros2 pkg create --build-type ament_cmake [package_name] |
Write the code
Navigate into [workspace_directory]/src/[cpp_package_name]/src
write the node code using your preferred text editor.
Add dependencies
Navigate into the package directory.
Open the file named package.xml
.
Add <depend>package_name</depend>
after the ament_cmake
buildtool dependency.
Modify the CMakeLists
Open the CMakeLists.txt
file. Below the existing dependency find_package(ament_cmake REQUIRED)
, add the linesfind_package(package_name REQUIRED)
After that, add the executable and name it node_name
so you can run your node using ros2 run
:
1 | add_executable([node_name] src/[node_function].cpp) |
Finally, add the install(TARGETS…)
section so ros2 run
can find your executable:
1 | install(TARGETS |
Build and run
Navigate into the workspace directory
Run rosdep
in the root of your workspace to check for missing dependencies before building.
1 | rosdep update |
Still in the root of the workspace, build the package.
1 | colcon build --packages-select [package_name] |
or build all packages in the workspace.
1 | colcon build |
Source the setup files.
1 | . install/setup.bash |
Now run the node.
1 | ros2 run [package_name] [node_name] |