
SOSÁNHGIÁTRỊTỐCĐỘGÓCTHUĐƯỢCTỪCẢMBIẾN
MPU6050VÀGIÁTRỊƯỚCLƯỢNGBẰNGBỘQUANSÁT
TRONGĐIỀUKHIỂNUAV
LêQuýAnh,NgôDoãnThanh
Email:lequyanh.bmstu@gmail.com
Ngàytòasoạnnhậnđượcbàibáo:02/06/2025
Ngàyphảnbiệnđánhgiá:01/12/2025
Ngàybàibáođượcduyệtđăng:19/12/2025
DOI:10.59266/houjs.2025.1098
Tómtắt:TrongcáchệthốngđiềukhiểnUAV(UnmannedAerialVehicle),việcxácđịnh
chínhxáctrạngtháitrongkhônggiannhưgócchúcngóc,gócnghiêng,góchướngvàcáctốcđộ
góctươngứnglàyêucầuthiếtyếuđểđảmbảođộổnđịnhvàđápứngnhanh.Tuynhiên,cảmbiến
quántínhMPU6050-gồmconquayhồichuyển(gyroscope)vàcảmbiếngiatốc(accelerometer)
-thườngbịảnhhưởngbởinhiễuvàtrôicảmbiến(biasdrift).Bàibáonàytrìnhbàykếtquảso
sánhgiữatốcđộgócđotrựctiếptừcảmbiếnMPU6050vàtốcđộgócướclượngthôngquabộ
quansátLuenberger.Phươngphápđềxuấtchophépgiảmnhiễuvàcảithiệntínhổnđịnhcủatín
hiệugóc,giúptăngchấtlượngđiềukhiểntronghệLQRchoUAVbốncánh(Quadrotor).Kếtquả
môphỏngvàthửnghiệmchothấytínhiệuướclượngtừbộquansátcódạngmượthơn,phảnánh
đúngxuhướngđộnghọcthực,đồngthờigiảmđángkểsaisốtứcthời.
Từkhóa:UAV,Quadcopter,MPU6050,cảmbiếnquántínhIMU,tốcđộgóc,nhiễuvàtrôicảm
biến,bộquansátLuenberger,ướclượngtrạngthái
TrườngSĩquanKhôngquân
I.Đặtvấnđề
Trongcáchệthốngđiềukhiểnmáy
bay không người lái (UAV - Unmanned
AerialVehicle),việcxácđịnhvàduytrì
chính xác trạng thái của phương tiện là
một yêu cầu thiết yếu (Mahony & cộng
sự,2008;Allende-Peña&cộngsự,2021).
Thôngtinvềtốcđộgócđóngvaitròquan
trọngtrongđịnhluậtđiềukhiển.Tínhiệu
này được sử dụng đểduy trìsựổn định
trạng thái, chống các dao động chu kỳ
ngắn,cungcấptínhiệuphảnhồichocác
bộđiềukhiểnnhưPID,LQRhoặcbộđiều
khiển tối ưu (Bouabdallah & cộng sự,
2004;Madani&Benallegue,2006),đồng
thờihỗtrợtínhtoángócquaythôngqua
phéptíchphântốcđộgóc,giúpướclượng
trạngtháicủaUAV.
Trong thực tế, giá trị tốc độ góc
thườngđượcđotrựctiếptừcảmbiếncon
quay tích hợp trong module MPU6050,
một loại cảm biến quán tính MEMS phổ
biến và có chi phí thấp (Allende-Peña &
cộngsự,2021).Tuynhiên,dogiớihạncủa

