【ROS2 】核心概念1——工作空间(workspace)

 参考:https://book.guyuehome.com/ROS2/2.核心概念/2.1_工作空间/

【ROS2】机器人操作系统安装到Ubuntu简介-CSDN博客

ROS2的概念概述

  1. 工作空间(Workspace)​:开发的大本营,组织代码、依赖和构建输出的根目录。
  2. ​功能包(Package)​​:功能源码的聚集地,包含节点、接口、配置等独立功能模块。
  3. ​节点(Node)​​:机器人的“工作细胞”,最小执行单元,负责单一功能(如传感器驱动)。
  4. ​话题(Topic)​​:节点间异步传递数据的“桥梁”,基于发布/订阅模型(如传感器数据流)。
  5. ​服务(Service)​​:同步的“你问我答”机制,适用于需即时响应的短任务(如开关控制)。
  6. ​动作(Action)​​:复杂行为的“流程管理”,支持长时间任务、反馈与取消(如导航到目标点)。
  7. ​通信接口(Interface)​​:数据传递的“标准结构”,定义消息(.msg)、服务(.srv)、动作(.action)格式。
  8. ​参数(Parameter)​​:机器人系统的“全局字典”,动态键值对配置(如超时时间、IP地址)。
  9. ​分布式通信(Distributed Communication)​​:跨多计算平台的“任务分配”,支持机器人集群协同工作。
  10. ​DDS(Data Distribution Service)​​:ROS2底层的“神经网络”,实现实时、可靠的通信中间件

工作空间

绝大部分操作都是在src中进行的,

编译成功后,就可以执行install里边的结果,

build和log两个文件夹用的很少。

包含四子空间

  • src,代码空间,未来编写的代码、脚本,都需要人为的放置到这里;

  • build,编译空间,保存编译过程中产生的中间文件;

  • install,安装空间,放置编译得到的可执行文件和脚本;

  • log,日志空间,编译和运行过程中,保存各种警告、错误、信息等日志。

创建工作空间

源码使用示例代码

mkdir -p ./dev_ws/src
cd ./dev_ws/src
git clone https://gitee.com/guyuehome/ros2_21_tutorials.git

自动安装依赖

从社区中下载的各种代码,多少都会有一些依赖,我们可以手动一个一个安装,也可以使用rosdep工具自动安装:

sudo apt install -y python3-pip
sudo pip3 install rosdepc
sudo rosdepc init
rosdepc update
cd ..  # 需要进入需要编译文档的上层
#  humble 是ubuntu 22.04的版本,如果保存可以不加
rosdepc install -i --from-path src --rosdistro humble  -y

开始编译

sudo apt install python3-colcon-ros
cd dev_ws/src
colcon build

编译如果报错  

AttributeError: module 'em' has no attribute 'BUFFERED_OPT') 

明明自动安装了依赖,可能python路径的问题是问题

  1. em模块错误 (`AttributeError: module 'em' has no attribute 'BUFFERED_OPT')

    1. 原因:rosidl_adapter依赖的empy模块未安装或版本不兼容,且当前使用了Conda环境的Python(/home/zengxy/miniconda3/bin/python3),而非ROS2所需的系统Python环境

隔离Conda与ROS2环境

Conda环境与ROS2的系统Python环境冲突是根本原因。需在编译时完全退出Conda环境:

# 退出当前Conda环境
conda deactivate
# 验证Python路径是否为系统路径
which python3  # 正确路径应为 /usr/bin/python3

 在.bashrc环境中修改

vi ~/.bashrc

 键盘输入a,可以复制


source /opt/ros/humble/setup.bash
export PYTHONPATH="/opt/ros/humble/lib/python3.10/site-packages:$PYTHONPATH"
export PATH="/usr/bin:$PATH"
方法2
# 更推荐直接加载ROS官方环境(避免手动复制模板)
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

# 立刻生效
source ~/.bashrc  # 或简写为 . ~/.bashrc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曾小蛙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值