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

相关推荐
BFT白芙堂4 小时前
灵巧操作的“强力之躯”:Franka Research 3 在 GR-Dexter 通用机器人系统中的深度应用
3d·机器人
2501_943109744 小时前
水底清淤机器人实践案例亲测效果分享
机器人
Hcoco_me6 小时前
大模型面试题74:在使用GRPO训练LLM时,训练数据有什么要求?
人工智能·深度学习·算法·机器学习·chatgpt·机器人
PNP Robotics8 小时前
PNP机器人分享具身操作策略和数据采集
大数据·人工智能·学习·机器人
feiante110 小时前
67、abb_ros2(PickNikRobotics)学习笔记(2)--- 显示机器人
笔记·学习·机器人
2301_7873284910 小时前
48.实战:智能机器人
ai·机器人
Paper_Love11 小时前
ros2在机器人领域的作用
机器人
啵啵鱼爱吃小猫咪11 小时前
机器人示教学习入门介绍
人工智能·学习·机器人
zzzhpzhpzzz11 小时前
从SolidWorks中导出机器人URDF模型
机器人·ros·urdf·solidworks