Difference between revisions of "2016 Summer Project Week/Integrating/Using OpenIGTLink for the communications of Robotics devices"

From NAMIC Wiki
Jump to: navigation, search
Line 34: Line 34:
 
<h5>MLab Interface</h5>
 
<h5>MLab Interface</h5>
 
*Design and implement a generic interface for using OpenIGT commands in MeVislab network layer.
 
*Design and implement a generic interface for using OpenIGT commands in MeVislab network layer.
 +
OpenIGTLinkIO is a slicer independent library to use OpenIGTLink, could be used as good example (https://github.com/IGSIO/OpenIGTLinkIO)
 
**Create Client /Server
 
**Create Client /Server
 
***Host name(IP), port, show status, connection time out, start/stop, connect/disconnect
 
***Host name(IP), port, show status, connection time out, start/stop, connect/disconnect

Revision as of 11:33, 13 June 2016

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

Key Investigators

  • Scheherazade Kraß
  • Longquan Chen

Project Description

Objective

  • 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

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.

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

Progress

  • to be defined in the project week.