日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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ī)的理由是便宜、資料老但它的問題在于定時(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ù)就全部作廢——這種“跑兩圈就變慢”的問題排查起來(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問題就沒了。這個(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ī)??刂坡奢斎肫睢⑤敵鲛D(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的問題是明顯的偏差一出現(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)的問題。傳入負(fù)占空比時(shí)方向引腳翻轉(zhuǎn)、比較寄存器取絕對(duì)值邏輯上單調(diào)接線反了也只需要在調(diào)用處加個(gè)負(fù)號(hào)。5. 避坑與排查這套小車上最容易翻車的五個(gè)點(diǎn)前面四章講的是“應(yīng)該怎么寫”這一章講的是“實(shí)際會(huì)怎么壞”。這五個(gè)問題在我自己搭和幫別人調(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)的值固定。解決方向問題不要靠改接線在motor_set里把對(duì)應(yīng)通道的 IN1/IN2 互換即可接線保持整齊便于排查。JTAG 問題在 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 試一次如果明顯改善就是周期問題。否則把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ù)位的問題九成是這兩條之一沒做到。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
返回資訊列表
黄人人操人人操| 亚洲国产丝袜在线观看| 绑缚麻绳人妻寝取完整版| 91/欧美| 久久一本大香蕉| 亚洲好色人妻| 免费岛国一级片| 一本大道不卡一二三区| 丁香五月天堂网| 四虎AV影视国产精品亚洲精品| 国产精品午夜精品| 97色伦97色伦国产欧美| 337p大胆噜噜噜噜噜91Av| 91色图片| 思思热一热婷婷热一热| av黄图片在线观看| 超碰超碰欧美| 91在线一起| 日韩欧美亚洲自拍偷拍| 熟女人妻一区二区三区| 91撸色网 玖玖网 欧美| 久久久久久人体| 日韩美女啪啪一区| 天天欧美色| 日韩av情韩国爱禁区av一区二区| 亚洲熟女乱色一区二区三区| 五月丁香六月婷综合成人综合| 国产a级精品| 伊人嫩草| 国产精品毛片?v一区二区三区 | 大香蕉男女超碰精品在线| 日韩78m视频| 日韩精品人妻| 日韩99神马视频播放片在线播放| 玖玖大干人妻| 国产成人手机视频激情| 亚洲清纯唯美| 日韩人妻有码免费视频| 国产人伦精品一区二区三区| 久久久久久久| 动漫爆乳3D奶水一区在线观看| 白丝jkav| 久久精品一区二区一8| AV中文在线| 欧美亚洲综合999| 素颜老阿姨乱情色| 一个国产在线综合网站| 91人妻视频在线| 亚洲丝袜诱惑| 亚洲色久| 啊啊啊草死我| www.婷婷五月天| 亚洲一二三四区在线免费看视频| 色官网色综合| 亚洲色悠悠久久88| 国产亚洲精品美女久久久久久2021| 青青草自拍视频在线播放| 九九九九一区| 国产欧美一区激情交| 欧美高潮| 日韩乱码av| 99re99| 男男H黄动漫啪啪无遮挡网站| 精品十三区| 搡老熟女免费视频| 日韩一999精品| 久久伊人网视频一区二区三区| 欧美性夜| 亚洲天堂区| 69麻豆天美| 首页亚洲国产高跟丝袜诱惑视频| 屁股久久久久久久久久| 一品道视频一区二区三区| 怡红院成人视频| 簧片免费看视频| 国模91| 日韩不卡a级视频专区| 东方亚洲在线操逼天堂| 日本五十路熟女一区二区| 久草男人天堂| www.人人cao| 啊啊啊好疼| 国产无马视频| 日韩天天综合| 艳美熟妇先锋一二三区| 翔田千里A片一区二区| 国产后入精品| 日韩av在线精品观看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 又大又大又大又粗爽高潮观看| 人妻嗯啊啊在线播放| 欧美日韩另类激情图片| 区一在线观看| 久久九九视频九九视频| 夜夜久久久| 性欧美另类高清| 国产又黄又粗又猛大片| 欧美在线中M| www.人人cao| 91中文字幕制服丝袜免费视频| 91无码中出人妻视频| 亚洲情色综合| 亚州Av天美传媒| 婷婷色播婷婷| 亚洲欧美色图小说| 91网站在线播放| 色婷婷久久| 午夜精品久久99蜜桃的功能章节| 亚洲宗合网| 国产成人精品日本视频| 麻豆久久精品亚洲精品88| 中文字幕在线观看网页| 亚洲制服欧美另类内射| 麻豆亚洲AV成人无码久久精品| 人人爽夜夜操| 女人喷水视频在线观看| 国产午夜精品理论片a大结局| 青青草字幕AV| 99爱精品| 九九色逼| 国产精品久久天天干| 偷拍片久久| 成人婷婷丁香| AV一区观看| 伊人宅男大香蕉| 国产视频一区二区三区久久亚洲天堂 | 精精夜夜| 综合色啪| 欧美日韩黄片精品在线| 另类图片综合| 日韩人妻少妇 一区二区三区| 久久精品人人做人人看| 成人一二三区| 熟妇人妻一区二区三在线| 丁香婷婷啪啪| 日本操大逼| 久久精品店| 亚洲天堂日本| 黄色十八禁网站| 熟女视频久久| 成人97人人超碰人人| 精品国产乱码久久久久久久久久毛片| 嗯嗯嗯,草死我| 五月丁香婷婷综合网| 蜜乳成人AV| 久艹免费| 欧美 亚洲 91| 精品久久99| 97人人干人人操| 五十路六十路七十路熟婆| 欧美九九九| 一区二区视频你懂的| 日本三级黄页| 国产树林里野战在线看| 北约熟女超碰| 色yeye成人免费视频| 欧美影院一区二区三区| 国语精品av| 久久久久久久久久久久黄色 | 久超碰这里只有精品| 手机在线人成免费视频| 黑人精品一区二区在线播放| 久久青青草在线视频| 天天综合麻豆视频| 99啪啪| 一本道综合色图| 亚洲欧美在线观看2021| 91精品女厕偷拍视频| 少妇一级无码精品| 日日摸天天爽夜夜欢| 久区视频| 在线二区不卡| 日日超碰亚洲| 立川理惠被中出无码| 亚洲熟女人妻中文字幕一区二区| 久久精品女同亚洲女同13| 色综和网| 九九九九欧美| 加勒比AV网| 男人的天堂2018.| 91九久| 日日操天天操| 成人日韩欧美| 中文啪啪视频| 欧美最婬乱婬爆婬性视频 | 国产热av| 香蕉色网| 亚洲不卡一| 久湿久久 | 久久夜色一区二区| 人妻美腿丝袜制服诱惑综合天堂-| A级片一区| 男人的天堂2018| 中文字幕在线免费观看| 91夜色| 一级黄色性爱裸体视频| 五码视频在线观看| 成人小说视频在线精品欧美| 免费1级a做爰片观看| 免费看片黄| 国产亚洲深夜激情| 婷婷丁香九月| 亚洲精品影视老司机| 日韩精品黄片免费观看| 国产精品麻豆成人AV艾秋| 久久精精区一区二区一蜜桃一区二区| 亚洲人妻一区二区三区| 亚州少妇| 国产精品91ai| 91成人久久| 九九九只有精品| 91国产丝袜白虎| 色综合大香蕉| 草草草视频在线免费看| 1000部熟女视频在线观看| 欧美 日韩 亚洲 春色| 国产一级高跟丝袜| 操逼日韩无码 | av橘色网站| 欧美劲爆第一页| 亚洲熟女综合网| 狠狠婷婷亚洲中文综合久久| 国产又色又粗又黄又爽| 乱论91| 国产女性无套 免费观看| 爽爽淫人网| 伊人大香蕉在线| 蜜臀久久在线视频| 99热国产精品| 91亚洲综合在线| 亚洲九区| 啊啊啊啊啊在线视频| 粉嫩不卡一区二区性爱| 日韩欧美字幕亚洲一区二区 | 人人做人人妻人人夜视频| 欧美传媒| 人妻熟女一区二区在线视频| 国产欧美日韩臀| 日韩一级二级三级免费看完整版国语版 | 天久久久噜噜噜久久国产精品爽爽 | 亚洲精品国产熟女| 亚洲偷拍自拍在线视频| 综合色图亚洲欧美| 97超碰美国| 国产精品女aA片爽爽视频| 大香交| 91成人无码| 久热影视| 亚洲操操操| 中文字幕片| 欧美97se| 久久久精品中文字幕爱豆| 手机看片1024你懂的国产| 日韩久久三区| 久久大陆| 亚洲少妇在线观看| 欧美十八禁导航成人| 婷婷激情四射| 熟妇人妻一区二区三在线| 暴力av在线| 亚洲欧美色图小说| 青草av在线| 亚洲男人天堂2012| 91人人| 人妻aa| 欧美第一页性| 国产三级中文字幕粉嫩 | 国产后入内射| 久久久中文| 韩日无码在线观看| 亚洲中文字幕日产无码久久| 无码人妻一区二区三区免费九色| 美國A片| 野狼激情网| 人人九九精| 一级片视频啪啪| 99九九精品| 久操在97| 国内亚洲高清无码| 国色天香av| 久久国产精品视频| 久久精品毛片免费不卡| 色女综合| 九九九免费视频| 亚洲激情在线一区二区| 久久久久久久久久精| A级国产欧美激情在线| 91free福利| 91AV天美在线视频| 狠狠操官网| 久久黄黄| 亚洲 欧美综合| 亚洲免费人妻在| 九草在线大香蕉| 乱伦强奸区日韩| 婷婷综合网| 国产精品久久久久久夜夜夜夜| 一中国女人毛片水真多| 韩国一区二区精品亚洲| 天天综合青苹果| 九九探花视频在线观看| 久久久久久久久久久久欧美日| 激情天天视频| 欧美激情视频一区二区三区不卡| 啊啊啊啊啊啊好多水| 思思热在线视频精品| 欧美在线|亚洲| 国产AV久久野战精品| 亚洲天堂情色| 少妇人妻好深太紧了vr91| 99抽插| 国产精品成人AV片免费看网站| 亚洲天堂电影精品一区| 日韩欧美女求操每天更新| 免费毛片在线播放| 91麻豆天美国产欧美高潮| 国产一区二区欧美日本| 久久精品高清无码一区| 青娱乐久久艹| 久久久无码精品人妻二区| A片 AV一级在线播放观看免费 | 国产尤物AV尤物在线观看不卡 | 人妻夜夜爽天天爽三区麻豆AV网站| 天天日天天色| 色99999| ,国产乱人伦精品一区二区三区| 男人久久天堂| 麻豆国产av网| 性videos欧美熟妇hdx| 欧美人妻二区三区| 日本成熟少妇A∨网站| 成人精品视频一区二区| 国产精品原创巨作?v网站| 亚欧中文字幕在线视频| 色色福利| AV色女综合| julia高潮后不停追击中出| 91制服丝袜中文字幕| 在线观看AV不卡| 一区二区乱码福利| 九九九九免费高| 少妇干B| 亚洲综合色图欧美| 蜜桃久久综合视频| 免费国产电影一区二区| 超碰 国产熟女精品一区| 三级片网站在线播放| 天天爱天天操| 九九九九日本| 在线视频日韩欧美国产| 国语少妇精| 2025亚洲男人天堂| 成人乱码一区二区三少妇| 91 偷| 天天干天天日天天射黄色| 国产最火爆久久国产网站网站| 亚洲熟女一区| 天天流夜夜操| 岛国片在线播放| 97国产精选| 久久黄色网址| 色婷婷激一区二区三区| 日本三级精品| 97视频在线观看高清资源| 欧美性爱视频免费一区一A | 欧美国产伊人久久久久| 久久久久久九| 天天天天天超碰| 色狠狠综合| w w w.久久精品| 五月开心久久AV官网| 日本三级大片| 人妻丰满熟妇一区二区三| 超碰综合97在线| 久久天天摸| 青娱乐国产盛宴视频| 一区二区三区麻豆| 97资源免费视频| 天天做天天爱| 亚洲国产尤物yw在线观看| 欧美日韩小说| baiduhicn.com。| 久久小视频| 中文字幕一区二区日韩网| 91欧| 天天草AV| 9热9热综合网| 久热9| 欧美性爱免费短视频| 99re28在线观看| 牛牛久久国产精品视频一二三| 婷婷99狠狠躁天天躁| 青娱乐欧美激情一区二区| 丰满人妻一区二区三区免费| 日韩中文字幕宗合在线| 丝袜喷水在线| 大香蕉亚洲中文| 精品v日韩欧美国产| 无码久久国产 | 2017天天拍大香蕉| 少妇色欲综合网2| 欧美在线55555| 欧美精品成人亚洲| 久热99| 中日韩久久久| 日本人妻中文字幕| 麻豆天美91| 90后后入| av 模特一区了| 日韩国产十八禁| 大香蕉操久久| 99ri精品| 精品在线观看视频在线| 色五天伊人| 天堂v无码免费视频| 人妻精品一区二区三区| 职场同事知名国产国产精品久久欧美日韩 | 天天色黄色影院天天操| 美女被啪到深处抽搐视频| 亚洲丝袜二区在线| 欧美黑人168页欧美黑人167| 神马久久69| 久久视网78| 97网址www| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 久久国产三区| 亚洲激情网一二三四区| 综合久久婷婷| 久久国产视频性吧| 99热91| 亚洲国产日韩欧美熟妇在线| 欧美国产日韩高清在线| 亚洲中文字幕网| 国产CHASE男男GAYGA 毛多色婷婷| 操逼操逼逼操操逼91| 青草视频人妻在线观看| 78久久久| 91黑丝美女| av72网| 欧美久久人妻少妇一区二区| 婷婷五月天无码 | 国产熟妇一区二区| 美女大乳久久久久久久女人18| 中文字幕在在线观看网站| 淫淫总合网| 欧美嗯啊……在线观看视频免费| 狠狠躁AV| 91色图片| 久久久久密臀视频| 91色s| 欧美日韩精品久久久久东北老熟妇| 加勒比性爱成人在线| av草草在线电影| 97在线观看免费| 国产又大又粗又长视频| 一本一道久久综合久久| 欧美性爱超碰97| 熟女人妻一区二区三区免费看| 精…码一二三区| 尤物网站91| 一级AV性爱| 2017人人操,人人摸| 久久东京伊人一本到鬼色| 国产精品无码av在线| 亚洲色图欧美视频| 99免费在线视频| 欧美亚洲国内自拍| 神马久久中文字幕| 久湿久久| 91bbbbbb| 亚洲 中文字幕 精品| 91在线一起| 清纯唯美综合| 91av熟女人妻| 无码av永久免费专区网站| 黄色高清无码无码破解免费暗网 | 密臀AV在线| 熟女91网| 试看60秒 爽| 青青免费在线视频一区| 无码聚合| 日本曲间由美性生活片| 久久婷婷亚洲欧| 五十路成人在线视频二区三区| 97超碰欧美手机| 超碰在线人妻中文字幕| 人妻aa| 禁片 高清 在线观看视频网站| 天堂精品小草| 亚洲干B| 最新无码国产| 国产无码一二三区| 草b在线| 美女让帅哥通她小鸡鸡| 精品午夜福利导航| 日韩不卡毛片Av免费高清| 看日韩美女二区三区免费操逼视频| 久久亚洲天天做| 清纯唯美综合亚洲| 欧美不卡在线一区二区| 亚洲午夜av| 亚洲91亚洲| 久久99干一本高清| 国产v片在线免费观看| 亚洲欧美日韩综合在线尤物| 亚洲熟女综合| 国产欧美另类久久久精品课程| AA级电影三区| 天天干天天爽| 色婷婷一区二区三区久久午夜| 欧美91精品国产自产| 强奸乱伦中文字幕AV| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 操淫穴亚洲五月丁香 | 天天日少妇逼AV| 久久99草| 色吧 综合| 综合网色| 国产一区二区久久| 欧美人与动性人交a| 日本一级特级毛片视频| 探花精品视频| 四虎在线播放| 狠狠色伊人亚洲综合网站色| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产精品欧美激在线| 国产999精品久久久| 午夜精品久久久99热蜜桃的功能特点| 美女自卫慰黄网站免费| av天堂精品久久| 久久精品一区二区一8| 久久线上视频免费看| 欲色啪| 亚洲区限制级| 色诱avtt| 91jk色拍| 69综合网| 99国产精品在线观看| 天天日夜夜| 免費黃色視頻觀看一| 日韩一级成人毛片免费观看| 一类av片在线看| 亚洲黄片免费在线播放| 欧美精品久久96人妻无码| 91n欧美| 欧美在线电影| 淫纸中9区| 大香蕉99re| 久久青娱乐| 国产乱不卡| 超碰到97情色| 久久久内射良家| 激情五月天校园春色网| 亚洲一区亚洲天堂| 97爱碰| 亚洲啪啪啪啪视香蕉| 久久99草| 久久视频,这里只有精品 | 久久亚洲国产成人| 精品久久久久久AV无码| AV一起草在线| 777AV电影| 超碰在线观看av不卡| 秋霞久久亚洲精品成人| 操B在线观看| 亚洲成熟国产精品美女| 国产又色又爽又舒服的三级视频| 激情五月丁香五月| 人妻啊啊人妻啊| 殴美,日韩国产伦精品| 粉嫩国产精品久久粉嫩| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 中文字幕亚洲欧美在线不卡| 一区| 91N综合网在线| 青青草五月份天| 91色插| 丁香婷婷五月| 成人乱人伦一区二区| 亚洲αv一区二区三区| 久久久免费一级黄片| 秋霞视频一区二区| 91 亚洲 欧洲| 九九热视频这里只有精品| 97欧美色资源| 日韩欧美三级| 色欲天天婬色婬香WWW夜色| 亚洲图片激情综合另类| 亚洲欧洲国产综合av| 亚洲精品99| 9热9热综合网| 大但人体久久久久| 97综合国产| 国产精品久久久久久久久久梁医生| 国产精品一级毛片不卡视| 翔田千里av一区二区三区| 青草青青久久久久久国产| 躁躁日曰躁2020| 国产AB视频| 91 欧美| 啪啪AV导航| 久久婷婷五月天| 91国产大片| 少妇熟女视频一二三区| 国产呦精品系列在线观看| 中文字幕丝袜国产第一页不卡| 色噜噜婷婷| 亚洲黄日韩无码专区| 亚洲综人网| 精品国模无码| 67914亚洲精品| 人妻少妇精品视频一区二区三区| 9 7超碰在线免费观看| 亚洲欧洲日韩国产自在线| 中文字幕一区二区无码成人| 2019AV天堂| 不卡啪啪视频| 欧美v亚洲v综合v国产v妖精| 欧洲一区二区三区四区在线观看| 日本有码久久| 亚洲AV无码AV吞精久久久久| 亚洲精品少妇| 碰超人人在线一区二区三区| 欧美有码激情视频一区二区三区| 人人操人人插人人摸人人干| 少妇淫妇久久久久久久| 精品亚州18| 国产精品色| 福利操逼| 欧美爱爱97| 蜜桃精品一区二区三区久在线| 2020中文字幕| 国产精品探花在线| 老司机午夜精品视频| 国产精品69久久久久久久| 天天干2区3区| 韩国一级婬片A片AAAAA| 日韩性爱免费观看视频| 亚洲色电影在线| 亚州欧美总和| 国产人伦精品一区二区三区 | 欧美综合1性辶| 另类av综合久久| 超91综合网| 婷婷中文网| 91女优在线观看| 青青操97| 婷婷五月天丁香| 成人 日本A片无码8888| 伊人网免费视频| 国产美女自拍视频| 九九九草| 日日夜夜草草草| 日韩欧美亚洲国产日韩| 午夜男人一级A片7777| 国产精品亚洲天堂网址| 国产在线视频午夜精华在| 欧美色97| 熟妇高潮二区三区| 一直超碰| 精久久久91| 亚洲欧洲美腿丝袜| 久久午夜伦| 日本韩欧美在线播放a| 蜜乳Av成人片网站| 亚洲乱码精品一区二区| 超碰九区| 亚洲小说视频| 亚洲精品熟妇1区2区3区。| 亚洲综合校园春色| 97超碰在线资源网站| 亚洲丝袜色图| 99.色网| 91狠狠综合久久久久久| 99爱视频| 激情色播| 五月丁香婷婷综合| 欧美麻豆成人同性GⅤ在线| 亚洲精品无码成人久久久99| 亚洲,日韩,欧美,成人播放 | 激情欧美97| 欧美九九九| 久久婷婷一区| 夜夜春夜夜操| 欧美综合色| 一区二区三区男人的天堂| 精品妇操一区二区三区| 中文欧丝袜诱惑| 亚洲国产青青| 欧洲精品区| 97超碰色中文字幕| 941超碰| 亚欧美色图| 日本 情色 1区2区3区| 久热99999| 日本精品一区二区三| 91劲爆| 夜夜高潮夜夜爽国产伦精品| 黑人精品欧美一区二区蜜桃| av2014 日韩在线中文字幕| 按摩中文字幕| 亚洲男人的天堂一区二区| 丰满人妻一区二区三区在线| 用力操死我| 97资源欧美| 亚洲欧洲色情高清| 囯产精品强| 在线 欧美 亚洲| 欧亚 另类 久| 伊人超碰97| 91网站18| 岛国免费视频在线| 日韩性爱1级片视频| 国产亚洲精品美女久久久久久2021| 国产免费操逼| 亚洲欧洲网站免费观看| av天堂影视中文在字幕在线中文| 97视频网站在线观看| 嗯~啊~快点 死我视频| 欧美情色男人的天堂| 日本中文字幕一区| 欧美综合亚洲| 9999久久久| 欧美真人抽搐一进一出gif| 久久青青草原免费视频| 蜜乳AV网址| 9久热| 人人色人人射人人妻| 粉嫩少妇自慰在线| 日本天天干天天日一区| 日韩无码人妻中字久久三区四区| 97日韩| 亚洲国产av中文字幕久久| 人人摸人人干人人拍97| 激情综合色| 96AV久久久| 天美麻豆黄色录像| 色五月av| 八戒无码国产午夜福利| a级理论午夜日本| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | A一级色女| 亚洲欧美骚| 人人操人人插 - 百度 - 百度| 精品久久久久av影院| 色色婷婷五月天| 人妻插插人妻人| 欧美色图97| 男人的天堂网页| 国产日韩欧美亚洲精品95 | 大香蕉淫人网| 日韩无码三级影院| 国产 码在线成人网站| 秋霞男人网| 精品人妻一区二区蜜桃视频| 校园春色中文字幕AV| 欧亚 另类 久| 成人精品久久久午夜福利| 91free福利| 欧美亚洲一区二区久久久婷精品大包诱| 欲色啪| 欧美成人性爱视频在线播放| 欧美日韩岛国大片在线观看| 日韩精品人妻中文字幕有码午| 粉嫩久久久极品| 沈阳熟女高潮对白视频| 欧美特大黄一级片片免费| 丰满人妻一区二区三区在线| 精品久久久久成人码免| 男女做爰猛烈动高潮A片免费应用| 欧美中出1| 北京美女一区二区| 欧美中文综合| 日韩视频啪啪| 麻豆精品A片免费观看| 久草看看看| 中文字幕一区电影在线观看| 97综合在线观看| 色婷婷日韩精品一区二区三区| 久久久国产av美女私房| www.99热| 后入式五六区| 1级黄色夫妻对换性交免费看| 六月丁香啪啪啪| 日韩综合97P| 尤物av网站免费在线播放| 丁香九月激情| 日本熟妇精品九九| 国产精品第一区第一页| 猛交交| 久草综合网| 午夜电影在线观看无码专区| 国产青视频| 亚洲成a人v欧美综合天堂下载| 午夜免费福利视频一区| 中文字幕伊人| 日韩精品国产一区二区| 嗯嗯嗯啊啊啊操的我好爽 | 久久久久日本视| 99999久久精| 美女黄频a美女大全免费皮| 中文字幕78| 亚洲影院无码在线| 玖玖97综合| 超碰久超碰久| 久热91| 亚洲日本大香蕉1| 精品亚洲国产成人av网站| 精品久久久久久久久久久久| 无遮挡男女激烈动态图| 视频二区美腿丝袜制服人妻欧美 | 黄色电影在线播放综合网站| 日本丝袜美腿人妻九九| 丁香色狠狠色综合久久小说| 亚洲丝袜色| 变态综合色| 性爱久久| 人人摸人人干| 69视频入口| 观看免费区二区三区二| 91东北熟女| 日韩三四五区| 日日夜夜精品视频| 97超碰69| 青青在线视频日韩欧美| 1024久久高清视频| 夜夜骑夜夜操| 精品久久久中文字幕不| a'v在线资源| 99国产精品在线观看| 青娱乐淫乱1314| 激情图片伦理国产一区二区日韩| 超碰久久网| 操淫穴亚洲五月丁香| 大逼色网站| 91av熟女人妻| 国产视频不卡在线观看| 国产黄a三级三级三级av在线看| 玖玖爱一区在线| 暴力av在线| 日本黄色精品专区网站| 免费综合亚洲中文| 国产自产91区13区| 大香交| 影音先锋每日最新资源在线观看| 首页中文字幕中文字幕免费| 国模限制级电影| 黄色一区三区| 一级乱伦网站| 久久欧美性爱视频| 成人无码专区精品视频| 亚洲图片视频小说| 都市久久精品激情亚洲| 香蕉综合网| 久久大精品乱码视频人妻熟女| rion磁力链接| 日韩欧美中文日韩欧美色| 麻豆蜜桃视频在线观看| 麻豆区久久久久亚| 亚洲一区日韩精品| 激情久久久| 在线小视频| 干我久操| 亚洲欧美大| 久久久精| 天天操夜夜操狠很操| 天天色综合图片| 欧美性Fer办公室秘书| 亚洲**2021在线观看| 丁香六月婷婷久久综合| 91国精产品| 操操操五月天婷婷丁香影院| 天天操天天插| 羞答答AV中文字| 嫩草在线视频| 7月婷婷综合| 97K超碰在线| 日韩精品永久在线观看| 日本999精品视频| 免费视频一二三区| 亚洲乱熟女一区二区三区大香蕉| 欧美大片一区二区三区| 乱人乱色一区二区三区免费| 欧美一级A片在线看视频性色| 亚洲有码 欧美精品| 97久久国产亚洲精品超碰热| www久久国产精品| 丁香激情网| 青青草原成人| 97欧美性爱| 日韩不卡一二三四| ..日韩av毛片精品久久久| 精品人妻一区二区三区-国产精品| 欧美性91| 大香蕉97久久| 91制服丝袜中文字幕| 日本色婷婷| 94色色电影网| 香蕉久久国产AV一区二区| 在线洲亚线| 五月天婷婷小说| 日日躁夜夜躁狠狠躁超爽| 操操AV电影| 色噜噜国产精品视频一区二区| 久久婷婷热| 日逼97| 艳美熟妇先锋一二三区| 亲子敌伦对白在线播放| 后入内射蜜桃臀| 国产美女自拍AV| 久干9操| 欧美日韩美女精品久草一区二区三区 | 九九色热| 人人爱人人乐人人操| 久操 高清| 五月激情视频| 日产操逼| 久久久专区| 婷婷久久综合| 另类图片欧美激情综合| 日韩综合97P| 91一区二区| 影音先锋少妇| 青青草原伊人网| 台湾佬中文娱乐自偷自拍| 91碰超| 九九九精品美女| 久久啊啊啊视频| 97人人射| 免费在线黄片视频| 青青草久草| 天天天堂影视日韩亚洲91| 亚洲 欧美 天天| 丰满的三级少妇欧美久久久| 亚洲精品国产精品成人| 一区二区三区四区五区久久久久久| WWW4虎| 97人人操人人干| 亚洲欧美国产成人综合不卡| 国产色图乱伦| 欧美色另类| 99热99re6国产在线播放| 天天综合影院91| 粉嫩国产精品久久粉嫩| 日本午夜精品理论片A级APP发布| 操操操五月天婷婷丁香影院| 四虎影视欧美| 欧美午夜熟妇黑人精品91| 青娱乐手机日韩在线视频| 91久精品| 高凊专区人人操| 婷婷色色五月天| 激情五月天婷婷| 自拍鲍鱼一区在线高清观看免费| 日韩中文字幕视频| 日韩精品在线放| 亚洲AV成人无码一二三久久| 国产在线综合福利网站| 久久狠狠色噜噜狠狠狠狠97| 亚洲av青草久久一区二区| 久久久久久久久999| 蜜桃中文字日产乱幕4区| 涩五月婷婷| 骚货| 三级网站超变态精品| 91在线色| 我爱搞逼综合网| 亚洲双插| 亚洲国产97| 欧美成熟性爱精品| 又粗又长又爽在线观看| 国语精品内射在线观看| 九九性爱网| 视频二区美腿丝袜制服人妻欧美 | · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 国产精品69久久久久孕妇欧美| 99在线啪| 国产日韩美女小穴视频网站不卡| 午夜欧美精品久久久| 色综合av综合久久| 91精品亚洲内射孕妇| 中国女人内射6XXXXX| 高清国产av无码| 1024亚洲中文字幕久在线看片你懂的 | 97操b| 成全动漫视频观看免费下载| 亚洲无吗在线视频| 欧美图片偷拍| 一区二区不卡| 老妇女91| 人人摸人人摸人人干| 95精品在线| 男人成人黄色视频在线观看免费下载| 久夜操| 日韩乱伦影音先锋| 97精品网| 日韩不卡a级视频专区| 久久久久9久久久久| 蜜桃传媒视频第一区入口在线看| 玖玖爱在线视频免费观看| 日本123区操B视频| 热久久99999| 极品销魂美女一区二区 | 亚洲 在线| 伊人女女资源在线观看| 九九十八精品| 97香蕉网| 五月丁香激情综合网| 欧美亚洲宗合色性图| av网站免费看| 亚洲色色色| 欧美日韩不卡传媒| 欧亚乱色熟女一区二区| 欧美午夜色妇色鬼| 国产精品久久久| 亚洲色偷偷色噜噜狠狠99网| 91黄射| 五月丁香成人网| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 一区麻豆 高清中文字幕| 啊啊啊com| 4虎在线视频| 大黄片做爱的大的| 色爱欲亚洲| 伊人专区一区二区三区| 91在线美女| 亚洲婷婷丁香在线| 一区久久久二区| 久久久久久亚洲Av无码精| 日韩紧密久久| 黄片免费视频2019| 97超视频在线观看| 一级aaaaa欧美中文字幕录像片| 久久久国产精品亚洲精品| 人人操人人摸人| 伊人嫩草| 天天做天天爱天天高潮| 啊啊嗯嗯好爽| 亚洲男人的天堂AV| 欧美人妻一区| 这里只有精品97| 久久久久久亚洲精品中文字幕人妻| 欧美Ⅴ性爱| 色呦色呦色精品| 91久久久久免| 黄色香蕉视频网站一区| 91网站18+| 亚码激情| 久久国内| 97av在线观看| 亚洲熟久久| 婷婷九月| 凹凸视频在线观看伊人| 精品少妇高潮久久| 九九九久千久久激情蜜桃在线看| 人人摸人人添人人操| 精品国产乱子伦一区二区三区,精品一| 久久久久骚| 黄片不用下载在线观看| 国产无码精品成人| 97在线免费公开视频| av午夜玫瑰| 精品少妇一区二区三区免费观看| 久久午夜鲁丝片| 人妻激情视频| 人妻丝袜肏逼| 人妻精品综合中文字幕在线 | 亚洲中文国际强奸字幕| 午夜精品久久一区二区| 啪啪啪男女亚洲中文字幕99| 久久伊人青青草| 伊人青青一区成人视频在线观看区| 婷婷激情五月天小说网| 1000部熟女视频在线观看| 97超碰欧美精品| 熟女高潮精品一区二区| 天美传媒av在线| 操香逼| 夜夜影视四色| 亚洲色图欧美色18直播在线| 9精品久久| 欧美最婬乱婬爆婬性视频 | 任我爽在线视频免费观看| 精品人妻av在线播放| 桑老女人九区| 日日黄色三级网站| 久超超碰| 国产极品久久久| 青青草视频久久久久| 久久久久久性爱视频| 欧美亚洲20p| 伊人久久大香线综合无码| 九热大香蕉| 91在线/欧洲| 乱色老一区二区三区的观看方式| 九九九九免费视频| 国内一区二区免费| 日韩欧美大片免费高清啪啪| 欧美丝袜中文字幕07在线| 变态另类专区| 骚人妻少妇视频| 青青草啪啪网| 国产亚卅97| 精品久久久亚洲AV成人网站| 美女黄频a美女大全免费皮| 无码137片内射在线影院| 久久激情婷婷| 日韩天天本| 青青草在线视频人人想人人上| 亚洲色久| 日韩精品国产精品五码一区二区| 日本 欧美 亚中文字幕| 久99久视频精选| 狠狠躁AV| 亚拍在线| 91精品人妻偷情| 性爱网站一区二区| 国产麻豆福利av在线播放| 久热这里| 日韩天天本| 亚洲男人天堂手机版| 麻豆国产视频精品观看| 成人片在线播放| 精品一区二区三区四区女| 欧美综合天堂| 无码 黑人一区二区三区| 日韩欧美视频青青| 麻豆精品三区视频| 极品色综合| 色哟哟511老熟女| 少妇500双飞99| 情色大香蕉| 日本免费中文字幕在线| 中文字幕91综合| 男人久久天堂| 最新日韩黄片| 大香蕉青青9| 免费啪啪av| 99青青草国产视频| 中文字幕一区二区无码成人| 国产精品免费日韩| 欧美激情久| 亚洲第一黄色av网站| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久男女激情视频网站| 久久色一区二区| 在线中文字幕| 99re8超碰| 三四中文字幕| 婷婷五月天激情小说| 久久三区四区| 日韩欧美视频青青| 春色91| h在线看免费版在线看| 久久日本熟妇熟色一区| 国产精品。| AV高清一区| 欧美性爱中文字幕无线码| 热的中文 热的有码 热的国产| 亚洲三区视频|