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

From NAMIC Wiki
Revision as of 08:38, 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