- Use the Fast Research Interface (FRI) to connect to the robot
- Integration with ROS control
- Gazebo integration with gravity compensation (similar to real robot)
iiwa_ros requires several packages to be installed in order to work properly:
- ROS - ROS: tested in Melodic and Kinetic; Indigo should work also
- KUKA FRI - This is a modified version of the C++ FRI library provided by KUKA: unfortunately, we cannot release this code, but if you own a KUKA manipulator please contact us in order to acquire this modified library.
- ROS Control
- Gazebo and gazebo-ros-pkgs
- SpaceVecAlg
- RBDyn
- mc_rbdyn_urdf
- corrade
- robot_controllers
cd /source/directory
git clone https://github.com/epfl-lasa/kuka_fri.git
cd kuka_fri
./waf configure
./waf
sudo ./waf install
cd /source/directory
git clone --recursive https://github.com/costashatz/SpaceVecAlg.git
cd SpaceVecAlg
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_SIMD=ON -DPYTHON_BINDING=OFF ..
make -j
sudo make install
cd /source/directory
git clone --recursive https://github.com/costashatz/RBDyn.git
cd RBDyn
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_SIMD=ON -DPYTHON_BINDING=OFF ..
make -j
sudo make install
cd /source/directory
git clone --recursive https://github.com/costashatz/mc_rbdyn_urdf.git
cd mc_rbdyn_urdf
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_SIMD=ON -DPYTHON_BINDING=OFF ..
make -j
sudo make install
cd /source/directory
git clone https://github.com/mosra/corrade.git
cd corrade
mkdir build && cd build
cmake ..
make -j
sudo make install
cd /source/directory
git clone https://github.com/epfl-lasa/robot_controllers.git
cd robot_controllers
mkdir build && cd build
cmake ..
make -j
sudo make install
cd /path/to/ros_workspace
# source ros workspace
catkin_make
You need a specific application to run on the robot side.
0. Make sure a Windows laptop is connected on the X66 Ethernet port and has IP 172.31.1.42
mask 255.255.0.0
- Create a new Sunrise project with Sunrise Workbench and setup an empty RobotApplication template
- Setup the safety configuration in
SafetyConfiguration.sconf
(example) - Replace the empty template with the online app
- In
StationSetup.cat
, tabSoftware
, active the FRI extension, push it to the robot withInstallation
and accept the reboot question - Synchronise your new Sunrise project to the robot with icon
Synchronize project
- On the Smartpad tablet, your app must be listed in [Applications] and you must also see a new [FRI] tab
Control IIWA with FRI
- Make sure your Linux/ROS laptop is connected on the KONI Ethernet port and has IP
192.170.10.1
mask255.255.255.0
. - On the Smartpad tablet:
- Activate
AUT
mode (turn key right > AUT > key left) - In
[Application]
, check yours in order to select it - Press the mechanical
Play
button ▶
- Within 10 seconds before the timeout, launch:
roslaunch iiwa_driver iiwa_bringup.launch
. This will connect to IIWA robot using FRI. 4 The Smartpad lets you select control mode and stiffness - Check that everything works if
/iiwa/joint_states
is being published and reflects the actual robot state. - The Smarpad'd [Application] tab must remain green. Otherwise you can press
Play ▶
again to reconnect.
In case of a hard failure, unload the app by unchecking it in [Application] before retrying.
To launch Gazebo with IIWA
roslaunch iiwa_gazebo iiwa_gazebo.launch
Both of the above commands will launch IIWA in position-control mode. To change the control mode (e.g., torque with gravity compensation), please edit the launch files to select the appropriate controller.
If everything looks in simulation or with the FRI driver, a next step might be to try out your robot with MoveIt.
UNDER CONSTRUCTION
iiwa_ros is being actively developed. Please see CONTRIBUTING for more on how to help.
The URDF description files are copied and refactored from iiwa_stack (by Salvatore Virga and Marco Esposito).
- Konstantinos Chatzilygeroudis (konstantinos.chatzilygeroudis@epfl.ch)
- Bernardo Fichera (bernardo.fichera@epfl.ch)
- Walid Amanhoud (walid.amanhoud@epfl.ch)