1. 问题背景与现象分析
最近在Unitree G1机器人上部署Realsense深度相机时,遇到了一个典型的动态链接库缺失问题。具体表现为运行ROS节点时系统提示找不到librealsense2.so.2.50这个关键库文件,导致进程直接崩溃。错误信息如下:
code复制error while loading shared libraries: librealsense2.so.2.50: cannot open shared object file: No such file or directory
[depth_pub-1] process has died [pid 12909, exit code 127
这个错误在ARM架构设备(如Jetson系列、Unitree机器人等)上尤为常见,主要由于以下几个原因:
- 库文件路径未正确配置:系统在默认搜索路径(/usr/lib, /usr/local/lib等)中找不到所需的动态链接库
- 版本不匹配:预装的librealsense版本与ROS节点编译时链接的版本不一致
- 权限问题:USB设备访问权限不足导致设备无法被识别
提示:exit code 127在Linux系统中通常表示"command not found",在这里特指动态链接库加载失败。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与依赖检查
2.1 系统环境确认
首先需要确认当前系统环境是否符合Realsense SDK的要求:
bash复制# 查看系统架构(确认是否为ARM)
uname -m
# 查看Ubuntu版本
lsb_release -a
# 查看内核版本
uname -r
对于Unitree G1这类机器人平台,通常搭载的是ARM64架构的Ubuntu 18.04/20.04系统。特别需要注意的是,ARM平台与x86平台在库文件兼容性上有显著差异。
2.2 清理旧版本
很多安装问题源于系统中存在冲突的旧版本。执行以下清理操作:
bash复制# 移除可能存在的错误源
sudo rm -f /etc/apt/sources.list.d/librealsense.list
# 清理apt缓存
sudo apt autoremove -y librealse
