999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種兩輪自平衡小車的設計與實現

2016-05-06 06:04:07熊躍軍史明政林金勇
長沙大學學報 2016年2期
關鍵詞:卡爾曼濾波

熊躍軍,史明政,林金勇,方 燁

(長沙大學電子信息與電氣工程系,湖南 長沙 410022)

?

一種兩輪自平衡小車的設計與實現

熊躍軍,史明政,林金勇,方燁

(長沙大學電子信息與電氣工程系,湖南 長沙 410022)

摘要:針對于現在流行的兩輪自平衡車,設計了一個與其原理相似的平衡小車控制系統.自平衡小車本身是一個不穩定體,類似于傳統的倒立擺與蹊蹺板平衡系統.以STM32F103C8T6為主控芯片,利用MPU6050采集小車的姿態數據,通過卡爾曼濾波算法對數據進行處理,最后采用PID控制算法計算電機的PWM值以控制電機的轉動,實現小車的平衡.系統采用藍牙通信技術,通過手機APP實現控制小車的運動.

關鍵詞:STM32;兩輪自平衡小車;MPU6050;卡爾曼濾波;PID

早在1987年,日本電信大學教授山藤一雄就提出了兩輪自平衡機器人的概念.這個基本的概念就是用數字處理器來偵測平衡的改變,然后以平行的雙輪來保持機器的平穩.本世紀初瑞士聯邦工業大學的Joe、美國的SegwayN等兩輪自平衡機器人相繼問世,世界各國越來越多的機器人愛好者和研究者開始關注兩輪自平衡機器人.美國發明家狄恩?卡門與他的DEKA研發公司研發出了可以用于載人的兩輪自平衡車命名為賽格威,并已投入市場.由于兩輪自平衡車有著活動靈便,環境無害等優點,其被廣泛應用于各類高規格社會活動,目前該車已用于奧運會以及世博會等大型場合[1].為了提高小車的控制精度與穩定性,本文采用高性能的STM32芯片,模擬兩輪直立自平衡電動車的原理,采用藍牙通信技術來實現對小車的操作.

1系統總體設計方案

本系統采用Cortex-M3內核的STM32處理器為主控芯片,利用MPU6050來采集小車的姿態數據,通過卡爾曼濾波算法獲得使小車更穩定的加速度和角速度,之后,利用PID控制算法得到準確的PWM值,通過TB6612直流電機驅動模塊有效地控制電機的轉速和轉向,使得小車達到平衡狀態.其次,本設計采用藍牙無線通信技術,通過手機APP來操作小車的行駛[2].

1.1系統硬件設計方案

系統硬件結構主要由處理器、姿態控制模塊,電機、顯示、電源以及手機APP組成,系統結構圖如圖1所示[3].

1.1.1主控芯片

系統采用的主控芯片是STM32F103C8T6單片機,該單片機采用32位Cortex-M3內核,最高工作頻率為72MHz.芯片上集成了64KB Flash存儲器和20KB SRAM存儲器,同時也集成了SPI、USART、I2C等通信接口,12位、16通道的AD轉換器,能夠產生多路PWM控制電機.

1.1.2車體姿態平衡模塊

MPU6050六軸傳感器芯片整合了3軸陀螺儀和3軸加速度計,每個軸對應一個16位的AD轉換器,分別采集x軸、y軸、z軸的電壓值,將其測量的模擬量轉換成數字量輸出,最后通過I2C總線傳送到STM32,但此時得到的值并不是實際的角度和角速度值,還需經過一定的的比例關系進行轉換,才能得到實際的角度和角速度值[4].

圖1 系統硬件結構框圖

圖2 小車姿態平衡控制

為了減少陀螺儀的漂移及車體擺動等對小車加速度計的影響,獲得準確的車體傾角值,需要對加速度計和陀螺儀的輸出值進行融合,系統采用卡爾曼濾波算法進行數據融合[5].卡爾曼濾波是一種高效率的遞歸濾波器(自回歸濾波器),它能從一系列的不完全包括噪聲的測量中,估計動態系統的狀態.當兩輪自平衡小車產生傾斜時,系統采用PID控制算法,通過整合車體角度、角速度等值,輸出PWM信號驅動電機,從而使小車保持動態平衡,其結構框圖如圖2所示,圖中的Kd,kp,ksp,kis是PID控制器的相關參數[6].

1.1.3電機驅動模塊

