Difference between revisions of "Documentation/Nightly/Extensions/LightWeightRobotIGT"
(10 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
<noinclude>{{documentation/versioncheck}}</noinclude> | <noinclude>{{documentation/versioncheck}}</noinclude> | ||
+ | {{ambox | ||
+ | | type = protection | ||
+ | | image = [[File:InProgress.png|40px|alt=Work in progress]] | ||
+ | | text = WARNING: This module is Work in Progress, which means: | ||
+ | * the functionality provided by this module may change drastically in the future releases of 3D Slicer | ||
+ | * the scenes containing data types specific to this module may not be readable by the future versions of Slicer | ||
+ | * the functionality and user interface may change at any time | ||
+ | * some functionality may not work as intended | ||
+ | * testing and documentation is limited | ||
+ | }} | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-header}} | {{documentation/{{documentation/version}}/module-header}} | ||
Line 18: | Line 28: | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|Module Description}} | {{documentation/{{documentation/version}}/module-section|Module Description}} | ||
− | The LightWeightRobotIGT module allows to communicate with a light weight robot (LWR iiwa, KUKA Laboratories GmbH, Germany, Augsburg) using an open interface concept based on the [http://openigtlink.org/ OpenIGTLink protocol] (LWROpenIGTIF). Therefore, a state machine example is available at [ | + | The LightWeightRobotIGT module allows to communicate with a light weight robot (LWR iiwa, KUKA Laboratories GmbH, Germany, Augsburg) using an open interface concept based on the [http://openigtlink.org/ OpenIGTLink protocol] (LWROpenIGTIF). Therefore, a state machine example is available at [https://github.com/tauscherSw/LWROpenIGTIF.git Git Hub] containing the necessary interface classes for the communication on the robot control. The software documentation can be found [https://github.com/tauscherSw/LWROpenIGTIF.git Git Hub] as well. A tutorial on how to set up the robotic system for the use with this 3D Slicer module see [[Media:Tutorial_LightWeightRobotIGT_Gettingstarted.pdf| LightWeightRobotIGT Getting Started]]. For an introduction of the interface concept see [[Media:Tutorial_LightWeightRobotIGT_Introduction.pdf| LightWeightRobotIGT Introduction]]. The module provides the following features: |
*Communication with the robot control | *Communication with the robot control | ||
**Bidirectional cyclic communication via ethernet with a state control running on the robot control. Command strings of the type "CommandName;p1;...;pn;" with the parameters ''p1-pn'' needed to initialise the states are 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). | **Bidirectional cyclic communication via ethernet with a state control running on the robot control. Command strings of the type "CommandName;p1;...;pn;" with the parameters ''p1-pn'' needed to initialise the states are 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). | ||
Line 46: | Line 56: | ||
{{documentation/{{documentation/version}}/module-section|Tutorials}} | {{documentation/{{documentation/version}}/module-section|Tutorials}} | ||
*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]] | ||
− | *Tutorial on how to set up your system and start the example see [[Media: | + | *Tutorial on how to set up your system and start the example see [[Media:Tutorial_LightWeightRobotIGT_Gettingstarted.pdf| LightWeightRobotIGT Getting Started]] |
− | |||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|Panels and their use}} | {{documentation/{{documentation/version}}/module-section|Panels and their use}} | ||
− | *''Start Communication'': Starts the cyclic communication with the state machine on the robot control | + | {| |
− | *''Start Visualisation'': Sends a command to the robot control to activate the | + | |[[Image:Panel.jpg|thumb|400px|LighTWeightRobotIGT]] |
− | *''Stop Visualisation'': Sends a command to the robot control to deactivate the | + | |} |
− | *''Load Robot'': Loads the stl-files of the robot and the tool from the path defined by "Path". | + | {|style="width: 100%" |
+ | | | ||
+ | *''Start Cyclic Communication'': Starts the cyclic communication with the state machine on the robot control and activates the connector nodes | ||
+ | *''Start Visualisation'': Sends a command to the robot control to activate the visualization | ||
+ | *''Stop Visualisation'': Sends a command to the robot control to deactivate the visualization | ||
+ | *''Path'': Path were the robot stl files are located | ||
+ | *''Load Robot STL'': Loads the stl-files of the robot and the tool from the path defined by "Path". | ||
*''Show TCP Force'': Visualizing the estimated force at the tool center point by a scaled 3D arrow pointing in force direction. | *''Show TCP Force'': Visualizing the estimated force at the tool center point by a scaled 3D arrow pointing in force direction. | ||
*Registration tab: | *Registration tab: | ||
**''Free'': Sends a transition request to the ''Free'' state to the robot control, in which the robot can be moved freely and manually | **''Free'': Sends 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 | + | **''Get Fiducial from Robot'': Saves the current position in a fiducial list which can be used for a fiducial registration using modul Fiducial Registration |
+ | | align="right"| | ||
+ | [[Image:PanelPrePositioning.jpg|thumb|400px|Prepositioning tab]] | ||
+ | |- | ||
+ | | | ||
*Prepositioning tab: | *Prepositioning tab: | ||
+ | **''point x,y,z'': Position of the cone tip or the plane in robot base coordinate frame | ||
+ | **''n'': z-axis of the cone or norm vector of the plane | ||
+ | **''VFtype'': Here you can choose the geometry of the virtual fixture - cone or plane | ||
**''Virtual Fixture'': Sends 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'': Sends 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''. | ||
− | **'' | + | **''Path Impedence Control'': Sends 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. |
+ | | align="right"| | ||
+ | [[Image:PanelTargeting.jpg|thumb|400px|Prepositioning tab]] | ||
+ | |- | ||
+ | | | ||
*Targeting: | *Targeting: | ||
− | **''Move To'': Sends a transition request to the ''MoveTo'' state to the robot control in which the robot moves position controlled towards a target position. | + | **''Move To Pose'': Sends a transition request to the ''MoveTo'' state to the robot control in which the robot moves position controlled towards a target position. |
+ | **''point x, y, z'': Target position in robot base coordinate frame | ||
+ | **''A, B, C'': Euler ankle describing the orientation at the target point in robot b ase coordinate frame of the tool | ||
*''Reset Robot to Idle'': Sends a transition request to the ''Idle'' state to the robot control | *''Reset Robot to Idle'': Sends a transition request to the ''Idle'' state to the robot control | ||
− | *''Shut Down | + | *''Shut Down State Machine'': Sends a command to shut down the state machine running on the robot control |
+ | |} | ||
+ | |||
<!-- | <!-- | ||
{{documentation/{{documentation/version}}/module-parametersdescription}} | {{documentation/{{documentation/version}}/module-parametersdescription}} | ||
Line 83: | Line 113: | ||
{{documentation/{{documentation/version}}/module-developerinfo}} | {{documentation/{{documentation/version}}/module-developerinfo}} | ||
+ | Source code: https://github.com/SNRLab/LightWeightRobotIGT | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-footer}} | {{documentation/{{documentation/version}}/module-footer}} | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> |
Latest revision as of 17:32, 16 December 2018
Home < Documentation < Nightly < Extensions < LightWeightRobotIGT
For the latest Slicer documentation, visit the read-the-docs. |
WARNING: This module is Work in Progress, which means:
|
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 allows to communicate with a light weight robot (LWR iiwa, KUKA Laboratories GmbH, Germany, Augsburg) using an open interface concept based on the OpenIGTLink protocol (LWROpenIGTIF). Therefore, a state machine example is available at Git Hub containing the necessary interface classes for the communication on the robot control. The software documentation can be found Git Hub as well. A tutorial on how to set up the robotic system for the use with this 3D Slicer module see LightWeightRobotIGT Getting Started. For an introduction of the interface concept see LightWeightRobotIGT Introduction. The module provides the following features:
Use CasesN/A Tutorials
Panels and their use
Similar ModulesN/A References
Information for Developers
Source code: https://github.com/SNRLab/LightWeightRobotIGT
|