多機器人系統、人機互動與軟體
機器人中介軟體
機器人中介軟體是處在「中間」的那一層軟體——位於機器人眾多彼此獨立的程式,與它們下方的硬體之間——讓所有這些部件能互相找到對方、彼此交談。「中介軟體」這個詞的意思,就是住在中間、負責「管道雜活」而不是幹主角活兒的軟體。可以把它想成一棟樓裡的電線、水管和總配電盤:你從不會去欣賞水管,但少了它們,廚房、衛生間和暖氣就沒法共享水和電。中介軟體就是那條看不見的連接組織,被看得見的機器人程式所依賴。
它默默地包辦了三件本來會很頭疼的雜事。第一是訊息傳遞:把資料從產生它的程式(比如攝影機)送到任何想要它的程式,並把每條訊息打包、投遞。第二是發現:當一個新程式啟動時,中介軟體幫它自動找到那些已經在執行的其他程式,這樣誰都不必手動把位址寫死在程式碼裡。第三是硬體抽象:它把某個具體馬達或感測器那些雜亂、與品牌相關的細節,藏在一個乾淨、標準的介面背後,於是其餘程式碼只要說「向前開」,而不必關心輪子是哪家公司造的。換上同一類的另一個感測器,上層程式幾乎察覺不到。
正因為中介軟體包辦了這些管道雜活,做機器人的人才能把精力放在「行為」上——感知、規劃、執行——而不必每次都重新解決「位元組如何在程式之間傳輸」這個問題。ROS 內部那個負責訊息傳遞的核心,是機器人中介軟體最著名的例子,但這個理念是通用的,在整個領域裡以許多不同的名字出現。
一名工程師把一台舊的雷射掃描儀換成另一家廠商的新型號。由於中介軟體把這兩者都藏在同一個「距離讀取」介面背後,導航程式原封不動就能繼續執行。
硬體抽象讓你能更換零件,而不必重寫「大腦」。
中介軟體天生就是「隱形」的:它工作正常時,你會忘了它的存在;只有當訊息遺失、遲到,或兩個程式互相找不到對方時,你才會注意到它。
又稱
另見