FrankaEmika_Panda环境配置

FrankaEmika官方配置文档:

https://frankaemika.github.io/docs/install_linux.html
官方目前给出的有windows和ubuntu版本,推荐ubuntu,windows的光是一些链接库都非常难装,且目前网上没有发现有人尝试过,因此不建议。


环境需求

  • ubuntu 16.04
  • ROS kinetic
    注意:16.04也有好多版,目前博主尝试好用的是16.04.5
    关于系统和ROS的安装,参看网络教程

libfranka&franka-ros下载编译

这里选择Building from source方案,所以不要运行这一条!
sudo apt install ros-kinetic-libfranka ros-kinetic-franka-ros

libfranka部分:

一些依赖项的安装:
sudo apt install build-essential cmake git libpoco-dev libeigen3-dev
git下载:
git clone -b 0.5.0 https://github.com/frankaemika/libfranka
注意:这里选择的是0.5.0版本,这个实际是跟你买的设备有关系的,如果默认下载的0.6.0,可能会存在如下错误:

libfranka: Imcompatible library version(server version:2, library version: 3)

运行franka-ros里的文件,如果出现这个问题。就是你装错版本了,checkout version看看,是不是装成0.6.0 如果是,按上面那条重装libfranka吧。

接着:
cd libfranka
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
下载的时候,很可能下到的是不完整的版本,common文件夹是空的。到这一步,就会报错,需要手动下载common文件夹。
https://github.com/frankaemika/libfranka/tree/5ca631efda3d077e5d9f5f7299d10575d832cfc2
在这个位置找到并下载common文件夹,替换原来的空common文件夹。
后面的一串码,来源于gitclone的步骤,所以下载完千万别关terminal,把下载的版本号保存起来
cmake --build .
注意:一定要编成release版,否则,可能后期存在通讯问题,libfanka因为通讯频率不够,接不上FCI,机械臂动不了
编译需要一些时间

franka-ros部分:

cd /path/to/desired/folder
mkdir -p catkin_ws/src
cd catkin_ws
source /opt/ros/kinetic/setup.sh
catkin_init_workspace src
ROS基础操作,建一个ROS的工作空间,关于工作空间的source问题,新手自行百度。

git clone --recursive https://github.com/frankaemika/franka_ros src/franka_ros
默认安装即可,目前未发现有版本问题。

安装一些依赖:
rosdep install --from-paths src --ignore-src --rosdistro kinetic -y --skip-keys libfranka

catkin编译:
catkin_make -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/path/to/libfranka/build
这里看清楚了:/path/to/libfranka/build,要根据自己的情况更改的

source一下:
source devel/setup.sh
建议还是写到~/.bashrc里吧,这样不用每次都source:

source ~/catkin_ws/devel/setup.sh

运行roscd, 检查一下


刷内核

关键一步,影响与机械臂通讯频率的重要一步,干坏了会导致机械臂连不上libfranka
惯例,一些依赖:
apt-get install build-essential bc curl ca-certificates fakeroot gnupg2 libssl-dev lsb-release libelf-dev bison flex

下载和校验

下载编译内核的原材料:
curl -SLO https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.12.tar.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.12.tar.sign
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patch-4.14.12-rt10.patch.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patch-4.14.12-rt10.patch.sign
网比较好的大佬可以直接这么操作,如果嫌速度慢,也可以按照网址自己到windows迅雷下载,快很多
把压缩包都解压
下载校验:(官方给的解释是验证一下你下载的是不是完整可靠的包,保险起见,还是通过校验再编译比较好,当然自信的也可以不验)
gpg2 --verify linux-4.14.12.tar.sign
如果你的结果是这样:

$ gpg2 --verify linux-4.14.12.tar.sign
gpg: assuming signed data in 'linux-4.14.12.tar'
gpg: Signature made Fr 05 Jan 2018 06:49:11 PST using RSA key ID 6092693E
gpg: Can't check signature: No public key

