麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

機械臂的運動控制方法和裝置、以及存儲介質、計算機與流程

文檔序號:11242311閱讀:816來源:國知局
機械臂的運動控制方法和裝置、以及存儲介質、計算機與流程

本發明涉及機器人技術領域,尤其涉及機械臂的運動控制方法和裝置。



背景技術:

隨著產業升級和企業技術進步的加快,機械臂成為了機器人技術領域中被得到廣泛實際應用的自動化機械裝置,此類機械臂具有多自由度,允許在二維或三維空間進行運動,通過接收控制指令以完成各種作業。

如圖1a、1b、1c和1d所示,為了提高機械臂活動的自由度,機械臂上往往設置有旋轉軸,通過旋轉軸可以使得機械臂在一定范圍內繞旋轉軸旋轉,在某些特殊作用中,旋轉式的運動可以大大提高機械臂的作業能力。其中,圖1a~1c所示型號的機械臂為大小臂繞旋轉軸01在水平面上運動的機械臂,圖1a為該機械臂的正視圖,圖1b、圖1c為該機械臂兩種姿態下的俯視圖;圖1d所示型號的機械臂為大小臂繞旋轉軸01在垂直平面上運動的機械臂。

目前,對機械臂旋轉軸的運動控制主要通過人機交互實現,在現有技術中,最常見的運動控制方式包括在pc端或移動端通過應用界面進行控制。比如,用戶如果想要控制機械臂旋轉軸正方向旋轉大約45°,則用戶首先需要在應用界面上找到控制機械臂旋轉軸的轉動方向的第一控制按鍵,以及控制機械臂旋轉軸的轉動角度的第二控制按鍵,然后,用戶觸發第一控制按鍵設定轉動方向為正方向,并且觸發第二控制按鍵設定轉動角度為45°,最后,根據上述設定的參數生成并發出控制指令,實現對機械臂旋轉軸的轉動角度和轉動方向的控制。可見,該運動控制方式主要存在以下缺陷:用戶通過pc端或移動端上的應用界面對機械臂進行間接控制,這在一定程度上降低了用戶對機械臂旋轉軸的運動控制效率。



技術實現要素:

本發明實施例提供了一種機械臂的運動控制方法和裝置、以及存儲介質、計算機,對機械臂旋轉軸的運動控制主要通過人機交互實現,用戶不需要點擊應用界面上代表相應控制指令的控制按鍵來觸發控制指令,便可實現對機械臂旋轉軸的轉動角度和轉動方向的控制,能夠建立起控制設備上旋鈕與機械臂上目標旋轉軸轉動的直觀聯系,提升機械臂旋轉軸的運動控制效率。

本發明實施例提供的一種機械臂的運動控制方法,包括:

對控制設備上旋鈕的轉動情況進行檢測,獲取所述旋鈕的第一轉動方向及在所述第一轉動方向上的第一角度增量;

將所述旋鈕的第一轉動方向轉換為機械臂的目標旋轉軸的第二轉動方向;

將所述旋鈕的第一角度增量轉換為所述目標旋轉軸在所述第二轉動方向上的轉動角度;

生成轉動控制指令,所述轉動控制指令用于控制所述目標旋轉軸沿所述第二轉動方向轉動所述轉動角度;

將所述轉動控制指令發送至所述機械臂。

本發明實施例提供的一種機械臂的運動控制裝置,包括:

轉動檢測模塊,用于對控制設備上旋鈕的轉動情況進行檢測,獲取所述旋鈕的第一轉動方向及在所述第一轉動方向上的第一角度增量;

轉動方向轉換模塊,用于將所述旋鈕的第一轉動方向轉換為機械臂的目標旋轉軸的第二轉動方向;

轉動角度轉換模塊,用于將所述旋鈕的第一角度增量轉換為所述目標旋轉軸在所述第二轉動方向上的轉動角度;

轉動指令生成模塊,用于生成轉動控制指令,所述轉動控制指令用于控制所述目標旋轉軸沿所述第二轉動方向轉動所述轉動角度;

轉動指令發送模塊,用于將所述轉動控制指令發送至所述機械臂。

從以上技術方案可以看出,本發明實施例具有以下優點:

本發明實施例中,首先,對控制設備上旋鈕的轉動情況進行檢測,獲取所述旋鈕的第一轉動方向及在所述第一轉動方向上的第一角度增量;然后,將所述旋鈕的第一轉動方向轉換為機械臂的目標旋轉軸的第二轉動方向;將所述旋鈕的第一角度增量轉換為所述目標旋轉軸在所述第二轉動方向上的轉動角度;接著,生成轉動控制指令,所述轉動控制指令用于控制所述目標旋轉軸沿所述第二轉動方向轉動所述轉動角度;最后,將所述轉動控制指令發送至所述機械臂。在本發明實施例中,通過預先建立旋鈕與目標旋轉軸之間轉動坐標系的轉換關系,將旋鈕的轉動情況轉換成對目標旋轉軸的控制指令,從而建立起控制設備上旋鈕與機械臂上目標旋轉軸轉動的直觀聯系,提升了機械臂旋轉軸的運動控制效率。

