亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Arduino的智能小車自動(dòng)并行泊車系統(tǒng)

        2021-06-07 09:08:58
        關(guān)鍵詞:泊車障礙物小車

        荊 鑫

        (1.黑龍江科技大學(xué)研究生學(xué)院,黑龍江 哈爾濱 150028 ;2.布達(dá)佩斯科技和經(jīng)濟(jì)大學(xué)電氣工程與信息學(xué)院,匈牙利 布達(dá)佩斯 1114)

        0 引言

        自動(dòng)汽車駕駛系統(tǒng)對(duì)提高駕駛員的安全和進(jìn)一步減少交通事故中的傷亡產(chǎn)生了積極影響[1]。近年來(lái),各種各樣的傳感器和控制器憑借成本低和精度高的優(yōu)點(diǎn),可以很容易解決現(xiàn)實(shí)生活中自動(dòng)駕駛汽車的許多問(wèn)題。目前,已經(jīng)安裝了半自動(dòng)或全自動(dòng)泊車輔助系統(tǒng)的汽車有福特福克斯、豐田普銳斯和梅賽德斯。特斯拉、奧迪和谷歌等公司也在向市場(chǎng)推出安全可靠的自動(dòng)駕駛系統(tǒng)[1]。Arduino是一個(gè)操作方便、易于使用的開(kāi)源編程平臺(tái)[2],它可以在Windows、Macintosh OS X和Linux三大主流操作系統(tǒng)上運(yùn)行。對(duì)于初學(xué)者來(lái)說(shuō),極易掌握,同時(shí)它在編程方面也有足夠的靈活性。簡(jiǎn)單的開(kāi)發(fā)方式使學(xué)習(xí)者能更快地完成項(xiàng)目的研究開(kāi)發(fā)工作,大大節(jié)約了學(xué)習(xí)的成本,縮短了開(kāi)發(fā)的周期。它具有C語(yǔ)言的開(kāi)發(fā)環(huán)境,主要包括Arduino電路板和 Arduino IDE開(kāi)發(fā)環(huán)境。選擇Arduino作為智能小車控制器的原因是它能通過(guò)控制各種各樣的傳感器來(lái)感知周圍環(huán)境,具有大量的可用庫(kù)和豐富的接口,例如數(shù)字I/O口、模擬I/O口,同時(shí)它還支持SPI、IIC和UART串口通信。自動(dòng)并行泊車技術(shù)需要小車精確控制移動(dòng)軌跡以及仔細(xì)觀察周圍的環(huán)境,因此,通過(guò)Arduino實(shí)現(xiàn)自動(dòng)并行泊車是一個(gè)可行的計(jì)劃。

        1 系統(tǒng)介紹

        根據(jù)合理假設(shè)來(lái)編寫(xiě)泊車算法和放置超聲波傳感器。模擬小車在真實(shí)環(huán)境的道路右側(cè)以恒定的轉(zhuǎn)速向前行駛,準(zhǔn)備尋找可用泊車位進(jìn)行泊車。在這種情況下,假設(shè)小車的右側(cè)由已經(jīng)停放的車輛和泊車位組成,小車上共設(shè)置2個(gè)超聲波傳感器,分別設(shè)置在小車的正前方和右側(cè)后方。在向前直行的過(guò)程中,右側(cè)超聲波傳感器檢測(cè)車輛與右側(cè)障礙物的距離,判斷該距離是否大于預(yù)設(shè)的泊車位寬度。如果車輛與右側(cè)障礙物的距離達(dá)不到預(yù)設(shè)值,那么小車將繼續(xù)行駛。如果寬度滿足要求,那么小車?yán)^續(xù)行駛,從而測(cè)量泊車位的長(zhǎng)度;如果長(zhǎng)度也達(dá)到程序中設(shè)計(jì)的數(shù)值,那么小車停止前進(jìn),并執(zhí)行并行泊車的動(dòng)作。否則,小車會(huì)繼續(xù)前進(jìn)尋找合適的停車位。自主泊車過(guò)程如圖1所示。

        圖1 自動(dòng)泊車過(guò)程

        2 系統(tǒng)硬件

        2.1 ArduinoMega2560

        Arduino是一個(gè)功能強(qiáng)大的控制器,它可以用來(lái)構(gòu)建數(shù)字設(shè)備和交互對(duì)象,從而感知和控制周圍的物理環(huán)境。ATmega2560是一款基于AVR增強(qiáng)RISC架構(gòu)的低功耗CMOS 8位微控制器,它有54路數(shù)字輸入/輸出端口(其中15個(gè)可以作為PWM輸出)和16路模擬輸入,電路板如圖2所示。通過(guò)pinMode()、digitalWrite()和digitalRead()等功能,Mega上的54個(gè)數(shù)字引腳都可以用作輸入或輸出。Arduino Mega 2560在5 V的電壓下工作,可以通過(guò)3種方式供電,而且能自動(dòng)選擇供電方式。在自動(dòng)泊車實(shí)驗(yàn)中,選擇USB接口直接供電。Mega 2560作為小車的控制中樞,驅(qū)動(dòng)小車的直流減速電機(jī)使小車按照設(shè)計(jì)者的意愿進(jìn)行運(yùn)動(dòng),超聲波傳感器也連接到Arduino板并集成到自動(dòng)泊車系統(tǒng)中。因此,可以將程序上傳至Arduino Mega 2560電路板,從而實(shí)現(xiàn)智能小車的自動(dòng)泊車[3]。

        圖2 ArduinoMega2560

        2.2 超聲波傳感器

        在智能小車上搭載2個(gè)HC-SR04超聲波傳感器,分別放置在小車的正前方和右后側(cè),測(cè)量小車與前方障礙物和右側(cè)障礙物的距離,該傳感器可以在2 cm~400 cm的距離內(nèi)提供測(cè)距功能,測(cè)距精度可以達(dá)到0.3 cm。HC-SR04有4個(gè)引腳,其中“Trig”引腳和“Echo”引腳與Arduino Mega 2560的數(shù)字口相連,并以高低電平的方式傳輸距離信息[4]。另外2個(gè)引腳為傳感器供電。超聲波傳感器可以使智能小車在行進(jìn)過(guò)程中及時(shí)發(fā)現(xiàn)障礙物,并及時(shí)引導(dǎo)智能小車轉(zhuǎn)向,從而避開(kāi)障礙物。

        2.3 A、B相位編碼器直流減速電機(jī)

        采用尾部帶A、B相位編碼器的直流減速電機(jī),該電機(jī)可以直接輸出方波,不需要添加電路。在編寫(xiě)程序時(shí),把前一個(gè)A、B相位的輸出值保存起來(lái),將其與下一個(gè)A、B相位的輸出值做比較,循環(huán)往復(fù),就可以得出碼盤(pán)轉(zhuǎn)動(dòng)的方向和轉(zhuǎn)速,再用碼盤(pán)轉(zhuǎn)動(dòng)的方向和轉(zhuǎn)速判斷小車的行進(jìn)方向和行進(jìn)速度[5]。可以據(jù)此設(shè)計(jì)一個(gè)PID算法來(lái)保持小車左右電機(jī)的轉(zhuǎn)速相同,使其穩(wěn)定地向前行駛。

        3 系統(tǒng)軟件

        3.1 超聲波傳感器測(cè)距程序設(shè)計(jì)

        超聲波測(cè)距裝置的主要原理是根據(jù)發(fā)射超聲波和接收超聲波產(chǎn)生的時(shí)差測(cè)算小車與障礙物的距離[6]。超聲波傳感器向一定方向發(fā)射超聲波,同時(shí)開(kāi)始計(jì)時(shí),超聲波在空氣中傳播,遇到障礙物后超聲波立即返回,超聲波傳感器收到反射波就會(huì)立即停止計(jì)時(shí)。已知超聲波經(jīng)過(guò)的總路程L=[(T×344)/2],則T=(2L)/344=0.0058L(T為時(shí)間)。具體原理如下:1)先在Trig端輸入1個(gè)長(zhǎng)為2 μs的低電平方波,再在Trig端輸入1個(gè)長(zhǎng)為10 us的高電平方波。2)輸入方波后,傳感器會(huì)自動(dòng)發(fā)射8個(gè)40 kHz的超聲波,檢查是否有信號(hào)返回。如果有信號(hào)返回,那么發(fā)射超聲波測(cè)距,Echo端的電平由0變?yōu)?,定時(shí)器開(kāi)始計(jì)時(shí)。3)當(dāng)返回的超聲波被傳感器接收時(shí),Echo端的電平由1變?yōu)?,定時(shí)器停止計(jì)時(shí),定時(shí)器記錄的時(shí)間差即為超聲波由發(fā)射到返回的時(shí)長(zhǎng)。

        3.2 電機(jī)轉(zhuǎn)速PID控制程序設(shè)計(jì)

        在小車行駛的過(guò)程中,保證小車筆直前進(jìn)的前提是要保持小車左右電機(jī)的轉(zhuǎn)速相同。PID調(diào)節(jié)器是一種算法簡(jiǎn)單、魯棒性好和可靠性高的控制策略,適用于可建立精確數(shù)學(xué)模型的控制系統(tǒng)。在自動(dòng)并行泊車系統(tǒng)中選擇使用增量式PID控制算法。如圖3所示,給定參考值r(t)和實(shí)際輸出值c(t)構(gòu)成控制偏差e(t),PID調(diào)節(jié)器通過(guò)線性組合將偏差的比例、積分以及微分構(gòu)成控制量u(t),用控制量對(duì)被控對(duì)象進(jìn)行控制。r(t)為預(yù)先設(shè)定小車電機(jī)的轉(zhuǎn)速,c(t)為小車實(shí)際電機(jī)的轉(zhuǎn)速,e(t)=c(t)-r(t)為轉(zhuǎn)速誤差,將e(t)作為PID控制器的輸入、u(t)為PID控制器的輸出,并作用到小車電機(jī)上。比例系數(shù)的作用是對(duì)速度偏差作出反應(yīng)。電機(jī)轉(zhuǎn)速偏差一旦產(chǎn)生就會(huì)使小車速度向偏差減少的方向變化。積分環(huán)節(jié)會(huì)消除靜態(tài)誤差,只要存在轉(zhuǎn)速偏差,積分作用就會(huì)不斷增大。微分環(huán)節(jié)的作用是阻止偏差的變化,偏差變化越快,微分環(huán)節(jié)的輸出就越大[7]。

        PID調(diào)節(jié)器通過(guò)改變輸出PWM的值(范圍為0~255)來(lái)改變電機(jī)的轉(zhuǎn)速。r為設(shè)定轉(zhuǎn)速,n為實(shí)際轉(zhuǎn)速,u為PWM的輸入。通過(guò)A、B相位測(cè)出電機(jī)的轉(zhuǎn)速,與設(shè)定值比較得到轉(zhuǎn)速誤差,將轉(zhuǎn)速誤差送進(jìn)PID調(diào)節(jié)器進(jìn)行處理,最終消除小車的轉(zhuǎn)速誤差,使左右電機(jī)的轉(zhuǎn)速相等。

        3.3 自動(dòng)并行泊車程序設(shè)計(jì)

        小車以恒定的轉(zhuǎn)速直線行駛,與右側(cè)路沿保持固定距離d,此時(shí)變量park_status的值為0。當(dāng)小車經(jīng)過(guò)一個(gè)泊車位時(shí),側(cè)面超聲波傳感器將判斷該泊車位的寬度是否大于設(shè)定的寬度B。如果寬度不夠,小車將繼續(xù)行駛;如果寬度足夠,小車將繼續(xù)行駛以測(cè)量泊車位長(zhǎng)度L(如圖4所示),此時(shí)變量park_status的值為1。右側(cè)傳感器首次測(cè)量到距離大于設(shè)定的停車寬度為t1時(shí)刻,變量park_status的值變?yōu)?。右側(cè)傳感器測(cè)量到距離小于設(shè)定的停車寬度為t2時(shí)刻,變量park_status的值變?yōu)?。再根據(jù)已知的電機(jī)轉(zhuǎn)速就可以得出泊車位的長(zhǎng)度。由此可以完成對(duì)泊車位的選擇。泊車位的判斷程序如下。

        圖3 PID調(diào)節(jié)器

        在找到合適的泊車位后,小車開(kāi)始倒車。首先,當(dāng)變量park_status=4時(shí),小車先向后倒退一段距離,這是為了留出緩沖區(qū),避免在倒車時(shí)與其他障礙物碰撞。其次,讓小車右側(cè)電機(jī)停止轉(zhuǎn)動(dòng),左側(cè)電機(jī)向后轉(zhuǎn)動(dòng),調(diào)整姿態(tài)后,向后倒退。再次,保持小車左側(cè)電機(jī)停止轉(zhuǎn)動(dòng),右側(cè)電機(jī)向后轉(zhuǎn)動(dòng)。此時(shí)小車車體幾乎全部進(jìn)入泊車位。最后,只需要對(duì)小車姿態(tài)進(jìn)行微調(diào),就可以完成泊車,該操作完成后給變量park_status賦值為5。當(dāng)變量park_status=5時(shí),2個(gè)傳感器測(cè)量小車與右側(cè)障礙物和前方障礙物的距離。如果距離大于設(shè)定值,就再次微調(diào)小車的姿態(tài),直到兩側(cè)距離都小于設(shè)定值。完成之后給變量park_status賦值為6,小車停止運(yùn)動(dòng),完成整個(gè)自動(dòng)泊車過(guò)程。自動(dòng)泊車的程序如下。

        圖4 測(cè)量泊車位長(zhǎng)度

        4 測(cè)試

        測(cè)試時(shí)將小車放置在模擬道路的起點(diǎn),在小車的前方右側(cè)預(yù)留1個(gè)足夠小車泊車的泊車位。如果小車在不碰撞的情況下完全進(jìn)入泊車位,就說(shuō)明自動(dòng)并行泊車系統(tǒng)設(shè)計(jì)成功。由于每次測(cè)試時(shí)小車的運(yùn)動(dòng)軌跡并不完全一致,例如電機(jī)編碼器的精度限制和小車的車輪滑移都會(huì)導(dǎo)致小車的運(yùn)動(dòng)軌跡發(fā)生改變。因此多次測(cè)試泊車過(guò)程并手動(dòng)調(diào)試代碼后,消除了實(shí)際誤差,證明自動(dòng)泊車實(shí)驗(yàn)成功。

        5 結(jié)論

        該設(shè)計(jì)開(kāi)發(fā)的自動(dòng)并行泊車系統(tǒng)具有良好的性能。根據(jù)測(cè)試的成果,該設(shè)計(jì)實(shí)現(xiàn)了基本目標(biāo)。但是仍有許多方法可以提高自動(dòng)泊車系統(tǒng)的質(zhì)量和性能,例如添加其他傳感器(激光雷達(dá)傳感器)或者使用更高級(jí)的算法(SLAM算法)等。綜上所述,在現(xiàn)代社會(huì)中,自動(dòng)泊車系統(tǒng)是非常有前景的,但是由于真實(shí)交通的不可預(yù)測(cè)性,因此還需要對(duì)該系統(tǒng)進(jìn)行更多的研究。

        猜你喜歡
        泊車障礙物小車
        基于插電式混動(dòng)汽車的自動(dòng)泊車控制策略
        基于MATLAB的平行泊車路徑規(guī)劃
        基于CarSim的平行泊車仿真分析
        快樂(lè)語(yǔ)文(2020年36期)2021-01-14 01:10:32
        自制小車來(lái)比賽
        高低翻越
        Arrive平臺(tái)新增智能泊車推薦引擎 幫助找到最佳泊車地點(diǎn)
        SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
        劉老師想開(kāi)小車
        文苑(2018年22期)2018-11-19 02:54:18
        兩輪自平衡小車的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2018年8期)2018-06-26 06:43:02
        久久久久久av无码免费网站下载| 久久精品成人欧美大片| 色八区人妻在线视频免费| 狼色精品人妻在线视频| 日本在线观看一区二区视频| 男女啪啪免费体验区| 亚洲av区无码字幕中文色| 欧美性久久| 无码中文字幕av免费放| 琪琪av一区二区三区| 日韩精品一区二区在线视| 国产三级国产精品国产专区50| 亚洲av免费手机在线观看 | 久久国产亚洲av高清色| 亚洲av成熟国产精品一区二区| 中文字幕一区在线直播| 深夜爽爽动态图无遮无挡| 性高朝大尺度少妇大屁股| 午夜性无码专区| 亚洲日韩精品欧美一区二区一| 禁止免费无码网站| 亚洲美女主播一区二区| 色婷婷av一区二区三区丝袜美腿 | 亚洲日韩AV无码美腿丝袜| 亚洲大片一区二区三区四区 | 国产精品成人观看视频国产奇米| 日本真人做人试看60分钟| 久久国产热这里只有精品 | 免费看av网站在线亚洲| 午夜天堂av天堂久久久| 亚洲国产激情一区二区三区| 国产精品三级在线观看| 亚洲AV无码中文AV日韩A| 在线观看一区二区三区视频| 亚洲av不卡一区男人天堂| 久久久久久久久毛片精品| av无码天堂一区二区三区| 欧美亚洲日韩国产区| 99免费视频精品| 国产黄色一区二区三区,| 欧美成人精品第一区|