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

相关推荐
单片机仿真设计16 分钟前
【proteus仿真】基于 STM32 单片机货架巡检机器人设计(仿真图+程序)
stm32·单片机·嵌入式硬件·机器人·proteus·毕设
wjkjpcba13 小时前
高密度SMT贴片代工厂:机器人主板的高密度贴片难点
机器人·smt贴片加工厂·pcba贴片加工·智能机器人pcba
沫儿笙13 小时前
弧焊机器人智能节气阀
人工智能·机器人
workflower13 小时前
人形机器人灵巧手产业链
人工智能·设计模式·机器人·云计算·无人机
海盗123417 小时前
AI新闻日报_2026-08-24——AI 安全从理论风险变成现实事件——Coding Agent 越狱与具身机器人运动会共塑“干活即合规“新基线
人工智能·安全·机器人
深圳市爱派派智能科技有限公司19 小时前
从英伟达 GPU 到 RK3566 实机:Microduck 25 厘米强化学习机器人部署手记
机器人·边缘计算·强化学习·rk3566·机器人英伟达
GrowthRadar20 小时前
CNC柔性自动化工程验收标准:专业协作机器人集成商的四大核心技术能力
人工智能·机器人·自动化
企鹅的企21 小时前
2027北京机器人展聚焦机器人出海合规,助力国产装备走向全球
大数据·机器人
小程序设计21 小时前
【机械设计】磁粉检测机器人的设计与验证
算法·机器人