劉 磊,余汾芬
?
基于STM32的機(jī)械臂運(yùn)動控制系統(tǒng)設(shè)計研究
*劉磊1,余汾芬2
(1. 安慶職業(yè)技術(shù)學(xué)院,安徽,安慶 246003;2.安慶醫(yī)藥高等專科學(xué)校,安徽,安慶 246052)
為了提高機(jī)械臂運(yùn)動的準(zhǔn)確性以及提高機(jī)械臂的控制效率,運(yùn)用STM32處理器設(shè)計了一種機(jī)械臂運(yùn)動控制系統(tǒng)。采用STM32作為主控系統(tǒng)的核心,通過角度位移傳感器構(gòu)成機(jī)械臂的感知模塊,利用舵機(jī)驅(qū)動電路構(gòu)成機(jī)械臂的運(yùn)動模塊,從而形成機(jī)械臂運(yùn)動控制系統(tǒng)的硬件單元。以模糊PID控制理論為軟件核心,對機(jī)械臂運(yùn)動過程中的軌跡偏差進(jìn)行計算,形成控制量。主控器STM32將根據(jù)控制量對機(jī)械臂的運(yùn)動模塊發(fā)出調(diào)控信號,使得機(jī)械臂能夠快速回歸預(yù)定的運(yùn)動軌跡。實(shí)驗(yàn)結(jié)果表明,本文所設(shè)計的機(jī)械臂運(yùn)動控制系統(tǒng),能夠快速、準(zhǔn)確地對機(jī)械臂的運(yùn)動狀態(tài)進(jìn)行控制,提高機(jī)械臂運(yùn)動的準(zhǔn)確性。
機(jī)械臂;運(yùn)動控制;STM32;角度位移傳感器;模糊PID控制理論;運(yùn)動軌跡
機(jī)械臂是一種模擬人體手臂的機(jī)器[1]。機(jī)械臂的廣泛使用,不僅提高了生產(chǎn)制造的自動化及智能化程度,而且還提高了生產(chǎn)制造過程中的安全性,降低了人工勞動量[2]。
對機(jī)械臂運(yùn)動的精準(zhǔn)控制是提高生產(chǎn)效率、提高產(chǎn)品質(zhì)量的一項重要措施。對此,人們對機(jī)械臂的控制進(jìn)行了大量的研究,當(dāng)下出現(xiàn)了較多的機(jī)械臂運(yùn)動控制系統(tǒng),如Xu等人[3]提出了一種具有不確定運(yùn)動學(xué)和動力學(xué)的自由漂浮空間機(jī)械手的自適應(yīng)零反作用運(yùn)動控制,獲取自適應(yīng)控制基礎(chǔ)的線性表達(dá)式,在速度水平上開發(fā)了基于RNS的自適應(yīng)控制方法。如Kartashev等人[4]提出了一種機(jī)器人機(jī)械手的自動安全運(yùn)動控制系統(tǒng)的設(shè)計,致力于改進(jìn)機(jī)械手自動安全運(yùn)動控制系統(tǒng),使得該系統(tǒng)除了在過載情況下關(guān)閉動力傳動的主要功能外,還能夠檢查其所有部件的可操作性。郭洋等人[5]將PLC引入機(jī)械臂的控制,設(shè)計了一種擠奶機(jī)器人機(jī)械臂控制系統(tǒng),利用PLC與CANOpen通信控制伺服電機(jī),對機(jī)械臂的運(yùn)動進(jìn)行驅(qū)動,實(shí)現(xiàn)三自由度的擠奶控制。Tomasz等人[6]設(shè)計了一種基于非線性模型預(yù)測控制(NMPC)的自由漂浮空間機(jī)械臂控制系統(tǒng),通過軌跡規(guī)劃模塊和模型預(yù)測控制器實(shí)現(xiàn)對機(jī)械臂的控制。雖然上述方法都能較好的實(shí)現(xiàn)機(jī)械臂運(yùn)動的控制,但是運(yùn)動控制的準(zhǔn)確性較低,運(yùn)動自由度維度較低。
對此,本文采用STM32控制器設(shè)計了一種基于STM32的機(jī)械臂運(yùn)動控制系統(tǒng)設(shè)計的研究。本文首先對所設(shè)計系統(tǒng)的整體結(jié)構(gòu)進(jìn)行了分析,然后對系統(tǒng)硬件單元進(jìn)行了設(shè)計,最后對系統(tǒng)軟件單元進(jìn)行了描述。整個系統(tǒng)以STM32控制器為核心,配以角度位移傳感器以及舵機(jī)控制輔助電路實(shí)現(xiàn)系統(tǒng)的主要硬件單元設(shè)計。引入模糊PID作為軟件的控制策略,獲取控制量,供STM32控制器以此為依據(jù),對外圍硬件實(shí)現(xiàn)調(diào)控,以達(dá)到對機(jī)械臂運(yùn)動的準(zhǔn)確控制。
圖1 機(jī)械臂結(jié)構(gòu)的示意圖
圖2 機(jī)械臂運(yùn)動控制系統(tǒng)的整體結(jié)構(gòu)
根據(jù)機(jī)械臂運(yùn)動控制系統(tǒng)的功能要求以及整體設(shè)計,機(jī)械臂運(yùn)動控制系統(tǒng)的硬件單元可分為主控模塊、軌跡采集模塊、用戶操作模塊以及運(yùn)動執(zhí)行模塊。每個模塊之間的信號流向如圖3所示。
從圖3可知,用戶操作模塊主要由液晶觸摸屏電路和功能按鍵電路組成。其中液晶觸摸屏采用的是研凌ITPC-A101型10寸觸摸屏,其具有寬視角、高靈敏度等特點(diǎn)。用戶可通過該液晶觸摸屏設(shè)定預(yù)定的運(yùn)動軌跡,同時也可以該液晶觀察機(jī)械臂的運(yùn)動狀態(tài)。功能按鍵電路由暫停、啟動、停止三個按鍵組成,供用戶在緊急情況下對機(jī)械臂進(jìn)行動作控制。主控模塊主要由STM32F103C8T6控制器及晶體振蕩器等外圍器件組成。STM32F103C8T6是一款穩(wěn)定性能好、運(yùn)算速度快的控制器。其自帶多個UART以及A/D接口,便于外圍液晶觸摸屏以及角度位移傳感器的連接。軌跡采集模塊主要依靠角度位移傳感器電路來實(shí)現(xiàn)。電路中采用霍爾角度位移傳感器對機(jī)械臂的位移以及角度進(jìn)行監(jiān)測,實(shí)時采集機(jī)械臂的運(yùn)動軌跡,并將運(yùn)動軌跡轉(zhuǎn)換成電信號,傳入主控模塊,供控制器處理。運(yùn)動執(zhí)行模塊主要通過舵機(jī)構(gòu)成。電路中的舵機(jī)采用PWM控制舵機(jī),可通過控制器發(fā)出PWM波對舵機(jī)進(jìn)行轉(zhuǎn)動調(diào)節(jié),進(jìn)而實(shí)現(xiàn)對機(jī)械臂的運(yùn)動軌跡進(jìn)行控制。 用戶通過液晶觸摸屏將標(biāo)定運(yùn)動軌跡信號傳入控制器,控制器不停接收角度位移傳感器傳入的監(jiān)測信號,將監(jiān)測結(jié)果送出到液晶觸摸屏上進(jìn)行顯示。同時,控制器通過控制策略獲取控制量,輸出PWM波對舵機(jī)進(jìn)行運(yùn)動調(diào)節(jié),實(shí)現(xiàn)機(jī)械臂運(yùn)動軌跡的準(zhǔn)確控制。
圖3 系統(tǒng)硬件單元設(shè)計
系統(tǒng)軟件單元部分主要實(shí)現(xiàn)硬件功能的初始化、運(yùn)動軌跡的判定以及PWM波的輸出三大功能。硬件功能的初始化是對各個硬件單元的I/O口、寄存器以及初始角度等給定一個初始值,為系統(tǒng)的運(yùn)行做好準(zhǔn)備。運(yùn)動軌跡的判定是對機(jī)械臂運(yùn)動過程準(zhǔn)確性的監(jiān)督以及調(diào)節(jié)的過程。PWM波是STM32F103C8T6控制器對機(jī)械臂運(yùn)動控制的一種信號,軟件單元對PWM波的控制是以運(yùn)動軌跡的判定結(jié)果為依據(jù)而進(jìn)行的。在這三大功能里,運(yùn)動軌跡的判定是軟件單元的核心。運(yùn)動軌跡判定的準(zhǔn)確與否關(guān)系到控制系統(tǒng)對機(jī)械臂運(yùn)動控制的準(zhǔn)確性。本文采用模糊PID算法作為機(jī)械臂運(yùn)動控制系統(tǒng)軟件單元的控制策略,用于對運(yùn)動軌跡執(zhí)行的準(zhǔn)確性進(jìn)行計算,并將計算出的控制量送于STM32F103C8T6控制器,控制器將根據(jù)控制量輸出PWM波,通過PWM波對舵機(jī)進(jìn)行調(diào)節(jié)。具體的軟件控制流程如圖4所示。
圖4 軟件控制過程
從圖4可見,當(dāng)完成硬件功能初始化后,程序就開始啟動運(yùn)動軌跡的判定過程,其中運(yùn)動軌跡的判定主要依靠模糊PID算法來實(shí)現(xiàn)。
運(yùn)動軌跡的判定旨在計算當(dāng)下機(jī)械臂運(yùn)動軌跡與預(yù)定軌跡的偏移情況,該判定結(jié)果是影響整個系統(tǒng)準(zhǔn)確度的關(guān)鍵,也是決定系統(tǒng)效率的關(guān)鍵所在。模糊PID算法是一種控制精度高、計算復(fù)雜度較低的控制策略[9-10]。
實(shí)驗(yàn)在AMD雙核、500GB硬盤的計算機(jī)上,采用MALTAB7.10軟件進(jìn)行。實(shí)驗(yàn)中K、K、K的初始值分別設(shè)定為1.75、1.45、1.28。實(shí)驗(yàn)中將文獻(xiàn)[15]與文獻(xiàn)[16]中的方法作為對比,以便更好地觀察本文算法的機(jī)械臂運(yùn)動控制效果。實(shí)驗(yàn)通過運(yùn)動軌跡追蹤以及追蹤耗時兩個方面對機(jī)械臂運(yùn)動控制系統(tǒng)的優(yōu)良性進(jìn)行實(shí)驗(yàn)分析。
不同方法控制機(jī)械臂對運(yùn)動軌跡追蹤的結(jié)果如圖5所示。從圖5可見,文獻(xiàn)[15]方法、文獻(xiàn)[16]方法以及本文方法都能對標(biāo)定運(yùn)動軌跡進(jìn)行追蹤。通過觀察不同方法的追蹤結(jié)果可見,文獻(xiàn)[15]方法追蹤標(biāo)定運(yùn)動軌跡過程中,追蹤曲線存在波動頻率高的問題,在運(yùn)動軌跡變化時,追蹤曲線波動的幅度較大。文獻(xiàn)[16]方法追蹤標(biāo)定運(yùn)動軌跡過程中,追蹤曲線存在調(diào)節(jié)時間長的問題,當(dāng)出現(xiàn)波動時,需要較長的時間才能使追蹤曲線貼合于標(biāo)定運(yùn)動軌跡。本文方法追蹤標(biāo)定運(yùn)動軌跡過程中,追蹤曲線較為平穩(wěn),波動較小,調(diào)節(jié)時間較短,對標(biāo)定運(yùn)動軌跡貼合度較高。說明本文方法不僅能夠?qū)C(jī)械臂的運(yùn)動過程實(shí)現(xiàn)較為準(zhǔn)確地控制,而且還能實(shí)現(xiàn)對機(jī)械臂進(jìn)行較為平穩(wěn)的運(yùn)動控制。
不同方法控制機(jī)械臂追蹤標(biāo)定運(yùn)動軌跡的耗時結(jié)果如表1所示。從表1可見,與文獻(xiàn)[15]方法、文獻(xiàn)[16]方法相比,本文方法的耗時最短。其中文獻(xiàn)[15]方法的耗時為8.5674 s,文獻(xiàn)[16]的耗時為8.0471 s,本文方法的耗時為7.5813 s。說明本文方法對機(jī)械臂運(yùn)動過程的控制效率較高,能夠較快的實(shí)現(xiàn)機(jī)械臂運(yùn)動軌跡的控制。因?yàn)楸疚姆椒ú捎昧诉\(yùn)算速度較快、計算精度較高的STM32F103C8T6控制器作為硬件的核心,配以精度與靈敏度都較高的霍爾角度位移傳感器對機(jī)械臂的運(yùn)動軌跡進(jìn)行實(shí)時采集,引入模糊PID算法作為控制策略,精確計算出控制量供控制器使用,從而使得控制系統(tǒng)的控制準(zhǔn)確度得以提高,控制時間得以降低。
圖5 不同方法控制機(jī)械臂對標(biāo)定運(yùn)動軌跡的追蹤結(jié)果
表1 不同算法的客觀評價結(jié)果
本文采用STM32F103C8T6處理器作為硬件電路的核心,設(shè)計了一種基于STM32的機(jī)械臂運(yùn)動控制系統(tǒng)。利用STM32F103C8T6處理器設(shè)計系統(tǒng)的主控模塊。通過霍爾角度位移傳感器對機(jī)械臂的運(yùn)動軌跡進(jìn)行實(shí)時采集。將采集結(jié)果送入STM32F103C8T6處理器,處理器再調(diào)用模糊PID控制策略,計算出控制量,并回傳給處理器。處理器利用控制量發(fā)出PWM波信息,對外圍舵機(jī)的動作進(jìn)行調(diào)節(jié),從而達(dá)到對機(jī)械臂運(yùn)動過程控制的效果。實(shí)驗(yàn)結(jié)果表明,本文所設(shè)計的機(jī)械臂運(yùn)動控制系統(tǒng),不僅能夠較為準(zhǔn)確的控制機(jī)械臂運(yùn)動,而且還能較快的實(shí)現(xiàn)機(jī)械臂運(yùn)動的調(diào)控。
[1] 楊偉超,許德章.基于ADAMS的雙臂作業(yè)機(jī)器人的運(yùn)動學(xué)分析及仿真[J]. 井岡山大學(xué)學(xué)報:自然科學(xué)版, 2016, 37(1): 80-84.
[2] Pham C V, Wang Y N. Robust adaptive trajectory tracking sliding mode control based on neural networks for cleaning and detecting robot manipulators [J]. Journal of intelligent & robotic Systems,2015,79(1):101-114.
[3] XU S F, Wang H L, Zhang D Z. Adaptive zero reaction motion control for free-floating space manipulators[J]. IEEE Transactions on Aerospace and Electronic Systems,2016, 52(3): 1067-1076.
[4] Kartashev V A, Safronov V V. Automatic safe motion control system for a robotic manipulator[J]. Journal of Computer and Systems Sciences International,2017,56(2):328-333.
[5] 郭洋,吳澤全,蔡曉華. 基于PLC的擠奶機(jī)器人三自由度機(jī)械臂控制方法研究[J].農(nóng)業(yè)科技與裝備,2017, 276(6):15-17+21.
[6] Tomasz R, Karol S, Jurek ZS. Control System for Free-Floating Space Manipulator Based on Nonlinear Model Predictive Control (NMPC)[J].Journal of Intelligent & Robotic Systems,2017,85(3-4):491-509.
[7] Taira Y C, Sagara S C, Masahiro O. Motion and force control with a nonlinear force error filter for underwater vehicle-manipulator systems[J]. Artificial Life and Robotics, 2018, 23(1):103-117.
[8] Haibin D A V, Shaoping W V. A boundary control for motion synchronization of a two-manipulator system with a flexible beam[J]. Automatica, 2014,50(12):3088-3099.
[9] So G B, Jin G G. Fuzzy-based nonlinear PID controller and its application to CSTR[J]. Korean Journal of Chemical Engineering,2018,35(4):819-825.
[10] 宋昌寶,宋金澤,鄭曉圓. 基于模糊自適應(yīng)PID控制的機(jī)器人運(yùn)動控制仿真研究[J].長春工程學(xué)院學(xué)報:自然科學(xué)版,2018,27(3):107-110.
[11] Shen J, Xin B, Cui H Q. Control of single-axis rotation INS by tracking differentiator based fuzzy PID[J]. IEEE Transactions on Aerospace and Electronic Systems. 2017,53(6):2976-2986.
[12] Shaharuddin N M, Darus I Z, Samin P M. Fuzzy iterative PID-type control of vortex induced vibration suppression[J]. Journal of Vibroengineering, 2017, 19(7):5137-5148.
[13] 柴鈺,王喬. 粒子群優(yōu)化模糊PID的履帶機(jī)器人運(yùn)動控制研究[J].現(xiàn)代電子技術(shù),2018,41(18):49-53.
[14] Tao Y, Xie G, Chen Y D. A PID and fuzzy logic based method for Quadrotor aircraft control motion[J]. Journal of Intelligent & Fuzzy Systems,2016, 31(6): 2975-2983.
[15] 陳三風(fēng),韓鑫湛,邵斌. 基于回歸神經(jīng)網(wǎng)絡(luò)多機(jī)械臂運(yùn)動控制研究[J].控制工程,2017,24(11):2211-2217.
[16] Batista J G. Technological Development and Implementation of a Robotic Arm Motioned by Programmable Logic Controller[J]. Urban and Civil Engineering, 2017, 11(2): 377-380.
Research on The Design of Manipulator Motion Control System Based on STM32
*LIU Lei1,YU Fen-fen2
(1. Anqing Vocational & Technical College, Anqing, Anhui 246003, China; 2. Anqing Medical College, Anqing, Anhui 246052, China)
To improve the accuracy of the manipulator motion and the control efficiency of the manipulator, a manipulator motion control system is designed by using STM32 processor.STM32 is used as the core of the main control system. The perception module of the manipulator is composed of angular displacement sensor, and the motion module of the manipulator is composed of the steering motor driving circuit. They form the hardware unit of the manipulator motion control system.Taking the theory of fuzzy PID control as the software core, the trajectory deviation of the manipulator is calculated to form the control quantity.The main controller STM32 will send the control signal to the motion module of the manipulator according to the control quantity, so that the manipulator can quickly return to the predetermined trajectory.The experimental results show that the motion control system of the manipulator designed in this paper can quickly and accurately control the motion state of the manipulator, which can improve the accuracy of the motion of the manipulator.
manipulator; motion control; stm32; displacement sensor; fuzzy pid control theory; motion trajector
1674-8085(2019)01-0073-05
TP391
A
10.3969/j.issn.1674-8085.2019.01.015
2018-10-04;
2018-11-26
2016年安徽省高等學(xué)校省級質(zhì)量工程項目(2016tszy052)
*劉 磊(1977-),安徽安慶人,副教授,博士,主要從事先進(jìn)制造技術(shù)、自動控制技術(shù)等研究(E-mail: lilei77@tom.com);
余汾芬(1981-),安徽安慶人,講師,碩士,主要從事計算機(jī)應(yīng)用技術(shù)、自動控制技術(shù)等研究(E-mail: YuFfeN1981ah@126.com).