当前位置:   article > 正文

Franka环境配置——从源码安装libfranka和franka_ros

libfranka

Franka安装ROS功能包,有以下两种安装方式:

  1. 二进制包安装
  2. 从源码安装编译

二进制包安装只要在终端输入一行命令就行,很方便。但是功能包全部安装在根目录:/opt/ros/kinetic/share下了,在同样的目录下有很多其它ros文件,查看起来不方便。而且如果想要安装特定版本的功能包,只能肝源码安装了。所有的安装都可以参考Franka官网

1、二进制包安装

直接在终端输入:

sudo apt install ros-noetic-libfranka ros-noetic-franka-ros

2、源码安装

如果之前使用过二进制包安装,那么需要执行下面的命令去把franka相关的文件给删除:

sudo apt remove "*franka*"  

防止后续安装出现冲突。

2.1 安装编译libfranka

  1. // 1.安装依赖
  2. sudo apt install build-essential cmake git libpoco-dev libeigen3-dev
  3. // 2.一个创建工作空间
  4. mkdir -p ~/catkin_franka/src
  5. cd ~/catkin_franka/src
  6. catkin_init_workspace
  7. cd ~/catkin_franka
  8. source ~/.bashrc
  9. // 3.选择一个位置下载libfranka
  10. cd ~/catkin_franka

在从github上下载libfranka时,不同型号的Franka机械臂型号命令是不同的。

  • 当机械臂是Franka Emika Panda
  1. git clone --recursive https://github.com/frankaemika/libfranka --branch 0.10.0
  2. // 默认下载最新版本
  3. cd libfranka
  • 当机械臂是Franka Research 3
  1. git clone --recursive https://github.com/frankaemika/libfranka --branch 0.10.0 # only for FR3
  2. cd libfranka

如果需要安装特定版本,则还需要加上下面命令:

  1. git checkout <version> //version指的是你需要的版本
  2. git submodule update
  •  比如我们实验室需要0.8.0版本的,就写成git checkout 0.8.0
  • 注意:假如这一步报错不能克隆下来github的代码,出现连接超时的问题。一种方式是把wifi换成手机热点,多尝试几次运气好就能下载下来。如果运气太差一直不行,那就参考自己新建代码库(不过有可能common文件下载不下来,是空文件)。反正我自己是过了几天之后运气好突然就很顺利的下载下来了,之前一直试各种方法都不好使。估计就是命吧。

成功检出特定版本之后是这样的:

  1. // 4. 编译安装
  2. mkdir build
  3. cd build
  4. cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF ..
  5. cmake --build .

 成功之后是这样的:

 2.2 安装编译franka_ros

  1. // 1.选择位置下载安装包
  2. cd ~/catkin_franka/src
  3. git clone --recursive https://github.com/frankaemika/franka_ros //默认下载最新版本
  4. cd franka_ros

 如果需要安装特定版本,则还需要加上下面命令:

git checkout <version> //version是你需要的版本

 比如我们实验室需要0.8.0版本的,就写成git checkout 0.8.0

成功检出特定版本之后是这样的

如果编译报错了,可以尝试以下方法:

现在一定要把刚刚下载的franka_ros文件夹打开,如果里面还有一个同名的franka_ros文件夹,就要把里面那个franka_ros文件夹删掉,才能进行下一步安装依赖,不然会报错。

如果不能解决报错,请把franka_ros包重新恢复回来

  1. // 2.下载安装依赖
  2. cd ~/catkin_franka
  3. rosdep install --from-paths src --ignore-src --rosdistro kinetic -y --skip-keys libfranka

 注意这里如果你的ubuntu是18.04的,那么ros是melodic,下载安装依赖的语句就是

rosdep install --from-paths src --ignore-src --rosdistro melodic -y --skip-keys libfranka

同理如果ros是noetic,就把kinetic换成noetic。

 这里可能会报错:

这是因为缺少相关的包,只需要把这些包安装就行。比如 第一行表示我缺少realtime_tools,那我就安装这个:

sudo apt-get install ros-kinetic-realtime-tools

注意:

  • 这一行代码里面如果你的ros是melodic,你就要吧kinetic换成melodic。
  • realtime-tools这里是间隔线,不是下划线。

依次把其他缺少的包给装上(根据自己报错缺失的信息来):

  1. sudo apt-get install ros-kinetic-joint-limits-interface
  2. sudo apt-get install ros-kinetic-transmission-interface
  3. sudo apt-get install ros-kinetic-combined-robot-hw
  4. sudo apt-get install ros-kinetic-controller-interface
  5. sudo apt-get install ros-kinetic-panda-moveit-config
  6. sudo apt-get install ros-kinetic-controller-manager
  7. sudo apt-get install ros-kinetic-control-toolbox
  8. sudo apt-get install ros-kinetic-gazebo-ros-control

最后成功是这样的:

  1. // 3.编译安装
  2. catkin_make -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=~/catkin_franka/libfranka/build
  3. source ~/.bashrc
  • 注意这里PATH=/path/to/libfranka/build 其实PATH后面跟的是自己libfranka/build的路径。如果一直跟着我的步骤就按照上面的来就行。
  • 在编译安装之前,需要打开刚刚下载的franka_ros包里面是不是还有一个文件夹,如果有就要删掉,不然容易编译不成功。

 成功之后是这样的:

 之后就可以考虑安装实时内核了。可以参考:Franka实时内核安装

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/947795
推荐阅读
相关标签
  

闽ICP备14008679号