66、abb_ros2(PickNikRobotics)学习笔记(1)--- 源码包下载

在使用ABB机器人与ROS2通讯时,需要一些必要的通讯和基础功能包。

步骤1:新建工作空间

mkdir -p irb1200_5_90_2026/src

步骤2:安装VCS工具

sudo apt install python3-vcstool

步骤3:下载通讯和基础功能包到工作空间中

进入src路径

cd irb1200_5_90_2026/src/

sudo apt update

sudo apt dist-upgrade

与sudo apt upgrade的区别:sudo apt upgrade仅升级已安装的软件包,不处理依赖关系的重大变化, 而sudo apt dist-upgrade在upgrade的基础上,增加了 "依赖关系智能调整" 的能力,适合系统整体更新、或安装 / 升级对依赖有较大变动的软件(如 ROS 2 相关包),能避免依赖冲突导致的更新失败。

sudo rosdep init

rosdep update

更新 ROS 专属的依赖映射数据库,为后续rosdep install提供准确的依赖信息(ROS 工具层面准备)。

是 ROS 生态专属命令,核心功能是从 ROS 官方服务器下载 / 更新一份最新的 "ROS 包 ↔ 系统级依赖包" 的映射数据库文件(俗称rosdep数据库) ,这份数据库记录了不同 ROS 发行版(如 Humble、Iron)中,每个 ROS 包对应的 Ubuntu 系统apt依赖包信息。rosdep update会下载 / 更新 包含所有支持的 ROS 发行版(包括 Humble、Iron、Jazzy、Noetic 等 ROS 1/2 版本)的完整依赖映射数据库。

注意:在使用rosdep update命令时,容易出现超时的错误。

解决方法:更换国内源

方案1:可能会出现第4步以后的错误

(1)备份原有rosdep源配置文件

备份默认的sources.list.d目录

sudo cp -r /etc/ros/rosdep/sources.list.d /etc/ros/rosdep/sources.list.d.bak

备份用户目录下的rosdep相关文件

sudo cp -r /etc/ros/rosdep /etc/ros/rosdep.bak

这个路径是在执行 sudo rosdep init时建立的。

(2)修改rosdep的核心源配置文件

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

将文件中的所有内容替换为以下清华大学镜像源内容:

复制代码
# os-specific listings first
yaml https://mirrors.tuna.tsinghua.edu.cn/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://mirrors.tuna.tsinghua.edu.cn/rosdistro/master/rosdep/base.yaml
yaml https://mirrors.tuna.tsinghua.edu.cn/rosdistro/master/rosdep/python.yaml
yaml https://mirrors.tuna.tsinghua.edu.cn/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://mirrors.tuna.tsinghua.edu.cn/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

(3)修改rosdistro的默认地址

编辑rosdistro的配置文件

sudo gedit /usr/lib/python3/dist-packages/rosdistro/init.py

将DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'改为

DEFAULT_INDEX_URL = 'https://mirrors.tuna.tsinghua.edu.cn/rosdistro/master/index-v4.yaml'

(4)清除原有缓存并重新执行rosdep update

rm -rf ~/.ros/rosdep/cache/*

rosdep update

原因是镜像源地址格式已过时,对应的文件路径不存在。

方案2:使用rosdepc(国内专用rosdep替代工具)

sudo apt install python3-pip -y

pip3 install rosdepc -i https://pypi.tuna.tsinghua.edu.cn/simple

gedit ~/.bashrc

在文件末尾添加export PATH=HOME/.local/bin:PATH

source ~/.bashrc

rosdepc update

将github下载的abb_ros2文件夹中的abb.repos文件拷贝到工作空间的src路径下。

安装git工具

sudo apt update && sudo apt install git -y

克隆仓库

vcs import < abb_ros2/abb.repos

因为abb.repos文件是通讯和基础功能包的地址,所以上面步骤就是将abb_libegm/abb_librws等4个功能包复制到src路径下。

安装系统级依赖,在src路径下执行下面的指令

rosdepc install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y

执行后会出现下面错误:

解决方法:手工安装依赖项

sudo apt update

sudo apt install libprotobuf-dev libpoco-dev libboost-all-dev protobuf-compiler -y

步骤4:编译

在工作空间路径,执行colcon build

相关推荐
犀思云14 小时前
企业总部网络全球化扩张:利用FusionWAN NaaS 破解“网络成本瓶颈”
网络·人工智能·机器人·智能仓储·专线
CelestialYuxin16 小时前
【微论文】机器人第一性原理:技术演进的本构逻辑与实现路径
深度学习·机器人·硬件架构
Deepoch16 小时前
自然交互+精准感知!Deepoc具身模型开发板让清洁机器人告别“盲扫”
人工智能·科技·机器人·半导体·清洁机器人·具身模型·deepoc
合力亿捷-小亿17 小时前
2026年AI语音机器人测评推荐:复杂噪声环境下语义识别准确率对比分析
人工智能·机器人
h7ml18 小时前
查券返利机器人的OCR识别集成:Java Tesseract+OpenCV优化图片验证码的自动解析方案
java·机器人·ocr
ZCXZ12385296a19 小时前
YOLOv8_HSPAN_机器人视觉系统中的球体目标检测与追踪_1
yolo·目标检测·机器人
八月瓜科技20 小时前
2026春晚机器人专利战:从舞台秀到资本竞逐的产业突围
大数据·人工智能·microsoft·机器人·娱乐
广州赛远20 小时前
IRB4400L-102.53喷雾机器人防护服标准解析与应用指南
机器人
不做无法实现的梦~20 小时前
思翼mk32遥控器配置图传和数传教程
linux·嵌入式硬件·机器人·自动驾驶
m0_6501082420 小时前
Raw2Drive:基于对齐世界模型的端到端自动驾驶强化学习方案
论文阅读·机器人·强化学习·端到端自动驾驶·双流架构·引导机制·mbrl自动驾驶