MRI robot/JHU 2007 07 17 Meeting
From CISSTwiki
Contents |
[edit]
Participants
- Noby
- Junichi
- Philip
- David
- Greg
- Csaba
[edit]
Workphases
[edit]
Startup
Waiting for components to boot up
- Attribute: workphase
- Value: START_UP
- Sent: by Slicer, every 2-3 sec until gets reply
- Response: status message - robot is ready
[edit]
Planning
Load pre-op images, load the targets - maybe register to new images
- Attribute: workphase
- Value: PLANNING
- Sent: by Slicer, every 2-3 sec until gets reply
- Response: status message - robot is ready -- same as Startup
[edit]
Calibration
Locate Z-Frame and send coord to robot
- Attribute: workphase
- Value: CALIBRATION
- Sent: by Slicer, every 2-3 sec until gets reply
- Response: status message - robot ready for Z-Frame
When Slicer found the ZFrame coordinates:
- Attribute: command
- Value: ZFRAME
- Attribute: position, orientation
- Value: Z-frame position and orientation
- Response: status message - whatever
[edit]
Targeting
Confirm and send target to robot -- move robot
- Attribute: workphase
- Value: TARGETING
- Sent: by Slicer, every 2-3 sec until gets reply
- Response: status message - robot ready for Targeting
When target confirmed:
- Attribute: command
- Value: TARGET
- Attribute: position, orientation
- Value: Target position and orientation
- Response: current position, 10/sec, until "Done Moving" -- later this will be sent only as response to Query:GetActualCoordinates
[edit]
Manual control
Lock brakes and allow manual needle insertion
- Attribute: workphase
- Value: MANUAL
- Sent: by Slicer, every 2-3 sec until gets reply
- Response: current position, 10/sec, while is in this phase -- later this will be sent only as response to Query:GetActualCoordinates
[edit]
Emergency
Stop everything
- Attribute: workphase
- Value: EMERGENCY
- Sent: by Slicer, continuously until gets reply
- Response: status message - robot shut down
[edit]
Status message
- Attribute: status
- Value:
- Idle - Ready to receive START_UP command
- Initializing - START_UP received, not ready for next command yet
- Uncalibrated - Waiting for a calibration position/orientation (from ZFRAME)
- Ready - ZFRAME received, ready to receive target coordinates
- Moving - Moving towards the target
- Manual - Manual repositioning, tracking the robot
- Error - The robot has encountered an error that must be remedied
- EStop - The emergency stop is activated
- Attribute: message
- Value: the detailed description in English, max 255 chars
[edit]
Possible errors
- Target is out of range
- ZFrame is out of range
- Lost air pressure - nr
- Encoder failure - nr
- Valve failure - nr
- Positioning timed out - nr
- Cable is not connected - nr
[edit]
Actual coordinates message
- Attribute: command
- Value: POSITION
- Attribute: position (p: x,y,z)
- Value: robot tip position
- Attribute: orientation (r - quaternion)
- Value: needle orientation
- Attribute: depth
- Value: needle depth vector n: [offset_x, offset_y, d] (needle depth 'd' along z-axis of 'r')
Needle tip = p + RotationMatrix(r) * n'
[edit]