DTResearch
event
 

醫療機器人軟體開發最重要的是?

手術機器人的應用攸關人命,因此確保運作安全是最重要關鍵。MedAcuity Software

任何機器人應用最重要的都是安全性,製造業跟人類工作者共同作業的協作機器人(cobot)或手術室裡的手術機器人,發生任何單點錯誤(single point of failure)都可能讓人遭受嚴重傷害,搭配機器人運作的軟體系統其開發與設計須能確保作業安全。

根據The Robot Report報導,國際電工委員會(IEC)發布的IEC 61508基本功能安全國際標準,其中包含具備自動保護功能的「安全相關系統」的使用、設計、部署、維護。IEC 61508-3提供開發「安全相關系統」軟體的方法,醫療裝置軟體開發社群在設計與建置須符合如ISO 14971醫療器材風險管理等國際標準要求的風險管控措施時應善加應用。

開發「安全相關系統」軟體首先必須建立軟體編碼標準,IEC 61508-3建議使用更好的設計模式、模組化程式碼、確定性時序模式(deterministic timing pattern),而中斷服務常式與鎖定機制的運用應減至最少,且死等待迴圈(dead wait loop)、動態記憶體配置與全域資料物件、重入(re-entrance)與遞迴(recursion)均須避免使用。

危害分析可指出程式碼與資料空間可能受到破壞,而軟體內建的檢測機制也是重要工具,例如開機自我檢測(POST),可確認硬體正常運作、檢查程式碼與資料空間的一致性未遭破壞。

程式碼可儲存於唯讀記憶體並用CRC-32保護,以查驗程式碼空間、偵測與防止不當更改。資料應分散儲存於可透過虛擬記憶體空間保護的不同記憶體區塊,並用CRC/checksum定時檢查資料,CRC/checksum可在每次讀取儲存的程式或資料時進行驗證,並在每次寫入受保護的程式或資料時進行更新。

將控制與監測功能分開由不同處理器或處理程序執行,可防止因程序卡死導致安全受危害,控制功能只需符合最低安全需求即可,監測功則負責處理錯誤回復作業,並可運用狀態機(state machine)、timer-driven事件、watchdog軟體等錯誤偵測與回復機制來避免軟體因設計不當而產生的意外錯誤。

「安全相關系統」的安全顧慮可參考以下技術處理:裝置間與程序間的通訊協定用CRC-32偵測是否被破壞,並內建重試與無狀態(stateless)協定以排除錯誤;透過安全作業軟體可依定義的預設值回復一致性或支援原廠重設(factory reset);watchdog軟體可確保監測軟體正常執行。


  •     按讚加入DIGITIMES智慧應用粉絲團
更多關鍵字報導: 醫療機器人