附圖說明

圖1a為第一型號機械臂的正視結構示意圖;

圖1b和圖1c為第一型號機械臂在兩個不同姿態下的俯視結構示意圖;

圖1d為第二型號機械臂的正視結構示意圖;

圖1e為標有三維坐標系的一種機械臂的立體結構示意圖;

圖1f為本發明實施例提供的第一種機械臂運動控制系統的結構框圖;

圖1g為機械臂與控制器的連接結構示意圖;

圖1h為本發明實施例提供的第二種機械臂運動控制系統的結構框圖;

圖2a為標有三維坐標系的一種3d鼠標的立體結構示意圖;

圖2b為圖2a所示3d鼠標的俯視圖;

圖3為本發明實施例中一種機械臂的運動控制方法一個實施例的流程圖;

圖4為本發明實施例中一種機械臂的運動控制方法另一個實施例的流程圖;

圖5為本發明實施例中一種機械臂的運動控制方法對執行機構進行運動控制的具體流程圖;

圖6為本發明實施例中一種機械臂的運動控制裝置一個實施例結構圖;

圖7為本發明一實施例提供的計算機的示意圖。

具體實施方式

本發明實施例提供了一種機械臂的運動控制方法和裝置、以及存儲介質、計算機,用于解決應用界面中的界面按鍵無法與機械臂旋轉軸的轉動方向直觀對應的問題。

為使得本發明的發明目的、特征、優點能夠更加的明顯和易懂,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發明一部分實施例,而非全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。

首先,圖1f示出了本發明實施例提供的機械臂運動控制系統的結構框圖,為了便于說明,僅示出與本實施例相關的部分。

參照圖1f,在本發明實施例中,機械臂運動控制系統由上位機子系統和下位機子系統構成,其中,上位機子系統包括用于發出控制指令的計算機及其外設,計算機對控制設備的轉動事件、移動事件和/或觸發事件進行采集,以獲取到控制設備的操作數據,并根據操作數據生成控制指令,發送給下位機子系統。下位機子系統包括機械臂本體,以及微控制器、驅動擴展板,微控制器可以通過usb轉串口模塊實現與上位機子系統的通信,接收上位機子系統發送的控制指令,解析該控制指令以獲取到機械臂的運動數據,通過將該運動數據發送給驅動擴展板,由驅動擴展板驅動機械臂本體依照該運動數據進行運動,由此實現通過控制設備對機械臂進行運動控制。可以理解的是,在有需要時,可以將上位機子系統和下位機子系統整合在一起,例如一并整合到機械臂中。在本實施例中,機械臂運動控制系統分為上位機子系統和下位機子系統,其主要為了便于理解該機械臂運動控制系統,不應看成對該機械臂運動控制系統的限定。

參照圖1g和圖1h,在本發明實施例中,機械臂運動控制系統也可以由控制器和機械臂系統組成。如圖1g所示,控制器作為獨立控制設備通過線纜與機械臂的底座連接,控制器可以接入外部電源,通過線纜為機械臂提供電力供應的同時,與機械臂進行數據通信。圖1h為控制器與機械臂系統之間的結構示意圖。其中,控制器可以對機械臂上的控制設備的轉動事件、移動事件和/或觸發事件進行采集,以獲取到控制設備的操作數據,并根據操作數據生成控制指令,發送給機械臂系統。機械臂系統可以包括機械臂本體,以及微控制器、驅動擴展板,其功能和作用與上述下位機子系統類似,此處不再贅述。需要說明的是,該控制器可以直接根據采集到的轉動事件、移動事件和/或觸發事件等操作數據生成所述機械臂運動所需的運動數據,然后直接將該運動數據發送至機械臂的驅動擴展板中,從而使得驅動擴展板驅動機械臂本體依照該運動數據進行運動。

可見,本實施例中,機械臂運動控制系統既可以分為上位機子系統和下位機子系統,也可以分為控制器和機械臂系統,以及其它形式的具有相同功能的控制系統。在本發明實施例中,為便于理解,主要以上位機子系統和下位機子系統的組成形式進行說明和描述,本領域技術人員應當理解的是,下述說明和描述的內容不限定在上位機子系統和下位機子系統這種系統形式上實現。

另外,本發明實施例中,控制設備可以具體為鼠標或搖桿控制器。其中,鼠標可以為普通鼠標或3d鼠標。

