Ubuntu安装ROS2并编写自己的程序(下)

简介: Ubuntu安装ROS2并编写自己的程序(下)

三、创建自己ROS2包


3.1 创建功能包


我们首先创建一个dev_ws/src的文件来存放我们自己的包


mkdir -p ~/dev_ws/src


打开终端后进入到dev_ws/src路径下:


cd ~/dev_ws/src


然后就可以使用如下语法来创建功能包了(以下二选一):

CMake包:


ros2 pkg create --build-type ament_cmake <package_name>


Python包:


ros2 pkg create --build-type ament_python <package_name>


创建功能包的指令还允许设置节点名,自动生成一个helloworld的例程代码(以下二选一)。


CMake包:


ros2 pkg create --build-type ament_cmake --node-name my_node my_package


Python包:


ros2 pkg create --build-type ament_python --node-name my_node my_package


运行成功后就可以在src中看到一个新的文件夹叫做my_package,同时在终端中有很多日志信息:


CMake包:


3b689f1cc8cd0f61f00f5dc189a493eb.png


Python包:


8e7647a92983f34fcd440d66478c40a7.png


创建功能包的指令还可以设置依赖项。


CMake包:


ros2 pkg create --dependencies [deps] --build-type ament_cmake


Python包:


ros2 pkg create --dependencies [deps] --build-type ament_python


3.2 编译功能包


接下来进入编译流程,一定要将终端cd到dev_ws的路径下来:


cd ~/dev_ws


然后就可以编译啦:


colcon build


这个命令会编译工作空间中的所有功能包,如果只想编译某一个包的话,可以这样:


colcon build --packages-select my_package


3.3 设置环境变量


打开一个新的终端,运行下工作空间的环境变量,这样才能让该终端找到新创建的包:


source install/setup.bash


接下来就可以在该终端中愉快的运行新建的功能包了。


3.4 运行功能包中的节点


在终端中使用如下命令即可运行新建功能包的节点啦:


ros2 run my_package my_node


终端中可以看到:


CMake包:


ba071e61199b50745a02e824874e1d3b.png


Python包:


ddc4735a7154d81a86e1c5342a40ab27.png


3.5 功能包里有什么


不管你是用CMake还是python创建的包,打开看一下,里边有哪些默认的文件:


CMake包:


36094f3682520f9f54707e4538be8bd7.png


src中有一个 my_node.cpp 文件,就是实现上边看到hello world的例程代码。


Python包:


201ed93090cef01a73f8868bd95ab0c3.png


3.6 修改package.xml文件


新建功能包中的package.xml文件需要我们手动完善一下,包括其中的功能包描述、版本信息、使用许可证等,默认都有加“TODO”标志。


CMake包:


935b7255217a66882e62dc2d5b67aa67.png


Python包:


20ea28af6646047972c308c9ca039865.png


完善以上描述信息、许可证和作者邮箱,关于许可证的详细介绍可以参考: https://opensource.org/licenses/alphabetical


除了这些基本信息之外,还可以看到不少以“ _depend”结尾的标签,这些就是用来描述功能包依赖的,如果我们在编写代码过程中新增加了什么依赖,都可以手动添加到这里来。


如果使用的是Python包,还需要多修改一个文件setup.py:


e690251416b2b6aa0fd74fd5190f2499.png


其中第16~19行的内容需要修改的和package.xml文件一致。


OK,这就是ROS2中创建功能包的方法。


相关文章
|
18天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
64 4
Linux系统之Ubuntu安装cockpit管理工具
|
23天前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
98 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
23天前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
54 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
19天前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
50 1
|
23天前
|
Ubuntu Linux
软件安装(五):Ubuntu 18.04安装Teamviewer 看一遍就会
这篇文章介绍了在Ubuntu 18.04系统上通过图形界面和命令行两种方法安装TeamViewer远程控制软件的步骤。
24 2
|
5天前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
11天前
|
Ubuntu Linux
Ubuntu 16.04下无法安装.deb的解决方法
希望以上策略能有效协助您克服在Ubuntu 16.04中安装.deb文件时遇到的挑战。
12 0
|
Ubuntu 计算机视觉
Ubuntu环境下ROS安装自己OPENCV版本(下)
Ubuntu环境下ROS安装自己OPENCV版本(下)
1124 0
Ubuntu环境下ROS安装自己OPENCV版本(下)
|
Ubuntu Shell 开发工具
Ubuntu环境下ROS安装自己OPENCV版本(上)
Ubuntu环境下ROS安装自己OPENCV版本(上)
Ubuntu环境下ROS安装自己OPENCV版本(上)
|
24天前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
138 2