<li id="wkceg"></li>
<rt id="wkceg"><delect id="wkceg"></delect></rt>
<bdo id="wkceg"></bdo>
<strike id="wkceg"><acronym id="wkceg"></acronym></strike>

  • 帳號:
    密碼:
    智動化 / 文章 /

    多機(jī)器人的創(chuàng)新組合開發(fā)技術(shù)
    使用UBOT開源框架
    [作者 高煥堂]   2018年12月19日 星期三 瀏覽人次: [25502]

    大家都知道,目前最流行的手機(jī)是基於 Android 作業(yè)系統(tǒng)的手機(jī),市場佔有率高達(dá)約80%;此外,Android採取Apache軟體授權(quán)方式的開源軟體,成為人人可以免費使用及自行修改的軟體平臺系統(tǒng)。UBOT的全名是:UBOTeam Unified Framework for Ro-bot Team)。它是高煥堂團(tuán)隊基於Android平臺的擴(kuò)充,而成為機(jī)器人的共用程式設(shè)計環(huán)境及整合運行平臺,它逐漸發(fā)展成為AIoT的共用程式開發(fā)及整合執(zhí)行平臺。UBOT的上層是App(提供使用者介面);下層是外掛程式(Plugin)來促進(jìn)機(jī)器人硬體設(shè)備的客制化特性;而UBOT則是位於中間層 的軟體框架(Framework),它是開源的軟體系統(tǒng)(圖1)。



    圖1 : 開源開放的UBOT平臺軟體
    圖1 : 開源開放的UBOT平臺軟體

    當(dāng)協(xié)力廠商開發(fā)者基於UBOT而開發(fā)出上層App時,開發(fā)者可以自行決定其 App是否開源或閉源,亦即該App可以不開源;同樣地,當(dāng)開發(fā)者基於UBOT 而開發(fā)出連接到硬體設(shè)備的客制化外掛程式(Plugin)時,仍由其開發(fā)者自行決定該外掛程式是否開源或閉源,亦即該外掛程式可以不開源。


    如上所述,在UBOT裡,其應(yīng)用框架(App Framework)層是開源的,開發(fā)者可以將它匯入到Android Studio開發(fā)環(huán)境裡使用,於是就可以使用您已經(jīng)熟悉的Android SDK來開發(fā)多機(jī)器人的創(chuàng)新整合應(yīng)用了,而不必花費心力於各機(jī)器人廠家的不同SDK,無論是學(xué)習(xí)或開發(fā)都將更加事半功倍。


    由於在開發(fā)多機(jī)器人的整合應(yīng)用時,各機(jī)器人產(chǎn)品往往來自不同的廠商,各廠商也常推出針對自己產(chǎn)品的 SDK(即App開發(fā)環(huán)境)。此時,開發(fā)者面臨多個SDK,各自獨立、不能相容,就會遭遇開發(fā)工作的複雜性,而變得困難重重。


    其化解之道是:大家採用同一種SDK。在本文裡,筆者建議採用Android SDK,讓大家 都能使用多數(shù)人已經(jīng)熟悉的Android Studio來進(jìn)行App的開發(fā)工作,就可以省去學(xué)習(xí)各廠商SDK的時間和負(fù)擔(dān)。


    例如,一旦使用Android Studio +UBOT(如藍(lán)牙模組)開發(fā)出來一支針對Ironbot機(jī)器人的 App。若想繼續(xù)整合另一廠牌的Dobot機(jī)器人時,就不必再花時間學(xué)習(xí)Android Studio和 UBOT,直接動手開發(fā)約 20% 產(chǎn)品客制化的部分程式碼即可,例如不同廠牌(或型號)的機(jī)器人,其傳遞訊息的格式(Format)大多不相同,這就是所謂的客製化部分。


    以此類推,如果想繼續(xù)整合更多個(不同廠牌)的機(jī)器人時,一樣不必花時間學(xué)習(xí)新的 SDK,而迅速動手開發(fā)約 20% 產(chǎn)品客客製化的部分程式碼即可。因而,學(xué)生的學(xué)習(xí)效率提高、學(xué)習(xí)信心也提升了。


    整合通信:以藍(lán)牙技術(shù)為例

    藍(lán)牙設(shè)備能以固定的週期持續(xù)發(fā)送廣播,手機(jī)端App掃瞄(接收)到廣播後,解析廣播包,然後可進(jìn)行以設(shè)備的識別、配對,連線和資料讀寫等。


    於是,使用者的手機(jī)就能掃瞄到周邊的藍(lán)牙設(shè)備所發(fā)出的藍(lán)牙訊號。接下來,就能進(jìn)一步與這些設(shè)備建立連線(Connection),才能對這些設(shè)備進(jìn)行訊息傳遞,例如從BLE設(shè)備讀取資訊或把資訊寫到BLE設(shè)備裡,這些資訊就包括了控制指令及相關(guān)的參數(shù)等。


    在Android手機(jī)裡的軟體結(jié)構(gòu)裡(圖2),由myActivity模組提供 UI畫面,例如讓使用者隨機(jī)地選取一個RGB顏色,並依據(jù)該設(shè)備所能接受的訊息格式,傳遞給myFa-cade去進(jìn)行訊息傳送的任務(wù)。此時,myFacade會透過Session來將訊息傳送給BLEMessage,再轉(zhuǎn)送給IronbotBLEMsg。



    圖2 : 開源開放的UBOT平臺框架
    圖2 : 開源開放的UBOT平臺框架

    IronbotBLEMsg接到從myFacade傳來的訊息之後,就將訊息存入佇列(Queue)裡,然後依據(jù)先後順序,逐一從佇列裡取出訊息傳送給Android的BLE模組,然後以無線方式傳送給藍(lán)牙設(shè)備,此時履帶車上的LED燈的顏色就改變了。


    AI賦能:運用語音AI的多機(jī)協(xié)同合作

    藉助於UBOT/BLE框架的高度擴(kuò)充能力,手機(jī)裡的UBOT/BLE模組更能同步發(fā)送藍(lán)牙訊息給多臺機(jī)器人(如手臂和履帶車),順利指揮多機(jī)的協(xié)同合作,展開團(tuán)隊行動。


    例如圖3裡,讓 Zenbo 透過Wi-Fi來與 UBOT手機(jī)通訊,這樣可以充分發(fā)揮 Zenbo的AI語音功能,擔(dān)任迎賓服務(wù)者的角色。


    從圖3裡,可以看人們透過語音AI來和Zenbo機(jī)器人(在此圖的左上角)對話,然後Zenbo沒有手,就拿Dobot手臂(右下角)來搭配起來,便能聽從客人的指示而準(zhǔn)確按下咖啡機(jī)(的按鈕),泡出客人想喝的咖啡了。



    圖3 : 多機(jī)協(xié)同合作的情境
    圖3 : 多機(jī)協(xié)同合作的情境

    圖4 : Dobot機(jī)器人泡咖啡
    圖4 : Dobot機(jī)器人泡咖啡

    此時,如果再搭配匠客Ironbot機(jī)器人(左下角)來端送咖啡給客人,將是更加體貼的服務(wù)了。也就是,經(jīng)由同一支UBOT/Android手機(jī)來精準(zhǔn)安排Dobot泡咖啡,並且把泡好的咖啡交給Ironbot機(jī)器人,然後端送到客人面前。


    在這個咖啡館的範(fàn)例裡,是以 Ironbot、Dobot和 Zenbo三種機(jī)器人為主角,來進(jìn)行創(chuàng)新組合,搭配語音AI的軟硬整合應(yīng)用案例,其中闡述了AI機(jī)器人的軟硬整合技術(shù),包括AI機(jī)器人的平臺(Platform)架構(gòu),並詳細(xì)說明其開源的軟體原始碼。這非常有助於學(xué)習(xí)AI時代的科技知識和體驗。隨著AI(人工智慧)與機(jī)器學(xué)習(xí)能力的提升,與物聯(lián)網(wǎng)(IoT)結(jié)合機(jī)器人的創(chuàng)新 應(yīng)用,將會更上一層樓。而以Android開發(fā)環(huán)境來演練 Java和Python程式設(shè)計語言,將形成一個先進(jìn)的智慧物聯(lián)網(wǎng)(AIoT)的程式設(shè)計學(xué)習(xí)環(huán)境。


    穩(wěn)定結(jié)構(gòu):善用Android的多進(jìn)程機(jī)制

    最簡單的情況是讓兩臺機(jī)器人(例如,一臺Dobot機(jī) 器手臂和一臺Ironbot履帶車)能隨時做創(chuàng)新組合、協(xié)同合作。當(dāng)然也能進(jìn)一步擴(kuò)充為三或更多臺的機(jī)器人,並且讓它們進(jìn)行更多花樣的創(chuàng)新組合、協(xié)同合作。



    圖5 : 兼具擴(kuò)充性和穩(wěn)定性的架構(gòu)
    圖5 : 兼具擴(kuò)充性和穩(wěn)定性的架構(gòu)

    為了兼顧擴(kuò)充性和穩(wěn)定性,在Android手機(jī)裡可以把數(shù)臺機(jī)器人的相關(guān)軟體模組,各自安排在不同的進(jìn)程(Process)裡,例如這三隻機(jī)器人的相關(guān)類別,各載入到不同的進(jìn)程裡執(zhí)行(圖5)。在這個架構(gòu)裡,它們各自的相關(guān)類別都在各自的進(jìn)程裡執(zhí)行,可以提升整個App的穩(wěn)定性、安全性、擴(kuò)充性和並行性等。


    打造生態(tài):基於UBOT的開放API

    目前的手機(jī)市場中,Android平臺的App數(shù)量已經(jīng)超過4百萬了。基於其龐大的客戶群,我們巧妙地從An-droid平臺延伸出UBOT共用平臺,將可替各種機(jī)器人產(chǎn)品,招來龐大的App開發(fā)者和使用群。


    同時,UBOT平臺也來支撐眾多的創(chuàng)客們來進(jìn)行軟硬 體產(chǎn)品的創(chuàng)新。因此,UBOT可帶給App開發(fā)者許多幫助。就像Android平臺一樣迅速累積許多App開發(fā)者。這些App只要稍做調(diào)整,就能執(zhí)行於新產(chǎn)品上,因而 UBOT迅速為新產(chǎn)品帶來眾多的App,非常有助於創(chuàng)客的新產(chǎn)品迅速進(jìn)入市場而獲利。


    至於下層的機(jī)器人硬體廠商,為了能迅速獲得更多 App,其機(jī)器人產(chǎn)品就會來支援這統(tǒng)一而開放的API。於是,上層累積愈多App,下層也會吸引愈多的機(jī)器人產(chǎn)品,上層和下層相互加乘,就形成一個蓬勃發(fā)展的「生態(tài)(Ecosystem)」了。


    開放API:掌握API,才有話語權(quán)

    在本文裡,筆者拿UBOT機(jī)器人聯(lián)合平臺來做說明,並且拿Zenbo、Ironbot和Dobot三種機(jī)器人產(chǎn)品來組合創(chuàng)新,闡述最基礎(chǔ)的機(jī)器人(Robot)軟硬整合、共用平臺、開放API、以及App的開發(fā)技術(shù)。


    其中的核心要素就是:API。掌握平臺API的制定權(quán),就能成為生態(tài)的盟主。此外,還要大膽開源軟體和開放API,就能促進(jìn)生態(tài)蓬勃發(fā)展。


    相關(guān)文章
    ? 以馬達(dá)控制器ROS1驅(qū)動程式實現(xiàn)機(jī)器人作業(yè)系統(tǒng)
    ? CAD/CAM軟體無縫加值協(xié)作
    ? 確保機(jī)器人的安全未來:資安的角色
    ? 雙臂機(jī)器人引風(fēng)潮 類人形應(yīng)用猶欠東風(fēng)
    ? 多重技術(shù)融合正在影響機(jī)器人發(fā)展
    comments powered by Disqus
      相關(guān)新聞
    » 新唐 AI 微控制器賦能智能檯燈應(yīng)用方案,榮獲智慧創(chuàng)新大賞入圍肯定
    » 【COMPUTEX】麗臺科技攜手新創(chuàng)團(tuán)隊 以NVIDIA 技術(shù)推動數(shù)位孿生與AI應(yīng)用
    » 臺達(dá)電子公佈一百一十四年四月份營收 單月合併營收新臺幣407.82億元
    » 博世憑藉其科技領(lǐng)導(dǎo)者實力
    » 風(fēng)電就業(yè)與國際接軌 產(chǎn)訓(xùn)合一為產(chǎn)業(yè)供應(yīng)鏈培育專才
      相關(guān)產(chǎn)品
    » SKF與DMG MORI合作開發(fā)SKF INSIGHT超精密軸承系統(tǒng)
    » 宜鼎推出DDR5 6400記憶體 同級最大64GB容量及全新CKD元件
    » igus新型連座軸承適用於太陽能追日系統(tǒng)應(yīng)用
    » igus新型XXL卡車於歐洲各地移動路演
    » 2024年vector競賽由太空科學(xué)家奪金獎

    ?
    刊登廣告 新聞信箱 讀者信箱 著作權(quán)聲明 隱私權(quán)聲明 本站介紹

    Copyright ©1999-2025 遠(yuǎn)播資訊股份有限公司版權(quán)所有 Powered by O3
    地址:臺北數(shù)位產(chǎn)業(yè)園區(qū)(digiBlock Taipei) 103臺北市大同區(qū)承德路三段287-2號A棟204室
    電話 (02)2585-5526 #0 轉(zhuǎn)接至總機(jī) / E-Mail: webmaster@hope.com.tw
    主站蜘蛛池模板: 获嘉县| 都昌县| 防城港市| 龙门县| 民乐县| 兰溪市| 凤阳县| 雷波县| 庆城县| 青铜峡市| 县级市| 岳阳县| 巴彦淖尔市| 铅山县| 丹棱县| 和顺县| 确山县| 平武县| 岱山县| 多伦县| 新余市| 鄂州市| 南江县| 湘乡市| 广灵县| 宜兰县| 衡山县| 吉木萨尔县| 曲阜市| 延边| 麻栗坡县| 清水河县| 确山县| 陆河县| 盈江县| 鄂温| 峨边| 区。| 滨海县| 棋牌| 通城县|