亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

無人機、電機控制裝置及方法

文檔序號:10615600閱讀:675來源:國知局
無人機、電機控制裝置及方法
【專利摘要】本發(fā)明實施例提出一種無人機、電機控制裝置及方法,所述電機控制方法包括:獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,并依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息;將所述控制信息發(fā)送給共享內存存儲;從所述共享內存讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。本發(fā)明的電機控制裝置不需要線纜或PCB走線的連接,減小了硬件尺寸,在芯片內部直接通過共享內存實現(xiàn),提高了主控單元和執(zhí)行單元之間數(shù)據(jù)交互的速度和穩(wěn)定性。同時,采用相關算法保證電機和云臺控制頻率和精度不會降低。
【專利說明】
無人機、電機控制裝置及方法
技術領域
[0001]本發(fā)明涉及無人機飛行控制技術領域,具體而言,涉及一種無人機、電機控制裝置及方法。
【背景技術】
[0002]云臺可以與無人機耦合,以用于承載相機、照明燈等。云臺設有電機,云臺的高速姿態(tài)是由電機來實現(xiàn),電機接受來自控制器的信號精確地運行定位。電動機的控制器包括主控單元和執(zhí)行單元。主控單元用于傳感器數(shù)據(jù)的處理、以及在無人機飛行過程實現(xiàn)云臺增穩(wěn)、跟隨等功能。執(zhí)行單元則用于依據(jù)主控單元的相關數(shù)據(jù)來控制電機轉動。
[0003]如圖1所示,相關技術的方案是通過主控單元100,實時計算出穩(wěn)定云臺當前姿態(tài)所需的俯仰、橫滾、航向三個軸上的電機(第一電機610、第二電機620、第三電機630)的力的大小和方向并發(fā)送給執(zhí)行單元(第一執(zhí)行單元310、第二執(zhí)行單元320、第三執(zhí)行單元330),三個執(zhí)行單元分別通過驅動電路(第一驅動電路510、第二驅動電路520、第三驅動電路530)控制俯仰、橫滾、航向三個軸上的電機(第一電機610、第二電機620、第三電機630)轉動,達到增穩(wěn)的目的。三個執(zhí)行單元共需要三個處理器(第一處理器410、第二處理器420、第三處理器430)進行控制。而主控單元100’需要另外一個處理器(第四處理器440)控制。該方案中的電機控制電路占用空間較大,PCB布線復雜,因線纜或外部干擾導致系統(tǒng)穩(wěn)定性較差。并且主控單元100’在將數(shù)據(jù)傳送給執(zhí)行單元時,由于執(zhí)行單元的處理延時,導致主控單元100’與執(zhí)行單元之間通信的效率較低。

【發(fā)明內容】

