ROS2快速入门Python篇-版本梳理、环境搭建、源码架构介绍

本文详细介绍了ROS2Humble版本的安装方法,包括Binary和源码安装步骤,以及ROS2架构体系中的主要模块和DDS(数据分布服务)的介绍。重点讨论了ros-core,ros-base,ros-desktop的区别和DDS在ROS2中的关键作用。

1. ROS2版本说明及资料获取

1.1 ROS2版本更新记录

https://docs.ros.org/en/foxy/Releases.html
在这里插入图片描述

ROS1版本更新记录
https://wiki.ros.org/Distributions
在这里插入图片描述

1.2 ROS1/ROS2各版本资料位置

https://docs.ros.org/en/?C=M;O=D
在这里插入图片描述

本系列将使用humble来讲解Ros2的使用。

2. humble安装

两种方式: Binary安装和源码安装

2.1 使用Binary方式安装与测试

binary安装支持Ubuntu Linux Jammy (Ubuntu 22.04) 64-bit x86 and 64-bit ARM,所以如果你装的是Ubuntu22.04, 可以直接使用这种方式安装或者使用源码安装。

We currently support Ubuntu Linux Jammy (22.04) 64-bit x86 and 64-bit ARM.

安装与测试步骤参考:

https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

2.2 使用源码方式安装与测试

如果是其他Linux系统,如树莓派4(Raspi OS基于Debian Bullseye),可以选择源码安装方式。

The current Debian-based target platforms for Humble Hawksbill are:
. Tier 1: Ubuntu Linux - Jammy (22.04) 64-bit
. Tier 3: Ubuntu Linux -Focal (20.04) 64-bit
. Tier 3: Debian Linux - Bullseye (11) 64-bit

Other Linux platforms with varying support levels include:
. Arch Linux, see alternate instructions
. Fedora Linux, see alternate instructions
. OpenEmbedded / webOS OSE, see alternate instructions

安装步骤参考:

https://docs.ros.org/en/humble/Installation/Alternatives/Ubuntu-Development-Setup.html

Ubuntu22.04源码安装步骤:

<think>好的,我现在需要解决用户的问题,即如何找到ROS2 Humble与python3-catkin-pkg的兼容版本,以便运行catkin_make。首先,我得回忆一下ROS2和catkin工具之间的关系。 用户提到他们在使用ROS2 Humble时遇到了关于python3-catkin-pkg-modules无法安装的错误,这可能是因为与现有的python3-catkin-pkg冲突。根据引用内容,这个问题通常发生在尝试安装某些包时出现依赖冲突,尤其是在同时使用ROS1和ROS2环境下。例如,引用[1]和[3]都提到了catkin_pkg模块缺失的问题,这可能是因为没有正确安装相关的Python包。 接下来,我需要确认ROS2 Humble是否支持catkin_make。根据引用[2],catkin_make是ROS1的构建工具,而ROS2主要使用colcon作为构建工具。这意味着在ROS2环境中直接使用catkin_make可能不兼容,因为两者的构建系统不同。不过,用户可能需要在ROS2中构建一些遗留的ROS1包,这时候可能需要catkin工具。 然后,关于python3-catkin-pkg的兼容版本。通常,ROS2 Humble会推荐使用特定版本Python包来避免冲突。根据常见的做法,可能需要通过pip来安装正确版本的catkin_pkg,例如使用命令`pip install catkin_pkg`来安装最新兼容的版本。但需要注意,系统自带的包(通过apt安装)和pip安装的包可能会有冲突,因此需要确保环境变量中的Python路径正确,优先使用pip安装的包。 另外,引用[5]提到处理dpkg错误的方法,可能需要用户清理之前的安装冲突,比如使用`sudo apt autoremove`或手动解决依赖问题。如果用户之前尝试过通过apt安装相关包导致冲突,可能需要先卸载这些包,再通过pip安装正确版本。 总结下来,解决步骤可能包括:确认是否真的需要在ROS2中使用catkin_make,推荐迁移到colcon;如果必须使用,则安装正确版本的catkin_pkg,并处理环境中的依赖冲突。同时,检查系统Python环境和pip安装的包是否冲突,必要时使用虚拟环境隔离。</think>### ROS2 Humble与python3-catkin-pkg兼容性分析 #### 1. **ROS2 Humble的构建工具兼容性** - ROS2 Humble **默认使用`colcon`作为构建工具**,而非ROS1的`catkin_make`。`catkin_make`基于`catkin`构建系统,主要用于ROS1[^2]。若需在ROS2中构建遗留的ROS1包,需通过**`catkin_make_isolated`**或手动配置混合工作空间。 - **建议优先迁移到`colcon`**,因其支持ROS2的`ament`构建系统,且与ROS2工具链深度集成。 #### 2. **python3-catkin-pkg的版本冲突** - **错误根源**:`ModuleNotFoundError: No module named 'catkin_pkg'`通常表示Python环境中缺少`catkin_pkg`模块,或存在版本冲突[^3][^4]。 - **兼容版本**: - ROS2 Humble基于Ubuntu 22.04,其官方仓库中`python3-catkin-pkg`的兼容版本为**`0.5.2-1`**。 - 若通过`pip`安装,推荐使用**`catkin_pkg >= 0.5.2`**(例如`pip install catkin_pkg==0.5.2`)。 #### 3. **解决方法** **步骤1:卸载冲突包** ```bash sudo apt remove python3-catkin-pkg # 若已通过apt安装旧版本 ``` **步骤2:通过pip安装兼容版本** ```bash pip install --user catkin_pkg==0.5.2 # 指定版本 ``` **步骤3:验证环境路径** - 确保Python路径包含用户本地安装目录(如`~/.local/lib/python3.10/site-packages`),可临时添加: ```bash export PYTHONPATH=$PYTHONPATH:~/.local/lib/python3.10/site-packages ``` **步骤4:尝试构建** ```bash cd ~/catkin_ws catkin_make_isolated # 替代catkin_make以隔离依赖 ``` #### 4. **替代方案(推荐)** - **完全迁移到colcon**: ```bash cd ~/ros2_ws colcon build --symlink-install ``` - **混合工作空间配置**:参考ROS2官方文档配置包含ROS1包的混合环境--- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

techfuture

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值