/iiwa_ros

ROS Meta-package for controlling KUKA IIWA

Primary LanguageC++OtherNOASSERTION

iiwa_ros

ROS Stack for KUKA's IIWA robots

  • Use the Fast Research Interface (FRI) to connect to the robot
  • Integration with ROS control
  • Gazebo integration with gravity compensation (similar to real robot)

Requirements

iiwa_ros requires several packages to be installed in order to work properly:

Dependencies

KUKA FRI (Private)

cd /source/directory
git clone https://github.com/epfl-lasa/kuka_fri.git
cd kuka_fri
./waf configure
./waf
sudo ./waf install

SpaceVecAlg

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

RBDyn

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

mc_rbdyn_urdf

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

corrade

cd /source/directory
git clone https://github.com/mosra/corrade.git
cd corrade
mkdir build && cd build
cmake ..
make -j
sudo make install

robot_controllers

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

Compilation

cd /path/to/ros_workspace
# source ros workspace
catkin_make

Sunrise Robot Application upload

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

  1. Create a new Sunrise project with Sunrise Workbench and setup an empty RobotApplication template
  2. Setup the safety configuration in SafetyConfiguration.sconf (example)
  3. Replace the empty template with the online app
  4. In StationSetup.cat, tab Software, active the FRI extension, push it to the robot with Installation and accept the reboot question
  5. Synchronise your new Sunrise project to the robot with icon Synchronize project
  6. On the Smartpad tablet, your app must be listed in [Applications] and you must also see a new [FRI] tab

Basic Usage

Bringup iiwa_driver

Control IIWA with FRI

  1. Make sure your Linux/ROS laptop is connected on the KONI Ethernet port and has IP 192.170.10.1 mask 255.255.255.0.
  2. 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 ▶
  1. 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
  2. Check that everything works if /iiwa/joint_states is being published and reflects the actual robot state.
  3. 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.

Gazebo Simulation

To launch Gazebo with IIWA

roslaunch iiwa_gazebo iiwa_gazebo.launch

Both of the above commands will launch IIWA in torque-control mode. To change the control mode (e.g., position-control), please edit the launch files to select the appropriate controller.

MoveIt planning

If everything looks in simulation or with the FRI driver, a next step might be to try out your robot with MoveIt.

Documentation

UNDER CONSTRUCTION

Contributing

iiwa_ros is being actively developed. Please see CONTRIBUTING for more on how to help.

Acknowledgements

The URDF description files are copied and refactored from iiwa_stack (by Salvatore Virga and Marco Esposito).

Authors/Maintainers

Other Contributors