0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

初识ros2 功能包建立与可执行文件的配置

墨尘_03331451 来源:墨尘_03331451 作者:墨尘_03331451 2026-01-22 13:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ros2有两个启动程序的选项:

直接运行可执行文件,启动 ROS2 程序。

启动启动文件,启动 ROS2 程序。

#直接运行可执行文件。命令结构如下
ros2 run < package_name > < executable_file >
第一个参数是包含可执行文件的软件包名称。
第二个参数是(该软件包内的)可执行文件的名称。

使用启动文件时,命令结构如下:
ros2 launch < package_name > < launch_file >
第一个参数是包含启动文件的软件包名称。
第二个参数是启动文件的名称(在该软件包内)。
在 ROS2 中,您可以创建两种类型的软件包:

Python 软件包
CMake (C++) 软件包
在本课程中,我们将重点讨论第一种类型。Python 包将包含 Python 可执行文件。

每个 Python 软件包都会有如下的文件和文件夹结构:

package.xml- 包含软件包元信息(软件包维护者、依赖关系等)的文件。

setup.py- 文件,其中包含如何编译软件包的说明。

setup.cfg- 包含如何安装软件包的说明。

src/< package_name >- 该目录以您的软件包命名。您将把所有 Python 脚本放在该文件夹中。默认情况下,它已经包含了一个空的__init__.py 文件。

 source /opt/ros/humble/setup.bash

ros2 pkg create --build-type ament_python < package_name > --dependencies < package_dependency_1 > < package_dependency_2 >

编译colcon build 
    colcon build --packages-select < package_name >
source install/setup.bash

列出所有包

ros2 pkg list
ros2 pkg list | grep < package >

ros2的程序编写

#!/usr/bin/env python
在 Python 文件的第一行放置shebang (或hashbang),指示应使用哪个解释器来执行脚本。

rclcpp:用于C++ 的 ROS2 客户端库。
rclpy:Python 的 ROS2 客户端库。
有一个RUST ros2_client 正在受到越来越多的关注 ,ROS2 客户端库,类似于原生 Rust 中的 rclcpp 或 rclpy 库。底层 DDS 实现,RustDDS,也是原生的 Rust。
import rclpy
def main(args=None):
    rclpy.init(args=args)
 使用ROS2 的 Python 客户端库来初始化程序所需的ROS2 通信和系统。
    rclpy.shutdown()
    关闭所有通过rclpy.init(args=args) 启动的与 ROS2 相关的系统连接。
    
