99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

基于STM32與OpenMV的自動泊車系統(tǒng):從視覺識別到運動控制全解析

基于STM32與OpenMV的自動泊車系統(tǒng):從視覺識別到運動控制全解析 簡介本資源是一套面向嵌入式開發(fā)學(xué)習(xí)者與電子設(shè)計競賽參賽者的完整自動泊車系統(tǒng)實現(xiàn)方案聚焦STM32與OpenMV協(xié)同控制這一典型智能感知運動控制場景解決小型智能車在結(jié)構(gòu)化停車場中識別車位并自主泊入的核心問題。壓縮包共110個文件含49個C語言頭文件.h與44個源文件.c構(gòu)成STM32F10x系列底層驅(qū)動、MPU姿態(tài)解算、定時器/PWM電機(jī)控制及串口通信等關(guān)鍵模塊另有1個Python腳本.py用于OpenMV端圖像識別3個JSON配置文件支持參數(shù)調(diào)優(yōu)以及Keil工程.uvprojx、Hex固件、批處理腳本.bat等實用工具整體僅823KB輕量易部署。已有348人學(xué)習(xí)下載資源提供從圖像采集、車位線檢測邊緣霍夫變換、路徑規(guī)劃到電機(jī)閉環(huán)控制含PID邏輯的全鏈路代碼與結(jié)構(gòu)化組織特別適合課程設(shè)計、電賽備賽及嵌入式視覺項目實戰(zhàn)參考。1. 項目概述從零搭建一個微型自動泊車系統(tǒng)最近在整理過去的項目資料翻出了一個基于STM32和OpenMV的自動泊車系統(tǒng)。這算是一個典型的嵌入式視覺與控制結(jié)合的“玩具級”項目麻雀雖小五臟俱全。它不涉及復(fù)雜的SLAM或高精度定位而是聚焦于如何用最基礎(chǔ)的硬件一塊STM32F103C8T6核心板和一塊OpenMV Cam H7和清晰的邏輯實現(xiàn)一個能識別車位、規(guī)劃路徑并完成泊入動作的微型系統(tǒng)。如果你正在學(xué)習(xí)嵌入式、計算機(jī)視覺或者機(jī)器人控制想找一個能串聯(lián)起多個知識點的綜合實踐項目這個案例會非常合適。它涵蓋了圖像處理、串口通信、PID控制、電機(jī)驅(qū)動和狀態(tài)機(jī)設(shè)計等核心環(huán)節(jié)整個過程踩過的坑和獲得的經(jīng)驗遠(yuǎn)比最終那幾行能動的代碼更有價值。這個系統(tǒng)的核心思想是“感知-決策-控制”的經(jīng)典三層架構(gòu)。OpenMV作為“眼睛”負(fù)責(zé)通過攝像頭尋找并識別預(yù)設(shè)的車位標(biāo)識比如地面上貼的色塊或特定形狀的標(biāo)簽STM32作為“大腦”和“小腦”一方面通過串口接收OpenMV發(fā)送的車位坐標(biāo)信息另一方面根據(jù)這些信息計算出一條泊車軌跡并生成相應(yīng)的控制指令最后STM32的PWM輸出直接驅(qū)動兩個直流減速電機(jī)構(gòu)成的差速底盤執(zhí)行前進(jìn)、后退、轉(zhuǎn)向等動作從而完成泊入。整個項目源碼和說明文檔已經(jīng)打包但在這篇分享里我想重點拆解的是每個模塊背后的設(shè)計思路、關(guān)鍵參數(shù)的考量以及那些在文檔里不會寫的、只有在實際調(diào)試中才會遇到的“坑”。2. 硬件選型與系統(tǒng)架構(gòu)設(shè)計解析為什么是STM32F103和OpenMV H7這個組合這背后是成本、性能和學(xué)習(xí)曲線之間的平衡。對于自動泊車這個任務(wù)我們需要一個能跑簡單控制算法、有足夠定時器和PWM通道驅(qū)動電機(jī)的MCU同時還需要一個能實時處理圖像、識別圖案的視覺模塊。STM32F103C8T6俗稱“藍(lán)橋杯”或“最小系統(tǒng)板”價格低廉社區(qū)資源極其豐富其ARM Cortex-M3內(nèi)核完全能勝任多路PWM輸出、串口通信和狀態(tài)機(jī)運行的任務(wù)。而OpenMV Cam H7則是一個開源的、基于STM32H7系列芯片的機(jī)器視覺模塊它內(nèi)置了MicroPython解釋器和豐富的圖像處理庫讓你可以用Python腳本快速實現(xiàn)顏色追蹤、形狀檢測、AprilTag識別等功能無需從零開始折騰攝像頭驅(qū)動和圖像算法極大地降低了視覺部分的入門門檻。整個系統(tǒng)的物理連接非常簡單但每個連接點都值得深思電源部分這是第一個坑。電機(jī)在啟動和堵轉(zhuǎn)時會產(chǎn)生很大的瞬時電流如果和MCU、攝像頭共用一套電源且沒有做好隔離與濾波電機(jī)一動作MCU就可能復(fù)位OpenMV的圖像也會出現(xiàn)橫紋干擾。我的方案是使用兩路獨立的LM2596降壓模塊一路將輸入電壓如12V鋰電池穩(wěn)定到5V單獨給OpenMV供電另一路穩(wěn)定到5V后再經(jīng)過一個AMS1117-3.3V LDO給STM32核心板供電。電機(jī)的驅(qū)動電源則直接來自電池通過電機(jī)驅(qū)動模塊如L298N或TB6612進(jìn)行控制與邏輯電源在物理上隔離。通信鏈路OpenMV的串口UART通過TX、RX、GND三根線與STM32的串口相連。這里的關(guān)鍵是電平匹配和波特率設(shè)置。OpenMV的IO口是3.3V電平STM32F103也是3.3V所以直接連接即可。波特率通常設(shè)置為115200這個速率在傳輸簡單的坐標(biāo)數(shù)據(jù)時綽綽有余且穩(wěn)定性好。我曾嘗試過921600以求更快但在電機(jī)工作時電磁干擾加劇誤碼率明顯上升得不償失??刂戚敵鯯TM32需要生成四路PWM信號來控制電機(jī)驅(qū)動模塊。以TB6612為例它需要每臺電機(jī)兩個輸入信號AIN1/AIN2和PWMA 控制電機(jī)A BIN1/BIN2和PWMB控制電機(jī)B。STM32F103C8T6的定時器如TIM1, TIM2, TIM3, TIM4可以很方便地配置為PWM輸出模式。這里的一個細(xì)節(jié)是PWM頻率的選擇。對于常用的直流減速電機(jī)PWM頻率通常在1kHz到20kHz之間。頻率太低如幾百Hz電機(jī)會聽到明顯的嘯叫聲頻率太高則可能超出電機(jī)驅(qū)動芯片的響應(yīng)能力且開關(guān)損耗增大。我最終選定為10kHz這是一個在安靜度、控制響應(yīng)和硬件兼容性上比較折中的值。系統(tǒng)的軟件架構(gòu)則是一個典型的前后臺系統(tǒng)。OpenMV上運行一個循環(huán)腳本不斷捕捉圖像進(jìn)行圖像處理一旦識別到目標(biāo)就將目標(biāo)的中心坐標(biāo)x, y或者是否存在的標(biāo)志位通過串口發(fā)送給STM32。STM32端在主循環(huán)中通過中斷或輪詢方式接收這些數(shù)據(jù)并將其輸入到一個有限狀態(tài)機(jī)中。這個狀態(tài)機(jī)是控制邏輯的核心它定義了諸如“尋找車位”、“調(diào)整姿態(tài)”、“倒車入庫”、“微調(diào)擺正”、“完成泊車”等狀態(tài)。每個狀態(tài)下系統(tǒng)會根據(jù)當(dāng)前的車位坐標(biāo)、車輛自身的估計位置通過輪子編碼器或簡單的時間積分估算以及目標(biāo)位置計算出一組左右輪的目標(biāo)速度再通過PID控制器調(diào)整PWM占空比驅(qū)動電機(jī)達(dá)到目標(biāo)速度從而引導(dǎo)小車沿著期望的軌跡運動。3. OpenMV視覺模塊車位識別策略與參數(shù)調(diào)優(yōu)OpenMV的任務(wù)是可靠地“看到”車位。在真實車輛中這可能通過超聲波雷達(dá)或多線激光雷達(dá)完成但在我們這個模型中用視覺方案更直觀且成本低。我嘗試過幾種識別方案方案一顏色塊識別。這是OpenMV最基礎(chǔ)的功能。在地面上粘貼一個鮮明的色塊比如綠色膠帶圍成的矩形作為車位標(biāo)識。import sensor, image, time from pyb import UART uart UART(3, 115200) # 初始化串口3波特率115200 sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) # 320x240分辨率處理速度快 sensor.skip_frames(time 2000) sensor.set_auto_gain(False) # 必須關(guān)閉自動增益否則顏色閾值會變 sensor.set_auto_whitebal(False) # 關(guān)閉白平衡 # 定義綠色閾值的上下限這個值需要根據(jù)實際環(huán)境光照反復(fù)調(diào)整 green_threshold (30, 100, -64, -8, -32, 32) while(True): img sensor.snapshot() # 尋找色塊 blobs img.find_blobs([green_threshold], area_threshold150, mergeTrue) if blobs: # 找到最大的色塊 largest_blob max(blobs, keylambda b: b.area()) # 繪制矩形和十字 img.draw_rectangle(largest_blob.rect()) img.draw_cross(largest_blob.cx(), largest_blob.cy()) # 通過串口發(fā)送中心坐標(biāo)格式如 x,y\n uart.write(%d,%d\n % (largest_blob.cx(), largest_blob.cy())) else: uart.write(none\n) # 未找到發(fā)送特定標(biāo)識 time.sleep_ms(50) # 控制發(fā)送頻率避免串口堵塞這個方案的優(yōu)點是簡單、處理速度快。但缺點極其明顯光照影響巨大。早上、中午、晚上或者開個燈顏色閾值就可能完全失效。你需要為不同光照環(huán)境準(zhǔn)備多組閾值或者引入動態(tài)閾值算法這增加了復(fù)雜性。方案二AprilTag視覺標(biāo)簽識別。這是更魯棒、更專業(yè)的方案。AprilTag是一種類似于二維碼的視覺基準(zhǔn)標(biāo)記系統(tǒng)但專為機(jī)器視覺優(yōu)化即使部分遮擋、旋轉(zhuǎn)、光照變化甚至距離較遠(yuǎn)時也能被穩(wěn)定檢測到并能提供完整的6自由度位姿位置和姿態(tài)估計。import sensor, image, time, math from pyb import UART uart UART(3, 115200) sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) # AprilTag檢測通常用灰度圖 sensor.set_framesize(sensor.QVGA) sensor.skip_frames(time 2000) # 定義要識別的AprilTag家族例如TAG36H11 family image.TAG36H11 while(True): img sensor.snapshot() tags img.find_apriltags(familiesfamily) if tags: for tag in tags: img.draw_rectangle(tag.rect(), color 127) img.draw_cross(tag.cx(), tag.cy(), color 127) # AprilTag提供了ID、旋轉(zhuǎn)、平移等信息比色塊豐富得多 # 我們可以發(fā)送ID和中心坐標(biāo) uart.write(tag:%d,%d,%d\n % (tag.id(), tag.cx(), tag.cy())) else: uart.write(notag\n) time.sleep_ms(50)使用AprilTag后系統(tǒng)的穩(wěn)定性上了不止一個臺階。你只需要打印一個Tag貼在車位處OpenMV就能穩(wěn)定識別并且還能知道車位的朝向通過tag的旋轉(zhuǎn)角這對于需要對準(zhǔn)角度的泊車場景非常有用。調(diào)優(yōu)的關(guān)鍵點在于1.打光即使AprilTag抗光照能力強均勻的正面照明也能大幅提高檢測距離和穩(wěn)定性??梢钥紤]在OpenMV模塊上加一個小的LED補光燈。2.對焦手動調(diào)整OpenMV鏡頭上的對焦環(huán)確保Tag在預(yù)期距離上成像清晰。3.分辨率與幀率權(quán)衡更高的分辨率如VGA能讓你在更遠(yuǎn)距離檢測到Tag但處理速度會下降。對于低速移動的小車QVGA分辨率和幾十毫秒的檢測延遲是完全可接受的。串口通信協(xié)議設(shè)計這是一個容易忽略但至關(guān)重要的環(huán)節(jié)。OpenMV和STM32之間需要約定一種簡單、抗干擾的數(shù)據(jù)格式。我使用的是“關(guān)鍵字?jǐn)?shù)據(jù)”的文本格式例如“tag:1,160,120\n”表示識別到ID為1的Tag中心坐標(biāo)(160,120)。STM32端會以\n為結(jié)束符解析一行數(shù)據(jù)。務(wù)必在發(fā)送的數(shù)據(jù)末尾加上換行符這是很多串口調(diào)試問題的根源。另外要處理接收不完整的情況STM32端的代碼需要有緩沖區(qū)并做超時判斷。4. STM32控制核心狀態(tài)機(jī)與運動控制算法實現(xiàn)STM32端的代碼是整個項目的大腦其核心是一個精心設(shè)計的有限狀態(tài)機(jī)和一個差速運動模型。4.1 差速運動模型解析我們的小車是兩輪差速驅(qū)動即通過控制左右輪的速度差來實現(xiàn)前進(jìn)、后退和轉(zhuǎn)彎。這是機(jī)器人學(xué)中最基礎(chǔ)的運動模型之一。 假設(shè)V_left左輪線速度V_right右輪線速度V小車質(zhì)心線速度ω小車旋轉(zhuǎn)角速度L兩輪之間的輪距軸距它們之間的關(guān)系為V (V_right V_left) / 2 ω (V_right - V_left) / L這意味著如果我們想讓小車直線前進(jìn)只需設(shè)置V_left V_right想原地旋轉(zhuǎn)則設(shè)置V_left -V_right。在代碼中我們通常直接設(shè)定目標(biāo)線速度V和角速度ω然后反解出左右輪的目標(biāo)速度V_left V - ω * L / 2 V_right V ω * L / 2這個模型是后續(xù)所有軌跡規(guī)劃和PID控制的基礎(chǔ)。輪距L需要實際測量并且這個值會顯著影響轉(zhuǎn)彎半徑的計算精度。我用尺子量了輪子中心之間的距離并記錄為宏定義。4.2 有限狀態(tài)機(jī)設(shè)計自動泊車不是一個一蹴而就的動作而是一系列步驟有序組合的過程。用狀態(tài)機(jī)來管理再合適不過。我定義了以下幾個狀態(tài)STATE_SEARCH搜索狀態(tài)。小車緩慢前進(jìn)同時STM32不斷解析OpenMV發(fā)來的數(shù)據(jù)等待識別到車位Tag。STATE_ALIGN對齊狀態(tài)。一旦識別到Tag小車需要調(diào)整自身姿態(tài)使車體中心線與Tag中心線對齊并且到達(dá)一個合適的起始泊車點。這個狀態(tài)需要根據(jù)Tag的坐標(biāo)(x, y)和圖像寬度計算出小車需要橫向移動和旋轉(zhuǎn)的角度。STATE_BACKUP倒車入庫狀態(tài)。這是核心動作。小車以設(shè)定的曲率倒車同時持續(xù)監(jiān)測Tag的位置。當(dāng)Tag移動到圖像中某個特定區(qū)域表示車輛已基本入庫時轉(zhuǎn)入下一個狀態(tài)。STATE_ADJUST微調(diào)狀態(tài)。由于模型誤差和滑動第一次倒車可能不完美。這個狀態(tài)進(jìn)行小范圍的前后移動和轉(zhuǎn)動使車輛最終位置居中且擺正。STATE_FINISH完成狀態(tài)。停止所有電機(jī)點亮LED提示泊車完成。每個狀態(tài)都是一個獨立的函數(shù)它們根據(jù)當(dāng)前傳感器輸入主要是視覺坐標(biāo)和內(nèi)部計時器決定是維持本狀態(tài)、跳轉(zhuǎn)到下一狀態(tài)還是報錯返回搜索狀態(tài)。狀態(tài)之間的轉(zhuǎn)換條件需要仔細(xì)設(shè)計和實地調(diào)試。例如從STATE_ALIGN轉(zhuǎn)換到STATE_BACKUP的條件不能僅僅是“檢測到Tag”而應(yīng)該是“Tag中心x坐標(biāo)在圖像中心±10像素內(nèi)且y坐標(biāo)大于某個值表示距離合適”。這些閾值都需要在真實場地上反復(fù)測試確定。4.3 PID速度控制狀態(tài)機(jī)決定了左右輪的目標(biāo)速度V_left_target和V_right_target但如何讓電機(jī)的實際速度跟上目標(biāo)速度呢這就需要PID控制器。我為左右輪分別獨立配置了一個位置式PID控制器實際上控制的是PWM占空比間接控制速度。PWM_duty Kp * e(t) Ki * ∫e(t)dt Kd * de(t)/dt其中e(t) V_target - V_actual是速度誤差。然而這里有一個巨大的坑我們通常沒有低成本的速度傳感器對于微型直流減速電機(jī)加裝編碼器成本劇增。因此我采用了一種簡化方案開環(huán)控制結(jié)合定時補償。即我默認(rèn)PWM占空比與電機(jī)速度在一定范圍內(nèi)呈線性關(guān)系。通過實驗我測量出不同占空比下小車大致的直線速度建立一個粗略的查找表。在控制時直接根據(jù)目標(biāo)速度查表得到PWM值。同時引入一個非常小的P項比例項來補償因電池電壓下降、地面摩擦變化帶來的誤差但這個P項系數(shù)很小主要起微調(diào)作用而不是真正的速度閉環(huán)。更實用的做法是加入“航向角”的閉環(huán)。雖然輪子速度不閉環(huán)但我們可以通過一個廉價的MPU6050陀螺儀加速度計來獲取小車轉(zhuǎn)彎時的角速度并對其積分得到航向角Yaw。這樣在STATE_ALIGN和STATE_ADJUST狀態(tài)中我們可以實現(xiàn)角度閉環(huán)PID比如需要左轉(zhuǎn)30度我們就設(shè)定目標(biāo)角度用PID控制左右輪差速直到MPU6050反饋的角度達(dá)到目標(biāo)。這比單純依賴視覺坐標(biāo)和開環(huán)定時控制要精準(zhǔn)和穩(wěn)定得多。我在項目后期加入了MPU6050控制精度立刻提升了一個檔次。5. 系統(tǒng)集成調(diào)試與避坑實戰(zhàn)記錄將視覺、控制和機(jī)械部分組裝起來后真正的挑戰(zhàn)才開始。以下是我在調(diào)試過程中遇到的主要問題及解決方案問題一視覺識別延遲與車輛運動不同步。現(xiàn)象小車在STATE_SEARCH狀態(tài)下前進(jìn)時OpenMV識別到車位Tag但小車由于慣性會沖過頭導(dǎo)致起始泊車點不準(zhǔn)。 分析從OpenMV捕獲圖像、處理、發(fā)送到STM32接收、解析、狀態(tài)切換存在一個100-200ms的延遲。在這段時間里小車仍在以原速度運動。 解決預(yù)測與提前量在STATE_SEARCH狀態(tài)讓小車以非常慢的速度前進(jìn)減小延遲期間移動的距離。狀態(tài)切換緩沖當(dāng)接收到有效Tag數(shù)據(jù)時不立即跳轉(zhuǎn)到STATE_ALIGN而是先進(jìn)入一個STATE_BRAKE剎車子狀態(tài)發(fā)送一段時間的反向PWM讓電機(jī)快速制動待車停穩(wěn)后再開始對齊操作。雖然增加了狀態(tài)復(fù)雜度但顯著提高了可重復(fù)性。使用AprilTag的tag.translation()信息如果AprilTag標(biāo)定得好它可以估計出Tag相對于攝像頭的距離z方向。我們可以設(shè)定一個距離閾值例如20cm當(dāng)小車運動到該閾值范圍內(nèi)時再觸發(fā)剎車這比單純依靠圖像像素坐標(biāo)更物理、更準(zhǔn)確。問題二電機(jī)干擾導(dǎo)致串口數(shù)據(jù)錯亂或MCU復(fù)位?,F(xiàn)象每當(dāng)電機(jī)啟動或轉(zhuǎn)向時OpenMV發(fā)送的數(shù)據(jù)偶爾會出錯甚至STM32程序跑飛。 分析如前所述電機(jī)是大電流感性負(fù)載其啟停會產(chǎn)生強烈的電磁干擾EMI通過電源線和空間輻射影響微控制器和串口電平。 解決電源隔離如前文硬件部分所述邏輯電源與電機(jī)驅(qū)動電源徹底分開并使用大容量電容如1000μF電解電容并聯(lián)0.1μF陶瓷電容在電機(jī)驅(qū)動電源輸入端進(jìn)行濾波。信號隔離在STM32的PWM輸出線和電機(jī)驅(qū)動模塊的輸入線之間串聯(lián)一個100歐姆左右的電阻可以削弱高頻干擾。如果干擾特別嚴(yán)重可以考慮使用光耦隔離模塊但成本會增加。軟件容錯在STM32的串口接收中斷服務(wù)程序中增加數(shù)據(jù)校驗。例如我使用的數(shù)據(jù)格式是“tag:%d,%d,%d\n”在解析時會嚴(yán)格檢查字符串是否以“tag:”開頭是否包含兩個逗號以及轉(zhuǎn)換后的數(shù)字是否在合理的圖像坐標(biāo)范圍內(nèi)0-320 0-240。任何一步出錯這一幀數(shù)據(jù)都會被丟棄等待下一幀。這保證了即使有偶發(fā)干擾系統(tǒng)也不會因錯誤數(shù)據(jù)而崩潰。問題三地面摩擦不均導(dǎo)致軌跡偏離?,F(xiàn)象在STATE_BACKUP倒車時理論上左右輪速度相同小車應(yīng)直線后退但實際上總會偏向一邊。 分析即使是同一型號的電機(jī)其內(nèi)部阻力、齒輪間隙也有微小差異加上地面平整度和摩擦系數(shù)不可能絕對均勻?qū)е聝蓚€輪子的實際轉(zhuǎn)速有細(xì)微差別長時間累積就會產(chǎn)生明顯偏差。 解決加入航向角反饋再次強調(diào)這是治本的方法。通過MPU6050實時讀取Z軸角速度積分得到偏航角。在倒車過程中不斷用小幅度差速例如讓偏快一側(cè)的輪子略微減速來修正航向角使其保持為0直線后退。這實現(xiàn)了一個真正的“航向閉環(huán)控制”。開環(huán)補償如果沒有IMU可以做一個簡單的實驗讓小車在目標(biāo)場地上空載直線前進(jìn)5米測量其最終偏離直線的距離。根據(jù)幾何關(guān)系可以反推出左右輪的速度比例系數(shù)。例如如果總是向右偏說明左輪實際速度比右輪快那么在代碼中給左輪的目標(biāo)速度乘一個略小于1的系數(shù)如0.98給右輪乘一個略大于1的系數(shù)如1.02進(jìn)行靜態(tài)補償。這個方法很粗糙且在不同地面、不同電池電量下需要重新校準(zhǔn)。問題四起始位置容錯性差?,F(xiàn)象要求小車必須從非常精確的位置和角度開始搜索否則整個泊車流程就會失敗。 分析狀態(tài)機(jī)的轉(zhuǎn)換條件設(shè)計得過于苛刻沒有考慮初始誤差。 解決放寬STATE_ALIGN對齊狀態(tài)的判定條件并使其成為一個更智能的“逼近”過程。例如不是要求Tag中心x坐標(biāo)必須嚴(yán)格等于圖像中心而是設(shè)計一個比例控制角速度ω Kp * (tag_cx - image_center_x)。這樣小車會自動朝著使Tag居中的方向轉(zhuǎn)動形成一個平滑的視覺伺服過程。同時y坐標(biāo)代表距離也采用類似的比例控制來調(diào)整前進(jìn)/后退速度。這樣只要Tag在視野內(nèi)小車就能自動調(diào)整到合適的起始位姿大大提升了系統(tǒng)的魯棒性和用戶體驗。6. 項目源碼結(jié)構(gòu)與關(guān)鍵代碼剖析提供的源碼包解壓后主要包含兩個工程目錄OpenMV_Script和STM32_Project以及一個Documentation文件夾。6.1 OpenMV腳本工程 (OpenMV_Script/main.py)這是運行在OpenMV Cam H7上的主腳本。其結(jié)構(gòu)清晰初始化部分配置攝像頭參數(shù)分辨率、色彩模式、關(guān)閉自動增益和白平衡以穩(wěn)定顏色識別、初始化串口。主循環(huán)img sensor.snapshot()捕獲一幀圖像。調(diào)用img.find_apriltags()或img.find_blobs()進(jìn)行識別。如果找到目標(biāo)計算其中心坐標(biāo)并可能進(jìn)行一些濾波比如只取面積最大的目標(biāo)。按照預(yù)定的協(xié)議格式通過uart.write()發(fā)送數(shù)據(jù)。數(shù)據(jù)發(fā)送頻率通過time.sleep_ms()控制避免過高頻率導(dǎo)致串口緩沖區(qū)溢出或STM32處理不過來。關(guān)鍵技巧在腳本開頭進(jìn)行鏡頭標(biāo)定對于AprilTagOpenMV內(nèi)部已經(jīng)集成了標(biāo)定只要你知道鏡頭的焦距焦距可以通過一個簡單的標(biāo)定程序計算出來網(wǎng)上有現(xiàn)成腳本find_apriltags函數(shù)返回的tag.translation()就是真實世界中的近似距離單位是米這比像素坐標(biāo)有用得多。我在代碼中預(yù)留了使用translation()[2]即Z軸距離作為判斷條件的接口。圖像處理前可以加一個img.lens_corr()函數(shù)進(jìn)行鏡頭畸變校正對于廣角鏡頭尤其有用能讓檢測更準(zhǔn)確。6.2 STM32工程 (STM32_Project)基于Keil MDK或STM32CubeIDE開發(fā)使用HAL庫或標(biāo)準(zhǔn)外設(shè)庫。核心文件包括main.c包含主循環(huán)、狀態(tài)機(jī)主函數(shù)Parking_StateMachine()、串口中斷回調(diào)函數(shù)。motor.c/h電機(jī)驅(qū)動層封裝了PWM初始化、設(shè)置左右輪速度的函數(shù)如Set_Motor_Speed(int left, int right)。這里實現(xiàn)了前文提到的速度開環(huán)映射或簡單的P補償。pid.c/hPID控制器實現(xiàn)雖然速度環(huán)可能沒用到但航向角PID控制會用到。uart_parser.c/h串口數(shù)據(jù)解析器。包含一個環(huán)形緩沖區(qū)在串口中斷中填充數(shù)據(jù)在主循環(huán)中解析出完整的、符合格式的一行命令。imu_mpu6050.c/h如果包含MPU6050的驅(qū)動通過I2C讀取原始數(shù)據(jù)進(jìn)行濾波如互補濾波和解算得到穩(wěn)定的姿態(tài)角。state_*.c各個狀態(tài)的具體實現(xiàn)函數(shù)如state_align(), state_backup()等。一個關(guān)鍵函數(shù)示例狀態(tài)機(jī)調(diào)度void Parking_StateMachine(void) { switch(current_state) { case STATE_SEARCH: // 控制小車慢速前進(jìn) Set_Motor_Speed(SEARCH_SPEED, SEARCH_SPEED); // 檢查串口解析器是否有新的有效Tag數(shù)據(jù) if (uart_has_new_tag_data()) { Parse_Tag_Data(tag_x, tag_y, tag_id); if (tag_id EXPECTED_PARKING_TAG_ID) { current_state STATE_BRAKE; // 先剎車 brake_timer HAL_GetTick(); } } break; case STATE_BRAKE: // 剎車200ms Set_Motor_Speed(-BRAKE_POWER, -BRAKE_POWER); if (HAL_GetTick() - brake_timer 200) { Set_Motor_Speed(0, 0); current_state STATE_ALIGN; align_start_time HAL_GetTick(); } break; case STATE_ALIGN: // 使用Tag的x坐標(biāo)進(jìn)行比例控制使Tag居中 int error_x tag_x - IMAGE_CENTER_X; float omega ALIGN_KP * error_x; // 計算目標(biāo)角速度 // 根據(jù)當(dāng)前距離tag_y或tag.translation[2]計算目標(biāo)線速度V float V ALIGN_SPEED; // 可能是一個根據(jù)距離變化的函數(shù) // 差速模型計算左右輪速 float left_speed V - omega * WHEEL_BASE / 2.0f; float right_speed V omega * WHEEL_BASE / 2.0f; Set_Motor_Speed((int)left_speed, (int)right_speed); // 檢查對齊條件誤差小于閾值且持續(xù)一段時間 if (abs(error_x) ALIGN_THRESHOLD) { if (HAL_GetTick() - align_start_time ALIGN_HOLD_TIME) { current_state STATE_BACKUP; backup_start_time HAL_GetTick(); } } else { align_start_time HAL_GetTick(); // 條件不滿足重置計時 } break; // ... 其他狀態(tài)類似 default: break; } }這個函數(shù)在每個主循環(huán)周期中被調(diào)用根據(jù)current_state執(zhí)行相應(yīng)的動作和狀態(tài)轉(zhuǎn)移判斷。這里的一個細(xì)節(jié)是使用了非阻塞式延時比如STATE_BRAKE中通過對比當(dāng)前時間戳和開始剎車的時間戳來判斷是否結(jié)束而不是用HAL_Delay()這樣就不會阻塞整個程序其他任務(wù)如串口接收可以照常運行。7. 擴(kuò)展思考與優(yōu)化方向這個基礎(chǔ)項目跑通后有很多方向可以深入優(yōu)化讓它更接近一個“智能”系統(tǒng)多傳感器融合目前嚴(yán)重依賴單一視覺傳感器??梢栽黾映暡▊鞲衅髟诘管嚾霂斓淖詈箅A段用于檢測與后方障礙物的實際距離實現(xiàn)精準(zhǔn)??勘苊庾矇Α?梢詫⒊暡ǖ臄?shù)據(jù)與視覺的Tag距離估計進(jìn)行融合提高可靠性。編碼器在電機(jī)上安裝增量式編碼器實現(xiàn)真正的雙輪速度閉環(huán)控制。結(jié)合輪子里程計可以進(jìn)行簡單的航跡推算即使短暫丟失視覺信號也能估計出自身位置。慣性測量單元如前所述MPU6050等IMU對于測量角速度、補償車輛傾斜非常有用。路徑規(guī)劃算法目前的倒車路徑是簡單的圓弧或直線??梢砸敫鼉?yōu)的路徑規(guī)劃例如Reeds-Shepp曲線或Dubins路徑這些是機(jī)器人學(xué)中用于計算滿足最小轉(zhuǎn)彎半徑約束的最短路徑的經(jīng)典方法。規(guī)劃出的路徑可能由多段圓弧和直線組成控制邏輯需要相應(yīng)升級來跟蹤這條路徑。更高級的視覺處理除了AprilTag可以嘗試線段檢測識別停車位的邊界線。OpenMV的find_line_segments()函數(shù)可以檢測圖像中的直線段通過篩選和組合可以重構(gòu)出停車位的輪廓。這對光照的依賴性比顏色低但算法更復(fù)雜。機(jī)器學(xué)習(xí)在OpenMV上運行輕量級的神經(jīng)網(wǎng)絡(luò)模型如TinyML直接檢測車位。OpenMV的H7系列芯片支持一些基本的神經(jīng)網(wǎng)絡(luò)框架。這將是邁向“通用車位識別”的一大步。上位機(jī)監(jiān)控與調(diào)試通過STM32的另一個串口連接藍(lán)牙模塊如HC-05或Wi-Fi模塊如ESP-01S將小車的實時狀態(tài)如當(dāng)前狀態(tài)、傳感器數(shù)據(jù)、電機(jī)PWM值發(fā)送到電腦或手機(jī)上的上位機(jī)軟件。這能極大地方便調(diào)試和算法優(yōu)化。你可以用Python的PyQt或Tkinter快速寫一個顯示小車軌跡和數(shù)據(jù)的可視化界面。這個項目最大的收獲不是做出了一個能自動泊車的小車而是在這個過程中你將嵌入式開發(fā)、硬件電路、實時控制、計算機(jī)視覺和基礎(chǔ)機(jī)器人學(xué)等多個領(lǐng)域的知識串聯(lián)了起來并親手解決了其中涌現(xiàn)出的無數(shù)工程問題。每一個參數(shù)的調(diào)整每一個異常的排查都是對“系統(tǒng)思維”和“調(diào)試能力”的絕佳鍛煉。希望這份詳細(xì)的拆解和心得能幫助你少走一些彎路更深入地享受從零搭建一個智能系統(tǒng)的樂趣。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品无码人妻一区| 丁香六月婷婷综合缴| 天天日综合| 婷婷五月色影视先锋| 十月丁香九月婷婷综合| 婷婷第一页| 九九99精品视频在线观看| 99精品综合在线| 狠狠色噜噜色狠狠狠综合久久成人波 | 九九99视频| 91人人妻人人操人人爽| 成人丁香五月天Av| 丁香婷婷激情综合五月激情| 色五月激情五月| 丁香五月大片| 久久婷婷桃花五月天| 日本五月婷| 99久久婷婷五月| 丁香五月婷婷激情蜜桃| 久久婷婷色色| 香蕉久久国产AV一区二区| 天天做天天双| 9色免费网| 思思精品视频| 99er日韩| 亚洲中文字幕在线观看| 另类图片色五月| 久久人妻高清中文| 无码四色色色| 久久女人九九| 国产色色小草视频| 亚州性爱99| 婷婷99视频精品| 日韩ww| 婷婷久久亚洲| 激情av在线| 激情小说之五月| 九九热视频在线观看| 高清无码视频网址| www.色色色色| 99精品无码| 啪啪激情网站| 亚洲五月天婷婷综合| 日韩三级片一区二区| www.无码com| 大香蕉婷婷婷| 超91在线视频| 亚州婷婷五月激情综合| 午夜丁香 婷婷| 婷婷五月精品| 色播五月丁香综合| 婷婷五月色影视先锋| 天天综合天综合久久网| 天天艹| 日韩成人中文| 丁香五月激情综合| 性一交一乱一交A片久久四色| 九九热这里只有精品9| 五月天日日操夜夜操 | 久久性爱视频| 国产偷人爽久久久久久老妇APP| 激情www| 色综合久久88色综合天天看| 99re思思热久久| 99九九热在线观看| 26UUU精品一区二区| 五月丁香精品| 国产69久久久欧美黑人A片 | 婷婷五月丁香五月丁香| 欧洲亚洲最新精品| 十月丁香九月婷婷综合| 久久99大全| 丁香婷婷91在线观看视频| 九色无码| 亚洲久热| 婷婷综合在线网| 九月av在线| 操日本色| 五月6香色婷婷视频| 午夜天堂啪啪| wwwxxx五月婷婷小说| 五月婷婷综合色啪首页| 久久网日本| AV成人在线播放| 日韩欧美成人片| 激情综合五月天| 伊人久久五月天| 天天色综合天天| 只有精品在线观看| 狠狠摸狠狠摸| 亚洲熟妇AV乱码在线观看| 99在线免费观看| 色色五月婷婷网| 九九久久腿| 久久99精品久久久久久青青AR| 99噜噜噜| 亚洲乱码成人| 婷婷色播婷婷| 婷婷丁香五月天操逼| 涩涩婷婷五月| 五月四色婷婷| 五月婷婷,六月丁香| 九九亚洲视频| 可以免费观看的AV| 97狠狠碰| 婷婷5月天av| 伊人五月天婷婷| 天天爱综合网| 国产69久久久欧美黑人A片| 久久久久9久无码视频| 在线中文AV| 影音先锋综合网| 任你爽视频| 99精品在| 99色婷婷| 五月色网| 久色网| 婷婷玉月丁香五月在线视频| 日本久久高清| 超碰99热精品| 五月色天情| 99热国产这里只有精品| 99精品高潮| 婷婷舔| 26uuu精品一区二区| 五月丁香六月综合激情| 欧美成人精品A片免费一区99| 婷婷激情五月天激情小说| 精品久久久999| 婷婷精品在线| 天堂无码人妻精品AV一区| 97操在线资源| jizzdr| 天天爽天天操| 狠狠色婷婷7| 97色色色色色| 一区二区三区四区牛| 天堂爱爱| 天天操天天插| 免费色婷婷| 综合婷婷| 99热亚洲精品| 久久这里只有国产| 天天做天天爱天天高潮| 婷婷6月综合网| 婷婷五月天激情电影| 天天久综合网永久入口18| 91一起操| 久久色情| 性色播| 可以看的av| 色欲五月丁香| 99热这里只有精品2| 日韩精品AV一区二区三区| 五月婷婷狠狠干| 激情综合网五月婷婷| 九月丁香八月婷婷加勒比| 狠狠做五月| 色婷婷丁香五月在线| AAA久久| WWW,五月| 99热6精品| AV色婷婷| 久久九九热视频| 丁香五月91| 干一干xxxx| 99热久97| 天天干天天色综合| 内射激情在线| 丁香青青五月天| 五月天激情婷婷小说| 国产精品A成V人在线播放| 狠狠色婷婷7| 婷婷色婷婷| 日本3级片偷拍网站| www热久久yy9| 久色网| 久久99综合| 思思热天天看| 国产精品成人AV在线观看春天| 人人干天天舔| 97干在线免费| 五月丁香色综合| 五月婷婷|欧美| 麻豆雪千夏| 99精品人人| 五月丁香婷婷色色| 五月天伊人日日噜影片AV| 韩国中文字幕91| 精品久久久久久久人妻| 国产免费一区二区三区三州老师F1F1.CC| 狠狠色噜噜狠狠狠狠综合| 久久99久久久| 中文字幕在线日亚州9| 欧洲亚洲免费视频区| 95精品区一区二| 五月婷婷影| 久久最新色| 六月丁香久久| 97热在线精品| 怡红院精品视频久久久久久久久| 久久婷婷五月综合精品蜜芽| 丁香久久在线| 日本99视频| 综合激情伊人影视在线| 极品少妇婷婷五月| 久久精彩视频| 国产精品色婷婷久久久精品| 五月婷婷香蕉| 五月丁香色色| 丁香五月婷婷综合激情啪啪啪| 丁香五月天婷婷中文字幕| 大香蕉婷婷丁香| 九九久久精品| 天天色丁香| 婷婷五月蜜桃成人桃色丁香| www.久久久久久| 亚洲操B| 丁香综合网| 99久热在线精品| 日韩人妻AV在线| 天天做天天爱天天高潮| 亚洲bt丁香五月天婷婷激情小说| 五月婷婷六月丁香免费| 久久婷综| 最近韩国日本免费高清观看| 91九色精品女同系列| 婷婷激情蜜桃玖玖丁香| 日日干五月天婷婷| 99狠狠操一| 99热热热99精品丁香| 欧美久久网| 五月天色五月天| 超碰国产av| 黄色中文字目| 中文字幕乱码亚洲精品一区| 激情综合网五月婷婷| 涩涩五| 婷婷五月天性爱视频| 欧美综合五月丁香六月婷| 五月丁香人人婷婷在线观看| 婷色成人| 91婷婷五月天综合视频| 激情五月图| WWW色色色COm| 成人综合视频在线| 亚洲人妻电影| 婷婷激情综合色五月久久图片| 精品人妻伦九区久久AAA片| 97人人操| 内射综合网| 色丁香影院| www好屌操| 六月激情久久婷婷| 99热这里只有精品国产免费| 婷婷五月蜜桃成人桃色丁香| 人人澡天天色天天做| 大香蕉狼人久久| 婷婷五月综合免费在线| 99热在线网站| 亚洲天堂大香蕉| 91 九色 入口| 色综合大香蕉| 婷婷中文字幕| 伊人五月天男人的天堂在线| 色色色视频| 《战争与艾拉》完整版| 激情纯色婷婷五月天在线不卡视频| 狠狠色综合网| 亚洲丁香五月综合| 激情婷婷五月色| 涩综合在线| 五月婷婷无码| 丁香花五月天| 99色免费观看全部| 婷婷涩涩五月天| 狠婷婷五月| 五月综合缴情网| 天天做天天爱天天玩夜夜爽 | 91久久九久久九久久九久久九久久| 九九99一区| 五月天六月婷婷电影| 另类图片婷婷五月天| 色大综合| 日韩aaaaa| 色婷另类| 丁香五月色| 久草热在线视频| 色墦五月丁香| 一起草日本| 99在线免费视频播放| 激情五月天婷婷色色色色色色色色色色色| 猫咪伊人久久| 婷婷五月天影视网址| 婷婷丁香六月影视| 五月婷婷在线视频| 久久性视频| 99精在线| se婷97| 久久99久久99精品免观看粉嫩| 高清视频一区| 亚洲色综久久五月| 九九综合| 影音先锋AV男人站| 狠狠色婷婷在线| 深爱五月激情网| 婷婷六月天激情影院| 另类激情网| 99热免费| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 九月丁香八月婷婷加勒比| 97操碰日本女人| 久久九九国产| 欧美综合五月丁香五月天| 丁香六月婷婷色XXXXX| 五月婷婷亚洲| 91re色综合视频| 婷婷情色五月天| 婷婷五月天777| 吉澤明步Av一區二區| 另类视频在线| 五月婷婷六月丁香首页| 婷婷五月免费在线| 五月天激情久久| 久9综合| 日韩成人AV在线播放| 欧美综合激情五月丁香| 色五月激情综合网| 97碰免费精采视频| 丁香五月23111| 99色在线| 色婷婷狠狠| 中文字幕丰满孑伦无码专区| 全高清无码视頻| 东北婷婷五月天| 婷婷人人操| 91九色白丝| 玖玖国产视频一区| 婷婷久久99| 31色区视频免费看| 色小说五月婷婷| 这里只有精品免费| WWW.99热| 97色在线观看视频| 五月婷婷之综合激情在线| 人人爱干人人爱草| 五月色色网| 99re久热| 色天天久婷婷| 99操碰| 97碰碰视频| 最新亚洲色色网| 久99久在线观看| 激情六月天婷婷| 蜜乳AV成人| 色狠狠狠干| 日韩精品一区二区亚洲AV观看| 色欲一区二区三区精品A片| 激情久久肏屄视频| 久久婷五月天| 婷婷九月丁香| 五月亭亭六月天| 2021日韩无码| 五月综合激情网| 久久精品99国产精品日本| 啪啪色激情五月天| 激情五月天丁香| 亚洲1区| 9精品在线| 婷婷色五月天色| www,99热| 亚洲成人网站在线| 97精品欧美91久久久久久久| 激情黄色小说色五月| www.色婷婷.com| 综合色色综合| 超碰免费人人肏| 99热九九在线| 手机在线日韩视频中文字幕| www,五月天com| 久久总和99| 丁香五月天综合| 开心婷婷五月| 在线99精品| 六月丁香社区| 婷婷开心深爱五月天| 激情综合久久| 天天干天天av天天射| 97人妻碰碰碰久| 久久五月天 91| 在线色五月婷婷| 无码日本精品XXXXXXXXX | 人人色人人摸人人看| 精品在线网站| 色爱综合网| 日本一级黄色电影| 99色啊| 激情内射人妻1区2区3区| 日韩成人电影在线播放| 天天操天天操天天操天天操天天操| www.zbzhongsen.com| 九九热免费视频| 婷婷五月丁香高清无码| 成人 在线观看国产| 五月丁香啪啪综合网| 十二区无码| 婷婷五月天AV| 少妇高潮呻吟A片免费看软件| 99精品视频在线6| 色综合久久久无码中文字幕999| 人妻自慰高清合集| 九月丁香婷婷综合| 超碰只有精品在线| 五月丁香成年黄色| 午夜美女人啪最红院| 26uuu亚洲| 天天狠狠色噜噜| 综合久久伊人| 久久久97| 美国十月色婷婷在线观看| 激情五月综合| Caoub青青超碰 | 五月婷婷 激情按摩| 色婷婷丁香五月在线观看| 激情文学第四色婷婷丁香五月| 久热91| 秋霞三及片| 91黄址| 专区无日本视频高清8| 亭亭五月色男人| 综合久久婷婷| 日本三级毛片| 久久五月婷天天干| 婷婷色播婷婷| 天天干天天拍| 丁香五月网在线观看| 99在线免费视频| 江苏少妇性BBB搡BBB爽爽爽| 操97| 婷婷狠狠97| 无码G高清天| 亚洲综合另类| 色色色五月| 丁香五月av| 日本在线va| 五月丁香六月欧美综合| 色五月网址| 97人人操人人操人人操人人| 激情六月婷婷| 久久与婷婷| 99r这里只有精品在线观看| 婷婷五月激情综合| 九九热中文| 九九激情| 天堂网色婷婷| 大香蕉伊然在亚洲90| 9久久精品| 久久久久亚洲AV成人无码电影| 天天爽日日爽夜夜爽| 亚洲成人色五月婷婷综合| 天堂综合久久| 97精品综合久久内射| 免费视频WWW在线观看网站| 欧美在线操| 六月激情久久| 亚洲日日日| 牛牛碰免费| 丁香五月天婷婷久久综合| 婷婷久久五月天丁香| 五月婷丁香久久综合| 大香伊人久色| 一区=区操屄高清大全av| 精品亚洲国产成AV人片传媒| 99啪啪| 99热国产免费| 久婷五月| 天堂网啪啪| 亚洲九九视频| 久99在线视频| 99日韩| 丁香五月婷婷AV| 91精品久久久久久久久| 五月丁香福利| 九九婷婷网五月天| 丁香激情网| 六月婷婷综合| 人妻丰满精品一区二区A片| 色五月av| 婷婷五月天综合亚洲| 国产日韩亚洲欧美在线观看| 噜噜色婷婷| 久久精彩视频99| 精品少妇蜜臀91| 深爱丁香激情| 超碰99资源站| 丁香五月激情五月| 亚洲第一成人无码A片| 日本久久激情| 丁香九月综合激情| 激情小说婷婷小说| 丁香五月天啪啪激情综合网| 久久在线大香蕉| 亚洲精品国产setv| 国产精品久久久久久久久久免费| 九九爱精品网站| 丁香五月人妻| 人妻内射麻豆视频| 夜丁香综合| 五月天婷婷丁香| 久久婷婷色综合| 五月婷婷av| 99热这里有精品| 色婷婷丁香AV综合| 五月婷视频久久| 丁香五月激情月| 超碰1999| 日日做A爰片久久毛片A片英语| 久久五月婷天天干| 爽极品色| 婷婷射婷婷舔| 狠狠草狠狠草| 91seAV| 67194成I人在线观看线路1| 丁香五月天在线直播观看| 天天谢天天操| 丁香婷婷久久| 91人人澡人人爽人人看| 色婷丨日丨天丨综合久久| 九九精品视频在线观看| 日本天天操| 五他月天啪啪啪| 久久久人妻人伦| 日韩99色99| 国产精品色色| 婷婷色五月开心五月| 婷婷五月 丁香六月| 亚洲综合色色色| 国产AV一区二区三区日韩| 五月丁香最新| 五月婷婷无码专区| 婷婷色操| 色月丁| 思思久久96热在精品国产,| 亚洲色热| 色婷婷啪啪| 热的国产,热的综合,热的有码 | 性综合网| 99热草草| 青青操avbb| 91久久电影| 91人妻人人操| 丁香亚洲婷婷五月| 99在线免费视频| 亚洲综合在线播放| 色色AV色色色东莞| 91综合视频丁香| 婷婷美女精品视频| 狠狠色色| 天天日天天添| 99热国产免费| 丁香五月激情综合| 大香蕉婷婷久久| 天天肏天天肏| 天天爽天天爽视频| 免费在线观看av网站| 色日本丁香婷婷| 玖玖精品视频| 九九色综合| 91九色熟女| 综合色影院| 成人丁香五月| 中文字幕在线不卡视频| 亚洲综合视频一下| AV在线免费观看不卡| 开心五月丁香综合久久| AA片在线观看视频在线播放 | 天天摸天天肏| 香蕉婷婷| 天天色爽| 亚州在线中文字幕| 俺也高清无码高清视频| 九九久久久综合| 99热这里只有精品最新网址| 九九超日本| 婷婷爱五月天| 婷婷爱爱蜜臀天天操| 婷婷五月天福利| 任你搞网站| 99在线观看视频| 久久与婷婷| 婷婷在线精品| 97丁香花五月天激情小说| 夜夜谢天天干| 丁香婷五月| 亚洲成AV人片在线观看| 青青草色在线视频观看| 九九激情综合| 丁香五月天偷拍| 亚洲色综合| 第四色婷婷日本| 97色干| 开心五月丁香啪| 婷婷99狠| 在线中文亚洲| 青青热久精品视频在线观看| 91久女| 久久五月天婷婷| 丁香花五月天激情| 亚洲综合色丁香五月天| 婷婷五月丁香人妻无码高清| 婷婷五月天小说| 久er免费视频| 日韩在线看AV| 99热思思| 99高级会所久久| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 丁香五月色综合色播五月| 99在线视频观看| 夜夜谢天天干| 成人五月天婷婷| 五月天成人综合| 五月婷久久在线| 欧美色色色色色色| 成人看片网站| 久久这里只| 国产脫衣舞一区二区三区| 啪啪一区| 五月色丁香| 色五月无码| 国产女18毛片多18精品| 91狠狠综合久久久久久| 中文字幕乱轮| 狠色综合网| 天综合日日夜综合7799| 日本久久精品| 丁香六月婷婷五月婷婷| 99在线观看这里都是精品| 人人操碰| 激情又色又爽又黄的A片| 强伦轩人妻一区二区电影| 丁香五月1页| 五月丁香 狠狠爱| 久99久视频| 中文字幕性爱丰满| 五月天啪啪| 干一干xxxx| 丁香狠狠干| 91日韩在线| 五月激情婷婷丁香天堂| 99热精品在线| 4399在线观看免费毛片| 超碰色碰碰| 久久久久9| 成人电影在线免费试看| 九九这里有精品| 五月丁香六月停停| 综合99在线| 99综合网| 99九九在线精品热动漫| 99国产欧美视频| 中文中文在线| 激情色播| 五月婷婷激情五月| 桃色五月天| 天天肏视频| 天天色天天日天天舔| 新伍月婷婷| 日日鲁鲁夜夜爽爽| 五月丁香综合网色欲| 91超碰在线观看| 日本色色视频| 欧美性色五月天| 久久丁香五月婷婷激情综合网| 九九aV| 五月丁香六月婷婷久久肏| 亚洲 欧洲 国产 伦综合| 大香蕉久久综合网| 色婷婷小说| 五月丁香偷拍| 五月丁香啪啪啪| 九月婷婷| 欧美日韩91| 狠狠搞狠狠操| 91狠狠综合久久| 五月丁香啪| 欧美三级A做爰在线观看| 色99热| 啪啪啪大香蕉| 99这里都是精品| 亚州色色色| 天天干天天操天天拍| 色色色成人网| 亚洲日本韩国| 丁香五月桃花在线激情综合| 久久99日本精品视频免费观看| 色综合久久无码| 欧洲区自拍| 五月叮香啪| 无码动漫AV| 日亚二欧美| 强伦轩人妻一区二区电影| 丁香六月婷婷开心| 99ri在线观看视频| 青青草搞屄视频网站| 日本特黄aaaaa| 丁香五月网在线观看| 丁香五月停停av| 丁香五月成人| 激情影院丁香五月| 中国女人做爰A片| 九九艹女| 亚洲熟女色| 国产激情AV| 日木狠狠干| 逼逼AV| 很很干在线视频| 五月丁香婷爱在线| 99热爱爱干干日| 免费视频WWW在线观看网站| 婷婷五月激情基地| 婷婷色五月开心五月| 久久婷婷影院| 亚洲一区二区无码蜜乳av| 五月激情站| 亚洲欧美婷婷五月色综合| 五月天婷婷综合色| 狠狠五月激情丁香六月| 思思热性操| 天天做天天爱天天玩| 五月婷婷综合网| 色综合99色| 无码啪啪| 日韩爱操视频| 天天插天天爱| 亚洲人成网站999久久久综合| 色婷婷综合网站| 五月丁香久久丝袜啪啪| 婷婷五月花丁香| 久热9| 操97在线观看| 99er精品| 九九热精品视频| AV九九| 97碰免费精采视频| 婷婷丁香激情五月| 五月天激情亚洲| 成年视频免费观看| caopeng97日韩| 国产 码在线成人网站| 伊人激情综合| 99精品视频在线免费观看| 五月婷婷av| 99ER热精品视频| 狠狠人妻色综合| 天天舔天天摸天天透| 色五月人妻| 九九九午夜视频| 操操操操操电影网| 人妻久久久| 亚洲精品视频电影| 五月天精品综合| 精品一二三区久久AAA片| 日本一级一片免费视频| 久久免费精彩视频| www.91五月| 啪啪激情综合| 久久婷婷五月综合色丁香| 思思干精品| 婷婷另类开心| 999热这里只有精品| 丁香五月停停基地| 亭亭玉月丁香| 色色色色色日韩午夜激情 | 日日操天天爽| 亚洲亚洲人成综合网络| 99国产er热视频| 天堂久久精品| 丁香五月六月综合激情| 播五月丁香三月婷婷| 大鸡巴伊人网| 99色色色色| 五月天婷婷色综合| 激情五月丁香六月| 日韩成人无码片| 久久婷婷一级片| 超碰在线免费观看日韩| 5月婷婷6月丁香aV| 国产成人精品亚洲线观看| 亚洲夜五月| 天天综合网在线| 那里有AV网址| 一级黄色影片| 五月天婷婷网站| 中文字幕在线免费看线人| 亚洲九九免费| 五月天激情综合| 欧美激情 日韩无码 婷婷 五月天| 激情综合网五月天| 亚洲婷婷丁香五月在线| 亚洲五月婷| 久久er九九| 国产AV一区二区三区最新精品| 久久五月丁香| 疯狂做受XXXX高潮A片动画| www.狠狠操.com| 天堂美国久久| 五月天婷婷乱论小说| 202丰满熟女妇大| 亚洲综合色丁香五月天| 任你躁XXXXX麻豆精品| 99热这里只有在线| 99精品视频推荐| 天堂中文国产| 六月丁香婷婷拍拍| 五月天色色无码| 人人人操97| 亚洲有码在线视频| 五月天另类激情在线| 亚洲综合五月天婷婷丁香| 中文字幕在线不卡| 五月丁香少妇网| 九月丁香很很色| 五月天激情AV| 国产综合色婷婷精品久久| 99视频在线| 三十路磁力链接| 婷婷色五月天色| 五月天停婷基地| 婷婷久久久| 色色欧美色色色| www.五月天婷婷| 激情婷婷五月天| 婷婷色综合中心站| 亚洲欧美婷婷五月色综合| 天干天天干天天天天天| www.久久9| 婷婷久久网| 久久五月天婷婷| 伊人网欧美在线男人天堂五月丁香| 丁香婷婷基地| 色丁香影院| 97干97色| 九一娱乐在线观看视频| 五月色丁香| 五月天婷婷青青草| 啊V视频在线观看| AV片一区在线观看| 91干视频| 日日撸日日操| www99热| 狠狠狠狠草草| 色狠狠综合| 久久a热| 性小说五月天| www.91九色| www.91五月| 日本婷婷| 女人被男人吃奶到高潮| 九九热99精品在线| 久99久在线| 久久丁香婷婷色情综合| 这里只有精品视频| 天天干天天操天天射| 婷婷日日天天| 天天插天天狠| 婷婷五月天堂| 99热精品网| 亚洲亚洲人成综合网络| 色播六月| nvrentiantang av| 亚洲色欲AAAAAA| 婷婷六月色| 日本久久视频| 久久五月天 91| 国产毛片欧美毛片久久久| 色婷婷视频| 九九青草热| 色婷婷久久综合久色综| 精品久久久久久久久久久久人妻| 99热这是里只有精品| 欧美性爱中文字幕| 九九丁香社区欧美激情| 国产精品久久久久久亚洲毛片| 天天肏视频| 国产9色在线/日韩| 丁香五月天社区| 五月婷婷免费在线视频| 天天舔天天摸天天透| 九九热区一区二区三区| 99re在线观看视频| 热久69| 26UUU精品一区二区Com| 婷婷五月天激情四射| 六月婷婷综合激情| 久久HD| 欧洲综合视频| 亚洲性图一区二区三区| 日日爱激情| 天天天操天天天爰| 日日夜夜青青草| 五月天播播中文字幕| 五月激情综合激情五月| 激情网婷婷婷| 久久精品99久久久久久| 色在线视频网2025| 激情色视频| 99精品无码网站| 色综色五月天婷婷| 米奇影视资源777狠狠色婷婷五月天激情网 | 99热骚货| 天天插夜夜爽| 丁香色啪综合| 久久综合热17c| 久久五月人人摸| 五月婷婷色丁香| 涩涩涩.com| 99乱视频| 97精品欧美91久久久久久久| 色色色五月婷婷| 婷婷五月色天| 色婷婷成人做爰A片免费看网站| 成人综合网站| 激情5月婷婷| 激情婷婷五月天丁香| 久久加勒比| 天天色99| 五月丁香激情片| 天天色天天爱天天舔| 严洲天天插| 五月婷亚洲精品| 九九精品片一| 超碰精品手机在线| 婷婷激情六月天视频| 色婷婷亚洲五月天| 五月婷婷六月丁香综合| 九九成人视频| 极品少妇高潮啪啪AV无码| 1024久婷| 99热精品观看| 色五月天天在线观看资源站| 日本成人噜噜噜噜噜| 亚洲激情综合免费| 九九色大香蕉| 五月丁香婷婷色| 丁香五月色情av| 一级七香蕉| 综合网色| 草做免费在线观看| 五月停停999| 精品无码久久久久久久久| 亚洲无码猫咪| 99A级片| 五月婷综合性中心| 女人天堂AV| 粉嫩AV久久一区二区三区| 97人人做| 黄色视频网站在线播放| 在线超碰91| 色五月aV| 亚洲天天综合| 激情五月综合网| 99久视频| 男人天堂 久久| 欧美五月丁香啪啪响视频| 99色免费视频| 色九网| 亚洲一区二区 成人网站戴套| 六月丁香啪啪啪| 丁香五月天天高清在线| 色色吧综合| 99久久高清视频| 久九色| 婷婷色五月天在线| 婷婷五月天成人| 丁香婷婷性久久| 丁香六月激情综合网| 亚洲欧美婷婷五月色综合| 97五月婷| www.99热视频在线观看| 少妇人妻人伦A片| 逼特逼在线免费播放| 久婷婷| 五月婷婷亚洲色视频| 丰满人妻妇伦又伦精品国产| 色婷婷伊人| 久久只有18视频| 狠狠干综合| 九九综合色综合| 涩涩婷婷五月| 婷婷五月影院| 成人网页在线观看| 五月天电影网| 五月天综合婷婷| 丁香密臀AV激情网| 99er这里只有精品| 夜夜 操无码| 中文字幕丰满孑伦无码专区| 思思视频久久| 婷婷五月色激情欧美激情| 五月色亭丁香| 久久这里只有精品网| 狠狠狠狠狠| 五月婷婷在线丁香| 久久五月婷| 黄色91在线观看| 五月婷婷网站| 亭亭社区五月天| 九月婷婷综合| 99热精品在线播放| www久| 五月天婷婷狠狠| 亭亭五月丁香五月天激情| 久久亚洲婷婷| 丁香九月婷婷综合| 97热视频| 99激情在线| 婷婷久久五月| 色热久| 五月丁香性爱| 色五月色图| 超碰人人艹| 1024手机在线观看看片_日韩精品| 天天干天天操天天射| 亚洲 欧洲 国产 伦综合| 激情五月天伊人av| 久久天堂女人| 丁香久久| 日本专区久久| 久99视频在线观看| 久久综合五月天| www.婷婷五月天.com| 天天骑日日爽| 韩国真做片在线观看| 同性gv国产精品一区二区| 天天做天天爽| 婷婷五月丁香基| 国产人妻777人伦精品HD| 五月情婷婷五月| 性色九九| 色五月人妻| 51成人| 99久热在线精品| 丁香婷婷久久| 中文字幕免费高清电视剧| 色噜噜在线| 久婷自拍视频| 操操天堂| 亚洲日本激情| 久久无码成人| 99无码精品| 亚洲六月婷婷| 色伦专区97中文字幕| 婷婷五月天在婷| 人妻激情视频| 久久怕怕视频| 思思久久思思| 丁香亭亭激情四射| 97狠狠色| AV天堂淫乩| 色天使久久综合| 久热免费| 人人草成人视频| 九九热99熟女| 五月婷六月综合在线观看| 日韩在线观看网址| 九九激情| 婷婷色五月婷婷姐妹| 丁香五月天天久久综合小说| 五月婷视屏在线观看| 丁香五月六月综合激情| 国自产拍偷拍精品啪啪一区二区| 99高级会所久久| 狠狠草网| 国自产拍偷拍精品啪啪一区二区 | 婷婷激情社区| 中文字幕综合网| 色天堂婷婷| 99成人| 婷婷激情五月天亚洲综合| 丁香五月天激情四射网| 专区无日本视频高清8| 亚洲人人96@| 亚洲蜜乳AV| 少妇高潮呻吟A片免费看软件| 久久机热/这里只有精品| 天天摸.天天mo| 自拍视频在线观看9| 亚洲激情网| 狠狠草在线观看| 五月天婷婷丁香蜜桃91| 日韩黄色网络| 九九精品9| 亚洲精品视频在线播放| 五月婷婷五月丁香| 综合性视频99| 亚洲无AV在线中文字幕| 久色| 79色色免费| 激情五月深爱五月| 欧美成综合在线观看| 超碰人人色| 99精品国产热久久91色欲| 激情网五月婷婷| 五月六月丁香婷婷在线观看| 97婷婷狠狠久久综合9色| 国产毛片精品一区二区色欲黄A片| 五月婷婷五月天| 久久久区区一久久久久久| 丁香五月综合激情久久潮喷| 丁香五月电影院在线观看| 爱iii做iiii日日| 色综合天天| 天天日夜夜爽| 26uuu精品一区二区| 婷婷五月天堂一本在线| 天天干天天日日| 99精品在线观看| 激情五月,激情综合网| 99热国产在线| 成人午夜天| 六月激情综合| 狠狠草在线观看| 久久激情五月| 人妻久久久| 日本va欧美va欧美精品88| 伊人婷婷色激情丁香| 综合久久婷婷五月丁香| 337p大胆噜噜噜噜噜91Av| 五月婷婷综合网| 激情文学久久| 婷婷激情视频| 婷婷五月天Av| 婷婷五月综合体验看| 色狠狠色噜噜AV天堂五区消防| av中文在线| 91日本在线| 成人在线精品| 亚洲AV综合在线观看| 97在线日本| 四色五月视频| h亚洲| 成人资源在线| 99热在线极品极品| 激情综合网激情五月婷婷| 国产精品美女久久久久AV超清| 成人做爰A片免费看视频| 激情色色| 香蕉AV777XXX色综合一区| 久久人人添人人爽添人人片αV| 超级碰碰97在线| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 五月天婷婷丁香基地在线观看| 97人人操人人| 丁香六月成人| 午夜激情久久| 丁香婷婷色情| 在线观看免费狠狠色丁香香综合| 五月婷婷色播| 激情丁香六月| 99色天堂| 亚洲色欲欧美一区二区三区| 开心五月婷婷六月丁香| 色欲丁香久久| 色99超碰| www.色五月.com| 色综合久久44| 色噜噜狠狠色综合日日| 久久亚洲色导航| 麻豆123区| 久久久精品色| 五月色网| 色综合天天| 操操碰| 婷婷综合中文| 九九色院| 99久热这里只有精品视频删减版| 人人操Av| 无码任你操| 综合久久高清| www.99热| 亚州第一黄网| 99日精品视频| 色宗合,宗合网| 激情综合婷婷| 五月婷婷日| 亚洲亚洲人成综合网络| 最新婷婷五月丁香| 一逼色综合| 天堂婷婷丁香六月网| 97色色色| 99re在线播放| 色黄啪啪| 综合在线网| 色五月天成人| 五月婷婷啪啪啪| 麻豆WWWCOM内射软件| 婷婷久久伊人| 激情的五月婷婷蜜桃| 久久这里只| 97热视频| 亚洲精品第一国产综合亚AV | 久久久精品人妻录| 99热综合网| 搡BBBB搡BBB搡18| 色婷婷最新域名| 国产激情AV| 五月天色官网| 久热超碰91| 俺也去五月婷婷丁| 五月天丁香成人| www好屌操| 五月天色婷婷激情| 五月婷色| 激情丁香六月| 色五月婷婷五月丁香五月| 97色色色| 99精品久久久久久久| 色月视频| 婷婷五月综合网| 日本一区二区三区精品视频| 激情六| 六月丁香啪啪啪| 色五月情| 欧美极品999| 精品99在线| 欧美97超碰| 中文不卡一二三区| 婷婷久久五月天| 九九九九中文字幕| 夜夜夜夜操| 91日韩在线| 91久久久久久| 97超级碰碰碰| 天天天天爽爽天干| 开心五月深爱五月| 99热精品在线播放| 婷婷深爱五月丁香| 欧美性猛交99久久久久99按摩| AV九九| 99精在线| 久久久久久久11111111111| 久久只有精| 超碰免费99| 无码A片一区二区免费| 天天高潮夜夜爽| www.色五月| site:picc-up.com| 久久六月综合| 婷婷综合色图| 五月婷婷深深爱| 成人午夜免费电影| 丁香午夜天| 综合精品99| 橾逼网| 91在线精品一区二区| 影音先锋 91工厂| 熟女人妻一区二区三区免费看| 九九伊人网| 99热在这里只有精品| 丁香五月在线自慰| 看全色黄大色大片| 我去色色网五雨天| 五月婷婷丁香在线| 中文字幕不卡网站| 99爱在线视频观看| 色月丁|