MRI robot/JHU 2007 07 10 Meeting

From CISSTwiki

Jump to: navigation, search

Contents

Participants

  • Greg Fischer, JHU
  • Csaba Csoma, JHU

Overview

Navigation Software ⇔ OpenTracker ⇔ Network ⇔ OpenTracker (BRPtprReceiver) ⇔ Named Pipe ⇔ Robot Controller (BRPtprControl)

Software design

  • C++
  • 2 threads in each process, one for each direction
  • blocking read/write with named pipe

Other

  • Watchdog for the network communication
    • Navigation Software sends a "ping" message every second
    • Robot controller goes into the "fault" state if there's no message for 5 sec
if (ThereIsMessage) {
 counter = 500;
 ProcessMessage(x);
} else {
 counter--;
 if (counter<=0) {
   NetworkFailure();
 }
}
  • Command priority: what happens if there's 30 "GetPosition" in the queue, and "Emergency Stop" arrives?
    • Controller side: command priority
    • Controller side/Navigation Software side: group "GetPosition" messages into a single one
Views
Personal tools