审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    22

    文章

    2129

    浏览量

    77362
  • python
    +关注

    关注

    58

    文章

    4884

    浏览量

    90300
  • ROS
    ROS
    +关注

    关注

    1

    文章

    296

    浏览量

    18861
  • CMake
    +关注

    关注

    0

    文章

    29

    浏览量

    1832
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    机器人主控核心板米尔RK3576 + ROS2,NPU加速实现目标跟随与机械臂抓取

    数据流: 相机→ MixFormerV2跟踪器 → 手眼转换 → 底盘跟随节点 → 靠近停止 → 机械臂逆运动学规划 → 抓取执行。 第二章:深度相机数据获取 与普通USB摄像头不同,深度相机在ROS2
    发表于 04-10 21:23

    从数据采集到回放验证:ADTF 适配 ROS2 的 ADAS 测试实践

    引言在智能驾驶项目里,很多团队都会遇到同一个问题:数据采集并不难,难的是把采到的数据稳定地用起来。路测之后,工程团队往往要面对几个高频挑战:传感器数据来源多、格式多,链路联调成本高;算法和测试团队常用ROS2生态,但工程化流程需要更强的可控性;ROSBA
    的头像 发表于 03-27 17:32 2471次阅读
    从数据采集到回放验证:ADTF 适配 <b class='flag-5'>ROS2</b> 的 ADAS 测试实践

    RK3562 单板机嵌入式 ROS2 开发指南:环境搭建与工程编译

    ROS2 软件编译和单板机部署方法。创龙科技通过清晰的步骤与案例,帮助开发者高效实现 ROS2 在嵌入式平台的开发与应用,适用于机器人开发等相关场景。
    的头像 发表于 03-27 11:26 7406次阅读
    RK3562 单板机嵌入式 <b class='flag-5'>ROS2</b> 开发指南:环境搭建与工程编译

    开发必看,RK3576基于Ubuntu22.04安装 测试ROS2机器人系统

    本文介绍基于Ubuntu22.04安装ROS2机器人系统教程,并附带详细测试方法,基于触觉智能RK3576核心板方案,使用配套开发板PurplePiOH2演示。ROSROS2简介
    的头像 发表于 03-13 17:48 391次阅读
    开发必看,RK3576基于Ubuntu22.04安装 测试<b class='flag-5'>ROS2</b>机器人系统

    ROS2 SLAM建图与导航实战--基于米尔RK3576开发板

    ros2 run tf2_tools view_frames# 生成frames.pdf 2.3 自定义机器人描述文件与启动 标准结构: my_robot_descriptio
    发表于 03-12 17:55

    米尔RK3576成功上车!ROS2 Humble生态系统体验

    可控 多媒体 VPU硬解视频播放 流畅支持 AI能力 NPU推理,支持RKNN模型 默认支持 容器化 Docker引擎 开箱即用 二、ROS2核心功能测试1. 环境验证ROS_VERSION=
    发表于 01-15 18:30

    如何将Python GUI程序打包成EXE可执行文件

    如果我们给同事展示一个命令行,他们可能会有点“吓人”的感觉,担心忘记或输错参数。而一个 UI 界面则是一目了然,“选择固件→点击下载”这样的流程几乎零学习成本。
    的头像 发表于 12-16 09:08 3891次阅读
    如何将Python GUI程序打包成EXE<b class='flag-5'>可执行文件</b>

    求助,关于置顶的eclipse调试问题求解

    我刚从官网下载的NucleiStudioIde,下载的压缩里面自带toolchain,并且包括 openocd ,gcc,buildtool,而且可执行文件是riscv-none-embed开头
    发表于 11-10 06:34

    创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—ROS2系统使用说明

    本文围绕创龙科技研发的评估板,详解 ROS2 系统使用方法。涵盖 ROS2 环境搭建、核心概念讲解、节点通信测试、功能创建与编译,以及可视化工具 RViz 的使用,还包括基于评估板的
    的头像 发表于 10-30 13:46 618次阅读
    创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—<b class='flag-5'>ROS2</b>系统使用说明

    如何使用menuconfig添加配置micro-ros软件

    请问有没有最新的rtthread移植micro-ros移植使用教程,使用menuconfig添加配置micro-ros软件
    发表于 09-25 06:37

    【Milk-V Duo S 开发板免费体验】移植lrzsz方便使用zmodem进行文件传输

    生成的可执行文件位于src下三. 测试导出文件到开发板scp src/lrz root@192.168.42.1:/root 需要输入密码milkv scp src/lsz
    发表于 07-08 15:01

    硬核上车!RK3576基于Ubuntu部署ROS机器人系统详细攻略(上)

    的具体版本版本说明RockchipLinuxSDK基于Buildroot系统构建,并持续在更新升级工具链、软件到较新的版本。因此最新的SDK在编译ROS2时,可能会
    的头像 发表于 07-03 18:45 3059次阅读
    硬核上车!RK3576基于Ubuntu部署<b class='flag-5'>ROS</b>机器人系统详细攻略(上)

    ros2教程

    电子发烧友网站提供《ros2教程.pdf》资料免费下载
    发表于 05-23 09:12 1次下载

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    阅读心得体会:ROS2机器人视觉与地图构建技术 通过对本书第7章(ROS2视觉应用)和第8章(ROS2地图构建)的学习,我对机器人视觉感知和自主导航的核心技术有了更深入的理解。以下是我的心得体会
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】+ROS2应用案例

    地图构建,包括算法原理介绍、安装与配置方法、仿真环境中的SLAM以及真实机器人上的SLAM。 这一过程不仅涉及到计算机视觉和机器人学的知识,还需要对ROS 2的节点管理和数据处理有一定的了解。通过实践
    发表于 04-27 11:42