2016 Summer Project Week/Integrating/Using OpenIGTLink for the communications of Robotics devices

From NAMIC Wiki
Revision as of 09:00, 25 June 2016 by Shery (talk | contribs)
Jump to: navigation, search
Home < 2016 Summer Project Week < Integrating < Using OpenIGTLink for the communications of Robotics devices

Key Investigators

  • Scheherazade Kraß
  • Longquan Chen

Project Description


  • Obtaining a better understanding of OpenIGTLink:
  1. How to use and integrate it in different robotic devices using:
    1. MeVisLab applications
    2. Slicer

Approach, Plan

PLUS Platform
  • Plus is an open-source software toolkit for data acquisition, pre-processing, and calibration for navigated image-guided interventions. OpenIGTLink is integrated inside for communication.
  1. Website: https://app.assembla.com/spaces/plus/wiki
  2. OpenIGTLInk is only a communication protocal, the control of the medical devices is achieved by PLUS
  3. Kuka LBR is supported
Robotic Devices
  • Defining different workflows for communication between robotic device and MeVislab applications, including sending/receiving strings, image sets and control commands for:
  1. The Kuka LBR robot used in a MeVislab based research project.
  2. The MRI compatible Manipulator, a 5 DoF robot for performing transrectal prostate biopsies.
  • Defined Scenarios:
    • Workflow01:
      • Ask for the status of the robotic device
      • Get the current position of the device tip
      • Send commands to the robot (simulator) to get to the new target position
      • Set /ask/ retrieve time stamps

MLab Interface
  • Design and implement a generic interface for using OpenIGT commands in MeVislab network layer.
  1. OpenIGTLinkIO is a slicer independent library to use OpenIGTLink, could be used as good example (https://github.com/IGSIO/OpenIGTLinkIO)
    • Create Client /Server
      • Host name(IP), port, show status, connection time out, start/stop, connect/disconnect
    • Create Thread for realtime (?)
    • Define Datatypes: Vector position, Status, etc..
    • Communication: Send and recieve and save:
      • Massages and nr. of massages
      • Data-sets
      • Images
    • Sending control commands
    • loggs: showing, saving


  • We designed and discussed about our module in MeVisLab, which is presented in the following paper. This was submitted in CURAC (The German society for computer and robotic assisted surgery) during the project week:
    • "A generic module interface in MeVisLab using OpenIGTLink for defining real-time communication workflows among robotic devices"
    • For details please see the paper.
  • We compiled the latest available OpenIGTLink Library and worked on different examples and communication methods.
  • Next steps: Integrate and develop the module to achieve the defined goal.