如圖2a、2b所示,圖2a為3d鼠標的立體示意圖,圖2b為3d鼠標的俯視圖,其中,02為3d鼠標上的彈性結構。當控制設備為3d鼠標時,3d鼠標(例如spacenavigate)上配置的彈性結構02可旋轉、擰動,該彈性結構02在旋轉、擰動時可作為控制設備的旋鈕。另外,該彈性結構02還可以被提起或按下,因此該彈性結構02在用于提起或按下時,可作為控制設備在垂直方向上的移動部件。如圖2b所示,3d鼠標本身還可以在平面上滑動,在3d鼠標本身滑動時,3d鼠標可以輸出滑動過程中的移動方向和移動距離,因此,3d鼠標本身可作為控制設備在水平方向上的移動部件。另外,對于部分型號的3d鼠標,其上還可以配置一個以上按鍵,這些按鍵可以作為控制設備的觸發部件。同理,當控制設備為普通鼠標時,其大部分控制部件與3d鼠標的類似,另外需要為普通鼠標額外配置一個旋鈕作為控制部件的旋鈕使用。

而當控制設備為搖桿控制器時,搖桿控制器上配置的旋鈕或者用于繞圓周進行搖動操作的搖桿,可以看作是控制設備的旋鈕。另外,部分型號的搖桿控制器上配置的彈性結構可被提起或按下,因此該彈性結構在用于提起或按下時,可作為控制設備在垂直方向上的移動部件。搖桿控制器上的搖桿可以往一個水平面的各個方向搖動,在搖桿搖動時,搖桿控制器可以輸出遙控過程中的搖動方向和搖動距離,因此,搖桿控制器的搖桿可以作為控制設備在水平方向上的移動部件。另外,對于大多數搖桿控制器來說,其上配置有一個以上按鍵,這些按鍵可以作為控制設備的觸發部件。

由上述內容可知,本發明實施例中的控制設備具有多種選擇。在下述內容中,為便于描述,僅以3d鼠標作為控制設備為例進行說明。

基于圖1f所示的系統結構,圖3示出了本發明實施例提供的機械臂的運動控制方法的實現流程,詳述如下:

步驟301、對控制設備上旋鈕的轉動情況進行檢測,獲取所述旋鈕的第一轉動方向及在所述第一轉動方向上的第一角度增量;

在本實施例中,控制設備為3d鼠標,實現的是對3d鼠標運動數據的采集,計算機操作系統通過對3d鼠標事件進行監聽,獲取到3d鼠標上彈性結構(作為旋鈕使用)的第一轉動方向及在所述第一轉動方向上的第一角度增量。該彈性結構可以進行如圖2b所示的順時針轉動和逆時針轉動,因此,當彈性結構順時針轉動時,獲取到的第一轉動方向為順時針轉動的方向;當彈性結構逆時針轉動時,獲取到的第一轉動方向為逆時針轉動的方向。與此同時,在獲取到第一轉動方向時,還可以獲取該彈性結構在第一轉動方向上轉過的角度,也即第一角度增量。

可以理解的是,當如圖1h所示的控制器作為執行主體時,控制器也可以檢測并獲取該控制設備上旋鈕的第一轉動方向及在所述第一轉動方向上的第一角度增量。

步驟302、將所述旋鈕的第一轉動方向轉換為機械臂的目標旋轉軸的第二轉動方向;

步驟303、將所述旋鈕的第一角度增量轉換為所述目標旋轉軸在所述第二轉動方向上的轉動角度;

對于上述步驟302和步驟303,在本發明實施例中,需要根據步驟301中采集到的3d鼠標的操作數據來生成對機械臂的控制指令,因此,需要將3d鼠標的操作數據轉換成機械臂的運動數據,這其中涉及到;將3d鼠標彈性結構的第一轉動方向轉換為目標旋轉軸的第二轉動方向,以及將3d鼠標彈性結構的第一角度增量轉換為所述目標旋轉軸在所述第二轉動方向上的轉動角度。為了準確控制目標旋轉軸的轉動方向,需要預先定義目標旋轉軸的轉動方向與彈性結構的轉動方向的對應關系。例如可以是:當彈性結構順時針轉動時,目標旋轉軸的轉動方向為順時針轉動;當彈性結構逆時針轉動時,目標旋轉軸的轉動方向為逆時針轉動。也可以是:當彈性結構順時針轉動時,目標旋轉軸的轉動方向為逆時針轉動;當彈性結構逆時針轉動時,目標旋轉軸的轉動方向為順時針轉動。

