国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于紅外信號的智能掃地機器人設計

2023-09-20 13:01:00高識杰
無線互聯(lián)科技 2023年14期
關鍵詞:左轉掃地障礙物

高識杰

(山東科技大學,山東 青島 266590)

0 引言

近年來,我國人工智能技術取得了迅猛的發(fā)展,計算機技術和各類傳感器技術也都有著很大的進步,正是這些技術的快速發(fā)展為智能掃地機器人在科技領域取得重大成就做出了鋪墊[1]。智能掃地機器人的最終目的是實現(xiàn)智能化與自主化,即在無人控制的情況下能獨立自主地完成安排的清掃任務。本文基于單片機設計原理,設計了一款智能掃地機器人,具體思路如下。

1 智能掃地機器人系統(tǒng)設計總體介紹

1.1 系統(tǒng)硬件總體介紹

本文基于單片機設計的智能掃地機器人系統(tǒng)如圖1所示,整個硬件系統(tǒng)包括超聲波測距模塊、紅外線避障模塊、姿態(tài)檢測模塊、單片機模塊、電機及其驅動電路模塊、清掃模塊6個模塊[2]。

圖1 系統(tǒng)硬件系統(tǒng)

1.2 系統(tǒng)軟件總體介紹

智能掃地機器人的軟件流程如圖2所示,單片機上電之后先對GPIO引腳、紅外線避障模塊、姿態(tài)檢測模塊、超聲波測距模塊以及電機控制模塊進行初始化。

圖2 系統(tǒng)軟件流程

初始化后,先檢測前方的距離,當掃地機器人前方距離障礙物很遠就直接前進,向前移動的同時檢測前方的距離[3];當掃地機機器人移動到障礙物前時,就觸發(fā)避障程序(該程序將會在軟件設計部分中詳細說明)。

2 系統(tǒng)硬件設計

2.1 單片機控制模塊

本設計中,單片機控制模塊選擇ARM單片機作為控制核心,硬件連接思路如下。

(1)GPIOA.1連接到超聲波模塊的觸發(fā)端口Echo。

(2)GPIOA.2作為終端捕獲口連接到超聲波模塊的距離信息發(fā)送口Trig。

(3)GPIOA.5—GPIOA.7和GPIOB.0是電機的控制端口,連接到電機控制芯片左側正反轉和右側正反轉。

(4)GPIOB.1連接清掃電機控制芯片。

(5)GPIOA.4、GPIOA.15、GPIOB.10、GPIOB.11 4個引腳為單片機的IIC引腳,與MPU6050的INT、AD0、SCL以及SDA連接。

(6)GPIOB.9和GPIOB.8為IO口,接收掃地機器人兩側紅外避障模塊的傳感器信號。

2.2 姿態(tài)傳感模塊

本設計選取MPU6050六軸加速度陀螺儀傳感器作為智能掃地機器人的姿態(tài)傳感器,如圖3所示。該數字運動處理器可以幫助使用者省去大量的姿態(tài)數據運算,可以減輕加速度計和陀螺儀的運行壓力,有效地減少加速度計和陀螺儀的溫漂所帶來的誤差。

圖3 MPU6050硬件接線

2.3 紅外避障模塊

紅外避障模塊主要由紅外避障傳感器完成工作,當模塊通電后,紅外線發(fā)射二極管開始工作。當遇到不透明障礙物時,障礙物會吸收一小部分紅外線,并反射絕大部分的紅外線,模塊另一個光敏二極管接收到紅外線后會改變其反向的導通阻值[4],這樣只需再配備一個分壓電阻就可以將紅外線信號轉變成電壓信號。

2.4 電機及其驅動電路

本設計使用小型直流電機作為掃地機器人的動力來源,電機額定工作電壓為5 V,額定工作電流為100 mA,額定轉速為190 r/s,最終算出每臺電機額定功率。

掃地機器人需要4個輪子,且每個輪子都由一個電機來驅動,一共需要4個電機,總功率為2 W。設計中,共需要3組L9110 H芯片,L9110 H支持正反轉控制,如果電機的正極接OB,負極接OA,IB就是正轉控制,IA為反轉控制,反之亦然。硬件連接電路如圖4所示。

圖4 L9110H硬件連接

2.5 超聲波測距模塊