本系統采用額定轉速285rpm、自帶高精度磁編碼器的直流減速電機,精度高,抗干擾能力強.TB6612是一款新型的驅動器件,能夠獨立控制2個直流電機,每個通道輸出可達1.2A的連續驅動電流,啟動峰值電流達2A~3.2A,有正傳、反轉、制動、停止4種電機控制模式.

1.1.4藍牙通信模塊

藍牙無線模塊采用SPP-C藍牙模塊,遵循V2.1+EDR藍牙規范,采用串口協議,具有成本低、體積小、功耗低、收發靈敏性高等優點.手機圖形界面的中間最小圓圈滑置不同的位置時,STM32產生中斷并作出相應的處理[7].

1.1.5電源模塊

系統包含12V、5V、3.3V電源.采用12V的航模電池,同時也是直流電機的供電來源.電機驅動模塊和藍牙通信模塊采用5V的電源,5V電源是通過LM2596穩壓得到的.STM32主控芯片的工作電源是3.3V,5V通過AMS1117穩壓得到的.

1.2系統軟件設計方案

1.2.1系統程序設計總方案

圖3 系統程序設計

軟件設計的任務是通過卡爾曼濾波算法得到準確的角速度與角度,在通過PID控制算法精確的控制小車的正反轉.系統程序設計流程圖如圖3所示.

1.2.2卡爾曼濾波算法

卡爾曼濾波器是一個“最優化自回歸數據處理算法”.對于解決大部分的問題,它是最優,效率最高甚至是最有用的.其廣泛應用已經超過30年,包括機器人導航,控制,傳感器數據融合甚至在軍事方面的雷達系統以及導彈追蹤等.近年來更被應用于計算機圖像處理,例如,面部識別,圖像分割,圖像邊緣檢測等方面.在小車控制系統中,卡爾曼濾波算法是用來得到小車的角速度和加速度[8].程序如下.

void Kalman_Filter(float Accel,float Gyro)

{

angle+=(Gyro - Q_bias) * dt; //先驗估計

Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; // Pk-先驗估計誤差協方差的微分

Pdot[1]=-PP[1][1];

Pdot[2]=-PP[1][1];

Pdot[3]=Q_gyro;

PP[0][0] += Pdot[0] * dt; // Pk-先驗估計誤差協方差的積分

PP[0][1] += Pdot[1] * dt; // =先驗估計誤差協方差

PP[1][0] += Pdot[2] * dt;

PP[1][1] += Pdot[3] * dt;

Angle_err = Accel - angle;//zk-先驗估計

PCt_0 = C_0 * PP[0][0];

PCt_1 = C_0 * PP[1][0];

E = R_angle + C_0 * PCt_0;

K_0 = PCt_0 / E;

K_1 = PCt_1 / E;

t_0 = PCt_0;

t_1 = C_0 * PP[0][1];

PP[0][0] -= K_0 * t_0; //后驗估計誤差協方差

PP[1][0] -= K_1 * t_0;

PP[1][1] -= K_1 * t_1;

Angle+= K_0 * Angle_err; //后驗估計

Q_bias+= K_1 * Angle_err; //后驗估計

angle_dot = Gyro - Q_bias; //輸出值(后驗估計)的微分=角速度

}

1.2.3PID控制算法

對于小車的平衡控制算法,可以從以下三個方面去調整:直立環、速度環、轉向環[9].

(1)直立環程序

int balance(float Angle,float Gyro)// 比例微分PD控制器

{

float Bias,kp=300,kd=1;

int balance;

Bias=Angle-1;//求出平衡的角度中值和機械中值

balance=kp*Bias+Gyro*kd;//計算平衡控制的電機PWM

return balance;

}

(2)速度環程序

int velocity(int encoder_left,int encoder_right)// 比例積分PI控制器

{

static float Velocity,Encoder_Least,Encoder,Movement;

static float Encoder_Integral;

float kp=80,ki=0.40;

if(1==Flag_Qian)Movement=-90/Flag_sudu;

else if(1==Flag_Hou)Movement=90/Flag_sudu;

elseMovement=0;

Encoder_Least=(Encoder_Left+Encoder_Right)-0;//獲得最新速度偏差

Encoder *= 0.7;//一階低通濾波器

Encoder += Encoder_Least*0.3;//一階低通濾波器

Encoder_Integral +=Encoder;//積分得到位移和時間

Encoder_Integral=Encoder_Integral-Movement;

if(Encoder_Integral>10000)Encoder_Integral=10000;//積分限幅

if(Encoder_Integral<-10000)Encoder_Integral=-10000;//積分限幅

Velocity=Encoder*kp+Encoder_Integral*ki;//速度控制

if(Turn_Off(Angle_Balance,Voltage)==1) Encoder_Integral=0;//電機關閉清除數據

return Velocity;

}