另一方面,為了進行第一角度增量與目標旋轉軸的轉動角度之間的轉換,可以預先建立好彈性結構的轉動角度與目標旋轉軸的轉動角度之間的對應關系。例如,彈性結構的單位轉動角度步長對應目標旋轉軸的單位轉動角度步長,從而轉換后,該目標旋轉軸在所述第二轉動方向上的轉動角度等于所述第一角度增量。

作為本實施例的一種優選方式,當機械臂配置有兩個以上旋轉軸時,在上述步驟302和步驟303之前,還可以從所述兩個以上旋轉軸中確定一個以上的旋轉軸作為所述目標旋轉軸。可以理解的是,如圖1a~1d所示,機械臂配置有兩個旋轉軸,分別對應控制大臂和小臂的運動。因此,當需要對單獨某個旋轉軸進行轉動控制之前,可以先由用戶選擇一個旋轉軸作為目標旋轉軸進行控制。例如,當用戶需要控制機械臂完成一個畫圓弧的動作時,現有技術往往需要在應用界面中預設一個畫圓弧的指令,用戶才能通過預設的畫圓弧指令來控制機械臂完成畫圓弧的動作。然而,應用界面上往往只預設有常用的、標準的畫圓弧指令,比如畫四分之一圓弧、畫二分之一圓弧、畫一個完整的圓等,當用戶想要畫出非常規的圓滑時,例如畫八分之七圓弧,則非常困難。本實施例中,通過單獨對某個旋轉軸進行轉動控制,用戶可以確定機械臂上某個旋轉軸為目標旋轉軸,然后控制該目標旋轉軸進行轉動,轉動的角度和方向均可以由用戶通過控制設備上的旋鈕直接控制,使得在控制機械臂進行類似畫圓弧的動作時,可以做到“所見即所得”的效果。另外在有需要時,也可以同時對兩個或兩個以上的旋轉軸進行控制。

可以理解的是,在這些旋轉軸中確定出目標旋轉軸的方式可以有多種,例如可以預設算法進行自動選定,也可以由用戶進行手動選擇,此處不作具體限定。

步驟304、生成轉動控制指令,所述轉動控制指令用于控制所述目標旋轉軸沿所述第二轉動方向轉動所述轉動角度;

步驟305、將所述轉動控制指令發送至所述機械臂。

基于上述步驟302和步驟303的轉換結果,生成轉動控制指令,所述轉動控制指令用于控制所述目標旋轉軸沿所述第二轉動方向轉動所述轉動角度,將該轉動控制指令發送至圖1f所示的下位機系統,從而能夠根據所述轉動控制指令驅動所述機械臂上的所述目標旋轉軸運動,完成3d鼠標對機械臂上目標旋轉軸的運動控制。

特別地,在某個應用場景下,當如圖1h所示的控制器作為執行主體時,控制器可以直接根據上述步驟302和步驟303的轉換結果生成所述機械臂的運動數據,然后將這些運動數據發送至圖1h所示的機械臂系統中的驅動擴展板,從而使得所述驅動擴展板根據所述運動數據驅動所述機械臂上的所述目標旋轉軸運動。

圖3所示實施例闡述了對機械臂旋轉軸進行運動控制的方案,進一步地,本發明實施例還可以通過控制設備實現對機械臂的運動控制,如圖4所示,本發明實施例所述的運動控制方法還包括:

步驟401、對所述控制設備的移動情況進行檢測,檢測所述控制設備的移動部件的移動方向和在所述移動方向上的移動距離;

在本實施例中,控制設備為3d鼠標,實現的是對3d鼠標運動數據的采集,計算機操作系統通過對3d鼠標事件進行監聽,獲取到3d鼠標移動部件的移動方向及移動部件在該移動方向上的移動距離。其中,所述移動部件,可以為3d鼠標本體或者彈性結構(用于提起或按下時),若移動部件為3d鼠標本體,由于3d鼠標本體可以在水平面上進行如圖2b所示的x軸方向和y軸方向的移動,因此,需要分別獲取到3d鼠標本體在上述兩個軸向方向上的移動距離;若移動部件為3d鼠標的彈性結構,由于彈性結構可以在垂直方向上被提起或按下,因此,彈性結構可以在垂直方向上進行如圖2a所示的z軸方向的移動,并需要獲取到該彈性結構在垂直方向上的移動距離。

同理,當如圖1h所示的控制器作為執行主體時,控制器也可以檢測并獲取3d鼠標移動部件的移動方向及移動部件在該移動方向上的移動距離。

步驟402、將所述移動部件的移動方向轉換為所述機械臂的運動方向;

步驟403、根據所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度;