本設計使用HC-SR04超聲波測距模塊測量掃地機器人與前方障礙物之間的距離,模塊為3.3 V低壓工作模塊,不需要額外使用電源電路給模塊提供電能。HC-SR04超聲波模塊可以測量圓錐角15°、高為4 m的圓錐體范圍內的所有物體與模塊的距離。該模塊有兩根通信線,但其通信協(xié)議既不屬于同步通信,也不屬于異步通信,而是一種極其特殊的TTL電平通信[5-6]。

2.6 車體框架

本設計需要一個框架支撐4個電機以及電源模塊和控制板,框架參數如下。

整個車體由兩塊透明亞克力板組成,車體長260 mm,寬140 mm,6個銅柱支撐兩塊亞克力板構成一個夾層,夾層寬35.5 mm用于固定電機。車輪直徑為6.6 cm,根據上節(jié)電機的額定轉速可以算出,掃地機器人的行進速度為39 m/min。

2.7 電源模塊

本設計使用3個5號電池串聯(lián)組成的干電池組作為外置電源,額定輸出電壓為4.5 V,電池組容量為2 700 mAh。使用專門的電池盒裝配(電池盒上有電源開關),足以支撐整套智能掃地機器人系統(tǒng)的電能供應。

2.8 清掃裝置

本設計使用旋轉式清掃裝置,由一個48 V的電機拖動,轉速為1 200 r/min。通過外置繼電器間接驅動,清掃裝置直徑為20 cm,刷頭材質為棉材質,以保證更高效率的清掃。

3 系統(tǒng)軟件設計

3.1 紅外避障模塊程序設計

本文設計的兩個紅外避障模塊程序,是將GPIOB的IDR寄存器的第9位和第8位重命名為Lift_sen和Right_sen,以便操作。當模塊未檢測到障礙物時,默認輸出高電平;當遇到障礙物時,輸出低電平。

3.2 姿態(tài)傳感模塊程序設計

首先,在整個庫中有3個文件,分別是IIC的通信函數驅動文件、DMP驅動文件和MPU6050陀螺儀與監(jiān)督度計的驅動文件。其中,mpuiic.c文件主要是IIC通信協(xié)議的定義。

其次,inv_mpu.c文件是MPU6050姿態(tài)運算的相關函數和算法,其中的函數是對DMP算法的配置,加載了DMP模塊固件,最后再重置陀螺儀;mpu_dmp_get_data函數是操作DMP單元獲取翻滾角、俯仰角和航向角3個歐拉角量姿態(tài)數據。

最后,MPU6050.c驅動文件包含了MPU6050六軸加速度陀螺儀傳感器的初始化。本設計不會直接使用三軸加速度量和三軸陀螺儀量,只使用MPU6050的初始化函數MPU_Init。通過將GPIOA.15設置成MPU60 50模塊的AD0模塊為地址設置端口,將GPIOA.4設置成模塊的中斷輸入端口。

3.3 超聲波模塊程序設計

首先,捕獲中斷初始化函數CAP_Init。觸發(fā)方式設置成上升沿中斷觸發(fā),對中斷優(yōu)先級和中斷服務函數進行配置。具體如圖5所示。

圖5 捕獲中斷服務函數程序流程

其次,TIM2_IRQHandler函數。當中斷觸發(fā)時,會先查看捕獲完成標志位是否為高,為高說明已經捕獲完成。如果沒有捕獲完成,則要查看觸發(fā)了什么中斷,如果是更新中斷,要看溢出計數是否溢出。如果溢出,則需要強制結束捕獲;如果未溢出,則需要溢出計數+1。

最后,Lenth函數。函數運行后,會檢測捕獲完成標志位是否為1,如果為1,就讀取溢出計數,并乘65 536后再加計數器內的計數數值,最后將計數的數值除以58,這樣計算出來的是以cm為單位的距離數據;如果捕獲未完成,則返回上一次計算的距離數據。

3.4 電機驅動模塊程序設計

car_movtion_Init函數是將GPIOA.4、GPIOA.5、GPIOA.6、GPIOA.7以及GPIOB.0設置成推挽輸出模式。因此,本次定義了小車向前、向后、左轉、右轉和靜止5個動作模式,分別為car_front、car_back、car_lift、car_right和car_static 5個函數。

當執(zhí)行car_right函數時,單片機驅動左側輪子向前行駛并驅動右側輪子向后行駛,機器人車體則原地右轉;當執(zhí)行car_lift函數時,單片機驅動左側輪子向后行駛并驅動右側輪子向前行駛,機器人車體則原地左轉。

3.5 主程序設計

3.5.1 變量定義介紹