(3)轉向環程序

int turn(int encoder_left,int encoder_right,float gyro)// 比例P控制器

{

static float Turn_Target,Turn,Encoder_temp,Turn_Convert=0.9,Turn_Count;

float Turn_Amplitude=88/Flag_sudu,Kp=42,Kd=0;

if(1==Flag_Left||1==Flag_Right) //調整小車的起始速度,增加小車的適應性

{

if(++Turn_Count==1)

Encoder_temp=myabs(encoder_left+encoder_right);

Turn_Convert=50/Encoder_temp;

if(Turn_Convert<0.6)Turn_Convert=0.6;

if(Turn_Convert>3)Turn_Convert=3;

}

Else

{

Turn_Convert=0.9;

Turn_Count=0;

Encoder_temp=0;

}

if(1==Flag_Left)Turn_Target-=Turn_Convert;

else if(1==Flag_Right)Turn_Target+=Turn_Convert;

else Turn_Target=0;

if(Turn_Target>Turn_Amplitude)Turn_Target=Turn_Amplitude;if(Turn_Target<-Turn_Amplitude) Turn_Target=-Turn_Amplitude;

if(Flag_Qian==1||Flag_Hou==1)Kd=1;

else Kd=0;//模糊PID控制

Turn=-Turn_Target*Kp -gyro*Kd;

return Turn;

}

2結束語

本系統介紹了一種以STM32F103C8T6微處理器、采用卡爾曼濾波算法和PID控制算法的兩輪自平衡小車控制系統.實驗測試表明,在一定的干擾的情況下,如斜坡、車頂放置一定量的物體,小車仍能保持平衡,小車在手機APP通過藍牙設備發出的指令下可實現前進、倒退、轉彎、停止等動作,該過程相對無遙控情況下更加穩定.測試結果表明,利用卡爾曼濾波算法能有效的避免陀螺儀的漂移及車體擺動等對小車加速度計的影響,準確計算出姿態傾角,結合PID控制算法,從而實現小車的平衡,并且具有自動恢復平衡的功能,適用于機器人排爆,狹小空間工作.系統實物如圖4.

圖4 系統實物

參考文獻:

[1]Wan E A, Ronell V D M. The unscented Kalman filter for nonlinear estimation[A]. Proceedings of the 2000 Symposium on Adaptive Systems for Signal Processing, Communications and Control[C]. New York,2000:153-158.

[2]盧秀和,力嗨銘.兩輪自平衡小車姿態平衡控制系統的研究[J].數控技術,2013,(2):9-12.

[3]王良成, 楊志民, 胡聰聰,等. 兩輪自平衡小車的設計與實現[J]. 實驗室科學,2012,(6):52-55.

[4]賴義漢,王凱.基于MPU6050的雙輪平衡車控制系統設計[J].河南工程學院學報(自然科學版),2014,(1):53-57.

[5]魏文,段晨東,高精隆,等.基于數據融合的兩輪自平衡小車控制系統設計[J].電子技術應用,2013,(5):79-81.

[6]馮智勇,曾瀚,張力,等.基于陀螺儀及加速度計信號融合的姿態角度測量[J].西南師范大學學報,2011,(4):137-41.

[7]楊莘,劉海濤.基于STM32的兩輪自平衡遙控小車[J].數字技術與開發,2014,(5):151-152.

[8]任國華,唐昌進,蔣剛.一種基于Kalman 濾波的雙輪機器人姿態控制算法[J].機械設計與制造,2013,(2):39-44.

[9]毛歡,張彬彬.采用改進PID 算法的雙輪自平衡小車研制[J].工業控制計算機,2014,(1):55-56.

(作者本人校對)

Design and Realization of a Two-wheel Self-balanced Vehicle

XIONG Yuejun, SHI Mingzheng, LIN Jinyong, FANG Ye

(Department of Electronic Information and Electrical Engineering, Changsha University,Changsha Hunan 410022, China)