phầncứngMEMS,tínhiệuđođượcthường
bịảnhhưởngđángkểbởicácyếutốnhư
nhiễungẫunhiên(randomnoise),trôinhiệt
(thermaldrift)vàsaisốbùlệch(biaserror).
Cácyếutốnàygâyrahiệntượngdaođộng
tínhiệu,sailệchgiátrịtrungbìnhvàbiến
dạngdữliệutheothờigian,khiếnkếtquả
đo không phản ánh chính xác trạng thái
độnghọcthựccủaUAV(Allende-Peña&
cộngsự,2021;Hashim,2022).
Khi dữliệu cảmbiến không chính
xác, chấtlượng điềukhiển củahệthống
bịsuygiảmrõrệt.Đặcbiệt,trongcácứng
dụng điều khiển tự động yêu cầu độ ổn
địnhcaonhưUAV,tínhiệutốcđộgócbị
nhiễucóthểdẫnđếnsailệchlớntrongquá
trình tính toán góc nghiêng, ảnh hưởng
đếnkhảnăngcânbằngvàđiềuhướngcủa
phương tiện (Mahony & cộng sự, 2008;
Homann&cộngsự,2007).Đểkhắcphục
vấnđềnày,cầnápdụngcácphươngpháp
ước lượng trạng thái (state estimation)
nhằmtáitạolạitínhiệutốcđộgócthực,
loạibỏnhiễuvàcảithiệnđộổnđịnhcủa
tínhiệuphảnhồi(Chnib&cộngsự,2023;
VanGoor&cộngsự,2023).
Một trong những phương pháp
đượcsửdụngrộngrãivàcóhiệuquảcao
là bộ quan sát Luenberger (Luenberger
Observer).Dựatrênmôhìnhtoánhọccủa
hệ thống,bộ quansátnày chophépước
lượng lại các biến trạng thái (bao gồm
gócvàtốcđộgóc)từtínhiệuđầurađo
được (Chnib & cộng sự, 2023). Với ưu
điểmtốcđộhộitụnhanh,tínhổnđịnhcao
và khả năng triển khai dễ dàng trên các
nềntảngviđiềukhiểnnhưArduinohoặc
STM32,bộquansátLuenbergertrởthành
giảiphápphùhợpchocácứngdụngđiều
khiển UAV có yêu cầu độ chính xác và
tínhthờigianthựccao(VanGoor&cộng
sự,2023;Hashim,2022).
II.Cơsởlýthuyết
2.1. Mô hình toán của UAV loại
Quadcopter
Máybaykhôngngườiláibốncánh
quạt (quadcopter UAV) là một hệ phi
tuyếnsáubậctựdo,đượcđiềukhiểnbởi
bốn động cơ tạo ra các lực và mômen
độclập.MôhìnhđộnglựchọccủaUAV
được xây dựng dựa trên phương trình
Euler-Newton, mô tả mối quan hệ giữa
lực nâng, mômen và trạng thái chuyển
độngcủaUAV(Mahony&cộngsự,2008;
Bouabdallah&cộngsự,2004).
{m=-U(cosγsinϑcosψ+sinϑsinψ)
m=-U(cosγsinϑsinψ-sinϑcosψ)
mz
=U(cosγcosϑ)-mg
(1)
{Ix=(Iy-Iz)qr+τγyq
=(Iz-Ix)pr+τϑ
z=(Ix-Iy)pq+τψ(2)
Trongđó:
làtoạđộvịtríUAV;
(γ,ϑ,ψ)làcácgócRoll,Pitch,Yaw;
làtốcđộgóctươngứng;
là mômen quán tính theo
từngtrục;
(U,τγ,τϑ,τψlần lượtlà lực nângvà
cácmômenđiềukhiển;
(m,g)làkhốilượngvàgiatốctrọng
trường.
Đểđơngiảnchoquátrìnhtínhtoán,
giả sử UAV chỉ quay quanh trục pitch
(ϑ),tabỏquachuyểnđộngquanhcáctrục
khác.Phươngtrìnhđộnglựchọcgiảnlược
cònlại(Homann&cộngsự,2007):
yϑ
=τϑ(3)
Đặtx=ϑ,x=ϑ,u=τϑ,y=ϑ.Khiđómô
hình không gian trạng tháicủa hệ được
viếtdướidạng:
(4)

Trongđó:
(5)
MatrậnAmôtảđộnghọcgócpitch
đãgiảnlược:đạohàmcủagócbằngtốc
độgócvàđạohàmcủatốcđộgócbằng
mômenchiachomômenquántính.Ma
trậnbiểudiễnảnhhưởngtrựctiếpcủa
mômenđiềukhiểnlêngiatốc.MatrậnC
thểhiệncảmbiếnđogócpitch.Hệtrênlà
tuyếntínhvàcóthểápdụngcácphương
phápđiềukhiểnhiệnđạinhưLQRhoặc
quansáttrạngthái.Đểxâydựngbộquan
sát, ta cần đảm bảo hệ là khả quan sát
(observable).
2.2.ThiếtkếbộquansátLuenberger
chogócPitch
Trong hệ UAV thực tế, cảm biến
MPU6050cungcấp gócnghiêng(từgia
tốc kế) và tốc độ góc (từ con quay hồi
chuyển).Tuynhiên,tốc độ gócđo được
thường nhiễu và bị trôi. Bộ quan sát
Luenberger được sử dụngđể ước lượng
lạitốcđộgóctừgócđođược.
(6)
Saisốướclượngđượcđịnhnghĩalà
Khiđó:
(7)
Trong mô hình của UAV, ma trận
trạngtháiAcóđathứcđặctrưnglà:
Đathứccónghiệmtạis=0(bội2).
Đâylàđặcđiểmcủacácmôhìnhkhông
cóthànhphầncảnđốivớiđộnghọcgóc:
tốcđộgóclàtíchphâncủamômen,và
góclàtíchphâncủatốcđộgóc.Dođó,
bảnthânmôhìnhlàhệbiên ổnđịnhvà
khôngcókhảnăngtựtriệttiêusaisốtheo
thờigian.Điềunàydẫnđếnmộthệquả
quantrọng:nếukhôngthiếtkếbộquan
sát,saisốướclượngsẽkhôngsuygiảm,
tốcđộhộitụrấtchậmvàdễbịảnhhưởng
bởinhiễungẫunhiên,đặcbiệtlàtrôibias
củacảmbiếnMPU6050.
Vì lý do đó, bộ quan sát cần phải
đượcthiếtkếsaochocáccựccủamatrận
A−LCđượcdịchsangbêntráitrụctung
trongmặtphẳngs,nhằmtạoratốcđộhội
tụnhanhvàtriệttiêusaisốướclượngtheo
thờigian.Cáccựccủabộquansátđược
đặtraxahơnvềphíatráitrụcthựctạis=
-8vàs=-10.Việclựachọnnàygiúpsai
sốướclượnghộitụnhanhhơnkhoảng4-5
lầnsovớihệthực,đảmbảorằngbộquan
sátcóthể:giảmđángkểnhiễucaotầncủa
gyroscope,hạnchếhiệuứngtrôidotích
phângóc,táitạotốcđộgócmượtvàổn
địnhhơn,cungcấptínhiệuchấtlượngcao
cho bộ điều khiển (như LQR hoặc PID
nângcao).
Tuynhiên,việcchọncựcquáxavề
bêntráicóthểlàmtăngđộnhạyvớisai
sốmôhìnhvànhiễuđo.Vìvậy,cặpcực
s=-8vàs=-10đượcchọnnhưmộtsự
cânbằnggiữatốcđộhộitụ,khảnănglọc
nhiễu,vàđộổnđịnhsốkhitriểnkhaitrên
Arduinovớitầnsốlấymẫu100Hz.
Vớicặpcựcs=-8vàs=-10,tacó:
(s+8)(s+10)=s+18s+80 (8)
Khiđó,matrậnkhuếchđạiLđược
tính bằng phương pháp đặt cực (pole
placement):
L=[1880] (9)
(10)
Tronghệthốngthựcnghiệmsửdụng
ArduinoUnovàcảmbiếnMPU6050,toàn

bộdữliệuđượcthuvàxửlýtheochutrình
tuầntựvớitầnsốlấymẫucốđịnh100Hz.
Quátrìnhnàykhôngdiễnrasongsongmà
đượcthựchiệnlầnlượttrongmỗichukỳ
0,01s,baogồmcácbước:
Bước 1: (Đọc dữ liệu cảm biến)
Arduinonhậngiátrịgiatốcvàtốcđộgóc
từMPU6050thôngquagiaothứcI2C.
Bước2:(Tínhgócpitch)từdữliệu
accelerometer,gócđượcướctínhđểcung
cấpthôngtinđochobộquansát.
Bước 3: (Cập nhật bộ quan sát
Luenberger)dùngmôhìnhUAVvàgóc
đođượcđểướctínhlạitrạngthái,đặcbiệt
làtốcđộgócđãgiảmnhiễu.
Bước 4: (Ghi và truyền dữ liệu)
kếtquảđượclưuvàgửisangmáytínhđể
phântích.
III.Phươngphápnghiêncứu
Nghiên cứu được tiến hành theo
hai hướng chính: phương pháp nghiên
cứu lý thuyết và phương pháp nghiên
cứu thực nghiệm, đảm bảo tính toàn
diệntrongviệcđánhgiáhiệuquảcủabộ
quansát Luenbergerso với tín hiệu đo
từcảmbiếnMPU6050.
3.1.Phươngphápnghiêncứulýthuyết
- Phân tích tính điều khiển được
(controllability) và tính quan sát được
(observability)đểđảmbảokhảnăngthiết
kếbộđiềukhiểnvàbộquansát.
- Thiết kế bộ quan sát Luenberger
bằng phương pháp đặt cực (pole
placement) nhằm đảm bảo sai số ước
lượnghộitụnhanh.
- Xây dựng thuật toán mô phỏng
trênMATLAB/SimulinkhoặcPythonđể
kiểmchứngtínhổnđịnhvàđộchínhxác
của bộ quan sát trong điều kiện nhiễu
giảlập.
3.2.Phươngphápnghiêncứuthực
nghiệm
Trong hệ thống thực nghiệm, bộ
quansátLuenbergerđượctriểnkhaitrực
tiếptrênArduinoUnovớitầnsốlấymẫu
cốđịnh100Hz(chukỳ0,01s).Saukhirời
rạchóamôhìnhvàmatrậnLbằngphương
phápEulertiến,thuậttoánobserverđược
thực hiện tuần tự trong từng chu kỳ lấy
mẫu. Cụ thể, ở mỗi bước tính,Arduino
đọcdữliệugyroscopevàaccelerometertừ
MPU6050,tínhgócpitchtừaccelerometer,
sauđócậpnhậttrạngtháiướclượngtheo
côngthức:
(11)
Kýhiệud(discrete)thểhiệnmatrận
rờirạc.Tầnsốlấymẫu100Hzđượclựa
chọnvìđápứngđủnhanhsovớicáccực
quansátđãđặttại-8và-10.Vớithờigian
hộitụlýthuyếtkhoảng0,1-0,2s,việclấy
mẫu ở100Hz đảmbảo quá trình rờirạc
hóakhônglàmmấtổnđịnhhệquansát,
đồngthờigiúpbộquansáttáitạotínhiệu
tốcđộgócvớiđộtrễrấtnhỏ.Nếutầnsố
lấymẫuthấphơn,độtrễvàsaisốrờirạc
hóacóthểlàmgiảmđángkểkhảnănglọc
nhiễucủabộquansát.
IV.Kếtquảthựcnghiệm,đánhgiá
Thínghiệmđượctiếnhànhtrênmô
hìnhUAVloại quadcoptercỡ nhỏ,trang
bịcảm biến MPU6050 để đo gia tốc và
tốc độ góc, cùng vi điều khiểnArduino
UnođểlậptrìnhbộquansátLuenberger.
Mụctiêulàsosánh:Tínhiệutốcđộgóc
đotrựctiếptừMPU6050(gyrooutput)và
tínhiệutốcđộgócướclượngtừbộquan
sátLuenberger(observeroutput).Dữliệu
đượcthuthậpvớitầnsốlấymẫu100Hz
vàtruyềnvềmáytínhquacổngSerialđể
xửlý,hiểnthịtrênphầnmềm.

Hình1.CảmbiếnMPU6050 Hình2.Sosánhtínhiệutốcđộgóc:MPU6050(xanh)và
LuenbergerObserver(đỏ)
Mã chương trình thực thi trên
Arduino bao gồm: Khối đọc dữ liệu
MPU6050(góc,tốcđộgóc),khốibộquan
sátLuenberger,tínhtoántheocôngthức:
KhốixuấtdữliệuraSerialchomáytính.
Hình2thểhiệnsựsosánhgiữahai
tínhiệutốcđộgóc:
- Đường màu xanh: tốcđộgóc đo
trựctiếptừgyroscopecủaMPU6050.
- Đường màu đỏ: tốc độ góc ước
lượngtừbộquansátLuenbergerdựatrên
môhìnhUAVvàgócđođược.
Phân tích cho thấy: Đường màu
xanh (gyro thô) dao động mạnh, chứa
nhiềunhiễucaotầnđặctrưngcủacảmbiến
MEMS,vàthểhiệnrõxuhướngtrôikhi
tích phân. Đường màu đỏ (Luenberger)
mượthơn,bámtheoxuhướngđộnghọc
củahệtốthơndosửdụngmôhìnhvàhiệu
chỉnhsaisốthôngquaquansáttrạngthái.
Độ trễ của observer rất nhỏ (ở mức vài
mili-giây)vì tín hiệu chỉ chịu một bước
tínhtoánduynhất.Mứctrễnàyhầunhư
không ảnh hưởng đến điều khiển UAV,
bởitần số lấy mẫu 100 HzcủaArduino
vẫnđápứngtốtyêucầuổnđịnhvòngkín.
Nhờsựlọcnhiễuvàbámtínhiệutốthơn,
đườngmàuđỏchothấykhảnăngtáitạo
tốcđộgócphùhợphơnđểsửdụngtrong
điều khiển, đặc biệt trong các bộ điều
khiểnnhạyvớinhiễunhưLQR.
Tín hiệu tốc độ góc sau khi được
ước lượng bởi bộ quan sát Luenberger
đóng vai trò trực tiếp trong vòng phản
hồicủabộđiềukhiểnUAV.Cácphương
trình(1),(2),(3)môtảđộnglựchọccơ
bảncủaUAV,gồmquanhệgiữamômen
điềukhiển,tốcđộgócvàgócnghiêng.Bộ
điềukhiển,đặcbiệtlàLQRtronghệthống
này,sửdụngtrạngtháiđểsinhlệnhđiều
khiển.Dođó,chấtlượngcủatínhiệu
ảnhhưởngtrựctiếpđếnđộổnđịnhvàkhả
năngbámtheocủaUAV.
Nếusửdụngtrựctiếptốcđộgóctừ
gyroscope,nhiễucaotầnvàtrôitíchlũydễ
gâydaođộngđiềukhiển,làmtănglựcbù
vàgiảmtuổithọđộngcơ.Khithaythếbằng
tốcđộgócsauquansát,tínhiệuphảnhồi
trởnênmượthơn,ổnđịnhhơnvàbámsát
độnghọcthậtcủaUAV.Nhờđó:biênđộdao
độnggiảm,thờigianđápứngnhanhhơn,hệ
thốngít bị tác độngbởinhiễu MEMS,và
thuậttoánđiềukhiểnsửdụngmôhình(1),
(2),(3)pháthuyhiệuquảtốiđa.
Điều này chứng minhvaitrò quan
trọngcủaviệckếthợpmôhìnhUAVvà
quan sát trạng thái trong việc nâng cao
hiệunăngđiềukhiển.

