久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

OV7670攝像頭循跡:從SCCB配置到PID差速的完整調(diào)試鏈路

OV7670攝像頭循跡:從SCCB配置到PID差速的完整調(diào)試鏈路 簡介這是一套面向智能小車與機(jī)器人視覺導(dǎo)航的OV7670攝像頭循跡工程源碼利用CMOS圖像傳感器采集環(huán)境圖像通過灰度化、二值化、邊緣檢測等預(yù)處理突出賽道邊界再結(jié)合PID控制算法調(diào)節(jié)電機(jī)轉(zhuǎn)速實(shí)現(xiàn)穩(wěn)定的路徑跟蹤。資源共204個(gè)文件以C語言源文件與頭文件為主包含STM32定時(shí)器、ADC、I2C、Flash等外設(shè)驅(qū)動(dòng)以及LCD顯示等模塊還附帶編譯生成的Hex、AXF燒錄文件、Keil工程配置和輔助批處理腳本壓縮包約4.91MB。目前已有3688人學(xué)習(xí)查看該工程特別記錄了將CameraBlackWhiteWarShip項(xiàng)目移植到紀(jì)偉最小系統(tǒng)版的過程涉及SPI/I2C通信參數(shù)調(diào)整、內(nèi)存優(yōu)化等細(xì)節(jié)有助于開發(fā)者理解不同硬件平臺間的適配思路。通過研讀完整源碼讀者可掌握攝像頭循跡從圖像采集、預(yù)處理、邊緣識別到運(yùn)動(dòng)控制的完整閉環(huán)并學(xué)習(xí)中斷處理、外設(shè)初始化與實(shí)時(shí)控制策略適合嵌入式視覺導(dǎo)航方向的開發(fā)者作為實(shí)戰(zhàn)參考。1. OV7670攝像頭循跡 程序源碼從花屏到穩(wěn)過環(huán)的完整鏈路OV7670攝像頭循跡最勸退人的地方不是你寫不好算法而是辛辛苦苦燒完程序屏幕上只有雪花、花屏、或者一整片灰。很多第一次做視覺循跡的開發(fā)者拿著現(xiàn)成源碼也跑不出圖像最后只能把車子丟在角落積灰。我早期做模擬項(xiàng)目X時(shí)也翻過這個(gè)車前后折騰了一個(gè)多星期才明白循跡不是“拍一張照再找線”而是一條完整的數(shù)據(jù)鏈路SCCB配置、像素時(shí)鐘采集、幀緩沖搬運(yùn)、二值化與質(zhì)量中心計(jì)算、PID差速輸出每一環(huán)節(jié)都必須同時(shí)正確。這篇筆記按“先跑通、再調(diào)穩(wěn)”的順序展開適合已經(jīng)有基本單片機(jī)基礎(chǔ)、想從紅外循跡升級到視覺循跡的開發(fā)者也適合準(zhǔn)備競賽底車但還沒理清時(shí)序的朋友。先別追求畫面多清晰把一幀數(shù)據(jù)穩(wěn)定拿到手后面一切才談得上。2. 硬件連接與SCCB配置先讓OV7670輸出一幀可用圖像很多程序跑不起來不是算法不行是硬件通道根本沒打通。OV7670模塊上有兩條通路一條是SCCB配置總線用來寫寄存器另一條是DVP數(shù)據(jù)通路用來輸出圖像。你燒錄源碼之前必須先把這兩條路的電氣連接和初始化順序理清楚。2.1 接線以外的三件事電源時(shí)序、引腳驅(qū)動(dòng)與DVP匹配先把最基礎(chǔ)的引腳映射列出來方便你對照手頭主控板核對攝像頭側(cè)主控側(cè)作用XCLK定時(shí)器復(fù)用輸出給攝像頭提供外部時(shí)鐘常見頻率為24MHzPCLKDVP像素時(shí)鐘輸入每次有效邊沿輸出一個(gè)像素VSYNCDVP VSYNC輸入幀同步信號一幀開始或結(jié)束的標(biāo)志HREFDVP HREF輸入行有效信號高電平期間輸出一行像素D0-D7DVP數(shù)據(jù)總線并行圖像數(shù)據(jù)8位SIO_CSCCB SCL配置時(shí)鐘SIO_DSCCB SDA配置數(shù)據(jù)接線最容易翻車的不是數(shù)據(jù)線而是 XCLK。我之前接過一個(gè)模塊XCLK浮空沒給時(shí)鐘SCCB怎么寫都像石沉大海因?yàn)閿z像頭內(nèi)部邏輯根本沒跑起來。正確的順序是先保證主控給 XCLK 一個(gè)穩(wěn)定的 24MHz 信號再操作 SCCB。另一個(gè)容易被忽略的點(diǎn)是 SIO_D 必須接上拉電阻模塊上雖然有上拉但個(gè)別開發(fā)板內(nèi)部上拉很弱最好外接 4.7k 到 3.3V。我一般會(huì)在硬件初始化里把引腳分成三組配置代碼骨架如下void ov7670_hw_init(void) { // 第1組XCLK 用定時(shí)器復(fù)用輸出產(chǎn)生 24MHz 時(shí)鐘 gpio_alt_config(XCLK_PIN, GPIO_AF_TIMER); timer_pwm_config(XCLK_TIMER, 24000000); // 第2組SCCB 的 SCL 和 SDA 配置為開漏輸出外部已有上拉 gpio_open_drain_config(SIO_C_PIN); gpio_open_drain_config(SIO_D_PIN); // 第3組DVP 數(shù)據(jù)與同步引腳全部設(shè)為輸入注意關(guān)閉內(nèi)部上拉 gpio_input_config(D0_D7_PINS); gpio_input_config(PCLK_PIN); gpio_input_config(VSYNC_PIN); gpio_input_config(HREF_PIN); }這段代碼本身不復(fù)雜但順序很重要。如果先初始化 DVP 數(shù)據(jù)腳再給 XCLK模塊上電瞬間可能輸出不穩(wěn)定電平導(dǎo)致主控引腳狀態(tài)混亂。我會(huì)把 XCLK 放在第一步確保攝像頭在任何 SCCB 操作之前就有時(shí)鐘源。還有一個(gè)細(xì)節(jié)D0-D7 這組引腳不要開內(nèi)部上拉數(shù)據(jù)線懸空時(shí)容易產(chǎn)生毛刺干擾 DMA 傳輸判斷。電源時(shí)序上OV7670 模塊通常 3.3V 供電上電后要等待幾十毫秒再寫 SCCB。有的源碼把軟復(fù)位放在寄存器配置最開始這沒問題但復(fù)位命令和正常配置之間要留足夠延時(shí)否則寄存器可能寫入失敗。你可以用邏輯分析儀測量 SCCB 的波形但更快的辦法是寫一個(gè)寄存器讀回函數(shù)寫進(jìn)去再讀出來對比確認(rèn)總線真的通了。2.2 SCCB寫寄存器代碼單字節(jié)配置背后的時(shí)序門檻SCCB 在單字節(jié)寫場景下和 I2C 很接近但它不是嚴(yán)格意義上的 I2C有些模塊不支持連續(xù)讀或者要求第 9 位回應(yīng)方式不同。為了避免玄學(xué)問題我建議你自己寫一個(gè)軟件 SCCB把時(shí)序握在手里排查起來也直觀。下面是一套最常見的軟件時(shí)序?qū)崿F(xiàn)static void sccb_start(void) { SDA_DIR_OUT(); SCL_LOW(); SDA_HIGH(); delay_us(2); SCL_HIGH(); delay_us(2); SDA_LOW(); // SDA 在 SCL 高電平期間拉低表示起始 delay_us(2); SCL_LOW(); } static void sccb_stop(void) { SDA_DIR_OUT(); SCL_LOW(); SDA_LOW(); delay_us(2); SCL_HIGH(); delay_us(2); SDA_HIGH(); // SCL 高電平期間 SDA 拉高表示停止 delay_us(2); } static uint8_t sccb_write_byte(uint8_t dat) { uint8_t i, ack; for (i 0; i 8; i) { SCL_LOW(); if (dat 0x80) SDA_HIGH(); else SDA_LOW(); delay_us(1); SCL_HIGH(); delay_us(1); dat 1; } // 第9個(gè)時(shí)鐘用于讀取從設(shè)備應(yīng)答 SCL_LOW(); SDA_DIR_IN(); SCL_HIGH(); delay_us(1); ack SDA_READ(); // 低電平表示應(yīng)答 SCL_LOW(); SDA_DIR_OUT(); return ack; }這段代碼的關(guān)鍵點(diǎn)是位序必須從最高位開始發(fā)OV7670 的寄存器地址和數(shù)據(jù)都是 8 位MSB first 是硬性要求。很多新手把 I2C 的習(xí)慣帶進(jìn)來先發(fā)低位結(jié)果寄存器地址完全錯(cuò)亂畫面輸出就別提了。另外SCCB 的應(yīng)答位在有些實(shí)現(xiàn)里不被檢查但這正是我建議保留的原因配置完某個(gè)關(guān)鍵寄存器后讀回或者至少在初始化后掃描一遍能快速排除總線問題。寫寄存器函數(shù)按地址加數(shù)據(jù)的格式組織uint8_t ov7670_write_reg(uint8_t reg_addr, uint8_t reg_val) { uint8_t err 0; sccb_start(); err | sccb_write_byte(0x42); // 器件地址寫方向 err | sccb_write_byte(reg_addr); err | sccb_write_byte(reg_val); sccb_stop(); return err; // 0 表示應(yīng)答正常 }器件地址 0x42 是常見寫法也就是 0x21 左移一位。不同廠商模塊可能有差異如果初始化時(shí)發(fā)現(xiàn)寄存器寫不進(jìn)去第一件事查模塊的器件地址而不是懷疑時(shí)序。返回值 err 里任何一位是 1都說明鏈路有異常不要繼續(xù)往下走。2.3 初始化參數(shù)表從RGB565到QQVGA的分辨率取舍配置寄存器沒有統(tǒng)一標(biāo)準(zhǔn)答案但常見初始化流程基本逃不出下面這幾個(gè)動(dòng)作軟復(fù)位、設(shè)置輸出格式、設(shè)置時(shí)鐘分頻、設(shè)置窗口、關(guān)閉或保留自動(dòng)增益。下面這張表是我做底車時(shí)固定下來的最小配置寄存器地址寫入值作用說明0x120x80軟復(fù)位0x120x00退出復(fù)位狀態(tài)0x110x03PCLK 分頻降低像素時(shí)鐘到可用范圍0x400x10RGB565 輸出格式0x170x13水平窗口起點(diǎn)用于設(shè)置可視區(qū)域0x180x01水平窗口大小的高位字節(jié)0x190x02垂直窗口起點(diǎn)0x1A0x7A垂直窗口大小這里要強(qiáng)調(diào)不要把別人代碼里的寄存器表當(dāng)成萬能靈藥不同分辨率下窗口寄存器組合差異很大。我一般會(huì)先把輸出固定在 160x120 的 QQVGA 尺寸上跑通再考慮往更高分辨率走。選 QQVGA 出于三個(gè)理由第一一幀只有 19200 個(gè)像素RGB565 下約 38KB普通主控內(nèi)部 RAM 能裝得下雙緩沖第二像素點(diǎn)少二值化和質(zhì)量中心計(jì)算能在幾毫秒內(nèi)完成第三攝像頭幀率受 PCLK 分頻影響分辨率越低單位像素時(shí)鐘越充裕畫面撕裂的概率越小。初始化代碼中寄存器寫入順序也有講究。建議先復(fù)位等穩(wěn)定再寫輸出格式最后改窗口。如果把格式和窗口混在一起寫有概率觸發(fā)內(nèi)部狀態(tài)機(jī)異常。你可以用一個(gè)循環(huán)把配置表跑一遍const uint8_t ov7670_init_table[][2] { {0x12, 0x80}, {0x12, 0x00}, {0x11, 0x03}, {0x40, 0x10}, {0x17, 0x13}, {0x18, 0x01}, {0x19, 0x02}, {0x1A, 0x7A}, }; void ov7670_init(void) { for (uint8_t i 0; i sizeof(ov7670_init_table) / 2; i) { ov7670_write_reg(ov7670_init_table[i][0], ov7670_init_table[i][1]); delay_ms(5); // 每個(gè)寄存器之間加延時(shí)避免寫入過快 } }注釋里那個(gè) 5ms 延時(shí)是我調(diào)試后加的習(xí)慣不是必須但能明顯減少寫入失敗率。等初始化全部完成再用一幀 VSYNC 信號確認(rèn)數(shù)據(jù)通路是否已經(jīng)活躍。此時(shí)如果你有調(diào)試手段可以直接讀 PCLK 引腳波形沒有示波器就靠代碼判斷配置完后延時(shí) 200ms再輪詢 VSYNC 引腳如果一直是死電平大概率是 XCLK 或 SCCB 配置有問題。3. 幀緩沖與行數(shù)據(jù)從VSYNC到一幀完整畫面的采集機(jī)制寄存器配置好了攝像頭開始輸出圖像但主控怎么知道哪一段數(shù)據(jù)是完整一幀這就要吃透 VSYNC、HREF、PCLK 三根線的關(guān)系。很多循跡源碼跑出殘影、半邊畫面都是因?yàn)閹鹗寂袛鄬戝e(cuò)了。3.1 數(shù)據(jù)流拆解PCLK、HREF、VSYNC各管哪一段一句話描述數(shù)據(jù)流VSYNC 告訴你一幀從哪里開始HREF 告訴你哪些時(shí)鐘周期屬于有效像素PCLK 負(fù)責(zé)一拍一像素地把數(shù)據(jù)吐出來。時(shí)序關(guān)系是這樣的VSYNC 有效沿到來后緊接著 HREF 會(huì)連續(xù)跳變每行有效期間 HREF 維持高電平同時(shí) PCLK 持續(xù)翻轉(zhuǎn)。在 HREF 為高時(shí)每個(gè) PCLK 上升沿對應(yīng)的 D0-D7 就是一個(gè)像素?cái)?shù)據(jù)。HREF 為低時(shí)輸出的數(shù)據(jù)要忽略掉那是行消隱區(qū)。我在采集代碼里不會(huì)單獨(dú)去數(shù) HREF 的脈沖數(shù)那樣太慢。常見做法是讓硬件 DVP 控制器自己處理行同步主控只關(guān)心幀開始信號volatile uint8_t frame_ready_flag 0; void vsync_isr(void) { // VSYNC 有效沿表示新的一幀開始 frame_ready_flag 1; // 立刻搬走上一幀的數(shù)據(jù)或者啟動(dòng)新一幀的DMA接收 dvp_dma_start((uint32_t)frame_buffer[work_index], 160 * 120); }這段代碼的核心思路是“用中斷標(biāo)記幀開始用 DMA 把像素搬進(jìn)內(nèi)存”。不要在中斷里做像素處理中斷服務(wù)函數(shù)越短越好。work_index 是一個(gè)在雙緩沖里切換的索引后面會(huì)講。很多新手在這里犯的錯(cuò)是在 while 循環(huán)里等待 VSYNC 拉高然后開始讀數(shù)據(jù)。這個(gè)做法在低分辨率下勉強(qiáng)能跑但一旦處理耗時(shí)超過一幀間隔就會(huì)漏幀或者重復(fù)處理同一幀。正確做法是讓 VSYNC 觸發(fā)中斷中斷里只改標(biāo)志位主循環(huán)消費(fèi)標(biāo)志位。3.2 用DMA搬運(yùn)圖像幀雙緩沖防撕裂的代碼寫法如果靠 CPU 一個(gè)一個(gè)像素去讀 DVP 數(shù)據(jù)寄存器160x120 一幀有 19200 個(gè)像素就算每個(gè)像素三條指令也是幾萬條指令主控直接卡死在采集上。用 DMA 是標(biāo)配做法。DMA 配置的關(guān)鍵參數(shù)有三個(gè)外設(shè)地址固定為 DVP 數(shù)據(jù)寄存器內(nèi)存地址是幀緩沖傳輸長度等于一幀像素?cái)?shù)。下面是一個(gè)典型配置骨架void dvp_dma_config(void) { dma_channel_t *ch dma_get_channel(DVP_DMA_CH); dma_reset(ch); dma_periph_addr(ch, (uint32_t)DVP_DATA_REG); dma_memory_addr(ch, (uint32_t)frame_buffer[0]); dma_transfer_count(ch, 160 * 120); // 一幀像素總量 dma_direction_periph_to_mem(ch); dma_memory_size_16bit(ch); // 如果配置為RGB565數(shù)據(jù)寬度16位 dma_enable_transfer_done_interrupt(ch); dma_enable(ch); }注意數(shù)據(jù)寬度。OV7670 在 RGB565 模式下一個(gè)像素是兩個(gè) 8 位數(shù)據(jù)所以 DMA 數(shù)據(jù)寬度配置成 16 位更合理。如果配成 8 位傳輸計(jì)數(shù)要換成 160 * 120 * 2否則只搬了半個(gè)像素。傳輸完成中斷里要切換緩沖區(qū)索引避免還在處理舊幀時(shí) DMA 把新數(shù)據(jù)覆蓋進(jìn)來void dma_isr(void) { // 當(dāng)前工作緩沖區(qū)已填完切換到另一塊 work_index ^ 1; frame_ready_flag 1; }只有一塊緩沖區(qū)時(shí)處理函數(shù)剛讀到一半DMA 又往同一塊內(nèi)存寫畫面就會(huì)出橫向撕裂條紋。雙緩沖就是為了解決這個(gè)沖突DMA 寫一塊CPU 讀另一塊讀完再交換。循跡要求實(shí)時(shí)性撕裂畫面會(huì)直接導(dǎo)致中線計(jì)算跳變車子左右擺。3.3 幀率預(yù)算為什么160x120比VGA更適合循跡有人會(huì)問OV7670 最高支持 VGA為什么不用更高分辨率道理很現(xiàn)實(shí)分辨率越高單幀數(shù)據(jù)量越大DMA 搬運(yùn)時(shí)間和主控處理時(shí)間都線性增長而循跡需要的只是“線在哪”這一個(gè)信息。算一筆賬160x120 灰度圖一幀 19200 字節(jié)24MHz PCLK 下純傳輸時(shí)間不到 1ms。主控跑圖像處理二值化和質(zhì)量中心計(jì)算大約 2~3ms主頻幾十 MHz 就夠。整幀周期可以控制在 10ms 以內(nèi)也就是幀率接近 100fps 的采集能力。換成 VGA 640x480單幀數(shù)據(jù)量是 16 倍不要說處理DMA 騰挪內(nèi)存都夠嗆。所以我的建議是做循跡初始化直接配到 160x120 或者更低別讓分辨率成為流暢度的瓶頸。你需要的是一條線的橫坐標(biāo)不是一張高清照片。圖像處理里常說的“降采樣”在循跡場景下不如直接從源頭鎖死分辨率。4. 循跡算法與控制輸出從像素中心線到電機(jī)差速圖像已經(jīng)穩(wěn)定進(jìn)內(nèi)存了接下來才輪到真正的循跡邏輯。整個(gè)控制鏈可以拆成三段從彩色像素到灰度、從灰度到二值線、從線位置到電機(jī)差速。本末別倒置代碼不用一次寫完但思路要清晰。4.1 灰度化與自適應(yīng)閾值背景亮度變了怎么辦OV7670 配置成 RGB565 后每個(gè)像素兩個(gè)字節(jié)分別是高字節(jié)和低字節(jié)。循跡不需要顏色信息只要亮度。最省算力的近似做法是直接取高字節(jié)當(dāng)灰度值雖然不精確但響應(yīng)快對找線完全夠用。static inline uint8_t pixel_gray(uint8_t high_byte, uint8_t low_byte) { (void)low_byte; return high_byte; }如果你要求高一點(diǎn)可以用加權(quán)公式但會(huì)引入乘法和額外指令。在 160x120 分辨率下全幀算下來差距不大就怕主控還要同時(shí)處理電機(jī)控制能省的地方盡量省。接下來是二值化。固定閾值最怕環(huán)境光變化上午能看清的黑線下午陽光一斜畫面亮度整體偏移固定閾值直接把線淹了。我一般會(huì)做一個(gè)簡單的自適應(yīng)閾值每幀先統(tǒng)計(jì)平均亮度再設(shè)置一個(gè)偏移量uint8_t compute_threshold(uint8_t *gray, uint16_t count, int8_t offset) { uint32_t sum 0; for (uint16_t i 0; i count; i) { sum gray[i]; } uint8_t avg (uint8_t)(sum / count); if (avg 80) avg 80; if (avg 200) avg 200; return avg offset; }avg 被限制在 80 到 200 之間是為了防止極端畫面下閾值飄到完全無效區(qū)間。offset 用來適應(yīng)線色差異黑線白地offset 通常負(fù) 10 到負(fù) 30白線黑地offset 可以取正。這個(gè) offset 不用每幀改但你要留出接口方便后期調(diào)車。二值化就是對每個(gè)像素做一次比較同時(shí)輸出線標(biāo)志static void image_binary(uint8_t *gray, uint8_t *bin, uint16_t count, uint8_t threshold) { for (uint16_t i 0; i count; i) { // 黑色線比地面暗像素值小于閾值判定為線 bin[i] (gray[i] threshold) ? 0xff : 0x00; } }方向別搞反了。如果你的賽道是白線深色地板就把比較符號反過來??吹饺诨蛉椎亩祱D先檢查符號而不是閾值。4.2 質(zhì)量中心法提取中線丟線判斷與計(jì)算量優(yōu)化二值圖里線像素是 0xff其他是 0x00。最簡單的中線算法是“質(zhì)量中心法”把所有線像素的橫坐標(biāo)累加除以線像素總數(shù)得到平均中心。int16_t line_center(uint8_t *bin, uint16_t w, uint16_t h) { uint32_t sum_x 0; uint32_t line_cnt 0; for (uint16_t y 0; y h; y) { for (uint16_t x 0; x w; x) { if (bin[y * w x] 0xff) { sum_x x; line_cnt; } } } if (line_cnt 0) { return -1; // 丟線標(biāo)志 } return (int16_t)(sum_x / line_cnt); }返回 -1 表示整幀沒有發(fā)現(xiàn)有效線像素。這個(gè)信號非常重要它告訴控制邏輯“當(dāng)前是丟線狀態(tài)”應(yīng)該強(qiáng)制轉(zhuǎn)向?qū)ぞ€而不是把上一次中心當(dāng)作有效輸入繼續(xù)執(zhí)行。差速控制里最怕的就是丟線后還按舊的偏差輸出車直沖出去。質(zhì)量中心法的好處是抗噪個(gè)別噪點(diǎn)對平均值影響很小。如果你用“找每行最亮點(diǎn)”再連線遇到地面反光會(huì)非常痛苦。另外可以加一個(gè) ROI 優(yōu)化只統(tǒng)計(jì)圖像下半部分。攝像頭安裝后賽道主要在畫面下方上半部分是遠(yuǎn)處背景加入計(jì)算只會(huì)引入干擾。改循環(huán)邊界就行// 從 h*2/3 開始統(tǒng)計(jì)只看靠近車頭的位置 for (uint16_t y h * 2 / 3; y h; y) { ... }這個(gè)改動(dòng)同時(shí)減少了 1/3 的計(jì)算量建議底車階段就加上。4.3 PID與運(yùn)動(dòng)控制誤差如何轉(zhuǎn)換成左右輪差速圖像中心算出來了和畫面中線的偏差就是轉(zhuǎn)向誤差。假設(shè)畫面寬 160目標(biāo)中心是第 80 列那么誤差就是int16_t err center - 80;如果 err 為正說明線偏右車要向右轉(zhuǎn)為負(fù)則向左。最簡單的轉(zhuǎn)向輸出可以用比例加微分控制微分項(xiàng)能抑制小車在彎道出口的擺動(dòng)。static int16_t last_err 0; int16_t pid_output(int16_t err) { int16_t out; // P項(xiàng)決定轉(zhuǎn)向力度D項(xiàng)抑制突變 out (int16_t)(KP * err KD * (err - last_err)); last_err err; if (out 300) out 300; if (out -300) out -300; return out; }KP 和 KD 的取值沒有絕對標(biāo)準(zhǔn)。我通常從 KP1.0、KD0.5 起步把基礎(chǔ)速度放低先看直道是否穩(wěn)定再逐步提速。轉(zhuǎn)向輸出要限幅不然差速過大會(huì)讓內(nèi)側(cè)輪反轉(zhuǎn)車在跑道上原地打轉(zhuǎn)。最終加到底層電機(jī)控制int16_t steer pid_output(err); left_speed BASE_SPEED - steer; right_speed BASE_SPEED steer; if (left_speed 0) left_speed 0; if (right_speed 0) right_speed 0; pwm_set_left(left_speed); pwm_set_right(right_speed);BASE_SPEED 是直道時(shí)的目標(biāo)速度我一般設(shè)成占空比的 40% 左右太高會(huì)讓攝像頭處理跟不上。丟線狀態(tài)要單獨(dú)處理if (center -1) { // 按上次誤差方向強(qiáng)制轉(zhuǎn)動(dòng)持續(xù)尋線 if (last_err 0) steer 300; else steer -300; }這里用 last_err 方向去轉(zhuǎn)配合限幅能保證出彎丟線時(shí)車不會(huì)直沖。等重新找到線PID 重新接管。5. OV7670攝像頭循跡 常見問題與排查手記這一章把我在實(shí)際調(diào)試中踩過、以及幫別人排查過的高頻問題整理出來每條按照“現(xiàn)象 → 原因 → 解決”展開。這些問題你在任何指南里都會(huì)看到不少排除思路但真正落地時(shí)細(xì)節(jié)往往不一樣。5.1 上電全灰或無圖SCCB握手失敗和XCLK缺失現(xiàn)象寄存器配置流程跑完了VSYNC 引腳有電平變化但圖像緩沖里全是一種顏色沒有任何輪廓。原因最常見是兩個(gè)一個(gè)是 SCCB 從未真正寫入成功攝像頭還停留在內(nèi)部默認(rèn)狀態(tài)另一個(gè)是 XCLK 頻率不對攝像頭輸出時(shí)序混亂。解決先做一個(gè)寄存器回讀測試寫一個(gè)寄存器再讀回來對比能立刻定位總線問題。SCCB 初始化之前用 GPIO 翻轉(zhuǎn)方式分別測試 SIO_C 和 SIO_D 的波形確認(rèn)主控中斷沒有把引腳占用。XCLK 用示波器或邏輯分析儀量一下頻率沒有儀器就把定時(shí)器分頻往低里調(diào)再試圖像是否出現(xiàn)。模塊上電前確認(rèn)電源沒有疊加在數(shù)據(jù)引腳上。5.2 花屏與色彩錯(cuò)亂數(shù)據(jù)線序、時(shí)鐘沿與高低字節(jié)現(xiàn)象畫面不是常見黑白灰而是明顯紅綠或藍(lán)綠穿插或者出現(xiàn)彩色噪點(diǎn)線條輪廓根本沒法二值化。原因D0-D7 數(shù)據(jù)線順序接反RGB565 高低字節(jié)順序配反PCLK 采樣的時(shí)鐘沿選錯(cuò)。最常見的是排線從攝像頭到主控中間插了一根杜邦線順序全錯(cuò)位。解決先用邏輯分析儀抓 D0-D7 和 PCLK 的關(guān)系確認(rèn)采樣沿。如果沒儀器把采集到的 RGB 高字節(jié)和低字節(jié)分別打印出來用串口看數(shù)值規(guī)律。高低字節(jié)反了就把 DMA 搬運(yùn)的數(shù)據(jù)做一次字節(jié)交換或者直接修改 DMA 數(shù)據(jù)寬度配置。數(shù)據(jù)線順序問題只能靠接線核對解決程序里沒法補(bǔ)救。這塊沒有捷徑耐心對一遍比寫一百行補(bǔ)償代碼都有效。5.3 圖像下半幀丟失或卡死VSYNC檢測與緩沖競爭現(xiàn)象畫面能出但經(jīng)常只有上半部分或者畫面像被橫切了一刀下半部分是上一幀的殘留。原因VSYNC 中斷觸發(fā)點(diǎn)在幀中間而不是幀頭DMA 啟動(dòng)時(shí)機(jī)晚于數(shù)據(jù)輸出導(dǎo)致丟行。另一個(gè)原因是緩沖只有一個(gè)處理函數(shù)讀到一半新幀覆蓋進(jìn)來。解決用示波器看 VSYNC 極性部分模塊是下降沿有效部分上升沿配置成對應(yīng)邊沿觸發(fā)。DMA 啟動(dòng)放在 VSYNC 中斷后立刻執(zhí)行不要在前面加長延時(shí)。正式做循跡務(wù)必上雙緩沖雖然多占十幾 KB 內(nèi)存但能徹底消除撕裂。5.4 循跡丟線亂擺閾值和PID對抗的常見誤區(qū)現(xiàn)象直道還能走一到彎道就沖出賽道或者明明走直道車卻高頻左右擺動(dòng)。原因閾值偏移設(shè)置不對二值圖把大量地面噪點(diǎn)也算成線質(zhì)量中心被干擾。另一個(gè)原因是 PID 的 D 項(xiàng)過大或者處理延遲太高誤差還沒收斂就連續(xù)輸出。解決先把二值圖通過串口上傳到電腦看確認(rèn)圖像里只有一條線是白色。有噪點(diǎn)就先調(diào)整閾值和 ROI別動(dòng) PID。如果直道擺動(dòng)減小 KD再看是不是處理一幀時(shí)間太長導(dǎo)致誤差累積。循跡小車跑不穩(wěn)八成不是 PID 問題而是前面圖像數(shù)據(jù)就是臟的。6. 從能跑通到跑得穩(wěn)三個(gè)驗(yàn)證技巧與最后的實(shí)話6.1 用串口回傳二值圖肉眼確認(rèn)圖像數(shù)據(jù)正確調(diào)車時(shí)沒有屏幕怎么辦把二值圖用串口打出字符畫一幀也就 19200 個(gè)像素串口速度 115200 下大概幾百毫秒。我不追求實(shí)時(shí)只把它當(dāng)調(diào)試手段每觸發(fā)一次按鍵發(fā)一幀。void dump_binary_image(uint8_t *bin, uint16_t w, uint16_t h) { for (uint16_t y 0; y h; y) { for (uint16_t x 0; x w; x) { uart_putch(bin[y * w x] ? * : -); } uart_putch(\n); } }看到字符畫里線是一條干凈的白色豎條二值化和閾值就過關(guān)了再去談 PID。這一步能幫你省下大量“玄學(xué)調(diào)參”時(shí)間。6.2 物理調(diào)車鏡頭高度、俯仰角與閾值的聯(lián)動(dòng)鏡頭離地高度直接影響視野寬度。太高線在畫面里變細(xì)閾值稍微偏移就丟線太低只能看到近距離一小段彎道來不及反應(yīng)。我一般先把鏡頭放到離地 6 到 8 厘米俯仰角略微向前傾斜 15 度左右讓車頭前方 10 到 30 厘米的賽道段落在畫面下半部分。調(diào)好物理位姿后再重新計(jì)算閾值偏移量不要鏡頭動(dòng)完不動(dòng)閾值就上賽道。6.3 我走過的一段彎路調(diào)參不是調(diào)PID先調(diào)數(shù)據(jù)源我最開始調(diào)模擬項(xiàng)目X時(shí)連續(xù)兩天在改 KP、KD車還是在彎道前翻。后來把二值圖打出來才發(fā)現(xiàn)整個(gè)畫面下方三分之一的閾值全錯(cuò)了地面反光被識別成線質(zhì)量中心被拉到一邊。那一刻我才明白視覺循跡的第一優(yōu)先級永遠(yuǎn)是確認(rèn)輸入數(shù)據(jù)干凈控制算法只是錦上添花。從那以后我每換一個(gè)場地第一件事是回傳圖像第二件事才是調(diào) PID。這個(gè)順序讓我后來再也沒白熬過夜。如果你正準(zhǔn)備做自己的循跡小車先別急著上高級算法把這一幀圖盯明白車自然就能跑穩(wěn)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91精品国产91久久福利| 91neishe| 国产精品成人福利在线| 日han少妇无码| 精品天堂| 日韩三级一区| 欧洲精品二区| 99re69综合| 在线二区不卡| 私色综合网| 日本大香蕉综合网| 乱论91| 久久精品国产亚洲AV高级北京| 无码99| 97色欧洲| 操碰97| 男人成人黄色视频在线观看免费下载| 日韩视频啪啪| www.av不卡中文字幕| 日韩在线一区二区| 亚洲色情在线影视| 999国产精品999| 亚洲中文字幕一区| www五月| 超碰色综合| 骚逼高潮久久精品| 日本性爱网址| av三级电影在线播放| 精品视频久久久久九九九九9999| 香港久久久| 日韩999| 91 亚欧| 丁香九月激情| 亚洲丝袜诱惑| 久久久久久久久久久久黄色 | 久久激情视频| 在线综合色| 亚洲欧美伦综合| 色五91| 午夜激情成人在线观看| 呻吟 欧美 日本 中出| 92午夜免费福利视频| 国产精品另类一区大香蕉| 国产超碰| 欧美精品23| 久久一本大香蕉| 中文字幕在线高清男人的天堂 | 亚洲性猛交| 国产极品美女高潮无套在线观看| 97精品在线视频| 好湿好紧好爽 视频| 精品国产Av无码久久久亚洲| 神马久久69| 99久久九九| 91中出| 久久久久网站-538在线视频-欧美永久乱码| 国产成人午夜视频网址| 无马一区二区| 九九九九97| 国产丝袜视频| 综合在线导航一区| 亚洲中文字幕熟女| 色综合1991| 91蜜臀熟女| 中文字幕日韩电影人妻| 亚洲精品乱码久久久久久蜜桃麻豆| 夜夜嗨一区二区| 日本爽爽爽爽爽爽免费视频| 亚洲欧美综合图片| 色路综合| 青青三级视频| 台湾大香蕉99热| 五月婷婷无码| 亚洲字幕一区二区| 色综合av综合久久| 91n欧美| 在线小视频| 男人兔费天堂| 人人射人人操人人摸| 一起草三级AV电影在线观看 | 熟女中出视频| 麻豆天美国美国产AV| 亚洲成熟国产精品美女| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲天堂资源网| 狠狠爱夜夜干| 97 九色| 日韩人妻网站| 麻豆九九九| 欧美三级一级| 91在线色综合| 综合激情婷婷| JULIA一区二区三区在线播放| 在线观看亚洲成人精品| 91丝袜在线观看| 日本道人妻久久久在线不卡色视频| 91最新综合| www.婷婷| 99久久com免费视频′| 亚洲天堂电影精品一区| 大逼色网站| 嫩草影院永久在线制服丝袜| 国产精品在线一区二区| 97久久国产精品| 97AV在线免费观看| 亚洲色图伊人网| 欧美91精彩| 天天影视激情欧美| 日韩AV中文字幕电影| 狠狠操狠狠爱| 久久免费中文字幕在线观看| 久久久久久久久久久人妻| 青青草日韩无码| 国产情侣自拍在线播放| 久99热| 久久露脸国产老熟女| 大香网伊人久久综合| 成人av动漫在线观看| 日韩成人综合网| aaa一级黄片| 日韩精品中文字幕二区| 五月综合色| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 香蕉国产精品麻豆亚洲欧美日韩| 日韩综合无码一区久久92| 嗯嗯啊啊好爽| 国产精品一区二区校花| 中文字幕狠狠玩| 九九伊人网| 嗯嗯啊在线视频| 国产天美欧美| 伊人操操| 91制服丝袜| 综合 亚洲 欧美| 欧美99999| 亚洲 暴爽 AV人人爽日日碰| 中文字幕日韩电影人妻| 五月丁香婷婷综合网| 任你草| 麻豆久久久久久久久丝袜| 91亚州欧美| 囯产精品强| 色综合1991| 热热色91| 中文自拍欧美影视| 67194无码不卡| 少妇精品久久久八区九区| 日逼97| 激情 欧美 亚洲 小说| 国产51色综合久久免费| 婷婷综合| 亚洲熟女乱色一区二区三区久久久 | 久久免费老司机精品| 天天享受天天看| 精品人妻一区二区蜜桃视频 | 久久大香蕉97| 人人操 欧美| 亚洲图片偷拍视频区| 亚洲、日韩、综合、另类| 日日噜噜夜夜久久亚洲一区二区 | 亚91亚洲网| 蜜桃臀av一区二区| 影音先锋少妇| 亚洲色色色| 熟女网站最新| 青青在线视频日韩欧美| 在线综合色| 1240青青草一区二区三区视频天爱| www.久久制服糖| 欧美麻豆成人同性GⅤ在线| 小少妇| 狠狠干妹子| 激情婷婷综合久久| 密桃99999| 级品肉射| 日韩免费高清大片在线| 天无日色综合| 人妻久久| 欧美日韩性爱视屏免费看了| 国产AV线| 丝袜美腿制服人妻二区中文字幕 | 三级片网站在线播放| 啊啊啊啊啊好大好舒服想要| 亚洲中字幕日本一区二区三区| 中国探花熟女| 999九九精品| 69视频入口| 超碰av在线| 亚洲色入欧美| 图片区小说区| 久久 久久国内精品亚洲| 色呦呦国产精品免费看| 97天天摸天天碰| 久久成人东京热人妻| 欧美系列在线一区二区| 人妻熟妇久草在线| 欧美大香蕉专区网| 国产精品午夜福利| 久久婷婷六月综合| 一本大道青青| 91操操| 人妻娇喘 激情视频| 日韩Va亚洲va欧美Ⅴa久久| 伊人玖玖网| 成人无码在线超碰网| 人妻在线臀日韩| 大香蕉一级黄色片久久| 熟妇人妻一区二区三区| 亚洲一区日韩精品中文字幕| 有码免费观看| 极品综合| 最新av在线| 翔田千里AⅤHD无码| 美女AV一区二区| 午夜国产乱伦视频| 天天舔天天日天天射| 亚洲AV无码翔田千里网站| 久久久久亚洲一区女同性恋中文字幕| 天天色播亚洲综合网站| 天堂亚洲精品| 人妻在线大香蕉| 啪啪资源网| 91大香蕉伊人| 综合干干干av久久久综合网| 家庭乱伦网站国产| 亚洲欧美日韩不卡人妻| 啊啊啊不要啊啊受不了了视频在线| 91丨豆花丨熟女| 日韩操呦呦影院在线观看| 一区二区三区精品久久| 亚洲熟女诱惑| 校园春色欧美色图| 国产精品自拍xxxx| 五月天婷婷社区| 国产精品青青草| 一级做a爰片久久毛片图片| 激情四射五月天| 操婷婷逼| 99亚洲国产精品色一区二区三区| 色偷偷综合91久久噜噜| 欧美九九爱| 美女毛片999| 日韩人成网站在线播放| 国产99热| 99蜜桃臀久久久欧美精品网站| 无码精品蜜桃一区二区三区ww| 亚洲欧美在线丝袜| 国产精品suv一区| 5278欧美一区二区三区| 亚洲男人久久综合天堂| 亚洲高清视频在线免费观看| 四虎在线免费视频| 男人的天堂在线有码| 国产精品麻豆视频网站| 日本熟妇人妻一区二区三区| 亚洲欧洲精品成人| 99热这里只有精品9| 人妻性爱一区二区| 天天夜夜rb| 国产AV天美| 亚洲欧美日韩综合在线尤物| 欧美成人AⅤ大片在线观看| 91熟女在线| 91精品国久久久久久无码| 先锋精品av色鲁| www.大香| 东北少妇高潮zzzz| 老熟女乱伦片| 久久伊人最新网址视频| 国产激情在线| 国产丝袜高跟美女av免费观看| 日本人体九九九九九九| 综合五月婷婷| 大香蕉久| 欧美一级A片在线看视频性色| 午夜舔阴达高潮视频免费看| 欧美性爱一区二区三区| 欧美 亚洲 综合 制服 另类| 97欧美精品综合| 91久操| 亚洲欧美国产其他二区| 日本性爱不卡视频| 日韩图区 偷拍| 十八禁啪啪视频| 青青操在线视频| 精久久久| 免费视频观看60秒| 97在线视频网站| 欧美日韩亚洲少妇寂寞影院正在播放 | 国产亚洲综合欧美一区| 影音先锋乱| 丁香六月激情| 日欧亚洲二三区大片不卡| 成人av在线播放| 国产在线视频午夜精华在| 91黄站| 最新制服中文第一页| 超碰97极品9| 91亚洲欧美综合高清在线| 中亚黄色三级大片| 夜夜青青无码影院| 九九这里只有精品| 精品少妇高潮久久| 亚州91| a亚洲欧美色欲| 91啦人妻| 国产免费永久精品无码| 91久久久久久久| 伊人久久88国产女| 女优视频第10页| 亚洲色图久久成人| 91最新综合| 91国产美女丝袜足交精品视频 | 久热久| 丁香五月婷婷啪啪| 青青爽| 91日日| 韩日精品福利视频一区不卡在线免 | 日韩亚洲Av人人夜夜澡人人爽| 日韩精品一区的| 欧美高潮| 91成人精品| 麻豆精品一区二区三区四区免费观看| 国产精品com| 在线人成亚洲视频免费观看| 天天看,天天做| 综合网欧美在线| 亚洲色图 欧美热图 清纯唯美 另类自拍| 蜜臀AV一区二区三区激情综合| 夜夜狼人妻| 97频视在线| 黑人精品欧美一区二区蜜桃| 激情综合网激情综合| 国产精品成人久久一区二区三区| A片 AV一级在线播放观看免费| 国产综合操逼高清| 四虎AV无码| 超碰综合色| 国产精品伦理| 日韩中文字幕国产| 亚洲天堂,男人| 九九拍拍精品视频在线播放| 人妻夜爽夜夜爽| 亚洲影院成人| 天天日B夜夜干B时时操B| 99热精品在线| 在线电影亚洲色图| 国产精品成久久久久午夜午夜| 女人喷水视频在线观看| 国产天天看| 亚洲色婷婷综合久久久久中文| 日本αv| 国产九九九九九九九九| 成人网欧美风情| 性91| 日韩一级欧美一级在线观看| 色哟哟-国产专区| 久肏视频字幕| 国产乱人伦AVA麻豆软件.| 欧美熟妇视频| 33044男人的天堂深夜备| 综合伊人激情| 一区二区三区四区色图| 亚洲极品| 国产成人午夜视频网址| 亚洲色性情三级| 激情欧美97| 激情久久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 黄色片大香蕉| 亚州色阁| 人人操人人操人人人操| 欧美老妇综合网| 国产精品久久久久久久久久久久久久| www.色操逼| 亚洲人码13| 无码外流操逼视频| 少妇人妻精品| 大香蕉视频一二三区| 丰满人妻一区二区三区四| 精品无人区麻豆乱码1区2区图片| 91c色| 超碰碰激情97+久| 亚洲电影中字一区二区| 精品免费一区二区三区在线亚洲人成| 亚洲人妻日日日| 色婷亚洲五月在线观看| 久久久久久久综合,国产| 久久精品国产亚洲妲己影视| 午夜天堂精品久久| 牛牛操视频逼| 蜜臀AV成人精品蜜臀| 国产一区二区二区按摩精品啪视频| 五月丁香六月婷综合成人综合| 玖玖超碰熟| 18禁免费视频| 久操av在线| 亚洲综合一区二区| 91日产桃蜜| 色色操| 操一对老熟妇爽上天视频| 国内三级自拍小视频在线观看| 91av熟女人妻| 97超碰国产亚洲精品| 美女啊啊啊啊pc| 91亚洲电影| 天天操av懂色| 一区二区三区在线美女| 97色妞| www.av在线视频| 超碰97在线中文| 老司机射| 一二三区精品视频| 96AV精品| 激情小说图片亚洲首页| 超碰1997| 伊人99热| a片久久久久久久久久久久| 嫩草 人人网精品| 亚洲一级性爱视频免费看| 五毛骚逼极品美女怕怕| 91久久久久久久| 亚洲爽图| 欧美成人国产精品| 婷婷五月天网| 国产视频一区二区三区在线免费观看 | 国产人妖的免费的视频| 国产成人啪一区二区| 婷婷五月天丁香| AV乱伦国产| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 日韩性爱1级片视频| 男女香蕉一区二区| 香蕉在线一区二区三区| 熟女五十路一区二区三| 久久超碰com| 亚洲少妇色图自慰直播| 国产精品熟女乱伦| 久久性生大片免费观看性| 久久久久久中文版| 色丁香久久| 欧美岛国精品在线观看| 九九免费影片| 美女淫穴| 五月色综合| 精品无码不卡视频| 国内一区二区免费| 97精选久久| 按摩中文字幕| 天天插天天操| 26uuu性| 人妻久久一区二区三区 | 日本免费一区二| 精品在线观看视频在线| 伊人五月天婷婷| 99久在线精品99re8蜜桃| 久久超碰大香蕉| 欧美日韩国产传媒在线精品| 久久久久国产一区二| 日韩日本欧美在线观看| 国产午夜精品一区二区三区牛牛| 97视频900| 九九视品黄色| 激情综合色| 肉嘟嘟www视频在线观看高清| 91综合色噜噜| 欧洲久久一二线| 91丝袜人妻| 蜜臀无码一区二区| 97国产天堂岛| 中文有码第五页| 啊啊啊不要好疼视频| 性爱1区| 26UUU欧美激情一区二区| 国产精品白领在线观看| 少妇高潮九九九九| 加勒比综合88| 日天天九九天堂666| 日韩精品系列| 亚洲熟女少妇免费视频| 精品一区二区三区四区外站| 另类亚洲图色| 黑人中出21连凳花野真衣| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 精品一久久久| 5252色欧美在线| 大香蕉伊人亚洲| 97日本超碰综合| 夜夜爽爽爽| 日本大片日本一区二区免费高清| 亚洲第一综合| 大香蕉伊人色偷偷在线| 天天看综合网| 电影69乱码96| 九一屌逼| 尤物网站91| 好色综合| 国产精品99精品视频网站| 婷婷操视频| 女欧美一区二三区| 欧美一区二区三区另类精品| 日韩美女操b| 色婷婷九月天天综合| 99久久久久久久久| 综合激情五月天| 蜜桃久久综合视频| 国产精品亚洲四五区在线观看| 国产超碰在线一区| 亚洲涩涩| 欧美日韩制服| 水多多映视AV| 无码 黑人一区二区三区| 18禁中文字幕| 亚洲色诱惑| 婷婷色一区| 国产精品 亚洲情色| 东京热不卡视频| 91n.欧美| 亚洲自拍偷拍视频在线| 一本久道在线综合视频| 色丁香五月婷婷| 青娱乐亚洲热| 青女在线| 密臀视频三区免费网站| 18禁在线视频| 深田咏美亚洲精品福利社| 欧美日韩成人在线| 国产熟女精品区| 97久操| 国产精品内射婷婷一级二| 久久一区二区高清免费| 中文字幕在线播放2中文字幕在线观看2| 国产伦精品免编号公布| 综合97亚洲| 日韩精品-原创伙伴| 亚洲电影中字一区二区| 日本精品第一视频在'| 97资源超碰| 丝袜高跟澳门91视频| 久久αⅴ| 国产区性爱在线视频秋霞豆| 狠狠狠一区二区三区| 一区二区三区色综合| 九九热三级片| 久操视频资源站公开| 91网站18在线观看| 人妻娇喘 激情视频| 青娱乐欧美激情一区二区| 欧美成人性爱视频大全| 精品久久大胆人体| AⅤ片水多多| 亚洲精品三| 日韩电影天堂视频二区三区| 男人亚洲天堂| 久久9视频| 久久久精品中文字幕麻豆| 熟女探花啪啪| 美女尤物福利视频| 青青草综合在线| 91社区拍啪人妻| 国产自产91区13区| 中文字幕一区二区三区50路| 青青草天天亲夜夜操网| 色眯眯av| 乱伦1色页| 日日AV加勒比| 富女玩鸭子一级毛片| 开心五月激情网| 日韩BBN| 激情综合网五月婷婷五月天| 综合天天网| 乱性AV| 男人的天堂在线2| 久久久久夜夜夜夜| 亚洲欧美大香蕉| 风韵犹存大大大大香蕉 | 美女久久久久久久久久久| 5月婷婷6月六月丁香| 亚洲精品国产av天美传媒| 国产精品久久aV| 亚洲中文字幕有码视频一区二区三区| 啊啊啊啊啊啊在线| 一起草AV| 国产乱子伦久久精品综合一区二区三| 色色色热| 水多多映视AV| 色哟哟-国产专区| 久久在线观看免费视频| 欧美日日夜夜| 国产又黄又粗的视频| 大吊色| 国产午夜在线观看视频| 亚洲色资源| 亚州免费啪啪视频| 91模特在线观看| 97干在线| 97在线免费视频| 91国产丝袜足交精品视频| 国产亚洲色停停久久99精品91| 日韩99神马视频播放片在线播放| 91啦人妻| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 天天影视网色欲色香| 影音先锋中文字幕日本好一区二区| 免费一级黄色录像影片| 一本久久精品中文字| 欧美成人性爱视频免费观看| 一级免费精品| 日本天天吊| 懂色中文一区二区三区| 欧美综合传媒| 欧美精品成人亚洲| 91精品久久久久五月天精品| 国产女主播视频在线观看| 亚洲高清在线| 51国产午夜精品视频| 91激情综合| 久操热线| 在线观看不卡一区二区三区| 久久超碰av在线| 丝袜 亚洲 偷拍| 成人一道本免费视频| 亚洲综人| 伊人青青一区成人视频在线观看区| 亚洲国产91精品一区二区久久| 少妇特黄一区二区三区| 98一区二区精品| 欧美成人AⅤ大片在线观看| 欧美性爱一区二区三区| 曰本熟女视频| 99欧美| 天天操夜夜操狠很操| 欧美偷拍| 青青操视频在线| 国产精品小视频一区二区三区| 亚洲成人免费中文字幕| 日韩色香| 蜜桃臀久久| 操逼精品视频| 东京热亚洲一区二区| 久久久亚洲高清不打码| 久久精品人妻一区| 日日AAvv| 天天看高清麻豆| 禁止观看美女黄| 日本精品一区二区中文字幕| 手机在线免费看的av| 欧美性高潮在线| 亚洲日产专区婷婷| 97硬碰| 大香蕉伊人色偷偷在线| 性色av婷婷久久一区二区点复制| 永久免费av无码网站国产app | 97色欧州| 夜夜中出国产| 人妻AV在线| 新版天堂中文资源8在线| 欧美1区二区三区公司| 天天综合中文字幕 91| 色一区二区三区综合| 磁力99AV| 好吊色一区| 99re6久热只有精品6在线直播| 欧美黄色大香蕉一区二区| 色欲无码人妻日韩欧美精品| 欧美片第一页| 无码天堂| av激情亚洲五月天| 欧美日韩在线小说| 偷拍盗拍亚洲色图图片 | 亚洲熟女乱综合一区二区三区| 69AV女优男人的天堂| 欧美另类色图片| 午夜天堂精品久久久久91| 日韩一级片在线看| 精品一区二区人妖| 国产色呦呦| 欧美亚洲日本视频久久久| 中文字幕91页| 十八禁的黄污污免费网站| 国产乱伦亚洲| 在线观看无码三级少妇| 欧洲欧美视频一区二区| 大香蕉www.超碰| 最新亚洲人成网站在线影院| 亚欧性爱无码| 夜间福利片1000无码| 国产亚洲美日韩Aⅴ中文字幕无码成人| 超清福利精品视频在线| 午夜一区二区三区国产| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 北条麻妃99精品青青久久| 91亚·色| 青青草国产亚洲精品久久| 99re8超碰| 97精品国产手机| 日韩精品大香蕉伊人在线| 欧洲亚洲天堂精品| 男人的天堂三级| 欧美男人的天堂| 性一级黄色录像片网站导航| 97色碰| 色欲三区| 全球成人中文在线| 色色亚洲| 久久熟妇五十路一区| 97一区二压| 无码九九| 精品九区| 91精品微拍福利| 亚洲黄色网址视频| 久热免费视频| 区一二区日韩亚洲乱码av电影| 九九九九九用不成了| 97久久精品不卡| 中文字幕一区二区三区50路| 亚洲精品白浆高清久久久久久 | 亚洲色阁| 中文字幕国产| 我要看免费韩日黄片| 久久久久久大| 久男人久久| 2017天天操| 91人妻最真实刺激绿帽| 99精品久久久久久久婷婷蜜桃| 97超级久久强资源| 久久黄色视频一区二区三区 | 欧美加勒比| 人人 操人人 操人人| 精品国产精品一区二区| 中日无幕一二三四区| 欲色啪| a级免费在线观看| 思思性爱| 香蕉一区二区三区在线视频| 亚洲色图第四色| 夜草网站| 天天插天天操| 欧美亚洲厕所精品偷拍91 | 亚州男人的天堂| 风月影院十八禁| 免费看欧美美女黄色大片| 日本青青草在线| 国产精品一二三| 亚洲精品性爱片| 久久久蜜桃一区二区三区| 久久久久婷婷精品av电影| 激情小说日韩无码| 狠狠狠一区二区三区| 亚洲风情综合网| 一类无码操逼视频| 啊啊啊啊啊操我视频| 97超碰欧美手机| 超碰人人超在线观看| 中文字幕超碰CAO| 2023天天操夜夜操| 日本天天吊| 欧美se综合| 欧美性爱系列| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 啊啊啊啊二区好大| 秋霞色色影院| 久久久蜜桃一区二区三区| 青青青草原| 国产黄片在线免费观看| 97免费视频网| 无码人妻一区二区三区色欲aⅴ| 嗯嗯啊在线视频| 青青草色AV| 亚洲欧美中文日韩视频中国语 | 嗯嗯嗯啊啊啊在线免费观看| 久久精品28| 99视频只有精品| 欧美性高潮| 色五月婷婷中文字幕| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 九九九网页| 国产一国产一级毛片古装| 七久久久| 91视频综合网| 黄色乱论网站| 日韩操啪| 加勒比综合九九99视频在线播放| 国产又猛又粗又爽又黄| 午夜精品久久久久| 欧美经典一区二区三区| 久久伦理视频久久大香蕉视频| 亚洲国产一区二区日韩专区| 91欧美美女日韩国产婷婷| 无码 黑人一区二区三区| 色天堂综合| 岛国网址国产| 国产av色网| 久久伊人大香蕉| 国产精品香蕉| 亚洲91网。| 人人人人插| 色天天野狼综合社区| 99热在线播放| 日韩一级久久毛片| 91在线/欧洲| 免费精品福利在线观看| 美女久久久久久久久久久| 亚洲情色婷婷五月天| 免费av在线播放二区| 91色堂| 九九在线精品| 黄色免费一级在线毛片| A男人的天堂| 亚洲色啪| 久久久久久久强迫| 操逼999| 囯产乱伦一区二区三女| 性欧美999| 麻豆久久视频在线地址| 黄色电影在线播放综合网站| 99爱在线视频| av在线播放国产一区| 日本天堂在线播放| 99性爱视频| 一区二区精品日韩欧美在线观看| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 91狠狠色丁香婷婷综合久久| 黄色无码高清黄色无码网站| 校园春色中文字幕AV| 手机在线看片免费人成视频| 黄骗免费网站| 精品久久久久久久久久久久 | 很很操在线| 最新9久久久9免费视频| 91色久| 黑人美精品 A片| 97在线公开视频| 香蕉一区二区三区在线视频| 亚洲av影院在线观看| 超碰碰97资源站| 操死我了嗯嗯嗯| **一级毛片国产| 国产三级在线现体验区| 好涩综合| 九九九九九用不成了| 狠狠久久亚洲欧美专区| 国产高清精品一区二区三区毛片| 美欧色综合| 91成人国产综合久久精品蜜月| 另类天堂| 秋霞 色色| 四虎免费视频| 欧美日韩大陆黑人少妇99| 天天色综合天天操| 欧美精品99久久久**| 密臀在线一区尤物| 超碰 国产熟女精品一区| 国内黄色精品| 丁香五月久久| 少妇高潮对白在线观看| 97天天爽| 精品人妻美妇91job| 色色毛片| 亚洲天堂男人天堂网| …中文字幕亚洲乱,97人妻无码费视… | 国产精品久久久久无码Av网曝门| 日日爽熟女| 色香伊人| 久草男人天堂| 蜜桃精品一区二区三区ww| 丝袜大香蕉| 日韩一级成人毛片免费观看 | 99热伊人| 可乐操亚洲蜜911| 蜜桃臀久久| 加勒比av中文| 91久久堂| 蜜桃久久久久久久| 岛国小电影| 激情网色| 97精品熟女少妇一区| 欧美自拍偷拍综合图片| 日日骚AV| 婷婷丁香激情| 91女日逼| 中文字幕三四五区| 91麻豆天美传媒在线| 欧美久久人体| 殴美色网| 精品大全99999| 天天操熟妇| 午夜九九| 久久中久文96| 国产免费小视频| 亚洲天堂一区二区| 超碰久超碰久| …亚洲黄色厕厕女女在线播…| 9.1小视频| 综合欧美色图| 九九热只有精品| 91高清欧美| 日韩啪啪视频| 97免费在线观看| 精品性爱| 四虎国产精品永久在线囯在线| 另类图片欧美激情综合| 天天操夜夜操狠很操| 成人a级高清视频在线观看| 超碰成人公开| 久久直播国产| 色综合婷婷| 色哟哟的毛片| 天天欧美色| 在线视频五十市| 最新精品久久蜜桃| 久久久性少妇| 人妻少妇精品视频一区二区三区| 久久精品无码专区| 黑人综合网| 五月天我淫我色av| 尤物黄色在线观看网站| av日韩手机在线影视| 天天操天天舔| 黑丝少妇| 人人色人人射人人妻| 天天综合香 ld视频| 密臀AV在线| 久久精品高清无码一区| 2017天天插| 98久久超碰| 一级岛国大片| 午夜黄色免费在线观看| 99性爱| 久久精品老司| 一卡二卡三卡| 91综合网| 亚洲国产高清福利视频| 久99热| 大香蕉九九| 狠狠久久亚洲欧美专区| 五月丁香| 91红杏| 91老妇女| 蜜臀无码视频在线观看| 日韩不卡毛片Av免费高清| 中文字幕日韩国产传媒欧美精品| 91亚洲欧美色图| 九久久九九久视频| 久久中文字幕一区不卡| 日本精品高清一二区一本到| 日本一区二区三区欧美日韩中文字幕| 青青草白白色| 78超碰| 天天躁日日躁XXXXYY| 97超级久久强资源| 蜜臀一二三区| 岛国在线免费视频| 久久九九网| 国产亚洲精品美女| 蜜臀久久久99久久久久 | 人妻精品一区二区| 天天搞在线综合网| 熟女人妻av在线资源,黄色的资源| 无码人妻精品一区二区三区九九| 91日韩国产欧美亚洲另类精盘州至城都| 国产91亚洲精品一区二区三区| 久久丁香五月婷婷| 精产国品一区二三产品| 国产97在线播放| 精品人体无圣光凹凸| 午夜免费视频1000| 青青操日韩| 国产黄色 A 片免费看| 欧美精品人妻视频| 久久一区二区蜜桃| 大香蕉久| 久久久专区| 久久久99免费| 啊a一区在线| 噜噜噜噜天天狠狠| 91强奸乱轮| 香蕉久久精品| 成人免费视瓶| 亚洲综合另类欧美久久久| 超碰97久| 曰韩av中文字幕专区| 亚洲大色鬼| 成人小说视频在线精品欧美| 成人AV素股で擦久久| 好爽视频在线观看视频| 欧美v亚洲v日韩v最新在线二区| 日本新免费二区三区| 中文色综合| 九九精品美女高溯喷水| 91性情| 极品极品色影院| 久草精品一区 | 青青草精品| 色姑娘综合网| 久久艹逼视频| 亚州高清av| 伊人黄色视频免费观看| 无码九九九九| 亚洲97久久精品亚洲| 另类成人首页一区| 一区二区三区激情在线观看| 色香伊人| 亚洲欧美日韩夜夜| 国产91美女视频| 天天干天天狼在线视频| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 熟妇色99| 五月天社区| 91综合网| 亚洲综合图色在线| 午夜视频好爽啊| 婷婷九月国产| 99碰碰| 亚洲中文丝袜美腿诱惑字幕| 亚洲天堂区| 免费A片三p视频| 亚洲一区二区三区麻豆传媒| 在线观看无码三级少妇| 欧美丝袜美女电影一二三四区| 啪啪免费| 国产9熟妇视频网站| 激情五月天色播| 久久婷婷五月综合| 俺去俺来也在线www| 一区二区 韩日AV| 亚洲欧美人妻| 大香蕉92| 久久一区无码| 激情九月婷婷| 凸凹视频在线观看| 国产av强奸美女| 清纯唯美综合亚洲| 99久久99久久综合| 日本大香蕉综合网| 欧美天天综| AV无码久久久精品| 欧美97se| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 日韩欧美性爱电影在线观看| 久久精品一区| 久久香蕉国产线看观看猫咪av| AV中文字幕三四五| 人妻无码后入| 99久久婷婷国产综合| 中文乱码字幕观看| 日韩精品人妻中文字有码在线| 婷婷久久大香蕉| av激情亚洲五月天| 欧洲亚洲综合| 天天操av懂色| 琪琪精品免费一区二区三区 | 97天天综合网| 国产亚洲精品自在线亚洲情侣| 测评在线观看AV| 久久久久921| 亚洲精品久| 手机在线看片免费人成视频| 神马麻豆福利院| 91成人久久| 亚洲综合在线高清| 另类一区| ,成人免费啪啪视频| 中文字幕一区二区无码成人| 大香蕉欧美伊| 日韩精品99999| 看日韩操逼| 高清有码一区二区| 一区二区播放| 99re99视频在线免费观看| 黑操B| 欧美大香蕉同搞| 日本国产欧美一区三区二区| 国产suv精品一区| 台湾肥佬网一区二区三区| 伊人网av| 天天爽人人综合免费7799| 成人无遮挡毛片免费看| 亚洲熟女综合网| 久久久无码精品人妻二区| 亚洲男人的天堂网| 老色69| 久久国产视频性吧 | 人妻一二三区| 亚洲天天更新| www.人人摸在线视频| 黄色十八禁| 天天综合欧美综合| 亚洲、日韩、综合、另类| 久久99操天天日| 永久免费发布性爱网| 国产精品不卡av免费在线观看| 狠狠爱夜夜| 久区视频| 午夜综合在线| 亚洲熟女一区| 欧美 亚洲 另类 综合| 色综合中文字幕不卡| 国产女人高潮视频| 91大学精品激情戏| 99热精品在线| 五月色网| 五月丁香激情综合网| 岛国片在线观看视频亚洲| 精品国产一区二区三区香蕉欧美| Sekablack无码一区| 亚洲码在线中文在线观看| 欧美东京热青青草| 大香蕉淫人| 国产馆| 欧美资源| 久操免费观看| 久久久久久9| 日韩无码一级黄色av片| 夜夜精品视频| 日本操逼视频免费| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 男人的天堂亚洲| 97色色网| 亚洲色图超碰在线| 天天日天天色| 婷婷四五区| 天操天操夜操夜月操月年年操| 久久草在线综合视频| 久久XX| 久草综合京东| 精品一区二区麻豆| 影音先锋一区二区在线资源| 精品一二三区女同 | a v网站在线播放| 老熟妇一区二区三区…| 人人超碰在线观看黄| 欧美激情激情xxxx欧美专区| 亚洲九九视频在线观看| 伊人精品视频| 一区| 日夜干射色啊| 制服中出中文人人精品| 久久久久96| 久久91| 国产精品毛片?v一区二区三区| 欧美一区二区福利在线| 久久鲁干| 亚洲美乱| 欧美色天堂网在线视频| 欧美日韩亚洲电影| 亚洲欧美碰碰| 国产精品福利视频播放| 日韩黄色一区二区三区| 狠狠激情综合狠狠操中文字幕| 天天添天天干电影| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 东京成人一区| 天天综合欧美黑人| 插入逼91| 乱伦av.com| 天天摸,夜夜摸| 欧美夜夜骑视频| 91岛国动作片| 人人看欧美性爱|