對于上述步驟402和步驟403,在本發明實施例中,需要根據步驟401中采集到的3d鼠標的操作數據來生成對機械臂的控制指令,因此,需要將3d鼠標的操作數據轉換成機械臂的運動數據,這其中涉及到;將3d鼠標的移動部件的移動方向轉換為機械臂的運動方向,以及將移動部件在該移動方向上的移動距離轉換為機械臂在該運動方向上的運動速度。為了控制機械臂在三維空間運動,需要明確機械臂在三維運動坐標系x軸、y軸、z軸三個軸向方向上對應的運動速度,因此,在本發明實施例中,通過采集到的3d鼠標在三個不同維度上的運動數據,以將這三個不同維度上的運動數據分別轉換為機械臂在三個軸向方向上的運動速度。具體地,作為本發明的一個實施例,所述將所述移動部件的移動方向轉換為機械臂的運動方向包括:

若所述移動部件為3d鼠標本體,將所述3d鼠標本體在水平平面上的移動方向映射為所述機械臂在水平平面上的運動方向;

若所述移動部件為3d鼠標的彈性結構,將所述彈性結構的移動方向轉換為所述機械臂在垂直方向上的運動方向。

具體地,對應于圖2a所示的三維坐標系,可以以機械臂的初始運動位置或底座固定位置為原點,建立如圖1e所示的三維運動坐標系,將3d鼠標本體在圖2a的x軸軸向方向的運動映射為機械臂在圖1ex軸軸向方向的運動,將3d鼠標本體在圖2a的y軸軸向方向的運動映射為機械臂在圖1ey軸軸向方向的運動,將彈性結構在垂直方向上(即圖2az軸方向)的運動映射為機械臂在圖1ez軸軸向方向的運動。顯然,容易想到的是,3d鼠標與機械臂的運動維度映射關系可以不局限于以上方式,在本發明實施例中,3d鼠標提供了三個不同維度的運動數據,只需要將這三個不同維度與機械臂運動的三個軸向方向建立起一一對應的關系即可,在此并不限定每組對應關系中的具體維度。

除了需要將所述移動部件的移動方向轉換為所述機械臂的運動方向之外,在本發明實施例中,還需要根據所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度。可以預先建立好移動部件的移動距離與機械臂的運動速度的對應關系。例如,3d鼠標本體在x軸方向的移動距離為d,移動的時間為t,則3d鼠標本體的x軸方向的平均移動速度為d/t,從而,確定該機械臂在x軸的運動速度為d/t。又比如,3d鼠標本體在x軸方向的移動距離為d,移動的時間為t,則3d鼠標本體的x軸方向的平均加速度為2d/t2,從而該機械臂在x軸上運動的平均加速度為2d/t2,并以該加速度從0開始進行加速運動。

另外,需要說明的是,在確定出機械臂在所述運動方向上的運動速度之后,該機械臂在該運動方向上何時停止運動,可以通過多種方式進行控制。比如,可以默認機械臂在該運動方向上的運動時間等于移動部件的移動時間,也即機械臂時“跟隨”移動部件進行相應運動的,移動部件移動時,機械臂移動;反之,移動部件停下時,機械臂也相應停止運動。另一種方式,也可以設定機械臂的運動停止需要用戶另外輸入一個控制機械臂停止運動的指令。比如,確定機械臂在x軸的運動速度為d/t之后,該機械臂即在x軸上以d/t的運動速度進行勻速運動,在用戶另外輸入一個“停止”的控制指令之前,該機械臂可以一直保持這種運動狀態,直到機械臂達到物理上的限位狀態或者用戶輸入一個“停止”的控制指令為止,該機械臂才停止運動。可見,在本實施例中,控制機械臂在該運動方向上運動之后,何時控制機械臂停止運動可以根據實際使用情況進行設定,此處不做具體限定。

步驟404、生成第一運動控制指令,所述第一運動控制指令用于控制所述機械臂以所述運動速度沿所述運動方向運動;

步驟405、將所述第一運動控制指令發送至所述機械臂。

基于步驟402和步驟403的轉換結果,生成對機械臂的第一運動控制指令,該第一運動控制指令用于控制機械臂以所述運動速度沿著轉換得到的運動方向運動,將該第一運動控制指令發送至圖1f所示的下位機系統,從而能夠根據該第一運動控制指令驅動機械臂運動,完成3d鼠標對機械臂的運動控制。

特別地,在某個應用場景下,當如圖1h所示的控制器作為執行主體時,控制器可以直接根據上述步驟402和步驟403的轉換結果生成所述機械臂所需的運動數據,然后將這些運動數據發送至圖1h所示的機械臂系統中的驅動擴展板,使得該驅動擴展板根據這些運動數據驅動機械臂作出相應的動作,實現3d鼠標對機械臂的運動控制。

可以理解的是,在控制機械臂以所述運動速度沿著轉換得到的運動方向運動之后,當接收到停止運動指令時,機械臂停止運動;或者,當接收到另一個第一運動控制指令時,則根據另一個第一運動控制指令控制機械臂運動。