關于float pitch、roll、yaw 3個量,分別是儲存俯仰角、翻滾角和航向角的浮點量變量。

u32 time_F=0;

該變量用于測算障礙物的長度。由于小車避障時一定會偏移“主航線”一定的距離,在避障結束后需要再返回到主航線上。

static u8 dir=0;

該變量用于標記當前為正向行駛還是反向行駛的方向標志位。1為反向行駛,0為正向行駛。

3.5.2 轉向控制程序介紹

掃地機器人的轉向控制函數共設計了4個轉向函數。

(1)right_first_corr函數。該函數是控制避障時的第一次右轉,在執(zhí)行函數之前會先確定是正向行駛還是反向行駛。

(2)Lift_first_corr函數。該函數為避障時第一次左轉,在轉向之前會判斷是正向行駛還是反向行駛。

(3)Lift_second_corr函數。該函數為第二次左轉函數,其轉向邏輯與第一次左轉函數類似,先判定是正向行駛還是反向行駛,如果正向行駛,需要左轉將航向角修正至90±2°;反向行駛,需要左轉將航向角修正至-90±2°。

(4)right_second_corr函數。該函數為第二次右轉函數,其轉向邏輯與第一次右轉函數類似,當正向行駛時,需要將當前的航向角修正至0±2°;反向時,需要將當前的航向角修正至180±2°。

3.5.3 避障控制程序介紹

本文設計的智能掃地機器人在房間內的行走路徑為“弓”字形,其避障邏輯無論是正向行駛還是反向行駛都是右轉避障,即當掃地機器人在“弓”字形路徑上行駛時,遇到障礙物的第一動作先右轉90°躲避障礙物。

3.5.4 主函數程序介紹

單片機上電后,會初始化各個模塊。首先,初始化delay系統(tǒng)延時功能,再設置中斷組為組別2,即兩位搶占優(yōu)先級和兩位相應優(yōu)先級;其次,對小車運動模塊進行初始化,再初始化MPU6050模塊和DMP處理單片機;最后,初始化超聲波測距模塊和紅外線避障模塊。

4 系統(tǒng)軟硬聯(lián)調

按照以上設計思路,對小車的硬件和功能進行測試,包括機器人的驅動能力、姿態(tài)檢測模塊對航向角的測量以及小車的避障功能。

測試得出,當把電池倉的電源開關打開,各模塊的電源指示燈都亮起,說明供電正常;上電后,機器人會靜止一段時間,主要是對各模塊進行初始化;初始化完成后,掃地機器人會向前移動。

當掃地機器人運行到障礙物前時,會向右旋轉90°,沿著障礙物向前移動,直到左側的紅外避障傳感器不再觸發(fā)信號,當確定左側沒有障礙物時,機器人會左轉90°躲避障礙。當掃地機器人運行到障礙物的后方時,會回到“主航線”繼續(xù)運行,如果前方有障礙物,則會繼續(xù)進行避障操作。

5 結語

本文基于紅外測距原理,結合單片機設計了一款智能掃地機器人,由各類硬件電路構成的執(zhí)行模塊進行避障測試,旨在完成特定的清掃任務。經系統(tǒng)軟硬件聯(lián)調測試,本文設計的掃地機器人在實際操作中具有較為顯著的可行性,不僅造價劃算,而且性能優(yōu)越,適合在今后的居家應用中推廣。

猜你喜歡
左轉掃地障礙物
掃地機器人
交叉口借道左轉方案的交通安全仿真研究
基于車流擁擠檢測的“借道左轉”自適應智能控制*
警察技術(2022年3期)2022-06-22 06:06:24
不能左轉
高低翻越
SelTrac?CBTC系統(tǒng)中非通信障礙物的設計和處理
道路交叉口“借道左轉”的優(yōu)化控制
掃地也能很詩意
童話世界(2017年8期)2017-05-04 04:08:38
掃地
掃地掃到樹上面
哈密市| 东方市| 庆城县| 富裕县| 襄汾县| 德令哈市| 江北区| 宁安市| 河池市| 杂多县| 凤城市| 华容县| 班戈县| 澄城县| 潼关县| 临潭县| 芮城县| 固原市| 雷波县| 三穗县| 张家界市| 巩义市| 富锦市| 拜城县| 苍梧县| 新干县| 松溪县| 清河县| 开平市| 康平县| 长顺县| 无极县| 仙游县| 湛江市| 灌阳县| 内江市| 台北县| 通化县| 社旗县| 杭州市| 临猗县|