[0004]本發(fā)明的目的在于提供一種無人機、電機控制裝置及方法,以解決電機控制電路占用空間較大、印制電路板(Printed Circuit Board,PCB)布線復雜、系統(tǒng)穩(wěn)定性差、主控單元與執(zhí)行單元之間通信的效率較低等技術問題。
[0005]為了實現(xiàn)上述目的,本發(fā)明實施例采用的技術方案如下:
[0006]第一方面,本發(fā)明實施例提供了一種電機控制裝置,用于控制負載上的一個或多個電機,所述電機控制裝置包括:執(zhí)行單元、主控單元以及共享內存,所述主控單元用于獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,所述主控單元依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息,并將所述控制信息發(fā)送給共享內存存儲;所述執(zhí)行單元用于從所述共享內存讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。
[0007]第二方面,本發(fā)明實施例還提供了一種電機控制裝置,用于控制負載上的一個或多個電機,所述電機控制裝置包括:執(zhí)行模塊、主控模塊以及數(shù)據(jù)存儲模塊,所述主控模塊用于獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,所述主控模塊依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息,并將所述控制信息發(fā)送給數(shù)據(jù)存儲模塊存儲;所述執(zhí)行模塊用于從所述數(shù)據(jù)存儲模塊讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。
[0008]第三方面,本發(fā)明實施例還提供了一種電機控制方法,用于控制負載上的一個或多個電機,所述電機控制方法包括:獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,并依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息;將所述控制信息發(fā)送給共享內存存儲;從所述共享內存讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。
[0009]第四方面,本發(fā)明實施例還提供了一種無人機,所述無人機包括前述的電機控制
目.ο
[0010]本發(fā)明實施例提供的無人機、電機控制裝置及方法,通過獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,并依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息;將所述控制信息發(fā)送給共享內存存儲;從所述共享內存讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。本發(fā)明的無人機、電機控制裝置及方法不再需要線纜或PCB走線的連接,減小了硬件尺寸,并且在芯片內部直接通過共享內存實現(xiàn),所以通訊可靠性高,杜絕了因通訊線路斷開而產生某個或某些電機不響應的隱患,提高了主控單元和執(zhí)行單元之間數(shù)據(jù)交互的速度和穩(wěn)定性。同時,采用包括磁場導向控制(Field Oriented Control,F(xiàn)0C)算法在內的運算采用了定點運算和整形數(shù)據(jù)的移位實現(xiàn),三角函數(shù)運算采用查表法,保證了電機控制頻率和精度不會降低,負載的控制頻率和精度不會降低。
[0011]為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
【附圖說明】
[0012]為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關的附圖。
[0013]圖1示出了相關技術的電機控制系統(tǒng)的結構框圖;
[0014]圖2示出了本發(fā)明實施例提供的電機控制裝置的結構框圖;
[0015]圖3示出了本發(fā)明另一實施例提供的電機控制裝置的結構框圖;
[0016]圖4示出了本發(fā)明又一實施例提供的電機控制裝置的結構框圖;
[0017]圖5示出了應用本發(fā)明實施例提供的電機控制裝置的電機控制系統(tǒng)的結構框圖;
[0018]圖6示出了利用本發(fā)明實施例提供的執(zhí)行電路控制電機的流程框圖;
[0019]圖7示出了本發(fā)明實施例提供的電機控制方法的流程圖;
[0020]圖8示出了本發(fā)明實施例提供的電機控制裝置的功能模塊圖。
【具體實施方式】
[0021]下面將結合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0022]應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發(fā)明的描述中,術語“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
[0023]第一實施例
[0024]圖2示出了本發(fā)明實施例提供的電機控制裝置的結構框圖,本發(fā)明實施例提供的電機控制裝置用于通過控制負載上的一個或多個電機,以將負載調整為目標姿態(tài)。本發(fā)明實施例提供的電機控制裝置包括:主控單元100、共享內存200以及執(zhí)行單元300,所述主控單元100設置于第一處理器140,所述執(zhí)行單元300設置于第二處理器340,并且所述第一處理器140、共享內存200以及第二處理器340可以集成于第一系統(tǒng)芯片410上。主控單元100和執(zhí)行單元300之間通過共享內存200實現(xiàn)數(shù)據(jù)交互。
[0025]如圖3所示,在另一實施例中,第一處理器140可以設置于第一系統(tǒng)芯片410上,第二處理器340可以設置于第二系統(tǒng)芯片420上。
[0026]如圖4所示,在又一實施例中,主控單元100和執(zhí)行單元300可以均設置于第一處理器140,第一處理器140和共享內存200可以設置于第一系統(tǒng)芯片410上。
[0027]執(zhí)行單元300用于獲取負載上一個或多個電機的當前運行參數(shù)信息并存儲于共享內存200。
[0028]請參閱圖5,以負載為云臺為例,示出了應用本發(fā)明提供的電機控制裝置的電機控制系統(tǒng)的結構框圖。主控單元100與測量單元800電連接。執(zhí)行單元300分別通過第一驅動電路510與第一電機610電連接、通過第二驅動電路520與第二電機620電連接、以及通過第三驅動電路530與第三電機630電連接。在本發(fā)明實施例中,可以通過對三軸電機(第一電機610、第二電機620以及第三電機630)中的其中至少一個電機進行控制,以通過電機的動作使云臺達到目標姿態(tài),實現(xiàn)云臺的增穩(wěn)或者使云臺傾斜一特定角度。
[0029]電機的當前運行參數(shù)信息包括:電機的功率,電機的頻率,電機的電壓和電流,以及電機的當前角度數(shù)據(jù)等,其中,電機的當前角度數(shù)據(jù)可以包括電機轉子的電角度。在圖5中,第一電機610、第二電機620以及第三電機630均設有磁編碼器(所述磁編碼器也可以替換為其他角度測量傳感器或者電機運行參數(shù)的傳感器),磁編碼器可以獲得電機轉子在任一時刻的電角度,進而,執(zhí)行單元300從各電機上的磁編碼器獲取對應的電機轉子的電角度,并將電機轉子的電角度上傳至共享內存200。
[0030]共享內存200用于存儲主控單元100與執(zhí)行單元300之間的交互數(shù)據(jù),主控單元100與執(zhí)行單元300通過讀取共享內存200中存儲的數(shù)據(jù)以實現(xiàn)數(shù)據(jù)交互。
[0031]主控單元100用于讀取所述共享內存200中的所述電機的當前運行參數(shù)信息并依據(jù)云臺的當前姿態(tài)信息、云臺的目標姿態(tài)信息、以及所述電機的當前運行參數(shù)信息計算出控制信息并存儲于所述共享內存200,另外,在不需要獲取云臺的當前姿態(tài)信息,只要獲取云臺的目標姿態(tài)信息以及所述電機的當前運行參數(shù)信息就可以計算出控制信息的情況下,同樣可以把控制信息存儲到所述共享內存200。
[0032]在主控單元100與執(zhí)行單元300分別設置于第一處理器140和第二處理器340的情況下,執(zhí)行單元300將所述云臺上一個或多個電機的當前運行參數(shù)信息上傳到所述共享內存200之后,可以發(fā)送第一中斷信號并通過共享內存200傳輸給主控單元100(第一中斷信號也可以由執(zhí)行單元300直接發(fā)送給主控單元100),以使主控單元100中斷當前執(zhí)行的任務而調用第一處理函數(shù),并在第一處理函數(shù)中更新當前運行參數(shù)信息,以此方式使得主控單元100讀取所述共享內存200中的所述云臺上一個或多個電機的當前運行參數(shù)信息。
[0033]在主控單元100與執(zhí)行單元300均設置于第一處理器140的情況下,執(zhí)行單元300將所述云臺上一個或多個電機的當前運行參數(shù)信息上傳到所述共享內存200之后,主控單元100直接從所述共享內存200中讀取所述電機的當前運行參數(shù)信息,而不涉及中斷。
[0034]測量單元800可以為陀螺儀、加速度計組成的慣性測量單元(Inertia IMeasurement Unit,IMU),慣性測量單元可以固定在相機組件上,相機組件固定在云臺上,云臺的當前姿態(tài)信息可以由測量單元800獲取,然后,測量單元800將云臺的當前姿態(tài)信息發(fā)送給主控單元100。
[0035]如圖5所示,主控單元100還可以接收遙控器900發(fā)送的云臺的目標姿態(tài)信息,該目標姿態(tài)信息為使云臺達到目標姿態(tài)的相關數(shù)據(jù),例如,使云臺左旋30°。
[0036]進一步的,主控單元100計算出的控制信息用于對電機進行控制,控制信息包括控制電機進行旋轉的力的大小及方向。主控單元100計算控制信息可以通過以下步驟實現(xiàn):
[0037]步驟SlOO:主控單元100讀取固定在相機組件上的慣性測量單元的三軸加速度以及三軸角速度信息,經過卡爾曼濾波算法處理后,獲得相機鏡頭對地的姿態(tài)信息(俯仰、橫滾、航向角度)以及鏡頭運動的角速度和加速度。其中,相機鏡頭對地的姿態(tài)信息即為云臺的當前姿態(tài)信息。
[0038]步驟S200:根據(jù)三軸電機的磁編碼器讀取的電機轉子的電角度(電機的當前運行參數(shù)信息),可以得到鏡頭坐標系(鏡頭坐標系是指:在鏡頭水平放置的情況下,以水平面內穿過鏡頭中心并相互垂直的兩個軸為X軸和Y軸,以垂直于水平面的方向為Z軸,鏡頭的運動可相應的帶動鏡頭坐標系運動)到當前云臺坐標系(指當前云臺三軸電機所處位置所構成的坐標系)的方向余弦矩陣,根據(jù)該方向余弦矩陣可以將步驟SlOO得到的云臺的當前姿態(tài)信息映射到云臺電機軸的轉動方向上,以得到云臺的當前姿態(tài)信息在云臺電機軸的轉動方向上的信息分量。
[0039]步驟S300:根據(jù)步驟S200得到的方向余弦矩陣可以將遙控器900發(fā)送的云臺的目標姿態(tài)信息(目標姿態(tài)信息是在鏡頭坐標系下的)映射到當前云臺坐標系(指當前云臺三軸電機所處位置所構成的坐標系)。
[0040]步驟S400:將映射到云臺電機軸轉動方向上的當前姿態(tài)信息和映射到當前云臺坐標系的目標姿態(tài)信息來進行比例-積分-微分(proport1n-1ntegral-derivative,PID)運算,得到用于控制電機的控制信息。然后由主控單元100將該控制信息發(fā)送至所述共享內存200進行存儲。
[0041]執(zhí)行單元300還用于讀取共享內存200中的控制信息并依據(jù)所述控制信息對電機進行控制,以通過對電機的控制而將云臺調整為目標姿態(tài)。
[0042]在主控單元100與執(zhí)行單元300分別設置于第一處理器140和第二處理器340的情況下,主控單元100將所述控制信息發(fā)送到所述共享內存200之后,可以發(fā)送第二中斷信號并通過共享內存200傳輸給執(zhí)行單元300(第二中斷信號也可以由主控單元100直接發(fā)送給執(zhí)行單元300),以使執(zhí)行單元300中斷當前執(zhí)行的任務而調用第二處理函數(shù),并在第二處理函數(shù)中更新當前運行參數(shù)信息,以此方式使得執(zhí)行單元300讀取所述共享內存200中的所述控制信息。
[0043]在主控單元100與執(zhí)行單元300均設置于第一處理器140的情況下,主控單元100將所述控制信息發(fā)送到所述共享內存200之后,執(zhí)行單元300直接從所述共享內存200讀取所述控制信息,而不涉及中斷。
[0044]圖6示出了執(zhí)行單元300依據(jù)控制信息對電機600進行控制的流程框圖。電機600設有磁編碼器700,由磁編碼器700測量電機轉子的電角度。執(zhí)行單元300依據(jù)控制信息對電機600進行控制的過程可以通過磁場導向控制(FieId Oriented Control,F(xiàn)0C)算法和PID算法實現(xiàn),具體的實現(xiàn)過程可以如下:
[0045]定子A相電流和B相電流通過相電流檢測電路被提取出來,然后經過Clarke變換將A相電流和B相電流轉換到定子兩相坐標系中,得到A相電流分量與B相電流分量。再依據(jù)轉子電角度利用Park變換將A相電流分量與B相電流分量轉換到D-Q旋轉坐標系中,得到D軸電流分量與Q軸電流分量,在D-Q坐標系中,Q軸是轉子切向,將Q軸順時針旋轉90°則得到D軸。然后,D-Q坐標系中的電流分量再分別與它們的參考輸入I q_ref和Id_ref相比較,其中Id_^€ = 0,1(13#即為控制信息(包括力的大小和方向),分別得到0軸和0軸的電流誤差。然后,再將Q軸電流誤差和D軸電流誤差通過比例積分(proport1nal integral,PI)控制器獲得Q軸和D軸的電壓分量。然后,依據(jù)轉子電角度對電壓分量再進行Park逆變換得到定子兩相坐標系(A-B坐標系)中的電壓分量。然后,對A-B坐標系中的電壓分量經過Clarke逆變換得到A相電壓分量、B相電壓分量。再通過空間矢量脈寬調制(Space Vector Pulse WidthModulat1n, SVP麗)技術,得到控制定子三相對稱繞組的脈寬調制信號的占空比(A相占空比、B相占空比、C相占空比),最后通過脈寬調制(Pulse Width Modulat1n,PWM)輸出到電機定子三相對稱繞組上。以此,依據(jù)控制信息實現(xiàn)了對電機的控制。
[0046]為保證電機控制頻率和精度不會降低,本實施例將包括FOC運算在內的所有浮點運算轉換為定點運算,采用增量式PID控制算法替代位置式PID算法,在增量式PID控制算法中,比例項系數(shù)Kp和積分項系數(shù)Ki較小,并且替代后PID算法運算的乘法部分全部用整型移位實現(xiàn),不再進行浮點運算。對于Clarke變換和Park變換涉及的三角函數(shù)運算,提前計算出三角函數(shù)-90°?90°的數(shù)值并保存在共享內存200中,需要三角函數(shù)運算時直接讀取共享內存200中存儲的相關數(shù)據(jù)即可。
[0047]第二實施例
[0048]圖7示出了本發(fā)明實施例提供的電機控制方法的流程圖。本發(fā)明實施例提供的電機控制方法包括以下步驟:
[0049]步驟SI,獲取負載上一個或多個電機的當前運行參數(shù)信息并存儲于共享內存。
[0050]在本發(fā)明實施例中,步驟SI可以由執(zhí)行單元300實現(xiàn)。電機的當前運行參數(shù)信息包括:電機的功率,電機的頻率,電機的電壓和電流,以及電機的當前角度數(shù)據(jù)等,其中,電機的當前角度數(shù)據(jù)可以包括電機轉子的電角度。第一電機610、第二電機620以及第三電機630均設有磁編碼器,磁編碼器可以獲得電機轉子在任一時刻的電角度,進而,執(zhí)行單元300從各電機上的磁編碼器獲取對應的電機轉子的電角度,并將電機轉子的電角度上傳至共享內存 200。
[0051]步驟S2,獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,并從所述共享內存200獲取所述負載上一個或多個電機的當前運行參數(shù)信息,依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息,并存儲于共享內存200。
[0052]在本發(fā)明實施例中,步驟S2可以由主控單元100實現(xiàn)。在主控單元100與執(zhí)行單元300分別設置于第一處理器140和第二處理器340的情況下,執(zhí)行單元300將所述負載上一個或多個電機的當前運行參數(shù)信息上傳到所述共享內存200之后,可以發(fā)送第一中斷信號并通過共享內存200傳輸給主控單元100(第一中斷信號也可以由執(zhí)行單元300直接發(fā)送給主控單元100),以使主控單元100中斷當前執(zhí)行的任務而調用第一處理函數(shù),并在第一處理函數(shù)中更新當前運行參數(shù)信息,以此方式使得主控單元100從所述共享內存200中讀取所述負載上一個或多個電機的當前運行參數(shù)信息。
[0053]在主控單元100與執(zhí)行單元300均設置于第一處理器140的情況下,執(zhí)行單元300將所述負載上一個或多個電機的當前運行參數(shù)信息上傳到所述共享內存200之后,主控單元100直接從所述共享內存200讀取所述電機的當前運行參數(shù)信息,而不涉及中斷。
[0054]以負載為云臺為例,云臺的當前姿態(tài)信息可以由測量單元800進行獲取,測量單元800可以為陀螺儀、加速度計組成的慣性測量單元,慣性測量單元可以固定在相機組件上,相機組件固定在云臺上,然后,測量單元800將云臺的當前姿態(tài)信息發(fā)送給主控單元100。
[0055]主控單元100還可以接收遙控器900發(fā)送的云臺的目標姿態(tài)信息,該目標姿態(tài)信息為使云臺達到目標姿態(tài)的相關數(shù)據(jù),例如,使云臺左旋30°。
[0056]進一步的,主控單元100計算出的控制信息用于對電機進行控制,控制信息包括控制電機進行旋轉的力的大小及方向。主控單元100計算控制信息可以通過以下步驟實現(xiàn):
[0057]步驟SlOO:主控單元100讀取固定在相機組件上的慣性測量單元的三軸加速度以及三軸角速度信息,經過卡爾曼濾波算法處理后,獲得相機鏡頭對地的姿態(tài)信息(俯仰、橫滾、航向角度)以及鏡頭運動的角速度和加速度。其中,相機鏡頭對地的姿態(tài)信息即為云臺的當前姿態(tài)信息。
[0058]步驟S200:根據(jù)三軸電機的磁編碼器讀取的電機轉子電角度,可以得到鏡頭坐標系(鏡頭坐標系是指:在鏡頭水平放置的情況下,以水平面內穿過鏡頭中心并相互垂直的兩個軸為X軸和Y軸,以垂直于水平面的方向為Z軸,鏡頭的運動可相應的帶動鏡頭坐標系運動)到當前云臺坐標系(指當前云臺三軸電機所處位置所構成的坐標系)的方向余弦矩陣,根據(jù)該方向余弦矩陣可以將步驟SlOO得到的云臺的當前姿態(tài)信息映射到云臺電機軸的轉動方向上,以得到云臺的當前姿態(tài)信息在云臺電機軸的轉動方向上的信息分量。
[0059]步驟S300:根據(jù)步驟S200得到的方向余弦矩陣可以將遙控器900發(fā)送的云臺的目標姿態(tài)信息(目標姿態(tài)信息是在鏡頭坐標系下的)映射到當前云臺坐標系(指當前云臺三軸電機所處位置所構成的坐標系)。
[0060]步驟S400:將映射到云臺電機軸轉動方向上的當前姿態(tài)信息和映射到當前云臺坐標系的目標姿態(tài)信息來進行PID運算,得到對于電機的控制信息。然后由主控單元100將該控制信息發(fā)送至所述共享內存200進行存儲。
[0061]執(zhí)行單元300還用于讀取共享內存200中的控制信息并依據(jù)所述控制信息對電機進行控制,以通過對電機的控制而將云臺調整為目標姿態(tài)。
[0062]需要說明的是,上述步驟S100-S400只是計算控制信息的一個較佳實施例,控制信息還可以通過其他算法實現(xiàn),本發(fā)明并不限制控制信息的計算方法。
[0063]步驟S3,從所述共享內存200中讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行,以將所述負載調整為目標姿態(tài)。
[0064]在本發(fā)明實施例中,步驟S3可以由執(zhí)行單元300實現(xiàn)。在主控單元100與執(zhí)行單元300分別設置于第一處理器140和第二處理器340的情況下,主控單元100將所述控制信息發(fā)送到所述共享內存200之后,可以發(fā)送第二中斷信號并通過共享內存200傳輸給執(zhí)行單元300 (第二中斷信號也可以由主控單元100直接發(fā)送給執(zhí)行單元300),以使執(zhí)行單元300中斷當前執(zhí)行的任務而調用第二處理函數(shù),并在第二處理函數(shù)中更新當前運行參數(shù)信息,以此方式使得執(zhí)行單元300讀取所述共享內存200中的所述控制信息。
[0065]在主控單元100與執(zhí)行單元300均設置于第一處理器140的情況下,主控單元100將所述控制信息發(fā)送到所述共享內存200之后,執(zhí)行單元300直接從所述共享內存200讀取所述控制信息,而不涉及中斷。
[0066]執(zhí)行單元300依據(jù)控制信息對電機600進行控制的過程可以通過FOC算法和PID算法實現(xiàn),具體的實現(xiàn)過程可以如下:
[0067]定子A相電流和B相電流通過相電流檢測電路被提取出來,然后經過Clarke變換將A相電流和B相電流轉換到定子兩相坐標系中,得到A相電流分量與B相電流分量。再依據(jù)轉子電角度利用Park變換將A相電流分量與B相電流分量轉換到D-Q旋轉坐標系中,得到D軸電流分量與Q軸電流分量,在D-Q坐標系中,Q軸是轉子切向,將Q軸順時針旋轉90°則得到D軸。然后,D-Q坐標系中的電流分量再分別與它們的參考輸入I q_ref和Id_ref相比較,其中Id_^€ = 0,1(13#即為控制信息(包括力的大小和方向),分別得到0軸和0軸的電流誤差。然后,再將Q軸電流誤差和D軸電流誤差通過比例積分(proport1nal integral,PI)控制器獲得Q軸和D軸的電壓分量。然后,依據(jù)轉子電角度對電壓分量再進行Park逆變換得到定子兩相坐標系(A-B坐標系)中的電壓分量。然后,對A-B坐標系中的電壓分量經過Clarke逆變換得到A相電壓分量、B相電壓分量。再通過空間矢量脈寬調制(Space Vector Pulse WidthModulat1n, SVP麗)技術,得到控制定子三相對稱繞組的脈寬調制信號的占空比(A相占空比、B相占空比、C相占空比),最后通過脈寬調制(Pulse Width Modulat1n,PWM)輸出到電機定子三相對稱繞組上。以此,依據(jù)控制信息實現(xiàn)了對電機600的控制。
[0068]為保證電機控制頻率和精度不會降低,本實施例將包括FOC算法在內的所有浮點運算轉換為定點運算,采用增量式PID控制算法替代位置式PID算法,在增量式PID控制算法中,比例項系數(shù)Kp和積分項系數(shù)Ki較小,并且替代后PID算法運算的乘法部分全部用整型移位實現(xiàn),不再進行浮點運算。對于Clarke變換和Park變換涉及的三角函數(shù)運算,提前計算出三角函數(shù)-90°?90°的數(shù)值并保存在共享內存200中,需要三角函數(shù)運算時可以采用查表法直接讀取共享內存200中存儲的相關數(shù)據(jù)即可。
[0069]需要說明的是,上述過程只是執(zhí)行單元300依據(jù)一個電機600的控制信息對電機600進行控制的過程,可以理解,執(zhí)行單元300還可以依據(jù)與圖5中三軸電機(第一電機610、第二電機620、第三電機630)對應的控制信息來分別或同時控制相應的電機,以實現(xiàn)云臺增穩(wěn)或使云臺調整至一目標姿態(tài)。
[0070]需要說明的是,本發(fā)明實施例提供的電機控制裝置和方法還可應用于搭載相機、攝像機,或溫度探測器、紅外探測器、多光譜掃描儀等感測裝置,或喇叭、農藥箱的無人機的飛行控制系統(tǒng)(飛控)或其他多電機控制系統(tǒng)中,而不限制于本發(fā)明上述的應用于云臺的實施例。可以理解,上述的云臺、相機、攝像機,或溫度探測器、紅外探測器、多光譜掃描儀等感測裝置,或喇叭、農藥箱等可以統(tǒng)稱為負載。對應的,本發(fā)明實施例提供的電機控制裝置和方法可以用于控制上述負載上的電機的運行,以使上述負載調整為目標姿態(tài)。
[0071]另外,對應于上述基于電機控制方法,在本實施例中,還提供了一種電機控制裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經進行過說明的不再贅述。如以下所使用的,術語“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管本實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構想的。
[0072]如圖8所示,該電機控制裝置包括:執(zhí)行模塊220、主控模塊310以及數(shù)據(jù)存儲模塊210,所述主控模塊310用于獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,所述主控模塊310依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息,并將所述控制信息發(fā)送給數(shù)據(jù)存儲模塊存儲210;所述執(zhí)行模塊110用于從所述數(shù)據(jù)存儲模塊210讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。電機控制系統(tǒng)可以包括存儲器、處理器、以及電機控制裝置,所述電機控制裝置的各軟件功能模塊可以安裝于所述存儲器中并由所述處理器執(zhí)行。
[0073]本發(fā)明另一實施例還提供了一種無人機,所述無人機包括前述的電機控制裝置,所述電機控制裝置用于控制無人機上維穩(wěn)云臺上的三軸電機,或者用于控制無人機上的其他負載的電機。
[0074]本發(fā)明實施例提供的無人機、電機控制裝置及方法,通過獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,并依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息;將所述控制信息發(fā)送給共享內存存儲;從所述共享內存讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。本發(fā)明的無人機、電機控制裝置及方法不再需要線纜或PCB走線的連接,減小了硬件尺寸,并且在芯片內部直接通過共享內存實現(xiàn),所以通訊可靠性高,杜絕了因通訊線路斷開而產生某個或某些電機不響應的隱患,提高了主控單元和執(zhí)行單元之間數(shù)據(jù)交互的速度和穩(wěn)定性。同時,采用包括FOC算法在內的運算采用了定點運算和整形數(shù)據(jù)的移位實現(xiàn),三角函數(shù)運算采用查表法,保證了電機控制頻率和精度不會降低,負載的控制頻率和精度不會降低。
[0075]本發(fā)明的實施例還提供了一種存儲介質。可選地,在本實施例中,該存儲介質被設置為存儲用于執(zhí)行電機控制方法的以下程序代碼。
[0076]S10,通過獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,并依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息;
[0077]S20,將所述控制信息發(fā)送給共享內存存儲;
[0078]S30,從所述共享內存讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。
[0079]另外,該存儲介質還被設置為存儲用于執(zhí)行電機控制方法的其他程序代碼。
[0080]可選地,在本實施例中,上述存儲介質可以包括但不限于:U盤、只讀存儲器(Read-Only Memory,R0M)、隨機存取存儲器(Random Access Memory,RAM)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0081]可選地,在本實施例中,處理器根據(jù)存儲介質中已存儲的程序代碼執(zhí)行上述電機控制方法。
[0082]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0083]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
【主權項】
1.一種電機控制裝置,用于控制負載上的一個或多個電機,其特征在于,所述電機控制裝置包括: 執(zhí)行單元、主控單元以及共享內存,所述主控單元用于獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,所述主控單元依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息,并將所述控制信息發(fā)送給共享內存存儲;所述執(zhí)行單元用于從所述共享內存讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。2.如權利要求1所述的電機控制裝置,其特征在于,所述執(zhí)行單元還用于將所述負載上一個或多個電機的當前運行參數(shù)信息上傳到所述共享內存,所述主控單元還用于從所述共享內存獲取所述負載上一個或多個電機的當前運行參數(shù)信息。3.如權利要求1所述的電機控制裝置,其特征在于,所述主控單元和所述執(zhí)行單元均設置在第一處理器。4.如權利要求1所述的電機控制裝置,其特征在于,所述主控單元設置在第一處理器,所述執(zhí)行單元設置在第二處理器,所述第一處理器、第二處理器以及所述共享內存設置在第一系統(tǒng)芯片上。5.如權利要求1所述的電機控制裝置,其特征在于,所述主控單元設置在第一處理器,所述執(zhí)行單元設置在第二處理器,所述第一處理器設置在第一系統(tǒng)芯片上,所述第二處理器設置在第二系統(tǒng)芯片上。6.如權利要求1所述的電機控制裝置,其特征在于,所述電機的當前運行參數(shù)信息包括:所述電機的當前角度數(shù)據(jù)。7.—種電機控制裝置,用于控制負載上的一個或多個電機,其特征在于,所述電機控制裝置包括: 執(zhí)行模塊、主控模塊以及數(shù)據(jù)存儲模塊,所述主控模塊用于獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,所述主控模塊依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息,并將所述控制信息發(fā)送給數(shù)據(jù)存儲模塊存儲;所述執(zhí)行模塊用于從所述數(shù)據(jù)存儲模塊讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。8.一種電機控制方法,用于控制負載上的一個或多個電機,其特征在于,所述電機控制方法包括: 獲取所述負載的當前姿態(tài)信息、所述負載的目標姿態(tài)信息,以及所述負載上一個或多個電機的當前運行參數(shù)信息,并依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,得到用于控制所述電機的控制信息; 將所述控制信息發(fā)送給共享內存存儲; 從所述共享內存讀取所述控制信息,并依據(jù)所述控制信息控制所述一個或多個電機的運行。9.如權利要求8所述的電機控制方法,其特征在于,所述獲取所述負載上一個或多個電機的當前運行參數(shù)信息包括: 從所述共享內存獲取所述負載上一個或多個電機的當前運行參數(shù)信息,其中,在獲取所述負載上一個或多個電機的當前運行參數(shù)信息之前還包括:將所述一個或多個電機的當前運行參數(shù)信息上傳到所述共享內存的步驟。10.如權利要求8所述的電機控制方法,其特征在于,所述電機的當前運行參數(shù)信息包括:所述電機的當前角度數(shù)據(jù)。11.如權利要求8所述的電機控制方法,其特征在于,所述電機控制方法還包括:依據(jù)所述當前姿態(tài)信息、所述目標姿態(tài)信息和所述當前運行參數(shù)信息,采用增量式PID算法計算出所述控制信息。12.如權利要求8所述的電機控制方法,其特征在于,所述電機控制方法還包括:將所述控制信息通過定點FOC算法和增量式PID算法進行運算之后再控制所述一個或多個電機的運行。13.如權利要求12所述的電機控制方法,其特征在于,所述電機控制方法還包括:在執(zhí)行所述定點FOC算法之前,計算出所述定點FOC算法中涉及的三角函數(shù)的數(shù)值并保存所述數(shù)值在所述共享內存中,以用于在執(zhí)行所述定點FOC算法時被調用。14.如權利要求9所述的電機控制方法,其特征在于,所述電機控制方法還包括:在將所述負載上一個或多個電機的當前運行參數(shù)信息上傳到所述共享內存之后,發(fā)送第一中斷信號以觸發(fā)從所述共享內存讀取所述負載上一個或多個電機的當前運行參數(shù)信息的步驟。15.如權利要求8所述的電機控制方法,其特征在于,所述電機控制方法還包括:在將所述控制信息發(fā)送給共享內存之后發(fā)送第二中斷信號以觸發(fā)從所述共享內存讀取所述控制信息的步驟。16.—種無人機,其特征在于,所述無人機包括權利要求1至7任一項所述的電機控制裝置。
【文檔編號】G05D1/08GK105978441SQ201610424304
【公開日】2016年9月28日
【申請日】2016年6月15日
【發(fā)明人】孫宇, 詹先龍, 朱曉, 陳 峰, 陳一峰, 楊建軍
【申請人】零度智控(北京)智能科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1