示例性地,通過圖4實施例所示的方案,可以實現以下運動控制效果:

1、當3d鼠標沿著圖2a所示的x軸正方向運動時,驅動機械臂沿著圖1e所示的x軸正方向運動;當3d鼠標沿著圖2a所示的x軸負方向運動時,驅動機械臂沿著圖1e所示的x軸負方向運動;

2、當3d鼠標沿著圖2a所示的y軸正方向運動時,驅動機械臂沿著圖1e所示的y軸正方向運動;當3d鼠標沿著圖2a所示的y軸負方向運動時,驅動機械臂沿著圖1e所示的y軸負方向運動;

3、當3d鼠標沿著與圖2a所示的x軸及y軸各成一定夾角的方向運動時,驅動機械臂沿著與圖1e所示的x軸及y軸各成一定夾角的方向運動。

進一步地,針對圖4對應實施例的運動控制方案,為了更好地實現機械臂的運動控制,在步驟401之前,增加對機械臂進行運動控制的觸發條件。作為優選的一個實施例下,可以監聽所述控制設備上第一觸發部件的第一觸發事件,若監聽到所述第一觸發事件,則執行上述步驟401。具體地,可以是監聽所述第一觸發部件是否處于被按下的狀態,若是,則執行上述步驟401,實現機械臂的運動控制。更進一步地,當該第一觸發部件處于松開的狀態時,則可以生成第二運動控制指令,通過第二運動控制指令控制該機械臂停止運動。

示例性地,通過上述的第一觸發事件作為機械臂運動控制的觸發條件,可以實現以下運動控制效果:當按住鼠標的一個或兩個按鍵時,此時移動鼠標,驅動機械臂以鼠標的平均移動速度沿著鼠標的運動方向運動。此時,用戶只要不松開該按鍵,則機械臂一直以這個平均移動速度沿著該運動方向運動。當用戶認為機械臂已移動到想要的位置時,用戶松開該按鍵,機械臂停止運動。可以理解的是,通過第一觸發事件作為機械臂運動控制的觸發條件,可以對機械臂的多種運動控制方式在用戶操作層面上實現區分。比如,若機械臂包括常用的跟隨運動方式以及特殊情況下使用的非跟隨運動方式。其中,跟隨運動方式是指機械臂的運動狀態跟隨鼠標的運動狀態,當鼠標運動時,機械臂運動;鼠標停止時,機械臂停止。非跟隨運動方式則是指上述步驟401~405所述的運動方式。因此,可以將第一觸發事件作為非跟隨運動方式的觸發條件,從而將跟隨運動方式與非跟隨運動方式區分開來。用戶控制機械臂時,若用戶需要采用跟隨運動方式控制機械臂,用戶可以直接移動鼠標進行控制;若用戶需要采用非跟隨運動方式控制機械臂,用戶可以觸發第一觸發事件時,比如通過按住鼠標的一個按鍵不放來移動鼠標,從而控制機械臂以非跟隨運動方式進行運動。

圖4所示實施例闡述了對機械臂進行運動控制的方案,進一步地,本發明實施例還可以通過控制設備實現對機械臂末端連接的執行機構的運動控制,如圖5所示,本發明實施例所述的運動控制方法還包括:

步驟501、監聽所述控制設備上第二觸發部件的第二觸發事件;

對于鼠標來說,其上可以配置有至少一個按鍵作為控制設備的第二觸發部件。本實施例中,可以對鼠標的按鍵的觸壓時間進行監聽,以判斷用戶是否對鼠標進行了觸壓操作。

步驟502、若監聽到所述第二觸發事件,則根據所述第二觸發事件生成機構控制指令;

步驟503、將所述機構控制指令發送至所述機械臂,以根據所述機構控制指令驅動所述機械臂末端連接的執行機構運動。

對于上述步驟502和步驟503,當監聽到第二觸發事件時,即可生成對機械臂末端連接的執行機構進行控制的機構控制指令,并將該機構控制指令發送至圖1f所示的下位機系統,下位機系統通過對該機構控制指令進行解析,解析出關于該執行機構的運動數據,從而驅動該執行機構運動。在本發明實施例中,所述機械臂末端連接的執行機構,包括但不限于機械臂末端的旋轉機構(例如舵機),或者還包括與該旋轉機構連接的爪子、吸盤等裝置,該機構的種類不同,所能夠實現的功能也不相同,總體來說,該執行機構是用于實現機械臂更為精細的機械控制,例如抓握物體、繪畫、激光刻字,等等。

以下通過若干實施例來對圖5實施例的實現進行詳細闡述:

作為本發明的一個實施例,步驟502可以具體通過以下方式實現:

若監聽到關于所述第二觸發部件的雙擊操作事件,則根據所述雙擊操作事件生成第一機構控制指令,所述第一機構控制指令用于控制所述執行機構在打開狀態和關閉狀態之間的切換。在本實施例中,該第二觸發部件可以是鼠標左鍵、鼠標右鍵或者鼠標上配置的其他物理按鍵。當監聽到該第二觸發部件被雙擊時,則生成第一機構控制指令,并將該第一機構控制指令發送至機械臂。若機械臂的執行機構正處于打開狀態,則當機械臂接收到該第一機構控制指令時,控制機械臂的執行機構從打開狀態切換至關閉狀態;反之,若機械臂的執行機構正處于關閉狀態,則當機械臂接收到該第一機構控制指令時,控制機械臂的執行機構從關閉狀態切換至打開狀態。

作為本發明的又一個實施例,步驟502還可以具體通過以下方式實現:

若監聽到所述第二觸發部件處于被按下的狀態,則生成第二機構控制指令,所述第二機構控制指令用于打開所述執行機構;若監聽到所述第二觸發部件處于松開狀態,則生成第三機構控制指令,所述第三機構控制指令用于關閉所述執行機構。在本實施例中,該第二觸發部件可以是鼠標左鍵、鼠標右鍵或者鼠標上配置的其他物理按鍵。當監聽到該第二觸發部件處于被按下的狀態時,則生成第二機構控制指令,并將該第二機構控制指令發送至機械臂,控制機械臂的執行機構打開;而當監聽到該第二觸發部件處于松開狀態時,則生成第三機構控制指令,并將該第三機構控制指令發送至機械臂,控制機械臂的執行機構關閉。示例性地,在一個應用場景下,用戶按下某按鍵時,機械臂末端的執行機構打開、啟動并執行相應操作。用戶保持按下該按鍵的狀態,該執行機構持續作業,直到用戶認為該執行機構已完成階段性的作業時,用戶松開該按鍵,該執行機構則關閉,停止作業。

需要說明的是,上述的第一觸發部件、第二觸發部件具體可以是控制設備上的按鍵、搖桿、彈性結構、移動部件等一切可以進行指令輸入的部件。控制設備可以預先設定哪一個部件為第一觸發部件,哪一個部件為第二觸發部件,當相應部件被觸發(比如,被按下、被觸壓、被提起、被扭動,等等)時,則生成對應的觸發事件,比如上述的第一觸發事件或第二觸發事件。

在本發明實施例中,通過預先建立旋鈕與目標旋轉軸之間轉動坐標系的轉換關系,將旋鈕的轉動情況轉換成對目標旋轉軸的控制指令,從而建立起控制設備上旋鈕與機械臂上目標旋轉軸轉動的直觀聯系,提升了機械臂旋轉軸的運動控制效率。

進一步地,還通過預先建立控制設備的移動部件與機械臂之間運動坐標系的轉換關系,將移動部件的移動情況轉換成機械臂的控制指令,從而建立起控制設備上移動部件與機械臂運動的直觀聯系,提升了機械臂的運動控制效率。

應理解,上述實施例中各步驟的序號的大小并不意味著執行順序的先后,各過程的執行順序應以其功能和內在邏輯確定,而不應對本發明實施例的實施過程構成任何限定。

對應于上文實施例所述的機械臂的運動控制方法,圖6示出了本發明實施例提供的機械臂的運動控制裝置的結構框圖,所述機械臂的運動控制裝置可以是內置于圖1f所示的上位機子系統內的軟件模塊、硬件模塊或者是軟硬結合的模塊。為了便于說明,僅示出了與本實施例相關的部分。

本實施例中,一種機械臂的運動控制裝置包括:

轉動檢測模塊601,用于對控制設備上旋鈕的轉動情況進行檢測,獲取所述旋鈕的第一轉動方向及在所述第一轉動方向上的第一角度增量;

轉動方向轉換模塊602,用于將所述旋鈕的第一轉動方向轉換為機械臂的目標旋轉軸的第二轉動方向;

轉動角度轉換模塊603,用于將所述旋鈕的第一角度增量轉換為所述目標旋轉軸在所述第二轉動方向上的轉動角度;

轉動指令生成模塊604,用于生成轉動控制指令,所述轉動控制指令用于控制所述目標旋轉軸沿所述第二轉動方向轉動所述轉動角度;

轉動指令發送模塊605,用于將所述轉動控制指令發送至所述機械臂。

進一步地,所述機械臂配置有兩個以上旋轉軸,所述運動控制裝置還可以包括:

旋轉軸確定模塊,用于從所述兩個以上旋轉軸中確定一個以上的旋轉軸作為所述目標旋轉軸。

進一步地,所述運動控制裝置還可以包括:

移動檢測模塊,用于對所述控制設備的移動情況進行檢測,檢測所述控制設備的移動部件的移動方向和在所述移動方向上的移動距離;

運動方向轉換模塊,用于將所述移動部件的移動方向轉換為所述機械臂的運動方向;

運動速度轉換模塊,用于根據所述移動部件的所述移動距離確定所述機械臂在所述運動方向上的運動速度;

第一運動指令生成模塊,用于生成第一運動控制指令,所述第一運動控制指令用于控制所述機械臂以所述運動速度沿所述運動方向運動;

第一運動指令發送模塊,用于將所述第一運動控制指令發送至所述機械臂。

進一步地,所述運動控制裝置還可以包括:

第一觸發事件監聽模塊,用于監聽所述控制設備上第一觸發部件的第一觸發事件;

監聽觸發模塊,用于若所述第一觸發事件監聽模塊監聽到所述第一觸發事件,則觸發所述移動檢測模塊。

進一步地,所述運動控制裝置還可以包括:

第二觸壓監聽模塊,用于監聽所述控制設備上第二觸發部件的第二觸發事件;

機構指令生成模塊,用于若監聽到所述第二觸發事件,則根據所述第二觸發事件生成機構控制指令;

機構指令發送模塊,用于將所述機構控制指令發送至所述機械臂,以根據所述機構控制指令驅動所述機械臂末端連接的執行機構運動。

進一步地,所述機構指令生成模塊可以包括:

第一機構指令生成單元,用于若監聽到關于所述第二觸發部件的雙擊操作事件,則根據所述雙擊操作事件生成第一機構控制指令,所述第一機構控制指令用于控制所述執行機構在打開狀態和關閉狀態之間的切換;

和/或

第二機構指令生成單元,用于若監聽到所述第二觸發部件處于被按下的狀態,則生成第二機構控制指令,所述第二機構控制指令用于打開所述執行機構;

第三機構指令生成單元,用于若監聽到所述第二觸發部件處于松開狀態,則生成第三機構控制指令,所述第三機構控制指令用于關閉所述執行機構。

圖7是本發明一實施例提供的計算機的示意圖。如圖7所示,該實施例的計算機7包括:處理器70、存儲器71以及存儲在所述存儲器71中并可在所述處理器70上運行的計算機程序72,例如機械臂的運動控制程序。所述處理器70執行所述計算機程序72時實現上述各個機械臂的運動控制方法實施例中的步驟,例如圖3所示的步驟301至305。或者,所述處理器70執行所述計算機程序72時實現上述各裝置實施例中各模塊/單元的功能,例如圖6所示模塊601至605的功能。

示例性的,所述計算機程序72可以被分割成一個或多個模塊/單元,所述一個或者多個模塊/單元被存儲在所述存儲器71中,并由所述處理器70執行,以完成本發明。所述一個或多個模塊/單元可以是能夠完成特定功能的一系列計算機程序指令段,該指令段用于描述所述計算機程序72在所述計算機7中的執行過程。

所述計算機7可以是移動終端、桌上型計算機、筆記本、掌上電腦及云端服務器等計算設備。所述計算機可包括,但不僅限于,處理器70、存儲器71。本領域技術人員可以理解,圖7僅僅是計算機7的示例,并不構成對計算機7的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如所述計算機還可以包括輸入輸出設備、網絡接入設備、總線等。

所述處理器70可以是中央處理單元(centralprocessingunit,cpu),還可以是其他通用處理器、數字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。

所述存儲器71可以是所述計算機7的內部存儲單元,例如計算機7的硬盤或內存。所述存儲器71也可以是所述計算機7的外部存儲設備,例如所述計算機7上配備的插接式硬盤,智能存儲卡(smartmediacard,smc),安全數字(securedigital,sd)卡,閃存卡(flashcard)等。進一步地,所述存儲器71還可以既包括所述計算機7的內部存儲單元也包括外部存儲設備。所述存儲器71用于存儲所述計算機程序以及所述計算機所需的其他程序和數據。所述存儲器71還可以用于暫時地存儲已經輸出或者將要輸出的數據。

所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。

另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。

所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。

以上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 闻喜县| 黄梅县| 永吉县| 滦平县| 福安市| 大竹县| 云南省| 德州市| 金溪县| 乳山市| 如皋市| 仪征市| 新晃| 天镇县| 巴东县| 尼勒克县| 舒城县| 玉田县| 岳阳县| 井陉县| 会泽县| 亳州市| 眉山市| 宁河县| 平度市| 且末县| 定陶县| 乌恰县| 霸州市| 南丹县| 卢湾区| 蓬溪县| 乌什县| 建湖县| 红安县| 上林县| 卢龙县| 辛集市| 清河县| 宿松县| 兰西县|