就是没有公钥,自己加一下
内核的公钥:
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 0x6092693E
实时补丁的公钥:
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 0x2872E4CC
导入公钥也有别的办法,要是这个不行,自行百度
再校验一下:
$ gpg2 --verify linux-4.14.12.tar.sign
$ gpg2 --patch-4.14.12-rt10.patch.sign

通过校验的示例:

$ gpg2 --verify linux-4.14.12.tar.sign
gpg: assuming signed data in 'linux-4.14.12.tar'
gpg: Signature made Fr 05 Jan 2018 06:49:11 PST using RSA key ID 6092693E
gpg: Good signature from "Greg Kroah-Hartman <gregkh@linuxfoundation.org>" [unknown]
gpg:                 aka "Greg Kroah-Hartman <gregkh@kernel.org>" [unknown]
gpg:                 aka "Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 647F 2865 4894 E3BD 4571  99BE 38DB BDC8 6092 693E

编译内核

注意:哪台电脑装,就在哪台上编译,不要直接使用别的机器编译好的文件,可能导致内核刷不好,后续没法用
tar xf linux-4.14.12.tar
cd linux-4.14.12
patch -p1 < ../patch-4.14.12-rt10.patch
配置内核:
make oldconfig
遇到这个:

Preemption Model
    1. No Forced Preemption (Server) (PREEMPT_NONE)
    2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
    3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT__LL) (NEW)
    4. Preemptible Kernel (Basic RT) (PREEMPT_RTB) (NEW)
    > 5. Fully Preemptible Kernel (RT) (PREEMPT_RT_FULL) (NEW)

选上5
其他的一路enter就对了。会跳出一大长串的配置信息。

开始编译:
fakeroot make -j4 deb-pkg
这里,你的电脑有几个cpu核,就把4换成几。这样可以利用所有的核一起来编译,因为编译这个非常耗时间,所以建议把所有的核都用上。
到了最后,会卡在最后一个包的位置。包文件为:
/linux-image-4.14.12-rt10-dbg_4.14.12_rt10-1_amd64.deb
实际上,官方给的文档里,不需要安装这个包,,所以,等不了可以放弃,能等的可以等等,毕竟还是正常编完比较稳妥。

dpkg安装三连:
sudo dpkg -i ../linux-headers-4.14.12-rt10_*.deb ../linux-image-4.14.12-rt10_*.deb
把那三个好使的deb都装上,带dbg的就别装了

重启一下,进ubuntu 高级选项,可以看到你安装的内核。
尝试直接进普通模式,如果可以,说明你装的挺好。如果进去黑屏了,也不用慌,还可以试试从recovery模式进去。遇到红色界面,一路enter,看看能不能行。还不行,你只能卸载内核,重新装了……

进去之后,检查一下,是不是装上需要的内核了:
尝试指令:
uname -a
如果版本正确,带PREEMPT RT/sys/kernel/realtime里有一个1,就是没毛病了。

添加实时组许可

sudo addgroup realtime
sudo usermod -a -G realtime $(whoami)
$(whoami) 改自己用户名,不改直接写这个貌似也可以

sudo gedit /etc/security/limits.conf
在文档最后面加上:

@realtime soft rtprio 99
@realtime soft priority 99
@realtime soft memlock 102400
@realtime hard rtprio 99
@realtime hard priority 99
@realtime hard memlock 102400

重启一次
配置部分结束


测试环境

再libfranka/build/examples路径下
运行
./communication_test 172.16.0.2
如果提示你接下来会移动机械臂,让你注意,按一下enter
机械臂动了,跳了一长串通讯信息,最后提示10000次尝试,丢了xx次,就证明libfranka和FCI连上了
也可以尝试其他的一些demo
也在这个路径下,记得调用一定要加上机械臂的ip

尝试franka-ros:
roslaunch franka_example_controllers move_to_start.launch robot_ip:=172.16.0.2
会跳出rviz的界面
如果报了一些错,一般都是缺包,按照提示安装ros-kinetic的包就可以。
建议直接装上moveit
sudo apt-get install ros-kinetic-moveit
缺好多依赖都是moveit的一些东西,直接装完整的就行

到能跳rviz界面,机械臂能动,terminal 不报错,就证明基本能行了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容