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


相关文章
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
1448 5
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
1146 18
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
587 18
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
850 15
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
1143 14
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
1365 7
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
1797 6
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
938 1
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
1218 14