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

ARTICLE DETAIL

資訊詳情

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

STM32智能小車循跡避障綜合實(shí)驗(yàn):狀態(tài)機(jī)與PD控制

STM32智能小車循跡避障綜合實(shí)驗(yàn):狀態(tài)機(jī)與PD控制 簡(jiǎn)介圍繞STM32智能小車的黑線循跡與紅外避障綜合實(shí)驗(yàn)這套工程源碼面向剛接觸嵌入式控制、希望從電機(jī)驅(qū)動(dòng)與傳感器采集入手理解小車運(yùn)動(dòng)邏輯的學(xué)習(xí)者。代碼以定時(shí)器配置電機(jī)為核心封裝前進(jìn)、剎車、左轉(zhuǎn)、左旋轉(zhuǎn)、右轉(zhuǎn)、右旋轉(zhuǎn)、后退等基礎(chǔ)運(yùn)動(dòng)函數(shù)注釋較為詳細(xì)便于把巡線判斷與避障策略拆成可讀、可改的模塊適合課程實(shí)驗(yàn)與入門小車項(xiàng)目對(duì)照練習(xí)。壓縮包共192個(gè)文件約6.49MB主體是34個(gè)c源文件與35個(gè)h頭文件覆蓋外設(shè)驅(qū)動(dòng)和工程組織同時(shí)保留Keil工程配置、編譯中間文件以及hex燒錄文件拿到后可直接對(duì)照目錄梳理定時(shí)器、GPIO與中斷相關(guān)配置。已有1187人學(xué)習(xí)說(shuō)明其在基礎(chǔ)巡線避障實(shí)驗(yàn)中有一定參考價(jià)值讀者可據(jù)此快速定位運(yùn)動(dòng)控制與傳感器處理的代碼入口并在此基礎(chǔ)上調(diào)整速度、轉(zhuǎn)向時(shí)長(zhǎng)與避障閾值。1. 從一塊循跡底板說(shuō)起STM32 智能小車綜合實(shí)驗(yàn)到底要解決什么很多人拿到 STM32 智能小車套件后做的第一件事是讓電機(jī)轉(zhuǎn)起來(lái)結(jié)果輪子一轉(zhuǎn)黑線循跡和紅外避障就全亂了——車要么在原地畫龍要么一頭頂?shù)綁ι?。這套 ZYSTM32-A1 綜合實(shí)驗(yàn)的價(jià)值不在于把兩個(gè)實(shí)驗(yàn)拼在同一個(gè)工程里而在于讓黑線循跡和紅外避障共用一塊主控、一套主循環(huán)、一份狀態(tài)機(jī)并且在兩種工況切換時(shí)不打架。它適合剛點(diǎn)完 LED、想完整做第一個(gè)嵌入式小車項(xiàng)目的人課程設(shè)計(jì)、畢設(shè)前期驗(yàn)證、入門競(jìng)賽練手都能直接用。讀完你應(yīng)該拿到一套能跑、能調(diào)、能講清楚“為什么這么寫”的方案而不是一張只會(huì)照抄的接線圖。2. 需求拆解與硬件選型三種工況、五路紅外和一套電機(jī)驅(qū)動(dòng)動(dòng)手畫原理圖之前先要把“這個(gè)小車要干什么”寫死。需求邊界不清后面選型就會(huì)一路糾結(jié)傳感器到底買三路還是五路驅(qū)動(dòng)到底用 L298N 還是 TB6612主控用 51 夠不夠。這一章按功能邊界、器件選型、引腳分配的順序把這些定下來(lái)。2.1 功能邊界循跡、避障、協(xié)同三種工況各自的驗(yàn)收口徑我把這套小車的功能切成三個(gè)工況每個(gè)工況都要有能測(cè)的驗(yàn)收口徑不然答辯時(shí)說(shuō)不清“做完了”是什么狀態(tài)。第一種是純循跡工況場(chǎng)地是一條 1.52 cm 寬的黑色電工膠帶直道加彎道最小曲率半徑按 30 cm 設(shè)計(jì)。驗(yàn)收口徑是從起點(diǎn)到終點(diǎn)約 5 m 全程不脫線單圈時(shí)間穩(wěn)定在 ±1 s 以內(nèi)。之所以把線寬限定在 2 cm 以內(nèi)是因?yàn)槲迓芳t外傳感器的探頭間距通常在 1015 mm線太寬會(huì)讓相鄰兩路同時(shí)壓線偏差計(jì)算的平均值會(huì)變鈍彎道就跟不上。第二種是純避障工況車前 1530 cm 出現(xiàn)障礙物時(shí)小車要在 0.3 s 內(nèi)做出反應(yīng)單側(cè)有障礙就向另一側(cè)讓正前方堵死就先后退再轉(zhuǎn)向。這個(gè)距離不是隨口定的紅外避障模塊的有效檢測(cè)距離通常在 380 cm 之間可調(diào)調(diào)太遠(yuǎn)會(huì)在彎道被場(chǎng)地邊沿誤觸發(fā)調(diào)太近則留給轉(zhuǎn)向的時(shí)間不夠。第三種是協(xié)同工況也是這套“綜合實(shí)驗(yàn)”真正的難點(diǎn)小車正在循跡前方突然出現(xiàn)障礙物要先切到避障動(dòng)作繞開之后還得自己找回黑線繼續(xù)跑。很多人的工程在單工況測(cè)試時(shí)都正常一到協(xié)同就露餡——避障結(jié)束后車在原地轉(zhuǎn)圈找線或者剛回到線上又被同一個(gè)障礙物觸發(fā)第二次。提示需求邊界一次就寫清楚“不做什么”比寫“做什么”更重要。這套方案不做攝像頭視覺、不做 SLAM 建圖、不做電機(jī)編碼器閉環(huán)調(diào)速純粹用開關(guān)量傳感器加 PWM 差速實(shí)現(xiàn)。邊界定了后面所有取舍都有依據(jù)。2.2 主控與傳感器選型為什么是 STM32F103 加五路 TCRT5000主控這塊市面上常見三條路8 位機(jī)、STM32F103 這類 Cortex-M3、以及跑 Linux 的板子。選 8 位機(jī)的理由是便宜、資料老但它的問(wèn)題在于定時(shí)器和硬件 PWM 通道太少兩路電機(jī) PWM 加上一路 1 ms 系統(tǒng)節(jié)拍基本就把資源吃滿了再想加串口調(diào)試都緊張中斷響應(yīng)也慢。STM32F103C8T6 這類芯片剛好卡在甜點(diǎn)上72 MHz 主頻、多個(gè)通用定時(shí)器、通道足夠跑兩路互補(bǔ) PWM 加一路 1 ms 節(jié)拍GPIO 數(shù)量也夠接五路循跡加兩路避障。選它的真正理由不是“性能強(qiáng)”而是“外設(shè)資源剛好夠而且不用搶”。循跡傳感器選五路 TCRT5000 反射式模塊而不是攝像頭。攝像頭能拿到更豐富的路面信息但要做圖像二值化、邊緣提取幀率還受限于串口傳輸對(duì)一個(gè)小車項(xiàng)目來(lái)說(shuō)投入產(chǎn)出比不劃算。五路紅外的信息量是 5 bit雖然粗但實(shí)時(shí)性極好——GPIO 一讀就有結(jié)果控制周期可以壓到 10 ms。代價(jià)是它對(duì)地面反光敏感淺色瓷磚上和在深色地毯上同一個(gè)模塊的輸出可能完全相反這一點(diǎn)必須靠電位器現(xiàn)場(chǎng)整定。避障用的也是紅外反射式模塊檢測(cè)距離可調(diào)。這里有個(gè)容易被忽略的差別循跡模塊是貼地近距離檢測(cè)避障模塊是朝前十幾厘米檢測(cè)兩者雖然都是紅外反射原理但發(fā)射功率和比較器閾值完全不同不能混用同一型號(hào)。至于電機(jī)驅(qū)動(dòng)L298N 和 TB6612 都行區(qū)別在壓降和效率對(duì)比項(xiàng)L298NTB6612FNG導(dǎo)通壓降約 1.42 V電池電壓低時(shí)明顯掉速約 0.5 V低壓差效率與發(fā)熱發(fā)熱大長(zhǎng)時(shí)間跑需要散熱片發(fā)熱小可長(zhǎng)時(shí)間連續(xù)工作邏輯電平5 V 邏輯3.3 V 主控需注意電平匹配兼容 3.3 V 邏輯PWM 頻率上限建議 10 kHz 以內(nèi)可上到 20 kHz 以上適合場(chǎng)景教學(xué)演示、短時(shí)跑動(dòng)長(zhǎng)時(shí)間連續(xù)跑、電池供電我一般建議這套實(shí)驗(yàn)用 TB6612不是因?yàn)橘F而是因?yàn)殡姵貜?8.4 V 掉到 7 V 的時(shí)候L298N 會(huì)先掉 2 V電機(jī)實(shí)際只拿到 5 V速度肉眼可見地變慢而循跡的 PD 參數(shù)是按某個(gè)速度整定的速度一變參數(shù)就全部作廢——這種“跑兩圈就變慢”的問(wèn)題排查起來(lái)非常磨人。2.3 引腳與外設(shè)資源分配表選型定完之后先把引腳表排出來(lái)避免寫到一半發(fā)現(xiàn)某個(gè)引腳被復(fù)用沖突。下面這張表是這套方案實(shí)際用的分配可以直接照著接線功能引腳模式/外設(shè)備注循跡 最左PB0GPIO 輸入上拉權(quán)重 -4循跡 左PB1GPIO 輸入上拉權(quán)重 -2循跡 中PB2GPIO 輸入上拉權(quán)重 0循跡 右PB3GPIO 輸入上拉默認(rèn) JTDO需關(guān) JTAG循跡 最右PB4GPIO 輸入上拉默認(rèn) NJTRST同上避障 前左PB5GPIO 輸入上拉檢測(cè)到障礙為低避障 前右PB6GPIO 輸入上拉檢測(cè)到障礙為低左電機(jī) PWMPA6TIM3_CH110 kHz左電機(jī) IN1/IN2PA4 / PA5GPIO 推挽輸出方向控制右電機(jī) PWMPA7TIM3_CH210 kHz右電機(jī) IN3/IN4PB12 / PB13GPIO 推挽輸出方向控制調(diào)試串口PA9 / PA10USART1115200打印狀態(tài)1 ms 節(jié)拍TIM2定時(shí)中斷系統(tǒng)時(shí)基啟動(dòng)按鍵PA0GPIO 輸入按下開始跑注意PB3 和 PB4 上電默認(rèn)被 JTAG 占用不關(guān)掉的話讀回來(lái)永遠(yuǎn)是固定值表現(xiàn)為“這兩路傳感器失靈”。初始化里加一句GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);只保留 SWD問(wèn)題就沒了。這個(gè)坑幾乎每個(gè)第一次用 F103 的人都會(huì)踩一次。3. 總體架構(gòu)設(shè)計(jì)三層結(jié)構(gòu)、兩個(gè)節(jié)拍和一個(gè)狀態(tài)機(jī)引腳定完接下來(lái)是軟件架構(gòu)。小車項(xiàng)目最容易寫成“一個(gè)大 while 循環(huán)里塞滿 if-else”能跑但改一處崩三處。這套方案分成三層加一個(gè)狀態(tài)機(jī)好處是每層都能單獨(dú)測(cè)傳感器可以只打印不驅(qū)動(dòng)電機(jī)電機(jī)可以只給定值不看傳感器狀態(tài)機(jī)可以拿串口喂假數(shù)據(jù)驗(yàn)證切換邏輯。3.1 感知層、決策層、執(zhí)行層的職責(zé)劃分感知層的職責(zé)只有一個(gè)把物理量翻譯成干凈的整數(shù)。五路循跡讀出來(lái)是 5 個(gè) bool經(jīng)過(guò)權(quán)重加權(quán)平均變成 -4 到 4 的偏差值兩路避障讀出來(lái)是兩個(gè) bool但要做 3 次采樣的多數(shù)表決濾掉瞬時(shí)的抖動(dòng)。感知層絕對(duì)不做判斷也不調(diào)用電機(jī)函數(shù)——這條紀(jì)律很重要否則后面想換傳感器就得動(dòng)半個(gè)工程。決策層是整個(gè)方案的大腦包含兩件事控制律和狀態(tài)機(jī)??刂坡奢斎肫?、輸出轉(zhuǎn)向量狀態(tài)機(jī)輸入避障標(biāo)志和丟線標(biāo)志輸出當(dāng)前應(yīng)該執(zhí)行哪種動(dòng)作。把這兩件事分開寫是因?yàn)樗鼈兊恼{(diào)試方法完全不同控制律看的是曲線和參數(shù)狀態(tài)機(jī)看的是狀態(tài)跳轉(zhuǎn)表。執(zhí)行層負(fù)責(zé)把決策結(jié)果翻譯成電機(jī)能懂的東西給定 -999 到 999 的帶符號(hào)占空比映射成 TIM 比較寄存器的值和兩個(gè)方向引腳的高低電平。執(zhí)行層還要做限幅因?yàn)椴钏贂r(shí)base turn很容易超過(guò)量程。三層的調(diào)用頻率也不一樣。感知層每 10 ms 采一次決策層每 20 ms 算一次執(zhí)行層是跟隨決策層立即輸出的。這個(gè)頻率差不是隨便定的10 ms 采樣配合 0.3 m/s 的車速每 3 mm 走一次采樣五路探頭的間距在 10 mm 量級(jí)采樣間隔遠(yuǎn)小于探頭間距不會(huì)漏掉線。3.2 定時(shí)器節(jié)拍1 ms 基準(zhǔn)怎么切出 10 ms 與 20 ms 任務(wù)裸機(jī)項(xiàng)目里最省事的調(diào)度方式是“1 ms 中斷打拍子主循環(huán)看拍子做事”。TIM2 配置成 1 ms 中斷中斷里只做一件事g_tick。中斷函數(shù)里千萬(wàn)不要讀傳感器、不要算 PID、更不要延時(shí)——中斷里做的事情越多抖動(dòng)越大PWM 輸出的節(jié)拍就越不穩(wěn)。/* TIM272MHz / 72 1MHzARR 999 → 1ms 中斷一次 */ volatile uint32_t g_tick 0; void TIM2_IRQHandler(void) { if (TIM_GetITStatus(TIM2, TIM_IT_Update) ! RESET) { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); g_tick; /* 中斷里只做計(jì)數(shù)其他全交給主循環(huán) */ } } int main(void) { uint32_t t_sample 0, t_ctrl 0; board_init(); /* 時(shí)鐘、GPIO、PWM、串口、TIM2 */ while (1) { if (g_tick - t_sample 10) { /* 10ms采一次傳感器 */ t_sample g_tick; sensor_scan(); /* 更新 g_err、g_ob_l、g_ob_r */ } if (g_tick - t_ctrl 20) { /* 20ms跑一次決策 */ t_ctrl g_tick; car_step(); /* 狀態(tài)機(jī) 控制律 輸出 */ } debug_report(); /* 空閑時(shí)打印不影響節(jié)拍 */ } }這里用g_tick - t_sample 10而不是g_tick % 10 0是為了防止某次任務(wù)執(zhí)行時(shí)間過(guò)長(zhǎng)導(dǎo)致漏拍——減法寫法即使錯(cuò)過(guò)一個(gè)節(jié)拍下一次也會(huì)立刻補(bǔ)上而取模寫法會(huì)整整丟掉一輪。參數(shù)上10 ms 和 20 ms 是最常用的組合如果場(chǎng)地彎道特別急可以把決策周期壓到 10 ms代價(jià)是串口打印會(huì)擠占時(shí)間調(diào)試信息要相應(yīng)減量。3.3 狀態(tài)機(jī)設(shè)計(jì)循跡態(tài)、避障態(tài)、搜索態(tài)、停車態(tài)怎么切狀態(tài)機(jī)是這個(gè)方案里最值得寫進(jìn)答辯的部分。四個(gè)狀態(tài)跳轉(zhuǎn)條件寫死誰(shuí)也別搶誰(shuí)的活當(dāng)前狀態(tài)跳轉(zhuǎn)條件下一狀態(tài)動(dòng)作循跡左右避障同時(shí)觸發(fā)后退雙輪反轉(zhuǎn) 300 ms循跡僅左側(cè)觸發(fā)右讓右轉(zhuǎn)差速持續(xù) 400 ms循跡僅右側(cè)觸發(fā)左讓左轉(zhuǎn)差速持續(xù) 400 ms循跡偏差值 丟線標(biāo)志搜索沿上次偏差方向原地找線后退障礙消失且計(jì)時(shí)結(jié)束循跡恢復(fù) PD 循跡左讓 / 右讓計(jì)時(shí)結(jié)束且障礙消失循跡恢復(fù) PD 循跡搜索重新檢測(cè)到黑線循跡清空 PD 的歷史誤差任意按鍵長(zhǎng)按 2 s停車PWM 歸零兩個(gè)設(shè)計(jì)細(xì)節(jié)決定了它能不能穩(wěn)定跑。第一是退出條件必須是“計(jì)時(shí)結(jié)束且障礙消失”只寫“障礙消失”會(huì)在障礙物邊沿反復(fù)橫跳車頭就在那里來(lái)回抖。第二是從避障或搜索回到循跡時(shí)必須清空 PD 的last_err否則上一狀態(tài)殘留的歷史誤差會(huì)讓微分項(xiàng)突然打出一個(gè)大輸出車會(huì)猛地甩一下。4. 關(guān)鍵模塊實(shí)現(xiàn)偏差計(jì)算、比例微分循跡與避障優(yōu)先級(jí)架構(gòu)講完落到代碼。這一章四段代碼對(duì)應(yīng)四個(gè)模塊每段都能單獨(dú)燒進(jìn)去驗(yàn)證先只打印偏差確認(rèn)五路讀數(shù)對(duì)得上位置再接控制律最后接電機(jī)。跳過(guò)任何一步后面調(diào)參數(shù)都是盲調(diào)。4.1 五路紅外采樣與加權(quán)偏差計(jì)算/* 極性統(tǒng)一TCRT5000 模塊 DO 壓黑線時(shí)輸出低電平取反成 1 檢測(cè)到黑線 */ #define S_LL (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)) #define S_L (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1)) #define S_M (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_2)) #define S_R (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_3)) #define S_RR (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_4)) #define LINE_LOST 99 static const int16_t kWeight[5] { -4, -2, 0, 2, 4 }; /* 位置權(quán)重單位半格 */ /* 返回 -4 ~ 4 的偏差負(fù)數(shù)表示線偏左返回 LINE_LOST 表示五路全白 */ int16_t line_read_error(void) { uint8_t s[5]; int16_t sum 0, cnt 0; s[0] S_LL; s[1] S_L; s[2] S_M; s[3] S_R; s[4] S_RR; for (uint8_t i 0; i 5; i) { if (s[i]) { sum kWeight[i]; cnt; } } if (cnt 0) return LINE_LOST; return sum / cnt; /* 取平均抑制多路同時(shí)壓線造成的偏差跳變 */ }第一段代碼的核心是“極性收斂”和“取平均”兩個(gè)動(dòng)作。極性收斂指的是不管模塊輸出高有效還是低有效都在宏定義這一層統(tǒng)一成“1 檢測(cè)到黑線”這樣后面所有邏輯只認(rèn)一種約定換一批模塊只要改五個(gè)宏。取平均是為了處理一種常見情況車正好壓在兩條線的交匯處或者線寬超過(guò)探頭間距兩三路同時(shí)為 1此時(shí)直接把權(quán)重相加會(huì)得到 -6 這種超出量程的值除法一平均就回到 -2量程始終鎖在 -4 到 4 之內(nèi)。丟線返回 99 是個(gè)約定值比返回 0 好——返回 0 會(huì)被當(dāng)成“線在正中間”車會(huì)保持直行沖出場(chǎng)地返回 99 就能在狀態(tài)機(jī)里單獨(dú)分支處理。4.2 循跡控制律為什么用 PD 而不是純比例typedef struct { float kp; float kd; int16_t last_err; int16_t out_limit; } pd_t; static pd_t g_pd { 12.0f, 30.0f, 0, 320 }; /* 初始參數(shù)需按實(shí)車整定 */ /* 輸入偏差輸出轉(zhuǎn)向量帶符號(hào)已限幅 */ int16_t track_output(int16_t err) { int16_t diff; float out; diff err - g_pd.last_err; g_pd.last_err err; out g_pd.kp * err g_pd.kd * diff; if (out g_pd.out_limit) out g_pd.out_limit; if (out -g_pd.out_limit) out -g_pd.out_limit; return (int16_t)out; } /* 差速執(zhí)行base 是基礎(chǔ)速度turn 是轉(zhuǎn)向修正 */ void track_run(int16_t err) { int16_t base 250; /* 0 ~ 999 */ int16_t turn track_output(err); motor_set(MOTOR_L, base turn); motor_set(MOTOR_R, base - turn); }只用比例項(xiàng)P的問(wèn)題是明顯的偏差一出現(xiàn)就立刻修正修正過(guò)頭就反向超調(diào)車在直道上左右小幅擺動(dòng)也就是俗稱的“畫龍”。微分項(xiàng)D看的是偏差的變化量偏差快速變化時(shí)提前給一個(gè)反向的抑制量等效于給系統(tǒng)加了阻尼。這套參數(shù)里kp 12、kd 30是初始值實(shí)際整定順序是先把kd設(shè)為 0kp從 5 開始往上加加到車在直道上剛好開始小幅擺動(dòng)然后把kp退回一檔開始加kd加到擺動(dòng)消失為止。out_limit設(shè)成 320 而不是 999是因?yàn)樗鷅ase 250配合——如果限幅太寬一次修正就能讓一側(cè)輪子反轉(zhuǎn)車會(huì)原地打轉(zhuǎn)。經(jīng)驗(yàn)上把out_limit控制在base的 1.2 倍左右即單側(cè)輪子最多減到接近 0 但不會(huì)反轉(zhuǎn)。4.3 避障優(yōu)先級(jí)與轉(zhuǎn)向策略#define OB_L (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5)) /* 檢測(cè)到障礙為 1 */ #define OB_R (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_6)) typedef enum { ST_TRACK, ST_BACK, ST_AVOID_L, ST_AVOID_R, ST_SEARCH, ST_STOP } state_t; static state_t g_state ST_TRACK; static uint16_t g_state_tick 0; /* 狀態(tài)內(nèi)計(jì)時(shí)單位 20ms */ /* 每 20ms 調(diào)用一次返回新狀態(tài) */ state_t car_sm_step(uint8_t ob_l, uint8_t ob_r, int16_t err) { g_state_tick; switch (g_state) { case ST_TRACK: if (ob_l ob_r) { g_state_tick 0; return ST_BACK; } if (ob_l) { g_state_tick 0; return ST_AVOID_R; } if (ob_r) { g_state_tick 0; return ST_AVOID_L; } if (err LINE_LOST){ g_state_tick 0; return ST_SEARCH; } return ST_TRACK; case ST_BACK: /* 后退 15 拍 300ms */ if (g_state_tick 15 !ob_l !ob_r) return ST_TRACK; return ST_BACK; case ST_AVOID_R: /* 右讓 20 拍 400ms */ if (g_state_tick 20 !ob_l) { g_pd.last_err 0; return ST_TRACK; } return ST_AVOID_R; case ST_AVOID_L: if (g_state_tick 20 !ob_r) { g_pd.last_err 0; return ST_TRACK; } return ST_AVOID_L; case ST_SEARCH: /* 最多找 1.5s找不到就停 */ if (err ! LINE_LOST) { g_pd.last_err 0; return ST_TRACK; } if (g_state_tick 75) return ST_STOP; return ST_SEARCH; default: return ST_STOP; } }這段狀態(tài)機(jī)里有三個(gè)刻意寫進(jìn)去的保護(hù)。第一每個(gè)避障狀態(tài)的退出都要求“計(jì)時(shí)到 障礙消失”兩個(gè)條件同時(shí)成立缺一個(gè)都會(huì)在障礙物邊緣反復(fù)切換。第二ST_AVOID_R的退出只判斷!ob_l不判斷!ob_r因?yàn)橄蛴易尩臅r(shí)候右側(cè)傳感器可能會(huì)掃到新的障礙如果兩個(gè)都要求消失車會(huì)卡死在讓行狀態(tài)。第三搜索狀態(tài)有超時(shí)上限1.5 s 還找不到線就停車避免車在原地?zé)o限轉(zhuǎn)圈燒電機(jī)——這個(gè)上限比“一直找下去”更實(shí)用至少在測(cè)試時(shí)你能看出它停在了哪里。4.4 PWM 調(diào)速與電機(jī)方向控制#define MOTOR_L 0 #define MOTOR_R 1 void motor_pwm_init(void) { GPIO_InitTypeDef gpio; TIM_TimeBaseInitTypeDef tb; TIM_OCInitTypeDef oc; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); gpio.GPIO_Pin GPIO_Pin_6 | GPIO_Pin_7; /* TIM3_CH1 / CH2 */ gpio.GPIO_Mode GPIO_Mode_AF_PP; gpio.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOA, gpio); /* 72MHz / 72 1MHz 計(jì)數(shù)ARR 99 → PWM 頻率 10kHz */ tb.TIM_Prescaler 71; tb.TIM_Period 99; tb.TIM_CounterMode TIM_CounterMode_Up; tb.TIM_ClockDivision TIM_CKD_DIV1; TIM_TimeBaseInit(TIM3, tb); oc.TIM_OCMode TIM_OCMode_PWM1; oc.TIM_OutputState TIM_OutputState_Enable; oc.TIM_OCPolarity TIM_OCPolarity_High; oc.TIM_Pulse 0; TIM_OC1Init(TIM3, oc); TIM_OC2Init(TIM3, oc); TIM_Cmd(TIM3, ENABLE); } /* duty: -999 ~ 999負(fù)數(shù)為反轉(zhuǎn) */ void motor_set(uint8_t ch, int16_t duty) { if (duty 999) duty 999; if (duty -999) duty -999; if (ch MOTOR_L) { GPIO_WriteBit(GPIOA, GPIO_Pin_4, duty 0 ? Bit_RESET : Bit_SET); GPIO_WriteBit(GPIOA, GPIO_Pin_5, duty 0 ? Bit_SET : Bit_RESET); TIM_SetCompare1(TIM3, (uint16_t)(duty 0 ? duty : -duty)); } else { GPIO_WriteBit(GPIOB, GPIO_Pin_12, duty 0 ? Bit_RESET : Bit_SET); GPIO_WriteBit(GPIOB, GPIO_Pin_13, duty 0 ? Bit_SET : Bit_RESET); TIM_SetCompare2(TIM3, (uint16_t)(duty 0 ? duty : -duty)); } }PWM 頻率取 10 kHz 有兩個(gè)理由一是高于人耳可聽范圍的下沿電機(jī)不會(huì)發(fā)出尖銳的嘯叫聲二是 TB6612 這類 MOS 驅(qū)動(dòng)在 10 kHz 時(shí)的開關(guān)損耗可以接受長(zhǎng)時(shí)間跑不會(huì)燙手。如果換成 L298N頻率不建議超過(guò) 10 kHz否則三極管來(lái)不及完全導(dǎo)通效率會(huì)更低。motor_set里把“方向引腳”和“占空比”這兩件事綁在一個(gè)函數(shù)里是為了避免出現(xiàn)“改了占空比忘了改方向”導(dǎo)致電機(jī)反著轉(zhuǎn)的問(wèn)題。傳入負(fù)占空比時(shí)方向引腳翻轉(zhuǎn)、比較寄存器取絕對(duì)值邏輯上單調(diào)接線反了也只需要在調(diào)用處加個(gè)負(fù)號(hào)。5. 避坑與排查這套小車上最容易翻車的五個(gè)點(diǎn)前面四章講的是“應(yīng)該怎么寫”這一章講的是“實(shí)際會(huì)怎么壞”。這五個(gè)問(wèn)題在我自己搭和幫別人調(diào)的過(guò)程中反復(fù)出現(xiàn)每一個(gè)都有明確的現(xiàn)象、成因和解法照著對(duì)號(hào)入座能省掉大量時(shí)間。5.1 一上電就往一邊猛沖或者讀出來(lái)的傳感器永遠(yuǎn)不變現(xiàn)象車通電后兩個(gè)輪子朝相反方向轉(zhuǎn)或者串口打印出來(lái)的五路循跡值永遠(yuǎn)是1 1 1 1 1。原因前者是電機(jī)方向引腳的電平組合和預(yù)期相反兩個(gè)輪子一個(gè)正轉(zhuǎn)一個(gè)反轉(zhuǎn)后者幾乎都是 PB3、PB4 被 JTAG 占用。F103 復(fù)位后 PB3 默認(rèn)是 JTDO、PB4 默認(rèn)是 NJTRST配置成普通 GPIO 輸入也沒用讀回來(lái)的值固定。解決方向問(wèn)題不要靠改接線在motor_set里把對(duì)應(yīng)通道的 IN1/IN2 互換即可接線保持整齊便于排查。JTAG 問(wèn)題在 GPIO 初始化之前加一句GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);只保留 SWD 下載口燒錄不受影響。5.2 直道跑得很穩(wěn)一進(jìn)彎道就沖出去現(xiàn)象場(chǎng)地直道上小車走得筆直進(jìn)入半徑 30 cm 的彎道后車頭貼著外側(cè)沖出去糾正不回來(lái)。原因三種可能按概率排序是控制周期太長(zhǎng)、kp偏小、差速飽和限幅太窄??刂浦芷?20 ms 時(shí)車速 0.4 m/s 每拍走 8 mm彎道上的偏差累積得很快等算出來(lái)已經(jīng)晚了kp太小則修正力度不夠out_limit太小則想修正也修不動(dòng)。解決先把決策周期壓到 10 ms 試一次如果明顯改善就是周期問(wèn)題。否則把out_limit從 320 放到 400再看彎道表現(xiàn)最后才動(dòng)kp。順序很重要——先放限幅再調(diào)增益不然你會(huì)以為kp不夠一路加大結(jié)果直道上開始畫龍。5.3 避障模塊在深色地面上一直誤報(bào)現(xiàn)象場(chǎng)地?fù)Q到深色地膠或者黑色桌面上避障模塊不管前面有沒有東西都輸出“有障礙”小車一直在后退。原因紅外反射式模塊靠接收反射光強(qiáng)判斷距離深色表面吸光接收端收到的光很弱比較器就判定為“沒有反射 → 有障礙”。這不是模塊壞了是原理決定的。解決一是現(xiàn)場(chǎng)重新調(diào)電位器把閾值調(diào)到實(shí)際能用的位置二是給模塊加個(gè)遮光筒用黑色熱縮管剪一段套在探頭外面擋住環(huán)境光干擾三是軟件上做多數(shù)表決連續(xù) 3 次采樣有 2 次以上為 1 才算真障礙。第三條最省事代價(jià)是響應(yīng)延遲一個(gè)采樣周期10 ms 完全能接受。5.4 電機(jī)一轉(zhuǎn)單片機(jī)就復(fù)位現(xiàn)象空載時(shí)串口打印正常一旦給電機(jī)加占空比單片機(jī)隨機(jī)復(fù)位串口輸出亂碼或者程序跑飛。原因電機(jī)啟動(dòng)瞬間電流是堵轉(zhuǎn)電流的量級(jí)電池內(nèi)阻上產(chǎn)生壓降主控的供電被拉低到復(fù)位閾值以下。另外電機(jī)是感性負(fù)載換向時(shí)會(huì)產(chǎn)生反向尖峰通過(guò)電源和地線串回主控。解決硬件上電機(jī)電源和主控電源分開走線只在電池端單點(diǎn)共地電機(jī)兩端并 0.1 μF 電容加一個(gè)續(xù)流二極管主控電源入口加 100 μF 電解電容和 0.1 μF 陶瓷電容。軟件上啟動(dòng)時(shí)讓占空比斜坡上升每 20 ms 加 50而不是直接從 0 跳到 250沖擊電流能小一半。這套小車上電就復(fù)位的問(wèn)題九成是這兩條之一沒做到。5.5 避障結(jié)束回不了線在原地轉(zhuǎn)圈現(xiàn)象小車成功繞開障礙物但之后一直在原地左右轉(zhuǎn)找不到黑線最后超時(shí)停車。原因繞障動(dòng)作把車帶離黑線太遠(yuǎn)五路探頭全部落在白區(qū)返回LINE_LOST而搜索邏輯只是原地轉(zhuǎn)轉(zhuǎn)向方向和線的實(shí)際位置相反。另外g_pd.last_err沒有清零微分項(xiàng)一上來(lái)就是一個(gè)大值。解決搜索時(shí)不要原地轉(zhuǎn)改成“沿著繞障的反方向小半徑畫弧”也就是右讓之后向左找左讓之后向右找這個(gè)方向和繞開時(shí)車頭偏轉(zhuǎn)的方向相反命中率最高。同時(shí)把搜索速度降到基礎(chǔ)的 60%慢一點(diǎn)更容易被探頭掃到?;氐骄€之后第一件事是清空l(shuí)ast_err讓 PD 從零開始。6. 驗(yàn)收與答辯用一套可復(fù)現(xiàn)的測(cè)試把車“跑通”講清楚功能做完不等于項(xiàng)目做完驗(yàn)收測(cè)試要能重復(fù)、能記錄、能拿給不懂的人看。我一般按下面這張表跑一遍每項(xiàng)測(cè)三次取最差的那次因?yàn)榇疝q現(xiàn)場(chǎng)發(fā)揮失常是常態(tài)按最差成績(jī)準(zhǔn)備才穩(wěn)。序號(hào)測(cè)試項(xiàng)測(cè)試方法合格線1直道循跡3 m 直線膠帶全速通過(guò)3 次全部不脫線2彎道循跡R30 cm 連續(xù)彎跑 5 圈脫線次數(shù) ≤ 13單側(cè)避障車前左側(cè) 20 cm 放障礙物0.3 s 內(nèi)開始右讓繞過(guò)后 2 s 內(nèi)回到線上4正前避障車前正中 20 cm 放障礙物先后退再轉(zhuǎn)向不撞不卡死5協(xié)同彎道中段放障礙物完成繞障并繼續(xù)循跡全程不超時(shí)停車6掉電重啟連續(xù)上電 20 次20 次均正常啟動(dòng)無(wú)復(fù)位異常測(cè)試時(shí)把串口打印打開每 100 ms 輸出一行err / ob_l / ob_r / state / duty跑完之后把日志導(dǎo)出來(lái)畫一條偏差隨時(shí)間的曲線。這張曲線在答辯時(shí)比任何口頭描述都有說(shuō)服力——評(píng)委一眼能看出來(lái)你的系統(tǒng)在彎道上是“提前修正”還是“撞上去才修”這兩種的控制水平完全不同。答辯講述我建議按“工況 → 取舍 → 一次翻車”的順序走不要從技術(shù)棧開始講。先說(shuō)清楚這套車分了哪三種工況、每種工況的驗(yàn)收口徑是什么這能證明你想過(guò)需求再說(shuō)你做了什么取舍比如為什么用五路紅外不用攝像頭、為什么用 TB6612 不用 L298N、為什么控制周期是 20 ms 而不是 5 ms每個(gè)取舍都要落到具體的數(shù)字上最后講一次你踩過(guò)的坑和怎么定位的比如“車一進(jìn)彎就沖出去我一開始以為是 kp 不夠加了兩輪之后直道開始畫龍才回頭去查控制周期發(fā)現(xiàn) 20 ms 下每拍走 8 mm改成 10 ms 就好了”。這個(gè)故事里包含了現(xiàn)象、錯(cuò)誤假設(shè)、糾正過(guò)程比背概念更能說(shuō)明你真的動(dòng)手做過(guò)。從那以后我每次做這種帶傳感器的車類項(xiàng)目都會(huì)在寫控制邏輯之前先把“只打印不驅(qū)動(dòng)”的版本跑通讓串口把五路原始值、兩路避障值、偏差值一起打出來(lái)人工推著車沿場(chǎng)地走一遍確認(rèn)每一路的跳變位置和物理位置對(duì)得上。這一步花不了二十分鐘但能擋掉后面八成莫名其妙的“算法不收斂”——畢竟傳感器讀錯(cuò)了再好的 PD 參數(shù)也是白搭。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
收看日本人日bb| 新版天堂中文资源8在线| av天堂影视中文在字幕在线中文 | 久久极品一区二区| 大香蕉草草| 成人综合色网| 欧亚在线视频| 亚洲欧美黄| 欧美一区二区三区大综合| 久久精品日韩| 青青草中文字幕| 国产精品交换一区二区| 日韩人妻有码免费视频| 91操人| 色爱国产| 日韩在线一区二区| 日语五十路和六十路亚洲国产精品 | 免费一级性爱久久| 夜夜夜夜爽| 蜜臀精品1区2区| 五月丁香综合啪啪| 亚洲欧综合另类无码一区| 大色网久久| 日本蜜桃| 九九成人精品| 狠狠搞 亚洲91| 日韩无码专区| 啪一啪免费视频| 超碰成人公开| 国产精品视频白浆免费| 日韩高清黄片| 日本人妻伦在线中文字幕| 国产精品另类一区大香蕉| 色五月激情网| 日本3级一区二区免费| 韩国免费播放一级毛片| 国产一国产一级毛片古装| 国产美女91| 国产精品一区二区麻豆| 亚洲男人天堂视频| 美女毛片999| 亚洲精品天天影视综合网 | 麻豆区久久久久亚| 久久久久久国产精品| 性夜影院爽黄A爽免费动漫| 人妻 制服 日韩 中文 在线| 91色婷婷综合久久中文字幕二区| 国产精品黑人一区二区三区| 变态另类专区| 夜夜嗨一区| 极品色电影院| 欧美大战久久久伊人| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 性色av婷婷久久一区二区点复制| 人妻-91porn| 日本在线15p| 亚熟hd视频在线| 九九精品无码专区免费| 国产探花精品在线| 六月丁香婷| 久久久久国产精品人妻aⅴ天堂| 九热中文字幕| 国产福利影视| 日本超碰在线国产一区| 人妻无码视频一区二区三区久久| 丝袜足交视频| 午夜丁香| 中出20p| 久久久久九九九| 精品国产乱码| 农村妇女一级二级三级视频| 九九免费影片| 一区AV| 人人摸人人干人人拍97| 天综合中文| 欧亚日韩综合精品国产| 乱伦熟女论坛| 亚洲天堂,男人| 欧美国产视频| 亚洲无 码A片在线观看麻豆| 久久精品国产96精品亚洲拳交| 精品无码一区二区| 欧美天天| 一区二区三区在线资源| 啊啊啊啊啊啊啊啊在线观看| 亚洲中文日韩精品| 精品夜夜澡人妻无码| 91视频国品一二三区| 91路www| 你懂的在线观看区国产| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 91艹| 操逼操逼逼操操逼91| 天天透伊人| 91热色| 日人妻视频91| 久久99手机免费视频| 一区二区三区四区理论片| 青青久久手机线视频| 久久曰曰| 蜜区区视频79| 强奸乱伦av电影| 天天日天天屌天天操| 中文字幕第9页萱萱影音先锋| 国产自产自拍| 亚洲凸凹超碰成人| 99久久e免费热视| 91视频成人福利网站在线一区| 超碰在线综合97| 黄色欧美性爱视频| 国产精品色| 国产麻豆福利av在线播放| 亚洲综合影视| 黄色人人| 91美女色视频亚洲| 无套内射人妻在线播放| 美女十八禁| 玖玖爱视频网站| 美女写真| 丰满欧美放荡少妇在线| 无色无码| 大香蕉懂9| 粉嫩不卡一区二区性爱| 中文字幕欧美精品亚洲日韩蜜臀| 中文字幕jul-617人妻熟女| 东京热熟女亚洲视频网站| 国产精品国产亚洲区艳妇糸列| 人妻精品一区二区全免费| 欧美精品精品一区二区| 午夜精品99久久久久传媒| 啊啊啊啊操死我| 少妇诱惑视频| 无套内射人妻在线播放| 夜夜夜夜爽| 国产精选三级在线观看| 亚洲日韩视频二区| 夜夜操中文字幕| 国产男人又猛又粗又爽| 国际精品久久久| 电影69乱码96| 亚洲第一精品在线视频| 91痴汉| 亚洲成人综合在线| 国产传媒午夜理伦精品| 中文一区在线日| 黄色片大香蕉| 91亚洲综合| 日韩精品一区,二区 九九...老司机| 国产精品嫩草久久久久| 亚洲做性| 偷窥自拍亚洲色图| 亚洲国产欧美中文永久| 9久久久久| 国产女性无套 免费观看| 中文字幕加勒比海高清无码免费视频 | 国产精品久久久九九九| 香蕉人人操tv| 色屁屁影院www国产| 吻戏激情性巴克| 在线岛| 天欧美在线| 99热免费| 久操网视频| 久久有码视频| 亚洲男人天堂2019| 亚洲国产婷婷在线播放| 欧美综合第一页| 蜜臀AV成人精品蜜臀| 欧美成人黄网色网站| 久久久96| 国产精品动态一区二区三区四四| 刺激精品视频| 91麻豆天美国产欧美日| 国内毛片婷婷六月色| 偷拍亚洲视频一区二区三区四区| 女同性恋一区二区三区精品视频| 五月大香蕉| 亚洲AV成人无码一二三久久| 美女十八禁| yiren97| 亚洲天堂热| 26uuu偷拍亚洲欧洲综合| 男女啊啊啊| 啊啊啊啊啊啊啊啊啊在线观看| 婷婷激情四射| 深田咏美亚洲精品福利社| 人人操人人爽人人操人人| 色网亚洲人| 一区二区三区日韩欧美| 夜夜爽爽爽| 在线v中文字幕一区二区三区| 精品人妻一区二区三区四区不卡在| 亚洲欧美日韩中文久久自慰| 日本天天人人狠狠在线日美女 | 97久久久久久久精| 色色五月婷| 成年人三级黄色片视频| a片 xxxx受爽视频| 欧美日韩色| 99re6在线视频精品免费完整版安卓版| 好淫网一二三视区| 日韩人妻精品久久久久| 夜夜嗨AV一区天天| 五月丁香婷婷综合| 全球成人中文在线| 天天综合网日韩7799| 69视频入口| 加勒比99999| 欧美日韩97在线| 最新中文字幕av| 91黑丝在线播放| 日本久久精品| AA丁香综合激情| 亚欧国产无码精品在线| 亚洲一区二区三区欧美日韩| 91久热| 欧美中出1| 天天色综亚洲91污| 一级成人性爱| 国产精品视频麻豆入口| 天堂а√在线最新版在线| 人人操,人人插| 国内精品久久人妻性色av| 欧美不卡五十路| 超碰97色| 日韩福利电影网| 天天日天天操天天射河南省| 精品无码秘 人妻一区二区| 韩国一级做a久久久久| 91劲爆| 久久香蕉网| 日本黄 R色 成 人网站| 啊视频在线| 欧美十八禁视频| 亚洲欧洲日韩中文字幕一区| 天天干天天做| 国产在线76页| 91女人的网站| 欧美乱妇狂野欧美在线视频| 大乔未久88一区| 97就爱干| 精品欧美乱码久| 日韩兔费看黄片| 成人蜜乳小视频网站| 干我久操| 99re公开精品免费视频| 国模少妇一区二区三区| 午夜免费视频1000| 97人亚洲综合字幕| 人妻精品一区一区三区蜜桃91| 人人妻人人色一区二区三区| 欧美精品二区视频在线| 久久久久国产精品喷潮免费观看臀| 亚洲小电影免费涩涩成人在线高清| 国产精品区在线12p| 日本免费专区| 九九热精品| 美女啊啊啊啊pc| 麻豆天美传媒在线视频天堂| 大香蕉92| 97天天| 超碰在线人妻中文字幕| 少妇高潮对白在线观看| 大香蕉亚洲中文| 五月黑AⅤ| 啊操爽品善一区二区三区| 久久久96精品| 大学生美女口爆| 日韩欧洲操屄视频| 五月丁香| 91欧美综合在线| 天堂综合网| wwwxxx日本爽| 日本三级中国三级99人妇网站| 久久9精品视频| 99蜜月精品久久| 国产97亚洲| 琪琪精品免费一区二区三区 | 麻豆久久视频在线地址| 亚洲自拍一区夜夜操| 一区二区三区色综合| 日本天天干天天操一区| 无码精品一区二区三区潘金莲| 久操大香蕉手机视频在线看 | 天天综合网亚洲综合网| 亚洲欧美日韩制服另类| 色欲久久综合| 综合天天。| 国产精品视频内谢女人| 国产一区96在线| 日韩精品系列| 国产精品区在线12p| 五月婷婷丁香| 中文字幕免费看| 摸奶性爱视频网站在线免费播放| 一起草av| 偷拍综合亚洲| 国产精品探花在线| 五月天久久婷婷亚洲| 久久久久久久9| 亚洲免费人妻在| 91熟女综合| 丁香九月婷婷| 青草视频在线看看看看看看看看看| 极品AV网站在线观看| 日韩国产精品人妻无码久久久| 国模少妇一区二区三区| 日韩综合第八区国产精品| 久久成人国产精品| 人妻一区二区三区| 97视频在线播放| 丁香久久| 午夜九九九九九九| 深爱五月天| 亚春色色| 色综合久| 欧美日韩色| 亚洲综合五月天| 国产日韩中文字幕欧美| 女人高潮抽搐喷水视频网站| 一区二区三区四区五区久久久久久| 国产91啪| 日韩人妻网站| 久久国产免费激情视频| 91男人天堂网| 丁香五月天视频| 欧美日韩亚洲少妇寂寞影院正在播放 | 爱爱60秒免费视频| 精品国产乱码久久久影院| 久久久国产亚洲精品系列| 黄色大片一区二区密桃丝袜| 干妹子| 日韩性爱播放| 97chaopengongkai| 冬京热男人的天堂| 欧美A片中文字幕| 欧美精品双插| 乱伦av麻豆| 91高潮喷水美女| 国产操偷| 国产精品一区二区密臀| 一区二区偷拍拍视频| 91少妇人妻| 十八禁网站在线| 手机午夜电影神马久久| 久操在97| 中文激情网| 久久精品久| 午夜精品久久久99| 91社操逼| 操熟女91| 中文字幕天天天天天| 国产大陆天天艹| 丰满熟女人妻一区二区三五十一路| 玖玖资源综合在线视频| 欧美色就是色| 黑人精品久久97| 亚洲一区中文字幕一区| 极品国产内射| 日韩中文字幕精品一二三事国产精品| 男人的天堂不卡一区二区| 国产家庭乱伦表演| 欧美日韩精品青青| 天天插天天射| 国产99久久99热这里只有精品15| 色香综合天天影视综合 | 丁香六月婷婷| 亚洲色图欧美色图日韩色图| 久久久涩| 久久久久ab| 亚洲成人在线播放| 一类av片在线看| 久久久啊啊啊| 91九九九小逼| 图片区小说区| 呦呦影院| 97免费在线观看| 好舒服视频| 欧美男人一区| 日本一级二级三级网站| 思思热国产高清| 蜜臀th| 香一区二区三区| 国产女人91精品嗷嗷嗷嗷| 日韩兔费看黄片| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 亚洲成人一二三区| 91久热| 欧美操逼熟女| 久久久久久久强迫| 91熟女丨91老女人| 51一区二区三区| 日本欧美色| 亚洲夜夜欢无码一区二区| 极品欧美一区二区三区| 97视频免费播放| 97操综合| 久久精品夜色国产亚洲AV| 天天综合色电影| 静品嫩模一区二区| 国产一区二区三区精品观看啪| 日韩熟女无码| 日韩电影在线观看网址| 啊啊啊免费| 成人区人妻精品一| 五月天人妻综合| 在线人妻熟女一区二区三区四区五区| 99性爱视频| 在线v中文字幕一区二区三区| 午夜男女爽爽大片免费观看| 少妇高潮九九九九| 日韩精品-原创伙伴| 麻豆精品三区视频| 不卡一区视频| 人妻 制服 日韩 中文 在线| 日日干夜夜操视频h| 亚洲一区深夜| 人人考人人摸人人干| www.久久超碰| 国内外毛片在线观看| 亚洲综合图色在线| 99蜜桃臀亚洲成人在线观看| 日韩中文字幕熟妇人妻| 操我啊啊啊啊啊| 丝袜制服字幕在线| 少妇一区二区三区在线观看| n1038 一二三区| 久久本道| 啊嗯好大视频在线观看| 暖暖精品二区三区观看| 欧洲免费一区二| 国产精品对白内射| 午夜天堂网| 欧美一区二区传媒| 亚码人妻| 大干人妻| 人妻丝袜一区二区三区在线| 丰满人妻一区二区三区免费| 欧美日韩在线小说 | 大香蕉综合| 淫妻综合网| 麻豆天美国美国产| 天天弄欧美| 神马影院午夜福利久久久| 亚洲日产专区婷婷| 大香蕉日亚洲日本亚大| 神马久久久久久久久| 亚洲情色 自拍| 天啪| 1769国内精品视频| 久久夜黄色无码A级大片| 中文字幕亚韩| 发朗少妇买婬全视频中文| 97香焦色区| 啊啊啊啊啊啊好湿好爽视频| 9999亚洲精品| 91欧美少妇| 97精品久久| 欧美精品日韩久久久九| 亚洲一区二区精品福利| 亚洲黑丝在线| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧亚韩国999| 亚洲一区二区av| a片自拍直播视频| 亚洲国产婷婷在线播放| 久操操| 色九月综合| 亚洲国产亚洲天堂| 亚洲情色欧美| 手机看片1024你懂的国产| 色蜜AV| 色呦呦、国产精品| 青青草AV色| 亚洲国产一级黄色视频| 国产成人自拍视频在线| 中文字幕天天天天天| 在线 欧美 亚洲| 日韩电影在线观看网址| 亚洲经典啪啪| 亚洲 另类 丝袜 自拍 动漫| 啊啊啊啊啊啊在线| 亚洲色图欧美视频| 欧美视频第二页| 九九九九亚洲| 国产三区免费在线观看| 久久嫩草国产成人一区| 亚洲第一视频 欧美风情 日韩| 超碰日韩人妻| 亚洲色五月| 久久久精品一区二区| 91中文字幕在线观看| 日韩综合成人免费视频| 丁香五月色情| 欧美黑人日韩少妇色情| 91丨九色丨国产丨人妻在线| 超91综合网| 曰本特级特黄特色黄色A级网站高清在线免费看| 久久在线观看免费视频| 九月色婷婷| 韩国嫰模上门援交视频| 在线播放成人高清免费视频| 国产亚洲一黄| 欧美,日韩,中文,另类| 操逼片国产| 久久人妻四季| 超碰97亚洲| 日韩成人电影AV| wuyechaopeng| 日韩欧美aⅴ综合网站发布| 青青青操| 91综合在线| 欧美色图天堂在线| 欧美性爱超碰97| 天天色天天干天天射| 九九久久99| 欧美性爱精品七区| 久久久久骚| 一本久道久久综合狠狠爱一密臀精| 玖玖爱免费观看视频| 亚洲精品国产av天美传媒| 国产高清午夜成人在线观看| 91黑丝少妇| 久久夜夜| yazhousetuoumei| 欧美色欧美| 亚洲精品一区二区三区新线路| 蜜臀久久99精品久久久久久酒店| 日韩欧美综合激情| 91无码人妻| 国产成人无码啪| 色www精品视频在线观看| 91人精品妻入口| 91精品电影18| 丝袜AV一区二区三区| 综合久久欧美| 东北操逼| 亚洲啪啪性视频| 蜜臀久久99精品久久久久久成人小说| 精品久热| 黄色视频高清无码网站| 黄色二级片网站| {男男暴菊gay无套网站| 躁躁日曰躁2020| 国产精品露脸在线观看| 国产精品密臀网在线观看| 国产高清精品一区二区三区毛片| 欧洲精品一二三在线| 温婉少妇玩3p| 色九九久九九| 色呦呦、国产精品| 亚洲免费成人在线高清无码视频 | 天美欧美国产| 少妇干B| 欧美九九九| 日本美女性生活久久久久久久| 2023天天操夜夜操| 夜夜爽爽夜夜精品视频| 色婷婷网| 中文AV制服乱伦| 中文字幕在线2| 色色色五月婷婷| 日韩性爱啪啪视频| 色亚州人久干视频在线观看免费版| 男人的天堂一区三区| 亚洲乱妇p22| 91美女视屏| 中文字幕日韩人妻视频一区二区三区| 蜜臀中文无码午夜| 国产性刺激| 国产精品久久久久久 百度| 男人的天堂三级| 人妻天天操天天爽视频免费| 成人精品在线免费视频| 死我十八禁| 日韩性色b| 欧美日韩操逼动图| 国产乱子伦久久精品综合一区二区三| 91爰爱欧美| 久久久一区二区三区四曲免费听 | 亚州国产成人精品女人久久| 艹我哪美一区无码| av在线免费一区二区| 91宗合网| 91nbbbbbb| 日韩欧美女优电影| 欧美日韩一区二区三区四区蜜桃| 精品无码一区二区三区色欲| 久久香蕉国产线看观看亚洲女人 | 欧美少妇大量自拍视频在线观看| 日韩三级天堂在线观看| 亚洲中文字幕在线视频一区二区| 91劲爆| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 亚洲色图综合网| 欧美 亚洲 制服 精品| 啪一啪免费视频| 爱妃国产亚洲视频中文字幕| 精品美女少妇一区二区| 色网综合网| 三级片大波波| 超碰人人妻| 精品一二三区久久AAA片| 尤物网站91| 亚洲中文丝袜美腿诱惑字幕| 日本免费一区二区不卡| 日韩欧美资源| 久久女同性恋一二区| 综合亚洲情色| AV一二区| 少妇与黑人高潮在线| 亚洲国产欧美日韩人妻日中文| 1024日韩| 婷婷月色| 伊色综合天堂色97| 啊啊啊啊啊在线观看网址 | 91 亚洲 欧洲| 情色日播放AV| 久久发布国产伦子伦精品| 欧美后进式| 色综合美国| 九九无码久久精品视频| 一区二区久久天天干狠狠| 亚洲色吧网| 久久欧美1卡2卡3| 亚洲、日韩、综合、另类| 九九九网页| 有码人妻系列| 啊啊啊好舒服视频在线观看| 大乔未久88一区| 智利AV在线网| 日韩精品人妻中文字幕不卡乱码| 91操熟女视频| 日韩猛交| 日欧操屄| 综合影视国产无码| 欧美性爱五月天| 99在线免费视频| 97亚洲综合电影| 色欲人妻一区二区在线| 国产成人精品午夜福利| 免费男人的天堂| 欧美碰碰综合色| 尤物视频视频官网| 国产又黄又粗的视频| 人人操人人摸人人看人人干| 亚洲AV成人无码久久精品播放| 婷婷丁香在线| 在线女人91| 久久人妻无码毛片A片麻豆| 67914在线兔费成人视频| 午夜精品久久久久久久久久久久久| 97天堂| 人人操人人操人人人操| 欧美成人黄网色网站| 黄污污污污| 9超碰免费| 9 1超碰九色| 69天堂| 亚洲AV无码AV吞精久久久久| 99日精品欧美国产| 亚洲伊人久久精品狠狠在线| 亚热日本熟女| 91色婷婷综合久久中文字幕二区| 熟女这里只有精品6| 3p国产色噜噜一区| 亚洲情色1区| www.acm成人黄色毛片| 91视频综合网| h无码动漫在线观看| 麻豆人妻精品一区二区| 秋霞午夜视频一区二区| 上床啊啊啊| 国产毛片久久久久久久| 婷婷啪啪| 狠狠躁日日躁夜夜躁A| 日韩有码专区| 久干9操| 一区=区三区视频| 亚洲天在线| 影音先锋日本一区二区| 天天色粽合合合合合合合| 日影院久久婷婷夜夜网| 欧美亚洲情色| 国产欧美日韩在线不卡第一页| 美女的肌被草喷水视频| 亚洲色图欧美色18直播在线| 亚洲一级性爱视频免费看| 男人天堂2012| 偷拍亚洲情色| 中国一级操逼视频| 女人天堂AV五区在线| 桑老女人九区| 久久黄色性爱视频| 综合激情97 | 温婉少妇玩3p| 久偷拍| 久久专区| 天天干天天干天天干| 91碰碰| 可以在线观看的黄色网址| 亚洲有薄码区日本系列中文字幕| 欧美啪啪天堂| 国产成人bd在线观看| 亚洲大色堂| 亚洲中文字幕在线视频一区二区| 人妻嗯啊啊在线播放| 青青青草原| 欧美视频一区二区在线| 激情视频一二三| 欧美日韩插逼视频| 91丝袜美腿网站| 综合久久97| 青青草操逼逼视频| 成人三级片一区二区三区视频| 日本www操操操| 97超碰免费生活| 国产成人精品必看| 亚洲免费97免费| 国产探花日韩援交| 97视频在线观看高清资源| 91在线视频国产网站| 一二三四日本视频高清| 久久免费9| 丁香五月成人| 中文字幕99999| 国产少妇与亚洲av| 欧美色人| 97高清啪啪| 日本国产亚洲一区在线观看| 夜夜高潮夜夜爽| 久久免费99精品久久久久久| 五月天综合网| 国产极品精品美女视频| 亚洲和欧美裸体美女双飞视频| 亚洲国产av中文字幕久久| 884t在线| 欧美一级国产一级| 亚洲脚交| 狠狠色色| 亚洲天堂男人的天堂| 女人妻一区| www.99色| 四虎在线播放| 91干熟女| 青娱乐啪啪视频| www四虎| 精品国产91内射久久| 午夜欧美神马久久久久| 激情综合网五月婷婷五月天| 亚洲双插| 国产人妻精品久久久一区二区三区 | 97视频网站| 欧美性,色九九| 国产精品无码久久久久2028| 日本 情色 1区2区3区| 韩日精品四区| 国产v片在线免费观看| 使劲用力艹少妇视频一区二区| 天天日天天干天天整| 久久久青青草| 内射中出日韩在线观看视频| 精品午夜福利国产一区二区在线观看| 亚洲区限制级 99| 大香樵伊人网| 26uuu偷拍亚洲欧洲综合| 午夜福利一区二区三区四区五区色婷婷| 国产精品久久久久av| 亚洲加勒比| 国产久久男人天堂| 久久久久久久人妻| 高清无码在线播放网站| 竹菊一区二区三区AV线| 用力操死我| 国产亚洲色婷婷久久99精品91葵花宝典 | 澳门黄片一香蕉视频| 在线小说视频一区| 久久手机视直播| 久久久久久久久成人av解说| 97欧美视频| 少妇内射视频| 日本三级小说中文字幕| 99久久久er直播网址| 清纯唯美亚洲综合| 一区二区视频你懂的| 麻豆久久视频在线地址| 怡红院成人视频| 欧亚日韩三区| 国产女人高潮视频| 色哟哟511老熟女| 亚洲久久久久| 玖玖爱伊人玖玖爱| 蜜桃在线观看一区二区三区 | 性色国产东北露脸精品视频| 五月天婷婷成人网| 18禁精品网站在线看| 99热在线播放| 亚洲双插| 天美一区在线| 亚洲熟女综合| 久久久久久久极品香蕉视频| 色香色欲天天综合网天天来吧| 91精品人妻偷情| 久久性视频| 亚洲AO在线| 日本色色色| 五月天丁香婷婷综合网站| 无码高清操逼| 亚洲国产熟妇综合色专区| 天天情欲宗合网| 亚洲欧美一区二区不卡视频播放 | 国产成人精品日本视频| 日韩中文字幕国产| 亚洲欧美小说| 天天网综合| 精品无av| 亚洲玖玖爱| 精品久久艹| 91天射| 97精品久久久久久久| 久久久久久久一级黄色打同平台| 爆操无码| 亚洲欧美日韩精品久| 亚洲精品一二区| 午夜亚洲WWW湿好大| 另类图片天天影视| 麻豆成人影音在线| 最新制服中文第一页| 亚洲人妻久久久| 国产精品第一页国产大屁股视频免费区i | 亚洲 日本 一 二 三| av资源在线播放天堂| 亚洲九月丁香| 欧美日韩操操操| 人人操人人操草草| 日韩一级成人毛片免费观看 | 国产操操日韩三级黄| 日本成人A片网站| 八戒午夜福利理论片| 自拍内地三级在线观看| 人人么人人操| 国产家庭乱伦表演| 日韩激情毛片一级久久久| 精品国产三级av韩国在线| 人人么人人操| 26uuu欧美日韩| 色综合久久av| 在线观看AV片| 静品嫩模一区二区| 69精品人人人人| 久久超碰久| 成人熟女视频一区二区三区| 亚洲五区熟女| 青青草字幕AV| 啊啊啊啊在线播放| 久久精品国产亚洲粉嫩| 美女啊啊啊啊啊| 超碰97久久| 欧美黄色片在线播放| 色黄色美女大长腿午夜视频| α√在线| 人妻久久久久久| 天天淫人人妻日日色| 鸥美精品一区二区久久婷婷| 欧美色日本| 色一区二区三区综合| 麻豆尤物视频网| 欧美色亚洲| 精品国产91内射久久| 国产精品色片一区二区| 91色久| 天天操天天射青青草| 亚州 综合 色图| 国产97在线播放| 97干在线| 国产一级不卡在线观看| 综合激情五月丁香| 澳门人妻久久| 91少妇通奸网站| 啊v在线观看视频| 日本高清视频xxxx| 翔田千里av一区二区三区| 一区二区三区精品黑丝白丝酒店对鸡| 蜜桃精久三区| 熟妇无码视频三区| 极品另类| 久久鲁干| 伊人大香蕉在线| 91美女视频电影| 成人精品无码| 人妻在线视频| 亚洲另类色图片| 丰满欧美放荡少妇在线| 无遮挡男女激烈动态图| 伊人久操| 精品国产91久久久久久一区黄无| 亚洲天天精品| 欧美精品二区视频在线| 欧美一区二区三区日韩| 伊人青青一区成人视频在线观看区| 2019亚洲男人天堂| 人妻色偷色噜| 免费看日产一区二区三区| 中文字幕55555| 深爱伊人影院| 中国大陆国产高清AⅤ毛片| 欧美黑人XXXⅩ高潮交| yy少妇精品久久| 日本阿v天堂在线观看| 人人射人人操人人摸| 嗯嗯嗯啊啊啊操的我好爽| 欧美综合色综合| 黄色片一区二区三区四区五区| 欧美国产日韩清纯唯美| 久久骚| 精品人妻1区| 九色97| 97日韩欧美亚洲| 四虎国产精品永久地址入口| 九色 人妻 大香蕉| 东京热91| 囯产操逼片| 亚洲色图国产另类| 青娱乐淫乱1314| 在线 制服丝袜中出 人妻| 欧美综合传媒| 欧美日韩另类在线播放| 综合国产97| 91日韩国产欧美亚洲另类精盘州至城都| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美色蜜桃97| 午夜精品久久久久久久99蜜桃一| 啊啊啊啊啊好大好舒服想要| 深夜福利黄片| 少妇高潮99p| 久久久久白虎| 韩国黄色片精品久久久| 激情四射婷婷六月天| 国产精品点击进入在线影院| 日本不卡码黄色| 亚洲色图欧美色图另类图片| 99无码视频| 日韩内| 激情色色| 加勒比无码毛片| 十八禁视频网站| 久久久一区二区三区麻豆| 乱伦3P视频| 久久久草草精品| 在线人人人人人人精品超| 欧美色日| 永久免费发布性爱网| 男人精品天堂一区| 国产无马视频| 久久视频少妇美女| 欧美成人性爱视频免费观看 | 日韩精彩视频| av日韩在线观看电影| 综合天天。| 伊人色综合网电影| 蜜桃AV天堂| 97五月天| …亚洲黄色厕厕女女在线播…| 猛交交| 91在线视频国产网站| 男人的天堂成人的社区| 欧美gv在线观看| 男人天堂综合| 另类 日韩 熟女| 伊人久大| 日韩精品 资源| 黄片免费日韩| 大香蕉欧美国产日韩高潮| 性爱边摸边日免费AV| 欧美在线|亚洲| 丁香五月婷婷色| 成人羞羞视频国产| 加勒比日本在线| 免费作爱一级视频| 97操B| 天天综合精品| 国产精品一区av在线| 亚洲情色综合网| 97五月天| 一个人免费视频观看在线WWW| 国产免费久久精品99re韩国| 国产成人无码高清| 老熟女综合| 天天享受天天看| 成人网站 免费观看| 黄页| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 搡老女人老91妇女老熟女| 久久超碰、| 五月天婷精品激情| 日躁天天爽爽| 久草男人天堂| 色播五月丁香| 黄色片A级一区二区三区| 一区二区三区色综合| 99精品在线观看| 国产美女销魂在线观看不卡| 国产97综合| 岛国小电影| 自拍偷拍 日韩无码| 91殴美| 青娱乐手机日韩在线视频| 91狠狠色丁香婷婷综合久久| 国产肏逼网站| 激情婷婷丁香网| 开心六月色| 丁香六月啪| 亚洲国产精品99久久久| 欧美日韩狠狠爱| 一区二区三区无卡视频在线观看| 色色五月天激情| .精品人妻一区二区三| av2014 日韩在线中文字幕| 中文字幕在线观看第二页| 欧美久久伊人| 国产欧美在线观看免费观看| 啊啊啊轻点在线观看| 久久综合乱子伦国产免费| 色综合久| 69少妇一区二区| 亚洲开心网| 97操综合| 1204金沙人妻懂旧版免费| 亚洲精品男人的天堂| 男女性感激情网站| 蜜臀一区二区三区在线| 四虎影视国产精品| 久干网| 人妻久热在线| www色色com| 色嗨嗨在线| 以及麻豆国产入口在线观看免费| 美女黄页网站| 96精品一区| 亚洲欧洲日产国产综合网| 你操综合| AA丁香综合激情| 日韩乱插| 约操熟妇| 国产野战露脸在线播放| 超碰97亚洲| 99少妇内射| 青青草在线视频美女| 性交一区二区在线播放| 日日夜夜骚| AV天天综合| 美女刺激久久国产欧美| 久久婷婷亚洲| 在线性黄高清免费视频| 国产成人手机视频激情| 日韩高清黄片| 色吧5亚洲| 激情婷婷综合久久| 欧美精品宗合| 亚洲国产97| 丰满人妻-区二区三区免费看| 99精品无码| 天天干1区2区在线| 丰满丝袜少妇AV| 国产乱青青草久久| 天天草AV| 91精品国产乱码| 成人一级二级| 久久久久人| 国产av色网| 人人妻人人色一区二区三区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 免费人人搞97| 天天综合香 ld视频| 色爱综合网欧美| 91殴美大片| 久久蜜色情在线视频xxx免费观看| 夜夜操av亚洲一区二区| 欧美日韩资源在线| 二对二中文字幕。| 激情终合网| 亚洲日韩欧美一区二区| 婷婷九月国产| 夜夜操夜夜高潮夜夜爽国产精品区| 国产精品国产| 亚洲素人综合| 国产精选视频| 国产精品操| 精品日韩人妻视频| 日本色色视频网站| 日韩国产欧美伦理在线| 成人aⅴ一区二区三区| 亞洲久久直播| 婷婷久久大香蕉| 亚洲 综合 欧美| av在线人气| 天堂伊人久久| 国产成人啪一区二区| 久久线上视频免费看| 天天肏天天干| 色综合国产在线观看| 亚洲色系另类精品国产| 亚洲一卡2卡3卡4卡乱码网站| 国内精品久久久久影院亚洲| 91狠狠综合久久久久久| 男女打扑克高清网站| 亚洲综合113页| 日韩人妻丝袜美腿中文| 日韩无码人妻中字久久三区四区| 精…码一二三区| AA级电影三区| 黄片免费看黄片免费看| 97色色网| 青青草视频久久久久| 2017超碰| 国产精品视频在线观看| 久久日韩精品一区二区| 啪一啪免费视频| 亚洲男人天堂2019| 九热大香蕉| 久久久免费视频18| 97操| 丁香五月综合| 999日韩中文精品观看视频。| 色玖玖| 精品无码久久久久久久久果冻糖心 | 日本高清视频xxxx| 性爱乱伦一区| 欧洲综合视频| 久久人人爽av亚洲精品天堂桃色| 97超碰欧美手机| 国产高清精品一区二区三区毛片| 影音先锋国产精品| 亚州色站 日韩电影| 精品无人区麻豆乱码1区2区图片| 中文字幕丰满人妻日本| 黄色欧美性爱视频| 亚州成人a∨| 婷婷精品久久av影视| 以及麻豆国产入口在线观看免费| 日韩一级片在线看| 97中文字幕色| 成人性交免费视屏| 亚洲囯产精品女人久久久| 少妇超碰在线| 国产精品3| 妇女性内射冈站HDWWWCOM| 九九色逼| 伊人亚洲综合| 秋霞网无码| 欧美操人| 国产自啪精品视频网站黑丝| 天天看精品动漫视频一区| 丁香六月激情综合| 国产精彩女在线观看视频| 99久久久无码国产精品性啊聊| 九九无码视频| 亚洲精品白丝| 国内毛片热久久思思热| 97色碰|