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

相关推荐
倍利福猎头公司官方账号8 小时前
大企业HR如何向猎头公司清晰传达AI岗位的技术需求?
人工智能·算法·机器人·求职招聘·业界资讯
由你创机器人12 小时前
工业具身智能机器人:感知到执行全链路软硬件搭配与长效运营思路
机器人·全栈开发·具身机器人·机器人定制
由你创机器人13 小时前
具身智能机器人定制交付、安全设计与验收落地要点
安全·机器人
具身AGI17 小时前
机器人基础模型开始按小时对外开放
机器人
罗迪尼亚的熔岩18 小时前
联合kuka机器人, 海康visonmaster 的手眼9点标定方法
机器人·c#·工业相机·标定
海盗123418 小时前
微软技术日报 2026-11-01:语言模型 API 免申请、8 个威胁组织被分四档
人工智能·microsoft·语言模型·机器人·人工智能aigc
weixin_468466851 天前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
云智慧AIOps社区1 天前
智能巡检机器人应用场景解析:机房巡检、园区安防、管廊巡视与展厅导览
人工智能·机器人·具身智能·智能巡检机器人·企业级智能巡检机器人·机房巡检机器人·导览机器人
GlobalInfo1 天前
重磅发布 | 2026年船体清洁机器人行业研究报告:市场规模、发展前景与十五五战略地图
大数据·人工智能·机器人
疯子的梦想@1 天前
Prometheus 接入 Alertmanager 与钉钉机器人,附中文模板和完整踩坑记录
机器人·钉钉·prometheus