Difference between revisions of "Documentation/Nightly/Extensions/LightWeightRobotIGT"
Line 18: | Line 18: | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|Module Description}} | {{documentation/{{documentation/version}}/module-section|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 (LWROpenIGTIF). Therefor, a state machine example is available at [http://www.example.com Git Hub] containing the necessary interface classes for the communication on the robot control. A tutorial on how to set up the robotic system for the use with this 3D Slicer module see [http://www.example.com | + | 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 [http://openigtlink.org/ OpenIGTLink protocol] (LWROpenIGTIF). Therefor, a state machine example is available at [http://www.example.com Git Hub] containing the necessary interface classes for the communication on the robot control. A tutorial on how to set up the robotic system for the use with this 3D Slicer module see [http://www.example.com LightWeightRobot-getting started]. For an introduction of the interface concept see [http://www.example.com LightWeightRopbotIGT-Introduction]. The module provides the following features: |
*Communication with the robot control | *Communication with the robot control | ||
− | **Bidirectional cyclic communication with a state control running on the robot control. Command strings of the type "CommandName;p1;...;pn;" with the parameters needed to initialise the | + | **Bidirectional cyclic communication with a state control running on the robot control via ethernet. Command strings of the type "CommandName;p1;...;pn;" with the parameters ''p1-pn'' needed to initialise the stateare sent to the robot control and acknowledge strings are received (see table below for a list of all supported command and acknowledge strings and their parameters). |
**Receiving the transformation matrix containing the pose of each robot joint in robot base coordinate frame and a matrix containing a similar transformation including information about the force direction, absolute value and application point. | **Receiving the transformation matrix containing the pose of each robot joint in robot base coordinate frame and a matrix containing a similar transformation including information about the force direction, absolute value and application point. | ||
− | **Send the transformation matrix | + | **Send the transformation matrix describing the transformation between robot base coordinate frame to image space or CT base coordinate frame |
*Visualisation | *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 estimated 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, and, hence, gives a direct feedback to the user of the current robot state |
− | ** | + | **Active virtual fixtures in relation to the robot and the target region changing their color to red when robot reach the fixtures |
{{Gallery | {{Gallery | ||
|height=300 | |height=300 | ||
Line 47: | Line 47: | ||
*General interface concept and communication overview see [[Media:Tutorial_LightWeightRobotIGT_Introduction.pdf| LightWeightRobotIGT Introduction]] | *General interface concept and communication overview see [[Media:Tutorial_LightWeightRobotIGT_Introduction.pdf| LightWeightRobotIGT Introduction]] | ||
*For tutorial on how to set up your system and start the example see [[Media:Tutorial_LightWeightRobotIGT_getting_started.pdf| LightWeightRobotIGT Getting Started]] | *For tutorial on how to set up your system and start the example see [[Media:Tutorial_LightWeightRobotIGT_getting_started.pdf| LightWeightRobotIGT Getting Started]] | ||
− | * | + | *And how to add new states to the exemplary state machine [[Media:Tutorial_LightWeightRobotIGT_add_module.pdf| LightWeightRobotIGT Add Module]] |
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
Line 54: | Line 54: | ||
*''Start Visualisation'': Send a command to the robot control to activate the Visualisation | *''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 | *''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" | + | *''Load Robot'': Loading the stl-File of the robot and the tool in the path defined by "Path". |
− | *''Show TCP Force'': Visualizing the | + | *''Show TCP Force'': Visualizing the estimated force at the tool center point by a scaled 3D arrow pointing in force direction. |
− | *Registration: | + | *Registration tab: |
**''Free'': Sending a transition request to the ''free'' state to the robot control in which the robot can be moved freely and manually | **''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 | **''Get Fiducial'': Saves the current position in a fiducial list which can be used for a fiducial registration using modul XY | ||
− | *Prepositioning: | + | *Prepositioning tab: |
**''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''. | **''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. | **''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. | ||
Line 77: | Line 77: | ||
{{documentation/{{documentation/version}}/module-section|References}} | {{documentation/{{documentation/version}}/module-section|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. | #''' 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. | ||
+ | #'''Tauscher S''', Ortmaier T, Neff T. Interface concept for the integration of a robot into an image-guided therapy system. Proceedings of the 27th International Congress on Computer Assisted Radiology and Surgery (CARS 2013) | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> |
Revision as of 13:37, 18 September 2014
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).
Module DescriptionThe 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 (LWROpenIGTIF). Therefor, a state machine example is available at Git Hub containing the necessary interface classes for the communication on the robot control. A tutorial on how to set up the robotic system for the use with this 3D Slicer module see LightWeightRobot-getting started. For an introduction of the interface concept see LightWeightRopbotIGT-Introduction. The module provides the following features:
Use CasesN/A Tutorials
Panels and their use
Similar ModulesN/A References
Information for Developers
|