Abstract:Aiming at the popular two-wheel self-balanced vehicle, this article designed a similar vehicle. It is an unstable system which is similar to traditional inverted pendulum balancing system. In this system, STM32F103C8T6 is selected as the microcontroller, and MPU6050 is used in attitude data acquisition. Kalman filtering algorithm is used to process the data, and PWM results for motor control are obtained by using PID algorithm. Ultimately, bluetooth communication and mobile APP technologies are used in the movement control of this vehicle .

Key Words:STM32; two-wheel self-balanced vehicle; MPU6050; Kalman filter; PID

中圖分類號:TP273

文獻標識碼:A

文章編號:1008-4681(2016)02-0039-04

作者簡介:熊躍軍(1978— ),男,湖南汨羅人,長沙大學電子信息與電氣工程系講師,碩士.研究方向:嵌入式系統.

收稿日期:2015-12-09

猜你喜歡
卡爾曼濾波
基于雙擴展卡爾曼濾波的電池荷電狀態估計
測控技術(2018年11期)2018-12-07 05:49:38
改進的擴展卡爾曼濾波算法研究
測控技術(2018年12期)2018-11-25 09:37:34
基于無跡卡爾曼濾波的行波波頭辨識
基于遞推更新卡爾曼濾波的磁偶極子目標跟蹤
基于有色噪聲的改進卡爾曼濾波方法
基于序貫卡爾曼濾波的OCT信號處理方法研究
基于模糊卡爾曼濾波算法的動力電池SOC估計
電源技術(2016年9期)2016-02-27 09:05:39
融合卡爾曼濾波的VFH避障算法
基于擴展卡爾曼濾波的PMSM無位置傳感器控制
電源技術(2015年1期)2015-08-22 11:16:28
基于EMD和卡爾曼濾波的振蕩信號檢測
主站蜘蛛池模板: 超清无码一区二区三区| 国产欧美高清| 99精品视频播放| 欧美日本二区| 在线观看亚洲精品福利片| 91在线无码精品秘九色APP| 亚洲无限乱码| 欧美成人亚洲综合精品欧美激情| 97视频免费看| 九九免费观看全部免费视频| 国产无套粉嫩白浆| 国产成人精品一区二区不卡| 亚洲男人天堂2020| 国产欧美视频综合二区| 国产精品成人免费视频99| 欧美精品在线免费| 国产区免费精品视频| 日韩午夜伦| 毛片一级在线| 国产亚洲精久久久久久久91| 成人午夜免费观看| 青青操视频在线| 国产精品自拍合集| 99久久精品无码专区免费| A级全黄试看30分钟小视频| 亚洲国产成人久久精品软件| 亚洲无码一区在线观看| 99久久精品久久久久久婷婷| 91久久夜色精品| 丰满人妻被猛烈进入无码| 久久青青草原亚洲av无码| 2020亚洲精品无码| 成人亚洲天堂| 国产草草影院18成年视频| 国产一级一级毛片永久| 欧美成人一区午夜福利在线| www.亚洲天堂| 日韩不卡高清视频| 国产一级视频在线观看网站| 亚洲视频无码| 国产成人无码播放| 99国产在线视频| 成人福利在线观看| 国产一级精品毛片基地| 国产精品熟女亚洲AV麻豆| 国产福利拍拍拍| 无码精品国产dvd在线观看9久| 好吊色妇女免费视频免费| 国产不卡网| 一区二区三区精品视频在线观看| 天堂久久久久久中文字幕| 欧洲一区二区三区无码| 色综合a怡红院怡红院首页| 人人澡人人爽欧美一区| 欧美午夜一区| 国产主播在线一区| 国产激情无码一区二区三区免费| 久久人与动人物A级毛片| 亚洲天堂网在线播放| 萌白酱国产一区二区| 国产精品偷伦在线观看| 精品国产免费第一区二区三区日韩| 香港一级毛片免费看| 亚洲天堂首页| 亚洲欧美日韩精品专区| 国产毛片久久国产| 欧美中文字幕在线二区| 最新亚洲av女人的天堂| 欧美精品v| 2020国产免费久久精品99| 欧美日一级片| 在线日韩日本国产亚洲| 中文字幕亚洲电影| 亚洲精品天堂自在久久77| 9啪在线视频| 国产性精品| 国产日韩欧美在线视频免费观看 | 91成人在线观看| 婷婷激情亚洲| 亚洲欧洲国产成人综合不卡| 久久99国产综合精品女同| 青青草国产在线视频|