本發(fā)明涉及智能機器人領(lǐng)域,具體地說,涉及一種基于智能機器人的外設(shè)行為沖突控制方法和系統(tǒng)。
背景技術(shù):
隨著科學(xué)技術(shù)的不斷發(fā)展,信息技術(shù)、計算機技術(shù)以及人工智能技術(shù)的引入,機器人的研究已經(jīng)逐步走出工業(yè)領(lǐng)域,逐漸擴展到了醫(yī)療、保健、家庭、娛樂以及服務(wù)行業(yè)等領(lǐng)域。而人們對于機器人的要求也從簡單重復(fù)的機械動作提升為具有擬人問答、自主性及與其他機器人進行交互的智能機器人,人機交互也就成為決定智能機器人發(fā)展的重要因素。
在機器人與用戶交互時,通常會出現(xiàn)不同的應(yīng)用程序調(diào)用同一外部設(shè)備的情況,現(xiàn)有的機器人無法在出現(xiàn)沖突時及時解決,容易發(fā)生調(diào)度紊亂,因此用戶體驗較為不暢,降低了用戶與機器人進行交互的意愿。
綜上,需要提供一種能夠及時解決出現(xiàn)的外設(shè)行為沖突,提高用戶體驗度的方案。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于智能機器人的外設(shè)行為沖突控制方法來解決上述技術(shù)問題。該方法包括以下步驟:
應(yīng)用請求監(jiān)聽步驟,在第一應(yīng)用執(zhí)行的過程中監(jiān)聽是否存在第二應(yīng)用調(diào)起請求;
外設(shè)行為沖突確認(rèn)步驟,確認(rèn)所述第二應(yīng)用調(diào)起的外設(shè)行為是否與所述第一應(yīng)用的外設(shè)輸出存在沖突;
沖突控制步驟,在確定存在沖突時,使所述第一應(yīng)用暫停調(diào)用存在沖突的外設(shè),執(zhí)行所述第二應(yīng)用完成外設(shè)輸出。
根據(jù)本發(fā)明的基于智能機器人的外設(shè)行為沖突控制方法,優(yōu)選的是,在所述沖突控制步驟具體包括:
在存在沖突的外設(shè)為多個時,所述第一應(yīng)用暫停調(diào)用存在沖突的所有外設(shè)且持續(xù)啟用其他未發(fā)生沖突的外設(shè),待所述第二應(yīng)用完成外設(shè)輸出后使所述第一應(yīng)用繼續(xù)調(diào)用之前暫停的沖突外設(shè)。
根據(jù)本發(fā)明的基于智能機器人的外設(shè)行為沖突控制方法,優(yōu)選的是,在所述外設(shè)行為沖突確認(rèn)步驟之前還包括:
在第一應(yīng)用執(zhí)行的過程中監(jiān)聽到第二應(yīng)用調(diào)起請求,根據(jù)應(yīng)用調(diào)用的需要和處理能力轉(zhuǎn)換本地處理機制和后臺處理機制使所述第一應(yīng)用中斷或使所述第一應(yīng)用進入后臺處理。
根據(jù)本發(fā)明的基于智能機器人的外設(shè)行為沖突控制方法,優(yōu)選的是,所述方法由機器人操作系統(tǒng)執(zhí)行,所述第一應(yīng)用和第二應(yīng)用運行在智能機器人操作系統(tǒng)中。
根據(jù)本發(fā)明的基于智能機器人的外設(shè)行為沖突控制方法,優(yōu)選的是,在所述第二應(yīng)用完成外設(shè)輸出后,使所述第一應(yīng)用繼續(xù)調(diào)用之前暫停的沖突外設(shè)并與其他未發(fā)生沖突的外設(shè)進行協(xié)調(diào)輸出。
根據(jù)本發(fā)明的另一個方面,還提供了基于智能機器人的外設(shè)行為沖突控制系統(tǒng),其特征在于,所述系統(tǒng)包括以下單元:
應(yīng)用請求監(jiān)聽單元,其用以在第一應(yīng)用執(zhí)行的過程中監(jiān)聽是否存在第二應(yīng)用調(diào)起請求;
外設(shè)行為沖突確認(rèn)單元,其用以確認(rèn)所述第二應(yīng)用調(diào)起的外設(shè)行為是否與所述第一應(yīng)用的外設(shè)輸出存在沖突;
沖突控制單元,其用以在確定存在沖突時,使所述第一應(yīng)用暫停調(diào)用存在沖突的外設(shè),執(zhí)行所述第二應(yīng)用完成外設(shè)輸出。
根據(jù)本發(fā)明的基于智能機器人的外設(shè)行為沖突控制系統(tǒng),優(yōu)選的是,所述沖突控制單元包括:
第一控制子單元,其用以在存在沖突的外設(shè)為多個時,使所述第一應(yīng)用暫停調(diào)用存在沖突的所有外設(shè)且持續(xù)啟用其他未發(fā)生沖突的外設(shè),待所述第二應(yīng)用完成外設(shè)輸出后使所述第一應(yīng)用繼續(xù)調(diào)用之前暫停的沖突外設(shè)。
根據(jù)本發(fā)明的基于智能機器人的外設(shè)行為沖突控制系統(tǒng),優(yōu)選的是,所述沖突控制單元還包括:
第二控制子單元,其用以在第一應(yīng)用執(zhí)行的過程中監(jiān)聽到第二應(yīng)用調(diào)起請求,根據(jù)應(yīng)用調(diào)用的需要和處理能力轉(zhuǎn)換本地處理機制和后臺處理機制使所述第一應(yīng)用中斷或使所述第一應(yīng)用進入后臺處理。
根據(jù)本發(fā)明的基于智能機器人的外設(shè)行為沖突控制系統(tǒng),優(yōu)選的是,所述第一應(yīng)用和所述第二應(yīng)用運行在智能機器人操作系統(tǒng)中。
根據(jù)本發(fā)明的基于智能機器人的外設(shè)行為沖突控制系統(tǒng),優(yōu)選的是,所述沖突控制單元包括:
第三控制子單元,其用以在所述第二應(yīng)用完成外設(shè)輸出后,使所述第一應(yīng)用繼續(xù)調(diào)用之前暫停的沖突外設(shè)并與其他未發(fā)生沖突的外設(shè)進行協(xié)調(diào)輸出。
本發(fā)明的有益之處在于,通過在某一應(yīng)用執(zhí)行的過程中監(jiān)聽是否存在其他應(yīng)用調(diào)起請求,在其他應(yīng)用調(diào)起的外設(shè)行為與當(dāng)前執(zhí)行的應(yīng)用的外設(shè)輸出存在沖突時,暫停當(dāng)前應(yīng)用去調(diào)用存在沖突的外設(shè),執(zhí)行其他應(yīng)用完成對該外設(shè)的輸出,能夠針對不同的應(yīng)用程序調(diào)用同一外部設(shè)備的情況,及時解決沖突順利完成各應(yīng)用的調(diào)度,提高用戶體驗和用戶與機器人進行交互的意愿。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例共同用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為根據(jù)本發(fā)明的一個實施例的基于智能機器人的外設(shè)行為沖突控制方法的流程示意圖。
圖2為根據(jù)本發(fā)明的另一個實施例的基于智能機器人的外設(shè)行為沖突控制方法的流程示意圖。
圖3為根據(jù)本發(fā)明的再一個實施例的基于智能機器人的外設(shè)行為沖突控制系統(tǒng)3的結(jié)構(gòu)框圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下結(jié)合附圖對本發(fā)明實施例作進一步地詳細說明。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下結(jié)合附圖對本發(fā)明實施例作進一步地詳細說明。以下例子中,將以人臉為目標(biāo)物體來進行本發(fā)明原理的說明。本領(lǐng)域的技術(shù)人員應(yīng)該知曉,該實施例僅為說明目的,不用作對本發(fā)明的限制。
隨著智能機器人的興起,機器人操作系統(tǒng)作為機器人的大腦,控制協(xié)調(diào)機器人的各個應(yīng)用和外設(shè)(例如人形機器人的肢體、桌面機器人的軀干和屏幕等)的使用。但是,在現(xiàn)有機器人技術(shù)領(lǐng)域中,由于機器人的成熟度不高、機器人內(nèi)部的調(diào)度算法無法對應(yīng)用程序的執(zhí)行進行有條不紊的控制,因此,在使用機器人的過程中不同應(yīng)用請求多個外設(shè)行為發(fā)生沖突時,無法及時解決這種沖突問題。因此,本發(fā)明針對智能機器人,在需要運行多個應(yīng)用且外在展現(xiàn)有一部分在多個應(yīng)用中均需要使用而導(dǎo)致發(fā)生調(diào)用沖突時,機器人操作系統(tǒng)采用輸出部分外設(shè)行為的沖突控制方法,對于被多個應(yīng)用同時調(diào)用的沖突外設(shè)輸出,優(yōu)先供后來應(yīng)用調(diào)用,而不沖突的部分,各個應(yīng)用均可以繼續(xù)獨自輸出,沖突控制結(jié)束后,各自歸位繼續(xù)正常運行。
第一實施例
圖1為根據(jù)本發(fā)明的一個實施例的基于智能機器人的外設(shè)行為沖突控制方法的流程示意圖,該外設(shè)行為沖突方法優(yōu)選由機器人操作系統(tǒng)的環(huán)境中執(zhí)行,其中涉及到的第一應(yīng)用和第二應(yīng)用運行在該智能機器人操作系統(tǒng)中。下面參考圖1來說明本發(fā)明實施例的各個步驟,該實施例的方法主要包括以下步驟。
在步驟S110中,機器人執(zhí)行第一應(yīng)用程序A1展現(xiàn)外設(shè)行為,調(diào)用外設(shè)輸出P0、P1、P2等。
本實施例的機器人安裝有機器人操作系統(tǒng)OS,可以為具有肢體的人形機器人或桌面機器人。“外設(shè)行為”可以認(rèn)為是機器人執(zhí)行指令展現(xiàn)在外部的行為,一般包括機器人肢體產(chǎn)生的動作表現(xiàn),例如行走、運動等,以及機器人TTS系統(tǒng)下的說話行為表現(xiàn)、唱歌行為表現(xiàn)和屏幕的表情展現(xiàn)等。其中,TTS系統(tǒng)將文本轉(zhuǎn)化成語音播報,機器人采用這種方式進行說話行為表現(xiàn)。
例如,在機器人為桌面機器人時,機器人當(dāng)前執(zhí)行第一應(yīng)用程序為“講故事應(yīng)用”,通過內(nèi)部機器人操作系統(tǒng)調(diào)用執(zhí)行該指令的與用戶進行交互的外設(shè)“嘴”(即揚聲器和TTS系統(tǒng))和“眼睛”(即液晶屏幕),實現(xiàn)說話行為表現(xiàn)和表情展現(xiàn)。又例如,機器人為人形機器人時,機器人需要執(zhí)行“唱歌跳舞應(yīng)用”,通過內(nèi)部機器人操作系統(tǒng)調(diào)用執(zhí)行該指令的外設(shè)“嘴”(即揚聲器和TTS系統(tǒng))和機器人肢體(即機器人的腿部和臂部及相應(yīng)舵機),實現(xiàn)唱歌行為表現(xiàn)和動作表現(xiàn)。
在步驟S120中,在第一應(yīng)用程序A1執(zhí)行的過程中監(jiān)聽是否存在第二應(yīng)用程序A2調(diào)起請求,若監(jiān)聽到第二應(yīng)用程序A2,則執(zhí)行步驟S130,否則一直保持監(jiān)聽狀態(tài)。
在一個例子中,機器人操作系統(tǒng)可以通過后臺監(jiān)聽機制來監(jiān)聽是否有事件觸發(fā)即是否存在新的應(yīng)用程序請求,在接收到事件觸發(fā)信息時,判斷存在新應(yīng)用程序調(diào)起請求。
在步驟S130中,判斷第二應(yīng)用程序A2是否要調(diào)用外設(shè)輸出,若需要調(diào)用外設(shè)輸出則執(zhí)行步驟S140,否則執(zhí)行步驟S180。
具體地,對第二應(yīng)用程序A2的內(nèi)容進行解析,判斷是否通過執(zhí)行第二應(yīng)用程序A來展現(xiàn)某種外設(shè)行為。例如,在監(jiān)聽到第二應(yīng)用程序A2為控制機器人行走的“行走應(yīng)用程序”,通過分析得到需要展現(xiàn)控制機器人腿部的動作表現(xiàn)的外設(shè)行為。
在步驟S140中,判斷第二應(yīng)用程序A2的外設(shè)行為是否與第一應(yīng)用程序A1調(diào)用的外設(shè)輸出存在沖突,若存在沖突,則執(zhí)行步驟S150,否則執(zhí)行步驟S180。
在一個例子中,通過步驟S130的解析能夠確定第二應(yīng)用程序A2需要展現(xiàn)某種外設(shè)行為,將該外設(shè)行為涉及到的外設(shè)輸出與當(dāng)前執(zhí)行的第一應(yīng)用程序A1的外設(shè)輸出進行比對,判斷第二應(yīng)用程序A2是否需要調(diào)用與第一應(yīng)用程序A1相同的外設(shè)輸出,若需要調(diào)用相同的外設(shè)輸出,則認(rèn)定第二應(yīng)用程序A2的外設(shè)行為與第一應(yīng)用程序A1調(diào)用的外設(shè)輸出存在沖突。
例如,機器人為人形機器人時,第一應(yīng)用程序A1是“唱歌跳舞應(yīng)用”,通過內(nèi)部機器人操作系統(tǒng)調(diào)用執(zhí)行該指令的外設(shè)“嘴”(即揚聲器和TTS系統(tǒng))和機器人肢體(即機器人的腿部和臂部及相應(yīng)舵機),實現(xiàn)唱歌行為表現(xiàn)和動作表現(xiàn)。當(dāng)用戶發(fā)起“運動控制應(yīng)用”請求時,需要執(zhí)行第二應(yīng)用程序A2,即“運動控制應(yīng)用”,該應(yīng)用程序也需要調(diào)用機器人腿部來控制機器人腿部的自由度。容易理解,機器人是無法同時使用腿部既跳舞又走路的。因此通過對比得到,第二應(yīng)用程序A2調(diào)用的運動行為輸出與第一應(yīng)用程序A1調(diào)用的跳舞行為輸出存在沖突。
在另一個例子中,可以通過預(yù)設(shè)的列表來判斷第二應(yīng)用程序A2和當(dāng)前執(zhí)行的第一應(yīng)用程序A1調(diào)用的外設(shè)輸出是否存在沖突,該預(yù)設(shè)的列表將發(fā)生沖突的應(yīng)用程序以一對一的形式或多對一的形式預(yù)先列舉出來。例如,當(dāng)前執(zhí)行的第一應(yīng)用程序A1是“唱歌跳舞應(yīng)用”,需要機器人進行搖頭行為輸出,用戶此時發(fā)出拍照指令,機器人操作系統(tǒng)監(jiān)聽到第二應(yīng)用程序A2——“拍照應(yīng)用”,通過將第一應(yīng)用程序A1和第二應(yīng)用程序A2與預(yù)設(shè)的沖突列表進行比對,得到二者存在沖突。容易理解,執(zhí)行“拍照應(yīng)用”時需要調(diào)用設(shè)置在機器人頭部的攝像頭,機器人在進行搖頭行為時是無法準(zhǔn)確抓拍用戶的圖像的。因此,雖然這兩個應(yīng)用程序所調(diào)用的外設(shè)不同,但二者在實現(xiàn)的過程中仍然存在沖突。
在步驟S150中,在確定存在沖突時,使第一應(yīng)用程序A1暫停調(diào)用存在沖突的外設(shè),執(zhí)行第二應(yīng)用程序A2完成外設(shè)輸出。
在本例中,第一應(yīng)用程序A1調(diào)用的外設(shè)輸出一般為多個,機器人操作系統(tǒng)在確定存在沖突時,發(fā)出命令使第一應(yīng)用程序A1停止調(diào)用沖突的外設(shè),執(zhí)行第二應(yīng)用程序A2。優(yōu)選地,在第二應(yīng)用程序A2與第一應(yīng)用程序A1存在沖突的外設(shè)為多個時,使第一應(yīng)用A1暫停調(diào)用存在沖突的所有外設(shè)且持續(xù)啟用其他未發(fā)生沖突的外設(shè)。如上例所述,在機器人執(zhí)行唱歌跳舞應(yīng)用時,用戶發(fā)出“擺臂走路”的指令,通過判斷得到這兩個應(yīng)用程序發(fā)生沖突的外設(shè)包括機器人臂部和腿部及相應(yīng)舵機,而實現(xiàn)搖頭行為的頭部、頭部舵機和揚聲器不是沖突外設(shè),因此機器人操作系統(tǒng)發(fā)出命令使唱歌跳舞應(yīng)用停止調(diào)用涉及到的沖突外設(shè),僅調(diào)用未發(fā)生沖突的頭部、頭部舵機和揚聲器等外設(shè)。
在步驟S160中,判斷第二應(yīng)用程序A2是否執(zhí)行完畢,若執(zhí)行完畢則開始步驟S170,否則保持當(dāng)前狀態(tài)。
在步驟S170中,第一應(yīng)用程序A1待第二應(yīng)用程序A2完成外設(shè)輸出后繼續(xù)調(diào)用之前暫停的沖突外設(shè)。如上例所述,在機器人完成“擺臂走路”的指令后,釋放涉及到的外設(shè)輸出,機器人操作系統(tǒng)發(fā)送命令使執(zhí)行的“唱歌跳舞”應(yīng)用開始使用第二應(yīng)用程序A2釋放的機器人臂部和腿部及相應(yīng)舵機等這些外設(shè)。
在步驟S180中,若不需要調(diào)用外設(shè)行為或者調(diào)用的外設(shè)行為與第一應(yīng)用程序A1的不相沖突,則直接執(zhí)行第二應(yīng)用程序A2。
例如,若第二應(yīng)用程序A2為查詢一個信息內(nèi)容,不涉及外設(shè)行為的調(diào)用,則直接執(zhí)行該應(yīng)用程序,不需要對第一應(yīng)用程序A1進行任何處理?;蛘?,若當(dāng)前第一應(yīng)用程序A1調(diào)用的外設(shè)行為為動作展現(xiàn),涉及到的外設(shè)為腿部和手部及相應(yīng)舵機,第二應(yīng)用程序A2調(diào)用的外設(shè)行為為說話行為展現(xiàn),涉及到的外設(shè)為揚聲器,則同第一應(yīng)用程序A1并行執(zhí)行第二應(yīng)用程序A2,分別完成各自的外設(shè)行為輸出。
本發(fā)明實施例的方法,在使用機器人時不同的應(yīng)用請求多個外設(shè)行為,發(fā)生沖突時,可使當(dāng)前執(zhí)行的應(yīng)用程序暫緩調(diào)用沖突外設(shè),待新應(yīng)用程序執(zhí)行完畢后再繼續(xù)調(diào)用。這樣能夠及時解決沖突順利完成各應(yīng)用的調(diào)度,提高用戶體驗和用戶與機器人進行交互的意愿。
第二實施例
圖2為根據(jù)本發(fā)明的另一個實施例的基于智能機器人的外設(shè)行為沖突控制方法的流程示意圖,同樣,該外設(shè)行為沖突方法優(yōu)選在機器人操作系統(tǒng)的環(huán)境中執(zhí)行,其中涉及到的第一應(yīng)用和第二應(yīng)用運行在該智能機器人操作系統(tǒng)中。本實施例的方法主要包括以下步驟,其中,將與第一實施例相似的步驟以相同的標(biāo)號標(biāo)注,且不再贅述其具體內(nèi)容,僅對區(qū)別步驟進行具體描述。
在步驟S110中,機器人執(zhí)行第一應(yīng)用程序A1,調(diào)用外設(shè)輸出P0、P1、P2等。
在步驟S120中,在第一應(yīng)用程序A1執(zhí)行的過程中監(jiān)聽是否存在第二應(yīng)用程序A2調(diào)起請求,若監(jiān)聽到第二應(yīng)用程序A2,則執(zhí)行步驟S190,否則一直保持監(jiān)聽狀態(tài)。
在步驟S130中,判斷第二應(yīng)用程序A2是否要調(diào)用外設(shè)輸出,若需要調(diào)用外設(shè)輸出則執(zhí)行步驟S140,否則執(zhí)行步驟S180。
在步驟S140中,判斷第二應(yīng)用程序A2的外設(shè)行為是否與第一應(yīng)用程序A1調(diào)用的外設(shè)輸出存在沖突,若存在沖突,則執(zhí)行步驟S150,否則執(zhí)行步驟S180。
在步驟S150中,在確定存在沖突時,使第一應(yīng)用程序A1暫停調(diào)用存在沖突的外設(shè),執(zhí)行第二應(yīng)用程序A2完成外設(shè)輸出。
在步驟S160中,判斷第二應(yīng)用程序A2是否執(zhí)行完畢,若執(zhí)行完畢則開始步驟S170’,否則保持當(dāng)前狀態(tài)。
在步驟S170’中,第一應(yīng)用程序A1待第二應(yīng)用程序A2完成外設(shè)輸出后繼續(xù)調(diào)用之前暫停的沖突外設(shè)且與其他未發(fā)生沖突的外設(shè)進行協(xié)調(diào)輸出。
在第一實施例中的步驟S170中,第一應(yīng)用程序A1待第二應(yīng)用程序A2完成外設(shè)輸出后繼續(xù)調(diào)用之前暫停的沖突外設(shè)。在第一應(yīng)用程序A1之前暫停沖突外時,將當(dāng)前應(yīng)用程序執(zhí)行的有關(guān)該沖突外設(shè)的數(shù)據(jù)保存,待第二應(yīng)用程序A2執(zhí)行完外設(shè)輸出后,第一應(yīng)用程序A1根據(jù)保存的有關(guān)該沖突外設(shè)的數(shù)據(jù)繼續(xù)來執(zhí)行任務(wù),然而,這種情況下可能會造成:沖突外設(shè)表現(xiàn)出的外設(shè)行為與未發(fā)生沖突外設(shè)持續(xù)執(zhí)行任務(wù)產(chǎn)生的外設(shè)行為互不協(xié)調(diào),給用戶帶來不好的體驗感。
在該步驟S170’中,雖然也是繼續(xù)調(diào)用之前暫停的沖突外設(shè),但要保證該沖突外設(shè)表現(xiàn)出來的外設(shè)行為與未發(fā)生沖突的外設(shè)持續(xù)執(zhí)行任務(wù)產(chǎn)生的外設(shè)行為相互協(xié)調(diào)。具體來說,可以忽略掉在第一應(yīng)用程序A1暫停調(diào)用沖突外設(shè)之前的有關(guān)該沖突外設(shè)的所有數(shù)據(jù),在重新調(diào)用沖突外設(shè)時,參考未發(fā)生沖突外設(shè)當(dāng)前執(zhí)行的任務(wù)階段,使沖突外設(shè)也執(zhí)行與該任務(wù)階段對應(yīng)的外設(shè)行為,這樣就能保證協(xié)調(diào)性。
例如,在機器人完成“擺臂走路”的指令后,釋放沖突外設(shè)——機器人腿部和臂部及相應(yīng)舵機,機器人操作系統(tǒng)發(fā)送命令使之前執(zhí)行的“唱歌跳舞”應(yīng)用開始使用這些沖突外設(shè)??紤]到當(dāng)前機器人執(zhí)行唱歌行為的揚聲器所處的任務(wù)階段,“唱歌跳舞”應(yīng)用使這些沖突外設(shè)也執(zhí)行與揚聲器所處的任務(wù)階段對應(yīng)的外設(shè)行為,這樣就保證了唱歌跳舞的協(xié)調(diào)性。
在步驟S180中,若不需要調(diào)用外設(shè)行為或者調(diào)用的外設(shè)行為與第一應(yīng)用程序A1的不相沖突,則直接執(zhí)行第二應(yīng)用程序A2。
本發(fā)明實施例的方法,在使用機器人時不同的應(yīng)用請求多個外設(shè)行為,發(fā)生沖突時,可使當(dāng)前執(zhí)行的應(yīng)用程序暫緩調(diào)用沖突外設(shè),待新應(yīng)用程序執(zhí)行完畢后再繼續(xù)調(diào)用并能夠使沖突外設(shè)和非沖突外設(shè)在時隔一段時間后保持協(xié)調(diào)輸出。這樣能夠及時解決沖突順利完成各應(yīng)用的調(diào)度,提高用戶體驗和用戶與機器人進行交互的意愿。
第三實施例
圖3為根據(jù)本發(fā)明的再一個實施例的基于智能機器人的外設(shè)行為沖突控制系統(tǒng)3的結(jié)構(gòu)框圖。如圖3所示,本申請實施例的外設(shè)行為沖突控制系統(tǒng)3主要包括:應(yīng)用請求監(jiān)聽單元310、外設(shè)行為沖突確認(rèn)單元320和沖突控制單元330。
應(yīng)用請求監(jiān)聽單元310,其用以在第一應(yīng)用執(zhí)行的過程中監(jiān)聽是否存在第二應(yīng)用調(diào)起請求。
外設(shè)行為沖突確認(rèn)單元320,其與應(yīng)用請求監(jiān)聽單元310連接,用以確認(rèn)第二應(yīng)用調(diào)起的外設(shè)行為是否與第一應(yīng)用的外設(shè)輸出存在沖突。
沖突控制單元330,其與外設(shè)行為沖突確認(rèn)單元320連接,用以在確定存在沖突時,使第一應(yīng)用暫停調(diào)用存在沖突的外設(shè),執(zhí)行第二應(yīng)用完成外設(shè)輸出。沖突控制單元330包括:第一控制子單元331、第二控制子單元332和第三控制子單元333。
第一控制子單元331,其用以在存在沖突的外設(shè)為多個時,使第一應(yīng)用暫停調(diào)用存在沖突的所有外設(shè)且持續(xù)啟用其他未發(fā)生沖突的外設(shè),待第二應(yīng)用完成外設(shè)輸出后使所述第一應(yīng)用繼續(xù)調(diào)用之前暫停的沖突外設(shè)。
第二控制子單元332,其用以在第一應(yīng)用執(zhí)行的過程中監(jiān)聽到第二應(yīng)用調(diào)起請求,根據(jù)應(yīng)用調(diào)用的需要和處理能力轉(zhuǎn)換本地處理機制和后臺處理機制使第一應(yīng)用中斷或使所述第一應(yīng)用進入后臺處理。
第三控制子單元333,其用以在第二應(yīng)用完成外設(shè)輸出后,使第一應(yīng)用繼續(xù)調(diào)用之前暫停的沖突外設(shè)并與其他未發(fā)生沖突的外設(shè)進行協(xié)調(diào)輸出。
通過合理設(shè)置,本實施例的外設(shè)行為沖突控制系統(tǒng)3可以執(zhí)行第一實施例和第二實施例的各個步驟,此處不再贅述。
由于本發(fā)明的方法描述的是在計算機系統(tǒng)中實現(xiàn)的。該計算機系統(tǒng)例如可以設(shè)置在機器人的控制核心處理器中。例如,本文所述的方法可以實現(xiàn)為能以控制邏輯來執(zhí)行的軟件,其由機器人操作系統(tǒng)中的CPU來執(zhí)行。本文所述的功能可以實現(xiàn)為存儲在非暫時性有形計算機可讀介質(zhì)中的程序指令集合。當(dāng)以這種方式實現(xiàn)時,該計算機程序包括一組指令,當(dāng)該組指令由計算機運行時其促使計算機執(zhí)行能實施上述功能的方法。可編程邏輯可以暫時或永久地安裝在非暫時性有形計算機可讀介質(zhì)中,例如只讀存儲器芯片、計算機存儲器、磁盤或其他存儲介質(zhì)。除了以軟件來實現(xiàn)之外,本文所述的邏輯可利用分立部件、集成電路、與可編程邏輯設(shè)備(諸如,現(xiàn)場可編程門陣列(FPGA)或微處理器)結(jié)合使用的可編程邏輯,或者包括它們?nèi)我饨M合的任何其他設(shè)備來體現(xiàn)。所有此類實施例旨在落入本發(fā)明的范圍之內(nèi)。
應(yīng)該理解的是,本發(fā)明所公開的實施例不限于這里所公開的特定結(jié)構(gòu)、處理步驟或材料,而應(yīng)當(dāng)延伸到相關(guān)領(lǐng)域的普通技術(shù)人員所理解的這些特征的等同替代。還應(yīng)當(dāng)理解的是,在此使用的術(shù)語僅用于描述特定實施例的目的,而并不意味著限制。
說明書中提到的“一個實施例”或“實施例”意指結(jié)合實施例描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實施例中。因此,說明書通篇各個地方出現(xiàn)的短語“一個實施例”或“實施例”并不一定均指同一個實施例。
雖然本發(fā)明所公開的實施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所公開的精神和范圍的前提下,可以在實施的形式上及細節(jié)上作任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。