2016 Summer Project Week/Integrating/Using OpenIGTLink for the communications of Robotics devices
From NAMIC Wiki
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:
- How to use and integrate it in different robotic devices using:
- MeVisLab applications
- 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.
- Website: https://app.assembla.com/spaces/plus/wiki
- OpenIGTLInk is only a communication protocal, the control of the medical devices is achieved by PLUS
- 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:
- The Kuka LBR robot used in a MeVislab based research project.
- 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
- Workflow01:
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
- Create Client /Server
Progress
- A generic module interface in MeVisLab using OpenIGTLink for defining real-time communication workflows among robotic devices