本發(fā)明涉及機器人技術(shù)領(lǐng)域,尤其涉及機械臂的運動控制方法和裝置、以及存儲介質(zhì)、計算機。
背景技術(shù):
隨著產(chǎn)業(yè)升級和企業(yè)技術(shù)進步的加快,機械臂成為了機器人技術(shù)領(lǐng)域中被得到廣泛實際應(yīng)用的自動化機械裝置,此類機械臂具有多自由度,允許在二維或三維空間進行運動,通過接收控制指令以完成各種作業(yè)。
目前,對機械臂的運動控制主要通過人機交互實現(xiàn),在現(xiàn)有技術(shù)中,最常見的運動控制方式包括在pc端或移動端通過應(yīng)用界面進行控制。比如,用戶如果想要控制機械臂往a方向以b速度移動,則用戶首先需要在應(yīng)用界面上找到控制機械臂的運動方向的第一控制按鍵,以及控制機械臂的運動速度的第二控制按鍵,然后,用戶觸發(fā)第一控制按鍵設(shè)定運動方向為a,并且觸發(fā)第二控制按鍵設(shè)定運動速度為b,最后,根據(jù)上述設(shè)定的參數(shù)生成并發(fā)出控制指令,實現(xiàn)對機械臂的運動方向和運動速度的控制??梢?,該運動控制方式主要存在以下缺陷:用戶通過pc端或移動端上的應(yīng)用界面對機械臂的運動進行間接控制,這在一定程度上降低了用戶對機械臂的運動控制效率。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種機械臂的運動控制方法和裝置、以及存儲介質(zhì)、計算機,對機械臂旋轉(zhuǎn)軸的運動控制主要通過人機交互實現(xiàn),用戶不需要點擊應(yīng)用界面上代表相應(yīng)控制指令的控制按鍵來觸發(fā)控制指令,便可實現(xiàn)對機械臂的運動方向和運動速度的控制,能夠建立起控制設(shè)備上移動部件與機械臂運動的直觀聯(lián)系,提升機械臂的運動控制效率。
本發(fā)明實施例提供的一種機械臂的運動控制方法,包括:
對控制設(shè)備的移動情況進行檢測,檢測所述控制設(shè)備的移動部件的移動方向和在所述移動方向上的移動距離;
將所述移動部件的移動方向轉(zhuǎn)換為機械臂的運動方向;
根據(jù)所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度;
生成第一運動控制指令,所述第一運動控制指令用于控制所述機械臂以所述運動速度沿所述運動方向運動;
將所述第一運動控制指令發(fā)送至所述機械臂。
本發(fā)明實施例提供的一種機械臂的運動控制裝置,包括:
移動檢測模塊,用于對控制設(shè)備的移動情況進行檢測,檢測所述控制設(shè)備的移動部件的移動方向和在所述移動方向上的移動距離;
運動方向轉(zhuǎn)換模塊,用于將所述移動部件的移動方向轉(zhuǎn)換為機械臂的運動方向;
運動速度轉(zhuǎn)換模塊,用于根據(jù)所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度;
第一運動指令生成模塊,用于生成第一運動控制指令,所述第一運動控制指令用于控制所述機械臂以所述運動速度沿所述運動方向運動;
第一運動指令發(fā)送模塊,用于將所述第一運動控制指令發(fā)送至所述機械臂。
從以上技術(shù)方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
本發(fā)明實施例中,首先,對控制設(shè)備的移動情況進行檢測,檢測所述控制設(shè)備的移動部件的移動方向和在所述移動方向上的移動距離;然后,將所述移動部件的移動方向轉(zhuǎn)換為機械臂的運動方向;根據(jù)所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度;接著,生成第一運動控制指令,所述第一運動控制指令用于控制所述機械臂以所述運動速度沿所述運動方向運動;最后,將所述第一運動控制指令發(fā)送至所述機械臂。在本發(fā)明實施例中,通過預(yù)先建立控制設(shè)備的移動部件與機械臂之間運動坐標系的轉(zhuǎn)換關(guān)系,將移動部件的移動情況轉(zhuǎn)換成機械臂的控制指令,從而建立起控制設(shè)備上移動部件與機械臂運動的直觀聯(lián)系,提升了機械臂的運動控制效率。
附圖說明
圖1a為第一型號機械臂的正視結(jié)構(gòu)示意圖;
圖1b和圖1c為第一型號機械臂在兩個不同姿態(tài)下的俯視結(jié)構(gòu)示意圖;
圖1d為第二型號機械臂的正視結(jié)構(gòu)示意圖;
圖1f為標有三維坐標系的一種機械臂的立體結(jié)構(gòu)示意圖;
圖1g為本發(fā)明實施例提供的第一種機械臂運動控制系統(tǒng)的結(jié)構(gòu)框圖;
圖1h為機械臂與控制器的連接結(jié)構(gòu)示意圖;
圖1i為本發(fā)明實施例提供的第二種機械臂運動控制系統(tǒng)的結(jié)構(gòu)框圖;
圖2a為標有三維坐標系的一種3d鼠標的立體結(jié)構(gòu)示意圖;
圖2b為圖2a所示3d鼠標的俯視圖;
圖3為本發(fā)明實施例中一種機械臂的運動控制方法一個實施例的流程圖;
圖4為本發(fā)明實施例中一種機械臂的運動控制方法另一個實施例的流程圖;
圖5為本發(fā)明實施例中一種機械臂的運動控制方法對執(zhí)行機構(gòu)進行運動控制的具體流程圖;
圖6為本發(fā)明實施例中一種機械臂的運動控制裝置一個實施例結(jié)構(gòu)圖;
圖7為本發(fā)明一實施例提供的計算機的示意圖。
具體實施方式
本發(fā)明實施例提供了一種機械臂的運動控制方法和裝置、以及存儲介質(zhì)、計算機,用于應(yīng)用界面中的界面按鍵無法與機械臂的運動方向直觀對應(yīng)的問題。
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
首先,圖1g示出了本發(fā)明實施例提供的機械臂運動控制系統(tǒng)的結(jié)構(gòu)框圖,為了便于說明,僅示出與本實施例相關(guān)的部分。
參照圖1g,在本發(fā)明實施例中,機械臂運動控制系統(tǒng)由上位機子系統(tǒng)和下位機子系統(tǒng)構(gòu)成,其中,上位機子系統(tǒng)包括用于發(fā)出控制指令的計算機及其外設(shè),計算機對控制設(shè)備的轉(zhuǎn)動事件、移動事件和/或觸發(fā)事件進行采集,以獲取到控制設(shè)備的操作數(shù)據(jù),并根據(jù)操作數(shù)據(jù)生成控制指令,發(fā)送給下位機子系統(tǒng)。下位機子系統(tǒng)包括機械臂本體,以及微控制器、驅(qū)動擴展板,微控制器可以通過usb轉(zhuǎn)串口模塊實現(xiàn)與上位機子系統(tǒng)的通信,接收上位機子系統(tǒng)發(fā)送的控制指令,解析該控制指令以獲取到機械臂的運動數(shù)據(jù),通過將該運動數(shù)據(jù)發(fā)送給驅(qū)動擴展板,由驅(qū)動擴展板驅(qū)動機械臂本體依照該運動數(shù)據(jù)進行運動,由此實現(xiàn)通過控制設(shè)備對機械臂進行運動控制。可以理解的是,在有需要時,可以將上位機子系統(tǒng)和下位機子系統(tǒng)整合在一起,例如一并整合到機械臂中。在本實施例中,機械臂運動控制系統(tǒng)分為上位機子系統(tǒng)和下位機子系統(tǒng),其主要為了便于理解該機械臂運動控制系統(tǒng),不應(yīng)看成對該機械臂運動控制系統(tǒng)的限定。
參照圖1h和圖1i,在本發(fā)明實施例中,機械臂運動控制系統(tǒng)也可以由控制器和機械臂系統(tǒng)組成。如圖1h所示,控制器作為獨立控制設(shè)備通過線纜與機械臂的底座連接,控制器可以接入外部電源,通過線纜為機械臂提供電力供應(yīng)的同時,與機械臂進行數(shù)據(jù)通信。圖1i為控制器與機械臂系統(tǒng)之間的結(jié)構(gòu)示意圖。其中,控制器可以對機械臂上的控制設(shè)備的轉(zhuǎn)動事件、移動事件和/或觸發(fā)事件進行采集,以獲取到控制設(shè)備的操作數(shù)據(jù),并根據(jù)操作數(shù)據(jù)生成控制指令,發(fā)送給機械臂系統(tǒng)。機械臂系統(tǒng)可以包括機械臂本體,以及微控制器、驅(qū)動擴展板,其功能和作用與上述下位機子系統(tǒng)類似,此處不再贅述。需要說明的是,該控制器可以直接根據(jù)采集到的轉(zhuǎn)動事件、移動事件和/或觸發(fā)事件等操作數(shù)據(jù)生成所述機械臂運動所需的運動數(shù)據(jù),然后直接將該運動數(shù)據(jù)發(fā)送至機械臂的驅(qū)動擴展板中,從而使得驅(qū)動擴展板驅(qū)動機械臂本體依照該運動數(shù)據(jù)進行運動。
可見,本實施例中,機械臂運動控制系統(tǒng)既可以分為上位機子系統(tǒng)和下位機子系統(tǒng),也可以分為控制器和機械臂系統(tǒng),以及其它形式的具有相同功能的控制系統(tǒng)。在本發(fā)明實施例中,為便于理解,主要以上位機子系統(tǒng)和下位機子系統(tǒng)的組成形式進行說明和描述,本領(lǐng)域技術(shù)人員應(yīng)當理解的是,下述說明和描述的內(nèi)容不限定在上位機子系統(tǒng)和下位機子系統(tǒng)這種系統(tǒng)形式上實現(xiàn)。
另外,本發(fā)明實施例中,控制設(shè)備可以具體為鼠標或搖桿控制器。其中,鼠標可以為普通鼠標或3d鼠標。
如圖2a、2b所示,圖2a為3d鼠標的立體示意圖,圖2b為3d鼠標的俯視圖,其中,02為3d鼠標上的彈性結(jié)構(gòu)。當控制設(shè)備為3d鼠標時,3d鼠標(例如spacenavigate)上配置的彈性結(jié)構(gòu)02可旋轉(zhuǎn)、擰動,該彈性結(jié)構(gòu)02在旋轉(zhuǎn)、擰動時可作為控制設(shè)備的旋鈕。另外,該彈性結(jié)構(gòu)02還可以被提起或按下,因此該彈性結(jié)構(gòu)02在用于提起或按下時,可作為控制設(shè)備在垂直方向上的移動部件。如圖2b所示,3d鼠標本身還可以在平面上滑動,在3d鼠標本身滑動時,3d鼠標可以輸出滑動過程中的移動方向和移動距離,因此,3d鼠標本身可作為控制設(shè)備在水平方向上的移動部件。另外,對于部分型號的3d鼠標,其上還可以配置一個以上按鍵,這些按鍵可以作為控制設(shè)備的觸發(fā)部件。同理,當控制設(shè)備為普通鼠標時,其大部分控制部件與3d鼠標的類似,另外需要為普通鼠標額外配置一個旋鈕作為控制部件的旋鈕使用。
而當控制設(shè)備為搖桿控制器時,搖桿控制器上配置的旋鈕或者用于繞圓周進行搖動操作的搖桿,可以看作是控制設(shè)備的旋鈕。另外,部分型號的搖桿控制器上配置的彈性結(jié)構(gòu)可被提起或按下,因此該彈性結(jié)構(gòu)在用于提起或按下時,可作為控制設(shè)備在垂直方向上的移動部件。搖桿控制器上的搖桿可以往一個水平面的各個方向搖動,在搖桿搖動時,搖桿控制器可以輸出遙控過程中的搖動方向和搖動距離,因此,搖桿控制器的搖桿可以作為控制設(shè)備在水平方向上的移動部件。另外,對于大多數(shù)搖桿控制器來說,其上配置有一個以上按鍵,這些按鍵可以作為控制設(shè)備的觸發(fā)部件。
由上述內(nèi)容可知,本發(fā)明實施例中的控制設(shè)備具有多種選擇。在下述內(nèi)容中,為便于描述,僅以3d鼠標作為控制設(shè)備為例進行說明。
基于圖1g所示的系統(tǒng)結(jié)構(gòu),圖3示出了本發(fā)明實施例提供的機械臂的運動控制方法的實現(xiàn)流程,詳述如下:
步驟301、對所述控制設(shè)備的移動情況進行檢測,檢測所述控制設(shè)備的移動部件的移動方向和在所述移動方向上的移動距離;
在本實施例中,控制設(shè)備為3d鼠標,實現(xiàn)的是對3d鼠標運動數(shù)據(jù)的采集,計算機操作系統(tǒng)通過對3d鼠標事件進行監(jiān)聽,獲取到3d鼠標移動部件的移動方向及移動部件在該移動方向上的移動距離。其中,所述移動部件,可以為3d鼠標本體或者彈性結(jié)構(gòu)(用于提起或按下時),若移動部件為3d鼠標本體,由于3d鼠標本體可以在水平面上進行如圖2b所示的x軸方向和y軸方向的移動,因此,需要分別獲取到3d鼠標本體在上述兩個軸向方向上的移動距離;若移動部件為3d鼠標的彈性結(jié)構(gòu),由于彈性結(jié)構(gòu)可以在垂直方向上被提起或按下,因此,彈性結(jié)構(gòu)可以在垂直方向上進行如圖2a所示的z軸方向的移動,并需要獲取到該彈性結(jié)構(gòu)在垂直方向上的移動距離。
同理,當如圖1i所示的控制器作為執(zhí)行主體時,控制器也可以檢測并獲取3d鼠標移動部件的移動方向及移動部件在該移動方向上的移動距離。
步驟302、將所述移動部件的移動方向轉(zhuǎn)換為所述機械臂的運動方向;
步驟303、根據(jù)所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度;
對于上述步驟302和步驟303,在本發(fā)明實施例中,需要根據(jù)步驟301中采集到的3d鼠標的操作數(shù)據(jù)來生成對機械臂的控制指令,因此,需要將3d鼠標的操作數(shù)據(jù)轉(zhuǎn)換成機械臂的運動數(shù)據(jù),這其中涉及到;將3d鼠標的移動部件的移動方向轉(zhuǎn)換為機械臂的運動方向,以及將移動部件在該移動方向上的移動距離轉(zhuǎn)換為機械臂在該運動方向上的運動速度。為了控制機械臂在三維空間運動,需要明確機械臂在三維運動坐標系x軸、y軸、z軸三個軸向方向上對應(yīng)的運動速度,因此,在本發(fā)明實施例中,通過采集到的3d鼠標在三個不同維度上的運動數(shù)據(jù),以將這三個不同維度上的運動數(shù)據(jù)分別轉(zhuǎn)換為機械臂在三個軸向方向上的運動速度。具體地,作為本發(fā)明的一個實施例,所述將所述移動部件的移動方向轉(zhuǎn)換為機械臂的運動方向包括:
若所述移動部件為3d鼠標本體,將所述3d鼠標本體在水平平面上的移動方向映射為所述機械臂在水平平面上的運動方向;
若所述移動部件為3d鼠標的彈性結(jié)構(gòu),將所述彈性結(jié)構(gòu)的移動方向轉(zhuǎn)換為所述機械臂在垂直方向上的運動方向。
具體地,對應(yīng)于圖2a所示的三維坐標系,可以以機械臂的初始運動位置或底座固定位置為原點,建立如圖1f所示的三維運動坐標系,將3d鼠標本體在圖2a的x軸軸向方向的運動映射為機械臂在圖1fx軸軸向方向的運動,將3d鼠標本體在圖2a的y軸軸向方向的運動映射為機械臂在圖1fy軸軸向方向的運動,將彈性結(jié)構(gòu)在垂直方向上(即圖2az軸方向)的運動映射為機械臂在圖1fz軸軸向方向的運動。顯然,容易想到的是,3d鼠標與機械臂的運動維度映射關(guān)系可以不局限于以上方式,在本發(fā)明實施例中,3d鼠標提供了三個不同維度的運動數(shù)據(jù),只需要將這三個不同維度與機械臂運動的三個軸向方向建立起一一對應(yīng)的關(guān)系即可,在此并不限定每組對應(yīng)關(guān)系中的具體維度。
除了需要將所述移動部件的移動方向轉(zhuǎn)換為所述機械臂的運動方向之外,在本發(fā)明實施例中,還需要根據(jù)所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度??梢灶A(yù)先建立好移動部件的移動距離與機械臂的運動速度的對應(yīng)關(guān)系。例如,3d鼠標本體在x軸方向的移動距離為d,移動的時間為t,則3d鼠標本體的x軸方向的平均移動速度為d/t,從而,確定該機械臂在x軸的運動速度為d/t。又比如,3d鼠標本體在x軸方向的移動距離為d,移動的時間為t,則3d鼠標本體的x軸方向的平均加速度為2d/t2,從而該機械臂在x軸上運動的平均加速度為2d/t2,并以該加速度從0開始進行加速運動。
另外,需要說明的是,在確定出機械臂在所述運動方向上的運動速度之后,該機械臂在該運動方向上何時停止運動,可以通過多種方式進行控制。比如,可以默認機械臂在該運動方向上的運動時間等于移動部件的移動時間,也即機械臂時“跟隨”移動部件進行相應(yīng)運動的,移動部件移動時,機械臂移動;反之,移動部件停下時,機械臂也相應(yīng)停止運動。另一種方式,也可以設(shè)定機械臂的運動停止需要用戶另外輸入一個控制機械臂停止運動的指令。比如,確定機械臂在x軸的運動速度為d/t之后,該機械臂即在x軸上以d/t的運動速度進行勻速運動,在用戶另外輸入一個“停止”的控制指令之前,該機械臂可以一直保持這種運動狀態(tài),直到機械臂達到物理上的限位狀態(tài)或者用戶輸入一個“停止”的控制指令為止,該機械臂才停止運動??梢?,在本實施例中,控制機械臂在該運動方向上運動之后,何時控制機械臂停止運動可以根據(jù)實際使用情況進行設(shè)定,此處不做具體限定。
步驟304、生成第一運動控制指令,所述第一運動控制指令用于控制所述機械臂以所述運動速度沿所述運動方向運動;
步驟305、將所述第一運動控制指令發(fā)送至所述機械臂。
基于步驟302和步驟303的轉(zhuǎn)換結(jié)果,生成對機械臂的第一運動控制指令,該第一運動控制指令用于控制機械臂以所述運動速度沿著轉(zhuǎn)換得到的運動方向運動,將該第一運動控制指令發(fā)送至圖1g所示的下位機系統(tǒng),從而能夠根據(jù)該第一運動控制指令驅(qū)動機械臂運動,完成3d鼠標對機械臂的運動控制。
特別地,在某個應(yīng)用場景下,當如圖1i所示的控制器作為執(zhí)行主體時,控制器可以直接根據(jù)上述步驟302和步驟303的轉(zhuǎn)換結(jié)果生成所述機械臂所需的運動數(shù)據(jù),然后將這些運動數(shù)據(jù)發(fā)送至圖1i所示的機械臂系統(tǒng)中的驅(qū)動擴展板,使得該驅(qū)動擴展板根據(jù)這些運動數(shù)據(jù)驅(qū)動機械臂作出相應(yīng)的動作,實現(xiàn)3d鼠標對機械臂的運動控制。
可以理解的是,在控制機械臂以所述運動速度沿著轉(zhuǎn)換得到的運動方向運動之后,當接收到停止運動指令時,機械臂停止運動;或者,當接收到另一個第一運動控制指令時,則根據(jù)另一個第一運動控制指令控制機械臂運動。
示例性地,通過圖3實施例所示的方案,可以實現(xiàn)以下運動控制效果:
1、當3d鼠標沿著圖2a所示的x軸正方向運動時,驅(qū)動機械臂沿著圖1f所示的x軸正方向運動;當3d鼠標沿著圖2a所示的x軸負方向運動時,驅(qū)動機械臂沿著圖1f所示的x軸負方向運動;
2、當3d鼠標沿著圖2a所示的y軸正方向運動時,驅(qū)動機械臂沿著圖1f所示的y軸正方向運動;當3d鼠標沿著圖2a所示的y軸負方向運動時,驅(qū)動機械臂沿著圖1f所示的y軸負方向運動;
3、當3d鼠標沿著與圖2a所示的x軸及y軸各成一定夾角的方向運動時,驅(qū)動機械臂沿著與圖1f所示的x軸及y軸各成一定夾角的方向運動。
進一步地,針對圖3對應(yīng)實施例的運動控制方案,為了更好地實現(xiàn)機械臂的運動控制,在步驟301之前,增加對機械臂進行運動控制的觸發(fā)條件。作為優(yōu)選的一個實施例下,可以監(jiān)聽所述控制設(shè)備上第一觸發(fā)部件的第一觸發(fā)事件,若監(jiān)聽到所述第一觸發(fā)事件,則執(zhí)行上述步驟301。具體地,可以是監(jiān)聽所述第一觸發(fā)部件是否處于被按下的狀態(tài),若是,則執(zhí)行上述步驟301,實現(xiàn)機械臂的運動控制。更進一步地,當該第一觸發(fā)部件處于松開的狀態(tài)時,則可以生成第二運動控制指令,通過第二運動控制指令控制該機械臂停止運動。
示例性地,通過上述的第一觸發(fā)事件作為機械臂運動控制的觸發(fā)條件,可以實現(xiàn)以下運動控制效果:當按住鼠標的一個或兩個按鍵時,此時移動鼠標,驅(qū)動機械臂以鼠標的平均移動速度沿著鼠標的運動方向運動。此時,用戶只要不松開該按鍵,則機械臂一直以這個平均移動速度沿著該運動方向運動。當用戶認為機械臂已移動到想要的位置時,用戶松開該按鍵,機械臂停止運動??梢岳斫獾氖?,通過第一觸發(fā)事件作為機械臂運動控制的觸發(fā)條件,可以對機械臂的多種運動控制方式在用戶操作層面上實現(xiàn)區(qū)分。比如,若機械臂包括常用的跟隨運動方式以及特殊情況下使用的非跟隨運動方式。其中,跟隨運動方式是指機械臂的運動狀態(tài)跟隨鼠標的運動狀態(tài),當鼠標運動時,機械臂運動;鼠標停止時,機械臂停止。非跟隨運動方式則是指上述步驟301~305所述的運動方式。因此,可以將第一觸發(fā)事件作為非跟隨運動方式的觸發(fā)條件,從而將跟隨運動方式與非跟隨運動方式區(qū)分開來。用戶控制機械臂時,若用戶需要采用跟隨運動方式控制機械臂,用戶可以直接移動鼠標進行控制;若用戶需要采用非跟隨運動方式控制機械臂,用戶可以觸發(fā)第一觸發(fā)事件時,比如通過按住鼠標的一個按鍵不放來移動鼠標,從而控制機械臂以非跟隨運動方式進行運動。
圖3所示實施例闡述了對機械臂進行運動控制的方案,進一步地,本發(fā)明實施例還可以通過控制設(shè)備對機械臂旋轉(zhuǎn)軸進行運動控制,如圖4所示,本發(fā)明實施例所述的運動控制方法還包括:
如圖1a、1b、1c和1d所示,為了提高機械臂活動的自由度,機械臂上往往設(shè)置有旋轉(zhuǎn)軸,通過旋轉(zhuǎn)軸可以使得機械臂在一定范圍內(nèi)繞旋轉(zhuǎn)軸旋轉(zhuǎn),在某些特殊作用中,旋轉(zhuǎn)式的運動可以大大提高機械臂的作業(yè)能力。其中,圖1a~1c所示型號的機械臂為大小臂繞旋轉(zhuǎn)軸01在水平面上運動的機械臂,圖1a為該機械臂的正視圖,圖1b、圖1c為該機械臂兩種姿態(tài)下的俯視圖;圖1d所示型號的機械臂為大小臂繞旋轉(zhuǎn)軸01在垂直平面上運動的機械臂。
為提高對機械臂旋轉(zhuǎn)軸的運動控制效率,本發(fā)明實施例提出圖4所示的運動控制方法,如下:
步驟401、對控制設(shè)備上旋鈕的轉(zhuǎn)動情況進行檢測,獲取所述旋鈕的第一轉(zhuǎn)動方向及在所述第一轉(zhuǎn)動方向上的第一角度增量;
在本實施例中,控制設(shè)備為3d鼠標,實現(xiàn)的是對3d鼠標運動數(shù)據(jù)的采集,計算機操作系統(tǒng)通過對3d鼠標事件進行監(jiān)聽,獲取到3d鼠標上彈性結(jié)構(gòu)(作為旋鈕使用)的第一轉(zhuǎn)動方向及在所述第一轉(zhuǎn)動方向上的第一角度增量。該彈性結(jié)構(gòu)可以進行如圖2b所示的順時針轉(zhuǎn)動和逆時針轉(zhuǎn)動,因此,當彈性結(jié)構(gòu)順時針轉(zhuǎn)動時,獲取到的第一轉(zhuǎn)動方向為順時針轉(zhuǎn)動的方向;當彈性結(jié)構(gòu)逆時針轉(zhuǎn)動時,獲取到的第一轉(zhuǎn)動方向為逆時針轉(zhuǎn)動的方向。與此同時,在獲取到第一轉(zhuǎn)動方向時,還可以獲取該彈性結(jié)構(gòu)在第一轉(zhuǎn)動方向上轉(zhuǎn)過的角度,也即第一角度增量。
可以理解的是,當如圖1i所示的控制器作為執(zhí)行主體時,控制器也可以檢測并獲取該控制設(shè)備上旋鈕的第一轉(zhuǎn)動方向及在所述第一轉(zhuǎn)動方向上的第一角度增量。
步驟402、將所述旋鈕的第一轉(zhuǎn)動方向轉(zhuǎn)換為機械臂的目標旋轉(zhuǎn)軸的第二轉(zhuǎn)動方向;
步驟403、將所述旋鈕的第一角度增量轉(zhuǎn)換為所述目標旋轉(zhuǎn)軸在所述第二轉(zhuǎn)動方向上的轉(zhuǎn)動角度;
對于上述步驟402和步驟403,在本發(fā)明實施例中,需要根據(jù)步驟401中采集到的3d鼠標的操作數(shù)據(jù)來生成對機械臂的控制指令,因此,需要將3d鼠標的操作數(shù)據(jù)轉(zhuǎn)換成機械臂的運動數(shù)據(jù),這其中涉及到;將3d鼠標彈性結(jié)構(gòu)的第一轉(zhuǎn)動方向轉(zhuǎn)換為目標旋轉(zhuǎn)軸的第二轉(zhuǎn)動方向,以及將3d鼠標彈性結(jié)構(gòu)的第一角度增量轉(zhuǎn)換為所述目標旋轉(zhuǎn)軸在所述第二轉(zhuǎn)動方向上的轉(zhuǎn)動角度。為了準確控制目標旋轉(zhuǎn)軸的轉(zhuǎn)動方向,需要預(yù)先定義目標旋轉(zhuǎn)軸的轉(zhuǎn)動方向與彈性結(jié)構(gòu)的轉(zhuǎn)動方向的對應(yīng)關(guān)系。例如可以是:當彈性結(jié)構(gòu)順時針轉(zhuǎn)動時,目標旋轉(zhuǎn)軸的轉(zhuǎn)動方向為順時針轉(zhuǎn)動;當彈性結(jié)構(gòu)逆時針轉(zhuǎn)動時,目標旋轉(zhuǎn)軸的轉(zhuǎn)動方向為逆時針轉(zhuǎn)動。也可以是:當彈性結(jié)構(gòu)順時針轉(zhuǎn)動時,目標旋轉(zhuǎn)軸的轉(zhuǎn)動方向為逆時針轉(zhuǎn)動;當彈性結(jié)構(gòu)逆時針轉(zhuǎn)動時,目標旋轉(zhuǎn)軸的轉(zhuǎn)動方向為順時針轉(zhuǎn)動。
另一方面,為了進行第一角度增量與目標旋轉(zhuǎn)軸的轉(zhuǎn)動角度之間的轉(zhuǎn)換,可以預(yù)先建立好彈性結(jié)構(gòu)的轉(zhuǎn)動角度與目標旋轉(zhuǎn)軸的轉(zhuǎn)動角度之間的對應(yīng)關(guān)系。例如,彈性結(jié)構(gòu)的單位轉(zhuǎn)動角度步長對應(yīng)目標旋轉(zhuǎn)軸的單位轉(zhuǎn)動角度步長,從而轉(zhuǎn)換后,該目標旋轉(zhuǎn)軸在所述第二轉(zhuǎn)動方向上的轉(zhuǎn)動角度等于所述第一角度增量。
作為本實施例的一種優(yōu)選方式,當機械臂配置有兩個以上旋轉(zhuǎn)軸時,在上述步驟402和步驟403之前,還可以從所述兩個以上旋轉(zhuǎn)軸中確定一個以上的旋轉(zhuǎn)軸作為所述目標旋轉(zhuǎn)軸??梢岳斫獾氖?,如圖1a~1d所示,機械臂配置有兩個旋轉(zhuǎn)軸,分別對應(yīng)控制大臂和小臂的運動。因此,當需要對旋轉(zhuǎn)軸進行轉(zhuǎn)動控制之前,可以先由用戶選擇一個旋轉(zhuǎn)軸作為目標旋轉(zhuǎn)軸進行控制。例如,當用戶需要控制機械臂完成一個畫圓弧的動作時,現(xiàn)有技術(shù)往往需要在應(yīng)用界面中預(yù)設(shè)一個畫圓弧的指令,用戶才能通過預(yù)設(shè)的畫圓弧指令來控制機械臂完成畫圓弧的動作。然而,應(yīng)用界面上往往只預(yù)設(shè)有常用的、標準的畫圓弧指令,比如畫四分之一圓弧、畫二分之一圓弧、畫一個完整的圓等,當用戶想要畫出非常規(guī)的圓滑時,例如畫八分之七圓弧,則非常困難。本實施例中,通過單獨對某個旋轉(zhuǎn)軸進行轉(zhuǎn)動控制,用戶可以確定機械臂上某個旋轉(zhuǎn)軸為目標旋轉(zhuǎn)軸,然后控制該目標旋轉(zhuǎn)軸進行轉(zhuǎn)動,轉(zhuǎn)動的角度和方向均可以由用戶通過控制設(shè)備上的旋鈕直接控制,使得在控制機械臂進行類似畫圓弧的動作時,可以做到“所見即所得”的效果。另外在有需要時,也可以同時對兩個或兩個以上的旋轉(zhuǎn)軸進行控制。
可以理解的是,在這些旋轉(zhuǎn)軸中確定出目標旋轉(zhuǎn)軸的方式可以有多種,例如可以預(yù)設(shè)算法進行自動選定,也可以由用戶進行手動選擇,此處不作具體限定。
步驟404、生成轉(zhuǎn)動控制指令,所述轉(zhuǎn)動控制指令用于控制所述目標旋轉(zhuǎn)軸沿所述第二轉(zhuǎn)動方向轉(zhuǎn)動所述轉(zhuǎn)動角度;
步驟405、將所述轉(zhuǎn)動控制指令發(fā)送至所述機械臂。
基于上述步驟402和步驟403的轉(zhuǎn)換結(jié)果,生成轉(zhuǎn)動控制指令,所述轉(zhuǎn)動控制指令用于控制所述目標旋轉(zhuǎn)軸沿所述第二轉(zhuǎn)動方向轉(zhuǎn)動所述轉(zhuǎn)動角度,將該轉(zhuǎn)動控制指令發(fā)送至圖1g所示的下位機系統(tǒng),從而能夠根據(jù)所述轉(zhuǎn)動控制指令驅(qū)動所述機械臂上的所述目標旋轉(zhuǎn)軸運動,完成3d鼠標對機械臂上目標旋轉(zhuǎn)軸的運動控制。
特別地,在某個應(yīng)用場景下,當如圖1i所示的控制器作為執(zhí)行主體時,控制器可以直接根據(jù)上述步驟402和步驟403的轉(zhuǎn)換結(jié)果生成所述機械臂的運動數(shù)據(jù),然后將這些運動數(shù)據(jù)發(fā)送至圖1i所示的機械臂系統(tǒng)中的驅(qū)動擴展板,從而使得所述驅(qū)動擴展板根據(jù)所述運動數(shù)據(jù)驅(qū)動所述機械臂上的所述目標旋轉(zhuǎn)軸運動。
圖4所示實施例闡述了對機械臂進行運動控制的方案,進一步地,本發(fā)明實施例還可以通過控制設(shè)備實現(xiàn)對機械臂末端連接的執(zhí)行機構(gòu)的運動控制,如圖5所示,本發(fā)明實施例所述的運動控制方法還包括:
步驟501、監(jiān)聽所述控制設(shè)備上第二觸發(fā)部件的第二觸發(fā)事件;
對于鼠標來說,其上可以配置有至少一個按鍵作為控制設(shè)備的第二觸發(fā)部件。本實施例中,可以對鼠標的按鍵的觸壓時間進行監(jiān)聽,以判斷用戶是否對鼠標進行了觸壓操作。
步驟502、若監(jiān)聽到所述第二觸發(fā)事件,則根據(jù)所述第二觸發(fā)事件生成機構(gòu)控制指令;
步驟503、將所述機構(gòu)控制指令發(fā)送至所述機械臂,以根據(jù)所述機構(gòu)控制指令驅(qū)動所述機械臂末端連接的執(zhí)行機構(gòu)運動。
對于上述步驟502和步驟503,當監(jiān)聽到第二觸發(fā)事件時,即可生成對機械臂末端連接的執(zhí)行機構(gòu)進行控制的機構(gòu)控制指令,并將該機構(gòu)控制指令發(fā)送至圖1g所示的下位機系統(tǒng),下位機系統(tǒng)通過對該機構(gòu)控制指令進行解析,解析出關(guān)于該執(zhí)行機構(gòu)的運動數(shù)據(jù),從而驅(qū)動該執(zhí)行機構(gòu)運動。在本發(fā)明實施例中,所述機械臂末端連接的執(zhí)行機構(gòu),包括但不限于機械臂末端的旋轉(zhuǎn)機構(gòu)(例如舵機),或者還包括與該旋轉(zhuǎn)機構(gòu)連接的爪子、吸盤等裝置,該機構(gòu)的種類不同,所能夠?qū)崿F(xiàn)的功能也不相同,總體來說,該執(zhí)行機構(gòu)是用于實現(xiàn)機械臂更為精細的機械控制,例如抓握物體、繪畫、激光刻字,等等。
以下通過若干實施例來對圖5實施例的實現(xiàn)進行詳細闡述:
作為本發(fā)明的一個實施例,步驟502可以具體通過以下方式實現(xiàn):
若監(jiān)聽到關(guān)于所述第二觸發(fā)部件的雙擊操作事件,則根據(jù)所述雙擊操作事件生成第一機構(gòu)控制指令,所述第一機構(gòu)控制指令用于控制所述執(zhí)行機構(gòu)在打開狀態(tài)和關(guān)閉狀態(tài)之間的切換。在本實施例中,該第二觸發(fā)部件可以是鼠標左鍵、鼠標右鍵或者鼠標上配置的其他物理按鍵。當監(jiān)聽到該第二觸發(fā)部件被雙擊時,則生成第一機構(gòu)控制指令,并將該第一機構(gòu)控制指令發(fā)送至機械臂。若機械臂的執(zhí)行機構(gòu)正處于打開狀態(tài),則當機械臂接收到該第一機構(gòu)控制指令時,控制機械臂的執(zhí)行機構(gòu)從打開狀態(tài)切換至關(guān)閉狀態(tài);反之,若機械臂的執(zhí)行機構(gòu)正處于關(guān)閉狀態(tài),則當機械臂接收到該第一機構(gòu)控制指令時,控制機械臂的執(zhí)行機構(gòu)從關(guān)閉狀態(tài)切換至打開狀態(tài)。
作為本發(fā)明的又一個實施例,步驟502還可以具體通過以下方式實現(xiàn):
若監(jiān)聽到所述第二觸發(fā)部件處于被按下的狀態(tài),則生成第二機構(gòu)控制指令,所述第二機構(gòu)控制指令用于打開所述執(zhí)行機構(gòu);若監(jiān)聽到所述第二觸發(fā)部件處于松開狀態(tài),則生成第三機構(gòu)控制指令,所述第三機構(gòu)控制指令用于關(guān)閉所述執(zhí)行機構(gòu)。在本實施例中,該第二觸發(fā)部件可以是鼠標左鍵、鼠標右鍵或者鼠標上配置的其他物理按鍵。當監(jiān)聽到該第二觸發(fā)部件處于被按下的狀態(tài)時,則生成第二機構(gòu)控制指令,并將該第二機構(gòu)控制指令發(fā)送至機械臂,控制機械臂的執(zhí)行機構(gòu)打開;而當監(jiān)聽到該第二觸發(fā)部件處于松開狀態(tài)時,則生成第三機構(gòu)控制指令,并將該第三機構(gòu)控制指令發(fā)送至機械臂,控制機械臂的執(zhí)行機構(gòu)關(guān)閉。示例性地,在一個應(yīng)用場景下,用戶按下某按鍵時,機械臂末端的執(zhí)行機構(gòu)打開、啟動并執(zhí)行相應(yīng)操作。用戶保持按下該按鍵的狀態(tài),該執(zhí)行機構(gòu)持續(xù)作業(yè),直到用戶認為該執(zhí)行機構(gòu)已完成階段性的作業(yè)時,用戶松開該按鍵,該執(zhí)行機構(gòu)則關(guān)閉,停止作業(yè)。
需要說明的是,上述的第一觸發(fā)部件、第二觸發(fā)部件具體可以是控制設(shè)備上的按鍵、搖桿、彈性結(jié)構(gòu)、移動部件等一切可以進行指令輸入的部件??刂圃O(shè)備可以預(yù)先設(shè)定哪一個部件為第一觸發(fā)部件,哪一個部件為第二觸發(fā)部件,當相應(yīng)部件被觸發(fā)(比如,被按下、被觸壓、被提起、被扭動,等等)時,則生成對應(yīng)的觸發(fā)事件,比如上述的第一觸發(fā)事件或第二觸發(fā)事件。
在本發(fā)明實施例中,通過預(yù)先建立控制設(shè)備的移動部件與機械臂之間運動坐標系的轉(zhuǎn)換關(guān)系,將移動部件的移動情況轉(zhuǎn)換成機械臂的控制指令,從而建立起控制設(shè)備上移動部件與機械臂運動的直觀聯(lián)系,提升了機械臂的運動控制效率。
進一步地,還通過預(yù)先建立旋鈕與目標旋轉(zhuǎn)軸之間轉(zhuǎn)動坐標系的轉(zhuǎn)換關(guān)系,將旋鈕的轉(zhuǎn)動情況轉(zhuǎn)換成對目標旋轉(zhuǎn)軸的控制指令,從而建立起控制設(shè)備上旋鈕與機械臂上目標旋轉(zhuǎn)軸轉(zhuǎn)動的直觀聯(lián)系,提升了機械臂旋轉(zhuǎn)軸的運動控制效率。
應(yīng)理解,上述實施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。
對應(yīng)于上文實施例所述的機械臂的運動控制方法,圖6示出了本發(fā)明實施例提供的機械臂的運動控制裝置的結(jié)構(gòu)框圖,所述機械臂的運動控制裝置可以是內(nèi)置于圖1所示的上位機子系統(tǒng)內(nèi)的軟件模塊、硬件模塊或者是軟硬結(jié)合的模塊。為了便于說明,僅示出了與本實施例相關(guān)的部分。
本實施例中,一種機械臂的運動控制裝置包括:
移動檢測模塊601,用于對控制設(shè)備的移動情況進行檢測,檢測所述控制設(shè)備的移動部件的移動方向和在所述移動方向上的移動距離;
運動方向轉(zhuǎn)換模塊602,用于將所述移動部件的移動方向轉(zhuǎn)換為機械臂的運動方向;
運動速度轉(zhuǎn)換模塊603,用于根據(jù)所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度;
第一運動指令生成模塊604,用于生成第一運動控制指令,所述第一運動控制指令用于控制所述機械臂以所述運動速度沿所述運動方向運動;
第一運動指令發(fā)送模塊605,用于將所述第一運動控制指令發(fā)送至所述機械臂。
進一步地,所述運動控制裝置還可以包括:
第一觸發(fā)事件監(jiān)聽模塊,用于監(jiān)聽所述控制設(shè)備上第一觸發(fā)部件的第一觸發(fā)事件;
監(jiān)聽觸發(fā)模塊,用于若所述第一觸發(fā)事件監(jiān)聽模塊監(jiān)聽到所述第一觸發(fā)事件,則觸發(fā)所述移動檢測模塊。
進一步地,所述第一觸發(fā)事件監(jiān)聽模塊可以包括:
第一狀態(tài)監(jiān)聽單元,用于監(jiān)聽所述第一觸發(fā)部件是否處于被按下的狀態(tài);
第一觸發(fā)確定單元,用于若所述第一觸發(fā)部件處于被按下的狀態(tài),則確定監(jiān)聽到所述第一觸發(fā)事件;
所述運動控制裝置還可以包括
狀態(tài)指令生成模塊,用于若監(jiān)聽到所述第一觸發(fā)部件處于松開狀態(tài),則生成第二運動控制指令;
狀態(tài)指令發(fā)送模塊,用于將所述狀態(tài)指令生成模塊生成的所述第二運動控制指令發(fā)送至所述機械臂,以根據(jù)所述第二運動控制指令控制所述機械臂停止運動。
進一步地,所述運動控制裝置還可以包括:
轉(zhuǎn)動檢測模塊,用于對控制設(shè)備上旋鈕的轉(zhuǎn)動情況進行檢測,獲取所述旋鈕的第一轉(zhuǎn)動方向及在所述第一轉(zhuǎn)動方向上的第一角度增量;
轉(zhuǎn)動方向轉(zhuǎn)換模塊,用于將所述旋鈕的第一轉(zhuǎn)動方向轉(zhuǎn)換為機械臂的目標旋轉(zhuǎn)軸的第二轉(zhuǎn)動方向;
轉(zhuǎn)動角度轉(zhuǎn)換模塊,用于將所述旋鈕的第一角度增量轉(zhuǎn)換為所述目標旋轉(zhuǎn)軸在所述第二轉(zhuǎn)動方向上的轉(zhuǎn)動角度;
轉(zhuǎn)動指令生成模塊,用于生成轉(zhuǎn)動控制指令,所述轉(zhuǎn)動控制指令用于控制所述目標旋轉(zhuǎn)軸沿所述第二轉(zhuǎn)動方向轉(zhuǎn)動所述轉(zhuǎn)動角度;
轉(zhuǎn)動指令發(fā)送模塊,用于將所述轉(zhuǎn)動控制指令發(fā)送至所述機械臂。
進一步地,所述運動控制裝置還可以包括:
第二觸壓監(jiān)聽模塊,用于監(jiān)聽所述控制設(shè)備上第二觸發(fā)部件的第二觸發(fā)事件;
機構(gòu)指令生成模塊,用于若監(jiān)聽到所述第二觸發(fā)事件,則根據(jù)所述第二觸發(fā)事件生成機構(gòu)控制指令;
機構(gòu)指令發(fā)送模塊,用于將所述機構(gòu)控制指令發(fā)送至所述機械臂,以根據(jù)所述機構(gòu)控制指令驅(qū)動所述機械臂末端連接的執(zhí)行機構(gòu)運動。
進一步地,所述機構(gòu)指令生成模塊可以包括:
第一機構(gòu)指令生成單元,用于若監(jiān)聽到關(guān)于所述第二觸發(fā)部件的雙擊操作事件,則根據(jù)所述雙擊操作事件生成第一機構(gòu)控制指令,所述第一機構(gòu)控制指令用于控制所述執(zhí)行機構(gòu)在打開狀態(tài)和關(guān)閉狀態(tài)之間的切換;
和/或
第二機構(gòu)指令生成單元,用于若監(jiān)聽到所述第二觸發(fā)部件處于被按下的狀態(tài),則生成第二機構(gòu)控制指令,所述第二機構(gòu)控制指令用于打開所述執(zhí)行機構(gòu);
第三機構(gòu)指令生成單元,用于若監(jiān)聽到所述第二觸發(fā)部件處于松開狀態(tài),則生成第三機構(gòu)控制指令,所述第三機構(gòu)控制指令用于關(guān)閉所述執(zhí)行機構(gòu)。
圖7是本發(fā)明一實施例提供的計算機的示意圖。如圖7所示,該實施例的計算機7包括:處理器70、存儲器71以及存儲在所述存儲器71中并可在所述處理器70上運行的計算機程序72,例如機械臂的運動控制程序。所述處理器70執(zhí)行所述計算機程序72時實現(xiàn)上述各個機械臂的運動控制方法實施例中的步驟,例如圖3所示的步驟301至305?;蛘?,所述處理器70執(zhí)行所述計算機程序72時實現(xiàn)上述各裝置實施例中各模塊/單元的功能,例如圖6所示模塊601至605的功能。
示例性的,所述計算機程序72可以被分割成一個或多個模塊/單元,所述一個或者多個模塊/單元被存儲在所述存儲器71中,并由所述處理器70執(zhí)行,以完成本發(fā)明。所述一個或多個模塊/單元可以是能夠完成特定功能的一系列計算機程序指令段,該指令段用于描述所述計算機程序72在所述計算機7中的執(zhí)行過程。
所述計算機7可以是移動終端、桌上型計算機、筆記本、掌上電腦及云端服務(wù)器等計算設(shè)備。所述計算機可包括,但不僅限于,處理器70、存儲器71。本領(lǐng)域技術(shù)人員可以理解,圖7僅僅是計算機7的示例,并不構(gòu)成對計算機7的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如所述計算機還可以包括輸入輸出設(shè)備、網(wǎng)絡(luò)接入設(shè)備、總線等。
所述處理器70可以是中央處理單元(centralprocessingunit,cpu),還可以是其他通用處理器、數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
所述存儲器71可以是所述計算機7的內(nèi)部存儲單元,例如計算機7的硬盤或內(nèi)存。所述存儲器71也可以是所述計算機7的外部存儲設(shè)備,例如所述計算機7上配備的插接式硬盤,智能存儲卡(smartmediacard,smc),安全數(shù)字(securedigital,sd)卡,閃存卡(flashcard)等。進一步地,所述存儲器71還可以既包括所述計算機7的內(nèi)部存儲單元也包括外部存儲設(shè)備。所述存儲器71用于存儲所述計算機程序以及所述計算機所需的其他程序和數(shù)據(jù)。所述存儲器71還可以用于暫時地存儲已經(jīng)輸出或者將要輸出的數(shù)據(jù)。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。