差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| 机器人:franka:libfranka:libfranka的库的版本适配问题-如何手动编译ubuntu的依赖和ros的依赖 [2025/12/16 06:19] – ctbots | 机器人:franka:libfranka:libfranka的库的版本适配问题-如何手动编译ubuntu的依赖和ros的依赖 [2025/12/16 08:02] (当前版本) – [libfranka_ros 提示实时性相关的报错] ctbots | ||
|---|---|---|---|
| 行 16: | 行 16: | ||
| frank的机器人用的版本是8版本,但是 目前的so库用的5版本。 在 ubuntu20上,直接在ros上 | frank的机器人用的版本是8版本,但是 目前的so库用的5版本。 在 ubuntu20上,直接在ros上 | ||
| + | |||
| + | ===== ubuntu20 的 libfranka | ||
| + | |||
| + | 这里我们选用 0.14.2版本编译,比推荐的最低版本稍微高一个版本,而且编译出的是8版本的。 | ||
| + | |||
| + | <code shell install_libfranka.sh> | ||
| + | # 下载老的自带的包,确保不会影响,默认的是5版本 | ||
| + | sudo apt remove ros-noetic-libfranka ros-noetic-franka-ros | ||
| + | |||
| + | # ubuntu20 没有 pinocchio 的包,需要手动安装,而且官网被墙了,只能加速 | ||
| + | sudo mkdir -p / | ||
| + | curl http:// | ||
| + | echo "deb [arch=amd64 signed-by=/ | ||
| + | |||
| + | # 安装必备的编译基础代码 | ||
| + | sudo apt install build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev | ||
| + | |||
| + | # github被墙了,从指定的加速站点下载,注意分支 | ||
| + | cd ~ | ||
| + | mkdir gitfranka | ||
| + | cd gitfranka | ||
| + | git clone --recurse-submodules -b fix-0.14.2 https:// | ||
| + | cd libfranka | ||
| + | mkdir build && cd build | ||
| + | cmake -DCMAKE_BUILD_TYPE=Release .. -DCMAKE_PREFIX_PATH="/ | ||
| + | make -j$(nproc) | ||
| + | sudo make install | ||
| + | sudo ldconfig | ||
| + | |||
| + | |||
| + | </ | ||
| + | ===== ubuntu20的 libfranka_ros相关的编译 ===== | ||
| + | 此处比较简单,不是特别困难 | ||
| + | |||
| + | < | ||
| + | # 1. 进入src | ||
| + | cd ~/ | ||
| + | |||
| + | # 如果src里没有franka_ros,克隆它(Noetic用noetic-devel分支) | ||
| + | git clone https:// | ||
| + | |||
| + | # 2. 安装依赖(跳过libfranka,因为手动装了, | ||
| + | rosdep install --from-paths . --ignore-src -r -y --skip-keys libfranka | ||
| + | cd ~/catkin_ws | ||
| + | |||
| + | # 2. 删除 build 和 devel 目录。避免之前有污染 | ||
| + | rm -rf build/ devel/ | ||
| + | |||
| + | # 3. 开始编译,但是特别注意,要使用ROS镜像自带的python3,不要版本太高的python,会报错 | ||
| + | catkin_make -DPYTHON_EXECUTABLE=/ | ||
| + | # 4. 开始生效 | ||
| + | source ~/ | ||
| + | |||
| + | # 5. 测试franka_gripper是否可用 | ||
| + | python3 -c " | ||
| + | </ | ||
| + | |||
| + | ===== franka_ros安装报错 empy 相关错误 ===== | ||
| + | < | ||
| + | CMake Error at / | ||
| + | Unable to find either executable ' | ||
| + | installing the package ' | ||
| + | Call Stack (most recent call first): | ||
| + | / | ||
| + | / | ||
| + | CMakeLists.txt: | ||
| + | </ | ||
| + | |||
| + | 使用系统内置的python3,推荐是3.8的,如果还是没有这个库,pip install empy ; 千万不要激活conda | ||
| + | |||
| + | |||
| + | ===== libfranka_ros 提示实时性相关的报错 ===== | ||
| + | |||
| + | 提示系统实时补丁没有打开,realtime_config: | ||
| + | |||
| + | 直接打开 ~/ | ||
| + | |||
| + | 修改 realtime_config: | ||
| + | |||
| + | ===== libfranka_ros编译,提示找不到 libpinocchio_default.so ===== | ||
| + | |||
| + | < | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | ame(unsigned long const&, int)' | ||
| + | / | ||
| + | nsigned long, pinocchio:: | ||
| + | string< | ||
| + | | ||
| + | en:: | ||
| + | </ | ||
| + | |||
| + | 原因,编译libfranka_ros的 确保FRANKA_DIR的正确 | ||
| + | |||
| + | catkin_make -DPYTHON_EXECUTABLE=/ | ||