(tested for ubuntu 20.04)
Install dependancies
sudo apt-get install build-essential bc curl ca-certificates fakeroot gnupg2 libssl-dev lsb-release flex bison
Download kernal and its patch
cd iiwa_driver && mkdir rt-linux && cd rt-linux
curl -SLO https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.47.tar.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/5.4/older/patch-5.4.47-rt28.patch.xz
Decompress all
xz -d linux-5.4.47.tar.xz
xz -d patch-5.4.47-rt28.patch.xz
Apply the patch
tar xf linux-5.4.47.tar
cd linux-5.4.47
patch -p1 < ../patch-5.4.47-rt28.patch
Make config for PREEMPT_RT_FULL
make oldconfig
check in opened menu Fully Preemptible Kernel (Real-Time) (PREEMPT_RT) (NEW)
Next, compile kernel
fakeroot sudo make -j8 deb-pkg
sudo dpkg -i ../linux-headers-5.4.40-rt24_*.deb ../linux-image-5.4.40-rt24_*.deb
Reboot computer
reboot
and check if new kernall is installed.
At the end add real-time permissions to user
sudo addgroup realtime
sudo usermod -a -G realtime $(whoami)
and add following limits to real-time group (/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
-
Be sure you have:
- LBR iiwa (I have 14 kg version)
- Sunrise.Workbench
- Sunrise.FRI
-
Install packages
sudo apt install libyaml-cpp*
-
Copy files from
FRIClient_SDK_CPP/*
toextern/fri-client-sdk/
dirictory. -
Build FRI client.
cd ./extern/fri-client-sdk/build/GNUMake && make
-
Disable IPv6
-
Set IPv4 to
192.168.10.200
255.255.255.0