Documentation/Nightly/Extensions/LightWeightRobotIGT

From Slicer Wiki
Revision as of 15:38, 11 September 2014 by Tauscher (talk | contribs)
Jump to: navigation, search
Home < Documentation < Nightly < Extensions < LightWeightRobotIGT


For the latest Slicer documentation, visit the read-the-docs.


Introduction and Acknowledgements

This work is supported in part by the National Institute of Health (R01CA111288, P01CA067165, P41RR019703,P41EB015898, R01CA124377, R01CA138586, R42CA137886, and U54EB005 149) and is funded by KUKA Laboratories GmbH (Augsburg, Germany).
Author: Sebastian Tauscher, Junichi Tokuda
Contact: Sebastian Tauscher, <email>sebastian.tauscher@imes.uni-hannover.de</email>

Module Description

The LightWeightRobotIGT module allow to communicate with a light weight robot LWR iiwa (KUKA Laboratories GmbH, Germany, Augsburg) using a open interface concept based on the OpenIGTLink protocol. Therefor, a state machine example is available at ADD LINK containing the necessary interface classes for the communication on the robot control. For an tutorial on how to set up the robotic system for the use with this 3D Slicer module see XX. The module provides the following features:

  • Communication with the robot control
    • a bidirectional cyclic communication with a state control. Command strings of the type "CommandName;p1;...;pn;" with the parameters needed to initialise the state p1-pn are sent to the robot control and acknowledge strings are received (see table below for a list of all supported commands and acknowledge strings and their parameters).
    • Receiving the transformation matrix containing the pose of each robot joint in robot base coordinate frame
  • Visualisation
    • a 3D model of the robot can be loaded and is automatically connected to the corresponding transformation matrices received from the robot control.
    • the estimate force at the tool center point, e.g. the tool tip can be visualized by an scaled 3D arrow in the force direction.
    • the color of the robot model changes the color due to the current robot state received in the acknowledge string

Use Cases

N/A

Tutorials

N/A

Panels and their use

  • Start Communication: Starts the cyclic communication with the state machine on the robot control
  • Start Visualisation: Send a command to the robot control to activate the Visualisation
  • Stop Visualisation: Send a command to the robot control to deactivate the Visualisation
  • Load Robot: Loading the stl-File of the robot and the tool in the path defined by "Path". The part shuld be named ....
  • Show TCP Force: Visualizing the estimate force at the tool center point by a scaled 3D arrow pointing in force direction.
  • Registration:
    • Free: Sending a transition request to the free state to the robot control in which the robot can be moved freely and manually
    • Get Fiducial: Saves the current position in a fiducial list which can be used for a fiducial registration using modul XY
  • Prepositioning:
    • Virtual Fixture: Sending a transition request to the VirtualFixtures state to the robot control in which the robot can be moved freely and manually in work space restricted by active constraints. The supported virtual fixtures geometries are plane and cone.
    • PathImp: Sending a transition request to the Path state to the robot control in which the robot can be moved on a linear path from the current position towards a target position.
  • Targeting:
    • Move To: Sending a transition request to the MoveTo state to the robot control in which the robot moves position controlled towards a target position.
  • Reset Robot to Idle: Sending a transition request to the Idle state to the robot control
  • Shut Down state machine: Sends a command to shut down the state machine running on the robot control

Similar Modules

N/A

References

Tauscher S, Tokuda J, Schreiber G, Neff T, Hata N, Ortmaier T. OpenIGTLink interface for state control and visualisation of a robot for image-guided therapy systems. Int J Comput Assist Radiol Surg. 2014 Jun 13.

Information for Developers