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中创建功能包的方法。


相关文章
|
11月前
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
1318 5
|
11月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
995 18
|
12月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
525 18
|
12月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
742 15
|
12月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
1027 14
|
12月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
1229 7
|
Ubuntu 关系型数据库 MySQL
Ubuntu 22.04.1上安装MySQL 8.0及设置root密码的注意事项
这些是在Ubuntu 22.04.1 系统上安装MySQL 8.0 及设置root密码过程中必须考虑的关键点。正确的遵循这些步骤可确保MySQL的安装过程既顺利又安全。
2135 20
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
588 13
|
12月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
1731 6
|
Ubuntu Linux
如何在 Ubuntu 服务器上安装桌面环境(GUI)
如果你有任何问题,请在评论区留言。你会在服务器上使用 GUI 吗?参照本文后你遇到了什么问题吗?
2455 0