这是本文档旧的修订版!
libfranka的库的版本适配问题-如何手动编译ubuntu的依赖和ros的依赖
有一些项目,强制依赖了ROS1,导致使用的是ubuntu20,进而导致 系统默认的so依赖 和Franka的平台不匹配,这里对遇到的问题进行整理。
首先,我们要了解兼容性标准: https://www.franka.cn/FCI/compatibility.html
| Robot System Version | libfranka Version | Robot/Gripper Server | franka_ros2 Version | Ubuntu / ROS 2 | franka_ros Version |
|---|---|---|---|---|---|
| >= 5.7.2 | >= 0.15.0 | 9 / 3 | >= v1.0.0 | 22.04 / humble | >= 0.10.0 |
| >= 5.7.0 | >= 0.14.1 to < 0.15.0 | 8 / 3 | >= v0.1.15 | 22.04 / humble | >= 0.10.0 |
| >= 5.5.0 | >= 0.13.3 to < 0.14.1 | 7 / 3 | >= v0.1.15 | 22.04 / humble | >= 0.10.0 |
| >= 5.2.0 | >= 0.10.0 to < 0.13.3 | 6 / 3 | >= v0.1.0 to >= v0.1.8 | 22.04 / humble | >= 0.10.0 |
我们可以看到 对于 franka_ros 基本是不挑的,主要集中在 libfranka 的适配上。 而我们遇到的类似的报错,就是这个表格的映射:
Failed to initialize libfranka robot. libfranka: Incompatible library version (server version: 8, library version: 5)
frank的机器人用的版本是8版本,但是 目前的so库用的5版本。 在 ubuntu20上,直接在ros上 apt install ros-noetic-libfranka ros-noetic-franka-ros 就会是5版本,无法使用,直接报错
libfranka 对应于8版本的编译
啊
评论