日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

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

STM32智能小車循跡避障綜合實驗:狀態(tài)機與PD控制 簡介圍繞STM32智能小車的黑線循跡與紅外避障綜合實驗這套工程源碼面向剛接觸嵌入式控制、希望從電機驅(qū)動與傳感器采集入手理解小車運動邏輯的學(xué)習(xí)者。代碼以定時器配置電機為核心封裝前進、剎車、左轉(zhuǎn)、左旋轉(zhuǎn)、右轉(zhuǎn)、右旋轉(zhuǎn)、后退等基礎(chǔ)運動函數(shù)注釋較為詳細便于把巡線判斷與避障策略拆成可讀、可改的模塊適合課程實驗與入門小車項目對照練習(xí)。壓縮包共192個文件約6.49MB主體是34個c源文件與35個h頭文件覆蓋外設(shè)驅(qū)動和工程組織同時保留Keil工程配置、編譯中間文件以及hex燒錄文件拿到后可直接對照目錄梳理定時器、GPIO與中斷相關(guān)配置。已有1187人學(xué)習(xí)說明其在基礎(chǔ)巡線避障實驗中有一定參考價值讀者可據(jù)此快速定位運動控制與傳感器處理的代碼入口并在此基礎(chǔ)上調(diào)整速度、轉(zhuǎn)向時長與避障閾值。1. 從一塊循跡底板說起STM32 智能小車綜合實驗到底要解決什么很多人拿到 STM32 智能小車套件后做的第一件事是讓電機轉(zhuǎn)起來結(jié)果輪子一轉(zhuǎn)黑線循跡和紅外避障就全亂了——車要么在原地畫龍要么一頭頂?shù)綁ι稀_@套 ZYSTM32-A1 綜合實驗的價值不在于把兩個實驗拼在同一個工程里而在于讓黑線循跡和紅外避障共用一塊主控、一套主循環(huán)、一份狀態(tài)機并且在兩種工況切換時不打架。它適合剛點完 LED、想完整做第一個嵌入式小車項目的人課程設(shè)計、畢設(shè)前期驗證、入門競賽練手都能直接用。讀完你應(yīng)該拿到一套能跑、能調(diào)、能講清楚“為什么這么寫”的方案而不是一張只會照抄的接線圖。2. 需求拆解與硬件選型三種工況、五路紅外和一套電機驅(qū)動動手畫原理圖之前先要把“這個小車要干什么”寫死。需求邊界不清后面選型就會一路糾結(jié)傳感器到底買三路還是五路驅(qū)動到底用 L298N 還是 TB6612主控用 51 夠不夠。這一章按功能邊界、器件選型、引腳分配的順序把這些定下來。2.1 功能邊界循跡、避障、協(xié)同三種工況各自的驗收口徑我把這套小車的功能切成三個工況每個工況都要有能測的驗收口徑不然答辯時說不清“做完了”是什么狀態(tài)。第一種是純循跡工況場地是一條 1.52 cm 寬的黑色電工膠帶直道加彎道最小曲率半徑按 30 cm 設(shè)計。驗收口徑是從起點到終點約 5 m 全程不脫線單圈時間穩(wěn)定在 ±1 s 以內(nèi)。之所以把線寬限定在 2 cm 以內(nèi)是因為五路紅外傳感器的探頭間距通常在 1015 mm線太寬會讓相鄰兩路同時壓線偏差計算的平均值會變鈍彎道就跟不上。第二種是純避障工況車前 1530 cm 出現(xiàn)障礙物時小車要在 0.3 s 內(nèi)做出反應(yīng)單側(cè)有障礙就向另一側(cè)讓正前方堵死就先后退再轉(zhuǎn)向。這個距離不是隨口定的紅外避障模塊的有效檢測距離通常在 380 cm 之間可調(diào)調(diào)太遠會在彎道被場地邊沿誤觸發(fā)調(diào)太近則留給轉(zhuǎn)向的時間不夠。第三種是協(xié)同工況也是這套“綜合實驗”真正的難點小車正在循跡前方突然出現(xiàn)障礙物要先切到避障動作繞開之后還得自己找回黑線繼續(xù)跑。很多人的工程在單工況測試時都正常一到協(xié)同就露餡——避障結(jié)束后車在原地轉(zhuǎn)圈找線或者剛回到線上又被同一個障礙物觸發(fā)第二次。提示需求邊界一次就寫清楚“不做什么”比寫“做什么”更重要。這套方案不做攝像頭視覺、不做 SLAM 建圖、不做電機編碼器閉環(huán)調(diào)速純粹用開關(guān)量傳感器加 PWM 差速實現(xiàn)。邊界定了后面所有取舍都有依據(jù)。2.2 主控與傳感器選型為什么是 STM32F103 加五路 TCRT5000主控這塊市面上常見三條路8 位機、STM32F103 這類 Cortex-M3、以及跑 Linux 的板子。選 8 位機的理由是便宜、資料老但它的問題在于定時器和硬件 PWM 通道太少兩路電機 PWM 加上一路 1 ms 系統(tǒng)節(jié)拍基本就把資源吃滿了再想加串口調(diào)試都緊張中斷響應(yīng)也慢。STM32F103C8T6 這類芯片剛好卡在甜點上72 MHz 主頻、多個通用定時器、通道足夠跑兩路互補 PWM 加一路 1 ms 節(jié)拍GPIO 數(shù)量也夠接五路循跡加兩路避障。選它的真正理由不是“性能強”而是“外設(shè)資源剛好夠而且不用搶”。循跡傳感器選五路 TCRT5000 反射式模塊而不是攝像頭。攝像頭能拿到更豐富的路面信息但要做圖像二值化、邊緣提取幀率還受限于串口傳輸對一個小車項目來說投入產(chǎn)出比不劃算。五路紅外的信息量是 5 bit雖然粗但實時性極好——GPIO 一讀就有結(jié)果控制周期可以壓到 10 ms。代價是它對地面反光敏感淺色瓷磚上和在深色地毯上同一個模塊的輸出可能完全相反這一點必須靠電位器現(xiàn)場整定。避障用的也是紅外反射式模塊檢測距離可調(diào)。這里有個容易被忽略的差別循跡模塊是貼地近距離檢測避障模塊是朝前十幾厘米檢測兩者雖然都是紅外反射原理但發(fā)射功率和比較器閾值完全不同不能混用同一型號。至于電機驅(qū)動L298N 和 TB6612 都行區(qū)別在壓降和效率對比項L298NTB6612FNG導(dǎo)通壓降約 1.42 V電池電壓低時明顯掉速約 0.5 V低壓差效率與發(fā)熱發(fā)熱大長時間跑需要散熱片發(fā)熱小可長時間連續(xù)工作邏輯電平5 V 邏輯3.3 V 主控需注意電平匹配兼容 3.3 V 邏輯PWM 頻率上限建議 10 kHz 以內(nèi)可上到 20 kHz 以上適合場景教學(xué)演示、短時跑動長時間連續(xù)跑、電池供電我一般建議這套實驗用 TB6612不是因為貴而是因為電池從 8.4 V 掉到 7 V 的時候L298N 會先掉 2 V電機實際只拿到 5 V速度肉眼可見地變慢而循跡的 PD 參數(shù)是按某個速度整定的速度一變參數(shù)就全部作廢——這種“跑兩圈就變慢”的問題排查起來非常磨人。2.3 引腳與外設(shè)資源分配表選型定完之后先把引腳表排出來避免寫到一半發(fā)現(xiàn)某個引腳被復(fù)用沖突。下面這張表是這套方案實際用的分配可以直接照著接線功能引腳模式/外設(shè)備注循跡 最左PB0GPIO 輸入上拉權(quán)重 -4循跡 左PB1GPIO 輸入上拉權(quán)重 -2循跡 中PB2GPIO 輸入上拉權(quán)重 0循跡 右PB3GPIO 輸入上拉默認 JTDO需關(guān) JTAG循跡 最右PB4GPIO 輸入上拉默認 NJTRST同上避障 前左PB5GPIO 輸入上拉檢測到障礙為低避障 前右PB6GPIO 輸入上拉檢測到障礙為低左電機 PWMPA6TIM3_CH110 kHz左電機 IN1/IN2PA4 / PA5GPIO 推挽輸出方向控制右電機 PWMPA7TIM3_CH210 kHz右電機 IN3/IN4PB12 / PB13GPIO 推挽輸出方向控制調(diào)試串口PA9 / PA10USART1115200打印狀態(tài)1 ms 節(jié)拍TIM2定時中斷系統(tǒng)時基啟動按鍵PA0GPIO 輸入按下開始跑注意PB3 和 PB4 上電默認被 JTAG 占用不關(guān)掉的話讀回來永遠是固定值表現(xiàn)為“這兩路傳感器失靈”。初始化里加一句GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);只保留 SWD問題就沒了。這個坑幾乎每個第一次用 F103 的人都會踩一次。3. 總體架構(gòu)設(shè)計三層結(jié)構(gòu)、兩個節(jié)拍和一個狀態(tài)機引腳定完接下來是軟件架構(gòu)。小車項目最容易寫成“一個大 while 循環(huán)里塞滿 if-else”能跑但改一處崩三處。這套方案分成三層加一個狀態(tài)機好處是每層都能單獨測傳感器可以只打印不驅(qū)動電機電機可以只給定值不看傳感器狀態(tài)機可以拿串口喂假數(shù)據(jù)驗證切換邏輯。3.1 感知層、決策層、執(zhí)行層的職責劃分感知層的職責只有一個把物理量翻譯成干凈的整數(shù)。五路循跡讀出來是 5 個 bool經(jīng)過權(quán)重加權(quán)平均變成 -4 到 4 的偏差值兩路避障讀出來是兩個 bool但要做 3 次采樣的多數(shù)表決濾掉瞬時的抖動。感知層絕對不做判斷也不調(diào)用電機函數(shù)——這條紀律很重要否則后面想換傳感器就得動半個工程。決策層是整個方案的大腦包含兩件事控制律和狀態(tài)機??刂坡奢斎肫?、輸出轉(zhuǎn)向量狀態(tài)機輸入避障標志和丟線標志輸出當前應(yīng)該執(zhí)行哪種動作。把這兩件事分開寫是因為它們的調(diào)試方法完全不同控制律看的是曲線和參數(shù)狀態(tài)機看的是狀態(tài)跳轉(zhuǎn)表。執(zhí)行層負責把決策結(jié)果翻譯成電機能懂的東西給定 -999 到 999 的帶符號占空比映射成 TIM 比較寄存器的值和兩個方向引腳的高低電平。執(zhí)行層還要做限幅因為差速時base turn很容易超過量程。三層的調(diào)用頻率也不一樣。感知層每 10 ms 采一次決策層每 20 ms 算一次執(zhí)行層是跟隨決策層立即輸出的。這個頻率差不是隨便定的10 ms 采樣配合 0.3 m/s 的車速每 3 mm 走一次采樣五路探頭的間距在 10 mm 量級采樣間隔遠小于探頭間距不會漏掉線。3.2 定時器節(jié)拍1 ms 基準怎么切出 10 ms 與 20 ms 任務(wù)裸機項目里最省事的調(diào)度方式是“1 ms 中斷打拍子主循環(huán)看拍子做事”。TIM2 配置成 1 ms 中斷中斷里只做一件事g_tick。中斷函數(shù)里千萬不要讀傳感器、不要算 PID、更不要延時——中斷里做的事情越多抖動越大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; /* 中斷里只做計數(shù)其他全交給主循環(huán) */ } } int main(void) { uint32_t t_sample 0, t_ctrl 0; board_init(); /* 時鐘、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)機 控制律 輸出 */ } debug_report(); /* 空閑時打印不影響節(jié)拍 */ } }這里用g_tick - t_sample 10而不是g_tick % 10 0是為了防止某次任務(wù)執(zhí)行時間過長導(dǎo)致漏拍——減法寫法即使錯過一個節(jié)拍下一次也會立刻補上而取模寫法會整整丟掉一輪。參數(shù)上10 ms 和 20 ms 是最常用的組合如果場地彎道特別急可以把決策周期壓到 10 ms代價是串口打印會擠占時間調(diào)試信息要相應(yīng)減量。3.3 狀態(tài)機設(shè)計循跡態(tài)、避障態(tài)、搜索態(tài)、停車態(tài)怎么切狀態(tài)機是這個方案里最值得寫進答辯的部分。四個狀態(tài)跳轉(zhuǎn)條件寫死誰也別搶誰的活當前狀態(tài)跳轉(zhuǎn)條件下一狀態(tài)動作循跡左右避障同時觸發(fā)后退雙輪反轉(zhuǎn) 300 ms循跡僅左側(cè)觸發(fā)右讓右轉(zhuǎn)差速持續(xù) 400 ms循跡僅右側(cè)觸發(fā)左讓左轉(zhuǎn)差速持續(xù) 400 ms循跡偏差值 丟線標志搜索沿上次偏差方向原地找線后退障礙消失且計時結(jié)束循跡恢復(fù) PD 循跡左讓 / 右讓計時結(jié)束且障礙消失循跡恢復(fù) PD 循跡搜索重新檢測到黑線循跡清空 PD 的歷史誤差任意按鍵長按 2 s停車PWM 歸零兩個設(shè)計細節(jié)決定了它能不能穩(wěn)定跑。第一是退出條件必須是“計時結(jié)束且障礙消失”只寫“障礙消失”會在障礙物邊沿反復(fù)橫跳車頭就在那里來回抖。第二是從避障或搜索回到循跡時必須清空 PD 的last_err否則上一狀態(tài)殘留的歷史誤差會讓微分項突然打出一個大輸出車會猛地甩一下。4. 關(guān)鍵模塊實現(xiàn)偏差計算、比例微分循跡與避障優(yōu)先級架構(gòu)講完落到代碼。這一章四段代碼對應(yīng)四個模塊每段都能單獨燒進去驗證先只打印偏差確認五路讀數(shù)對得上位置再接控制律最后接電機。跳過任何一步后面調(diào)參數(shù)都是盲調(diào)。4.1 五路紅外采樣與加權(quán)偏差計算/* 極性統(tǒng)一TCRT5000 模塊 DO 壓黑線時輸出低電平取反成 1 檢測到黑線 */ #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 的偏差負數(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; /* 取平均抑制多路同時壓線造成的偏差跳變 */ }第一段代碼的核心是“極性收斂”和“取平均”兩個動作。極性收斂指的是不管模塊輸出高有效還是低有效都在宏定義這一層統(tǒng)一成“1 檢測到黑線”這樣后面所有邏輯只認一種約定換一批模塊只要改五個宏。取平均是為了處理一種常見情況車正好壓在兩條線的交匯處或者線寬超過探頭間距兩三路同時為 1此時直接把權(quán)重相加會得到 -6 這種超出量程的值除法一平均就回到 -2量程始終鎖在 -4 到 4 之內(nèi)。丟線返回 99 是個約定值比返回 0 好——返回 0 會被當成“線在正中間”車會保持直行沖出場地返回 99 就能在狀態(tài)機里單獨分支處理。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ù)需按實車整定 */ /* 輸入偏差輸出轉(zhuǎn)向量帶符號已限幅 */ 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); }只用比例項P的問題是明顯的偏差一出現(xiàn)就立刻修正修正過頭就反向超調(diào)車在直道上左右小幅擺動也就是俗稱的“畫龍”。微分項D看的是偏差的變化量偏差快速變化時提前給一個反向的抑制量等效于給系統(tǒng)加了阻尼。這套參數(shù)里kp 12、kd 30是初始值實際整定順序是先把kd設(shè)為 0kp從 5 開始往上加加到車在直道上剛好開始小幅擺動然后把kp退回一檔開始加kd加到擺動消失為止。out_limit設(shè)成 320 而不是 999是因為它要跟base 250配合——如果限幅太寬一次修正就能讓一側(cè)輪子反轉(zhuǎn)車會原地打轉(zhuǎn)。經(jīng)驗上把out_limit控制在base的 1.2 倍左右即單側(cè)輪子最多減到接近 0 但不會反轉(zhuǎn)。4.3 避障優(yōu)先級與轉(zhuǎn)向策略#define OB_L (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5)) /* 檢測到障礙為 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)計時單位 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)機里有三個刻意寫進去的保護。第一每個避障狀態(tài)的退出都要求“計時到 障礙消失”兩個條件同時成立缺一個都會在障礙物邊緣反復(fù)切換。第二ST_AVOID_R的退出只判斷!ob_l不判斷!ob_r因為向右讓的時候右側(cè)傳感器可能會掃到新的障礙如果兩個都要求消失車會卡死在讓行狀態(tài)。第三搜索狀態(tài)有超時上限1.5 s 還找不到線就停車避免車在原地無限轉(zhuǎn)圈燒電機——這個上限比“一直找下去”更實用至少在測試時你能看出它停在了哪里。4.4 PWM 調(diào)速與電機方向控制#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 計數(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負數(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 有兩個理由一是高于人耳可聽范圍的下沿電機不會發(fā)出尖銳的嘯叫聲二是 TB6612 這類 MOS 驅(qū)動在 10 kHz 時的開關(guān)損耗可以接受長時間跑不會燙手。如果換成 L298N頻率不建議超過 10 kHz否則三極管來不及完全導(dǎo)通效率會更低。motor_set里把“方向引腳”和“占空比”這兩件事綁在一個函數(shù)里是為了避免出現(xiàn)“改了占空比忘了改方向”導(dǎo)致電機反著轉(zhuǎn)的問題。傳入負占空比時方向引腳翻轉(zhuǎn)、比較寄存器取絕對值邏輯上單調(diào)接線反了也只需要在調(diào)用處加個負號。5. 避坑與排查這套小車上最容易翻車的五個點前面四章講的是“應(yīng)該怎么寫”這一章講的是“實際會怎么壞”。這五個問題在我自己搭和幫別人調(diào)的過程中反復(fù)出現(xiàn)每一個都有明確的現(xiàn)象、成因和解法照著對號入座能省掉大量時間。5.1 一上電就往一邊猛沖或者讀出來的傳感器永遠不變現(xiàn)象車通電后兩個輪子朝相反方向轉(zhuǎn)或者串口打印出來的五路循跡值永遠是1 1 1 1 1。原因前者是電機方向引腳的電平組合和預(yù)期相反兩個輪子一個正轉(zhuǎn)一個反轉(zhuǎn)后者幾乎都是 PB3、PB4 被 JTAG 占用。F103 復(fù)位后 PB3 默認是 JTDO、PB4 默認是 NJTRST配置成普通 GPIO 輸入也沒用讀回來的值固定。解決方向問題不要靠改接線在motor_set里把對應(yīng)通道的 IN1/IN2 互換即可接線保持整齊便于排查。JTAG 問題在 GPIO 初始化之前加一句GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);只保留 SWD 下載口燒錄不受影響。5.2 直道跑得很穩(wěn)一進彎道就沖出去現(xiàn)象場地直道上小車走得筆直進入半徑 30 cm 的彎道后車頭貼著外側(cè)沖出去糾正不回來。原因三種可能按概率排序是控制周期太長、kp偏小、差速飽和限幅太窄??刂浦芷?20 ms 時車速 0.4 m/s 每拍走 8 mm彎道上的偏差累積得很快等算出來已經(jīng)晚了kp太小則修正力度不夠out_limit太小則想修正也修不動。解決先把決策周期壓到 10 ms 試一次如果明顯改善就是周期問題。否則把out_limit從 320 放到 400再看彎道表現(xiàn)最后才動kp。順序很重要——先放限幅再調(diào)增益不然你會以為kp不夠一路加大結(jié)果直道上開始畫龍。5.3 避障模塊在深色地面上一直誤報現(xiàn)象場地換到深色地膠或者黑色桌面上避障模塊不管前面有沒有東西都輸出“有障礙”小車一直在后退。原因紅外反射式模塊靠接收反射光強判斷距離深色表面吸光接收端收到的光很弱比較器就判定為“沒有反射 → 有障礙”。這不是模塊壞了是原理決定的。解決一是現(xiàn)場重新調(diào)電位器把閾值調(diào)到實際能用的位置二是給模塊加個遮光筒用黑色熱縮管剪一段套在探頭外面擋住環(huán)境光干擾三是軟件上做多數(shù)表決連續(xù) 3 次采樣有 2 次以上為 1 才算真障礙。第三條最省事代價是響應(yīng)延遲一個采樣周期10 ms 完全能接受。5.4 電機一轉(zhuǎn)單片機就復(fù)位現(xiàn)象空載時串口打印正常一旦給電機加占空比單片機隨機復(fù)位串口輸出亂碼或者程序跑飛。原因電機啟動瞬間電流是堵轉(zhuǎn)電流的量級電池內(nèi)阻上產(chǎn)生壓降主控的供電被拉低到復(fù)位閾值以下。另外電機是感性負載換向時會產(chǎn)生反向尖峰通過電源和地線串回主控。解決硬件上電機電源和主控電源分開走線只在電池端單點共地電機兩端并 0.1 μF 電容加一個續(xù)流二極管主控電源入口加 100 μF 電解電容和 0.1 μF 陶瓷電容。軟件上啟動時讓占空比斜坡上升每 20 ms 加 50而不是直接從 0 跳到 250沖擊電流能小一半。這套小車上電就復(fù)位的問題九成是這兩條之一沒做到。5.5 避障結(jié)束回不了線在原地轉(zhuǎn)圈現(xiàn)象小車成功繞開障礙物但之后一直在原地左右轉(zhuǎn)找不到黑線最后超時停車。原因繞障動作把車帶離黑線太遠五路探頭全部落在白區(qū)返回LINE_LOST而搜索邏輯只是原地轉(zhuǎn)轉(zhuǎn)向方向和線的實際位置相反。另外g_pd.last_err沒有清零微分項一上來就是一個大值。解決搜索時不要原地轉(zhuǎn)改成“沿著繞障的反方向小半徑畫弧”也就是右讓之后向左找左讓之后向右找這個方向和繞開時車頭偏轉(zhuǎn)的方向相反命中率最高。同時把搜索速度降到基礎(chǔ)的 60%慢一點更容易被探頭掃到?;氐骄€之后第一件事是清空last_err讓 PD 從零開始。6. 驗收與答辯用一套可復(fù)現(xiàn)的測試把車“跑通”講清楚功能做完不等于項目做完驗收測試要能重復(fù)、能記錄、能拿給不懂的人看。我一般按下面這張表跑一遍每項測三次取最差的那次因為答辯現(xiàn)場發(fā)揮失常是常態(tài)按最差成績準備才穩(wěn)。序號測試項測試方法合格線1直道循跡3 m 直線膠帶全速通過3 次全部不脫線2彎道循跡R30 cm 連續(xù)彎跑 5 圈脫線次數(shù) ≤ 13單側(cè)避障車前左側(cè) 20 cm 放障礙物0.3 s 內(nèi)開始右讓繞過后 2 s 內(nèi)回到線上4正前避障車前正中 20 cm 放障礙物先后退再轉(zhuǎn)向不撞不卡死5協(xié)同彎道中段放障礙物完成繞障并繼續(xù)循跡全程不超時停車6掉電重啟連續(xù)上電 20 次20 次均正常啟動無復(fù)位異常測試時把串口打印打開每 100 ms 輸出一行err / ob_l / ob_r / state / duty跑完之后把日志導(dǎo)出來畫一條偏差隨時間的曲線。這張曲線在答辯時比任何口頭描述都有說服力——評委一眼能看出來你的系統(tǒng)在彎道上是“提前修正”還是“撞上去才修”這兩種的控制水平完全不同。答辯講述我建議按“工況 → 取舍 → 一次翻車”的順序走不要從技術(shù)棧開始講。先說清楚這套車分了哪三種工況、每種工況的驗收口徑是什么這能證明你想過需求再說你做了什么取舍比如為什么用五路紅外不用攝像頭、為什么用 TB6612 不用 L298N、為什么控制周期是 20 ms 而不是 5 ms每個取舍都要落到具體的數(shù)字上最后講一次你踩過的坑和怎么定位的比如“車一進彎就沖出去我一開始以為是 kp 不夠加了兩輪之后直道開始畫龍才回頭去查控制周期發(fā)現(xiàn) 20 ms 下每拍走 8 mm改成 10 ms 就好了”。這個故事里包含了現(xiàn)象、錯誤假設(shè)、糾正過程比背概念更能說明你真的動手做過。從那以后我每次做這種帶傳感器的車類項目都會在寫控制邏輯之前先把“只打印不驅(qū)動”的版本跑通讓串口把五路原始值、兩路避障值、偏差值一起打出來人工推著車沿場地走一遍確認每一路的跳變位置和物理位置對得上。這一步花不了二十分鐘但能擋掉后面八成莫名其妙的“算法不收斂”——畢竟傳感器讀錯了再好的 PD 參數(shù)也是白搭。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
屌妞视频久久久久久久久久久久| 国产午夜在线观看| 欧美另类自拍 | 东京太热男人的天堂久久久| 婷婷美人网| 热九九精品| 日韩免费三级黄片电影| 欧美丝袜91| 欧美熟妇亚洲版| 2001天天操| 国产精品无码在线| 亚洲国产精品成人综合| 无码粉嫩白虎一线天b区| 夜夜高潮夜夜爽| 97福利视频| 黄色av网站在线播放| 超碰美国| 老熟女网站| 欧美色老汉| 天操天操夜操夜月月年年操操| 久久久国产精品人妻丝袜| 伊人天堂在线| 狠综合网| 青青草玖玖爱| 久久国语| 试看60秒 爽| 精品无码产区一区二| 日韩人妻网站| 一区二区三区四区五区高清无码永久视频 | 久久夜黄色无码A级大片| 久久久久久九九九| 午夜精品久久一区二区| 超碰午夜| 国内毛片国产专区二| 九色精品视频导航1| 精品国产Av无码久久久伦古装| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 久久婷婷精品| 日本综合久久| 亚洲狼狼干综合1| 日韩激情视频| 国产精品久久久九九九| 在线电影亚洲色图| 校园春色 欧美| 九九热精品| 新91视频.cmp| 国产A v无码专区| 色在线亚洲视频www| av在线一区二区三区| 人妻中文字幕精品无码| 亚洲欧美精品一区天堂久久| 97网址www| 少妇国产不卡| 青春草A| 久久人爽| 精品日日人妻| 亚洲高清无毛一区二区| 手机看片1024你懂的国产| 久久性爱大全| 亚州宗合另类| 日韩中文字幕av在线播放| 亚洲男人的天堂在线看| 国产精品69久久久久孕妇欧美| 91精品人妻五十路| 色综合V| 思思热影视| 日韩在线观看中文字幕视频| 超碰79人人乐| 亚洲国产中文字幕| 97色网| 人人操人人操人人操人人操人人操人人人11.CM | 性爱乱伦视频免费| 俺去也婷婷| 免费看美国人人爽,人人操| 色老汉色| 少妇人妻在线| 无码日韩人妻av一| 欧美香蕉视xxx| 9久精品视频在线观看| 免费视频观看60秒| 国产高清在线观看欧美| 污啪啪啪视频| 人乳av| 久久啊啊啊| 亚洲av国产av综合av卡| 97亚洲性爱| 欧美色图在线视频少妇| 日本操逼视频在线| 国内毛片无码一级毛片| 91久久堂| 97在线看| 大香樵伊人网| 97AV在线观看| 国产又操| 久久岛国| 久久久艹艹艹| 国产三级在线现体验区| 青青草自拍视频在线播放| 亚洲狠狠入| 看大黄色大片原件| 99久久com免费视频′| 亚洲91射| 国产区性爱在线视频秋霞豆| 欧美综合自拍亚洲综合图| PMv在线观看| 丁香五月成人| 五月天AV资源| 欧美亚洲日本激情在线| 色香综合天天影视综合 | 东北夫妻性偷拍| 亚洲色性| 日本在线不卡一二区| 日日夜夜草草草| 中文操逼字幕| www.欧精品| 91精品91久久久中77777| 国产精品欧美日韩久久| 亚洲美女 晚间男人天堂 | 国产精品肉丝自拍| 都市久久精品激情亚洲| 午夜成人福利影视| 欧美大香蕉久| 久久成人东京热人妻| 亚洲囯产精品女人久久久| 天堂av2019| 男同专区一区二区三区在线| 青青草视频久久久久| 午夜精品久久久| 97AV爱| 欧美日韩中文视频播放| 亚州伊人色综台| 久久大香蕉97| 日韩草久视频| 国产精品麻豆免费视频| 蜜屁Av| 天天弄天天操| 玖玖大干人妻| 老鸭窝亚洲毛片| 日韩成人精品| 国产一区二区精品在线视频| 久久性爱免费送| 99久久久| 国产丰满熟夫69mpp| 岛国黄片网站| 天天日熟妇| 激情四射五月天| 日韩三级av片| 裸模AV女优| 一本大道不卡一二三区| 欧美综合网在线| 中文字幕一区 二区三四五 区日 日骚| 91一区二匹| 麻豆人妻少妇在线免费观看| 九九成人| 九九精品99| 国产白丝网站| 久久夜嗨| 韩国轻伦国内自拍一区| 日韩精品中文字幕二区| 啪啪视频免费在线观看| 竹菊一区二区三区AV线| 欧美天堂日韩三级国产传媒| 亚洲综合激情五月久久| 久久精品国产亚洲AV高清演员表| 日韩啪啪视频| 青青草女人天天干| 99热aaa| 国产精品成人蜜臀AV在线| 日骚逼视频| 麻豆人妻少妇在线免费观看| 黑丝内射一区二区三区| 久久久亚洲高清不打码| 天天看天天日天天操| 中文字幕文字幕无码一区二区三区电影99| 丁香五月婷婷基地| 欧美1区二区三区公司| 久久久天堂| 欧美一二三区四五区| 精品成人av一区二区三区在线| 亚洲欧美人妻| 四虎精品永久在线观看| 日韩钢筋无码高清啾啾啾| 日本午夜福利影院| 婷婷丁香在线| 日韩av一级黄片| 亚洲欧美国产va在线播放频| 亚洲精品少妇| 欧美亚洲首页| 久操免费观看| 夫妻天天操岛国视频| 亚洲涩图欧美| 亚州日韩97| 中文字幕在在线观看网站| 国产av美女被艹的乱叫| 亚洲成人福利电影免费| 亚洲精品国产专区在线观看| 日韩亚洲精品一区二区| 国产欧美一级在线观看| 欧美三级中文字幕hd| 久久日韩精品一区二区| 性爱视频无打码在线观看| 大香蕉一级黄色片久久| 中文字幕后石码三区四区| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 国产日韩在线播放av| 秋霞一集毛片观看| 亚洲国产一区二区入口| 免费日韩黄片| 乱伦Av网| 日韩亚洲Av人人夜夜澡人人爽| 国产一区二区三区白丝| 欧美性爱18观看| 久久超碰国产一区二区三区| 91在线精品一区二区三区| 91香蕉国产尤物视频| 91丝袜美女视频| 中国熟妇| 麻豆精品一区二区三区四区免费观看| 亚洲天堂男人天堂网| 97ai亚洲| 尤物av网站免费在线播放| 天天综合亚洲综合| 欧美18 在线观看| 黄色激情电影在线观看| 粉嫩不卡一区二区性爱| 日韩性爱高清免费视频| 中文字幕国产精品1区| 久久婷婷一区二| 精品视频123区小说区| 国产视频一区二区在线| 夜夜爽爽夜夜精品视频| 午夜福利合集| 91色拍| 波多野结衣AV无码一区| 亚洲无码AV九九九| 日韩精品 资源| 天天影视网综合少妇| 亚洲AV免费在线观看| 很黄很污的免费网站| 麻豆影音天美视频| 国产精品大屁股999| 欧美人妻制服| 家庭乱伦性爱av| 欧美性爱另类综合| 欧美国产有色电影| 国产91影院| 曰韩精品视频一区二区| 亚洲免费看片| 久操 高清| 亚洲激情深爱文学小说网站| 秋霞一集毛片观看| 99在线观看| 大吊色| 91精品91久久久久77777| 日躁天天爽爽| 国产自产一区视频在线| 天天看综合网| 亚洲加勒比色图| 亚洲成人激情小说视频| 久久久久久精品免费看A级| 吻戏激情性巴克| 天堂涩涩| 亚洲欧洲中文日韩女优乱码| 六月丁香网| av麻豆啪啪| 999久久久国产精品| 国产精品久久久久久亚洲色欲| 全球成人中文在线| 精品一区二区三区四区女| 哈哈操 大香蕉| 亚洲第2页| 婷婷伊人一区| 伊色久人大在线| 日韩在线一区高清在线| 久久超碰97中文字幕| 清纯唯美综合| 2020国产精品| 久草精品一区| a天堂视频| 激情文学欧美| 欧美性爱精品七区| 精品久久久中文字幕不| 97超碰色色| 五月激情影院| 久久风骚城市人| a v网站在线播放| 欧美色日本| 日韩中文字幕视频| 亚洲限制级| 久久双插| 亚洲91亚洲| 91五十路| 粉嫩国产精品久久粉嫩| 欧美日韩97| 东京热男人的天堂网| 久久久久96| 可以在线观看AV的网站| 色女免费在线观看视频网址| 日本三级网页| 啊啊啊啊免费视频| 天天操夜夜操| 亚洲天堂男人网| 爱爱动态120秒| 女人久久久| www.狠狠| 中国AAAAAA黄色片| 少妇丝袜在线观看AV| 人妻 中文 日韩| 91久久久老司机| 思思热影视| 女同性恋中文字幕| www.91色综合| 亚洲欧洲日本精品中文a∨| 欧美图片色综合| 香蕉久久AⅤ...| 天欧美在线| 99在线观看| 亚洲欲色| 黄色成品网站| 欧美黑人精品一区二区| 噜噜噜亚洲精| 97干com| 亚洲 欧美 偷拍 唯美| 国产精品一区二区后入| 91啪啪视频| 偷拍综合网| 久久 亚洲 日韩 人妻| www成人啪啪18秘 免费| 亚洲人成在线放东京热| 九九九九免费高| 亚洲av无码成人精品国产| 奶水 人妻 哺乳 在线| 少妇蜜汁| 青青草日韩无码| 超碰97人妻免费在线| 桃色人妻在线视频| 亚洲AV小说| 人妻一区二区三区视频| 精品999一区二区| 亚洲 欧美 另类 日韩 人妻一区 | 人人操人人射人人干| 岛国成人av在线播放网址| 麻豆天美传媒毛片| 国产成人啪一区二区| www.91色综合| 久热香蕉精品在线视频| 国产精品一区二区手机看片| 亚洲干B| 99国产在线绯色一区| 午夜寂寞欧美| 久久国产性爱| 五月婷婷丁香| 无码高清专| 草草草视频在线免费看| 天美传媒精品久久视频| 欧洲亚洲人人爽爽视频| 精品射1999| 五月花婷婷| 秋霞影音一区二区三区| 伊人热综合| 香港久久久| 欧美 亚洲 另类 综合| 免费观看欧美日韩操逼视频| 六月色色| 91女优在线观看| 91美女视频| 日韩av情韩国爱禁区av一区二区| 欧美人妻色| 殴美牲| 中文字幕日本久久| 欧美亚洲尤物久久| 韩国一级AAA| 亚洲伊人久久综合97| 久操国产在线| 亚洲a色| 久久9免费视频| 激情四射五月天| 欧美激情片一区二区| 国语人妻精彩刺激| 九九热九九热| 蜜桃臀 后入 一区 二区 三区 在线| 五月天开心网| 欧美天天拍| 吻戏激情性巴克| 91狠| 狠狠搞 亚洲91| 色爱欲亚洲| 久久久婷婷| 国产欧美日韩臀| 国产欧美日韩臀| 欧美久久婷婷| 是还免费视频1727我| 欧美影音在线| 国产精品九九| 久久爽爽精品| 午夜福利在线合集| 久操视频免费观看| 蜜臀久久99精品久久久久电影| 日韩精品电影| 久久女女| 91亚洲欧美激情| 亚洲欧美黄| 国产99热| 国产91亚洲精品一区二区三区| 久久超碰网| 99国产精品| 一起草三级AV电影在线观看 | 亚洲熟女乱色一区二区三区| 一级毛片电影免费看| 女沟厕偷窥piss小便| 日韩av免费一级电影| 日本免费人成视频播放120秒| 啪啪资源网| 无码国产精品久久久久| 久久激情五月| 毛片视频白嫩| 男女性扦B| 亚洲图片 欧美电影| 亚洲综合九九| 国语国产操逼伊人AV网| 女优视频第10页| 不卡超碰护士AV在线免费播放| 97人亚洲综合字幕| 精品人妻一二三四区视频| 中文字幕AV片| 亚洲精品久久久久久久蜜桃臀| 亚洲精品蜜桃久久久| 久热香蕉精品在线视频| 秋霞一级鲁丝片A片| 久久一级无码精品毛片6| 欧美黄片视频在线观看免费| 色色五月婷婷| 亚洲精品蜜桃久久久久久久| 免费视频观看60秒| 国产在线观看一区二区三区| 久久夜黄色无码A级大片| 天天干天天爽| 久久综合久色欧美综合狠狠 | 日产狠狠干| 国产婷婷一区| 东京热综合久久一区二区 | 99re这里只有精品中心播放| 日本高清免费一本视频在线观看| 人人看欧美性爱| 男人的天堂网免费| 青草精品视频一日本久久久久网站| 超碰97中文| 91视频伊人| 五月天大香蕉| 九九九国产精品| 密乳AV免费观看| 五月丁香色色网| 97精品国产精品免费观看| 男女国产精品| 人人操人人操草草| 97操在线| 日韩性爱一级片| 亚洲中文字幕三级在线| 男人精品天堂一区| 最新无码国产| 日本黄 R色 成 人网站| 97就爱干| 日韩三A大片在线观看| 激情五月婷| 久艹99| 国产免费操逼| 99热aaa| 久久久四区| 五月天激情国产综合婷婷婷| 美女天天干| 自慰白浆在线观看| AV男人天堂网| 天天日B夜夜干B时时操B| 男人精品天堂一区| 天天躁日日躁xxxxx| 欧美性猛交美女自慰91| 91性色| 夜夜中出国产| 亚洲高清欧美总合| 男人亚洲91首页在线| 91N综合网| 久久肏大逼| 91亚洲狠狠色| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 伊人97超碰| 性91| 中文字幕日韩国产传媒欧美精品| 精品午夜福利导航| 中文字幕精品人妻丝袜| 91久久久亚洲| 无码人妻丰满熟妇奶水区毛片| 国产久久久久久| 亚洲情色1区| 国产三级资源在线观看| 天综合网欧美| 桃花色涩综合影院| 国产传媒日韩欧美| 日韩懂色网| 国产欧美日韩一区二区三区| 伊人午夜福利视频| 午夜免费福利视频一区| 天天操天天舔| 男人天堂一区二区| 伊人操你| 九九九九九九免费视频| 久久精品国产亚洲AV无码电影| 久久久久久99999国产精品| 91狼人| 少妇淫妇久久久久久久| wwe 天天干.com| 亚洲免费97免费| 成全在线观看免费观看| 亚洲欧美洲综合| 99热这里只有精| 国产亚洲欧美每日在线| 国产精品农村妇女精品| 殴美牲| 午夜一级免费毛片| 99999国产精品| 熟女自慰久久久| 丰满人妻av一区二区三区 | 欧美大香蕉卡久久| 综合自拍| 国产女同在线观看视频| 69丨亚洲丨精品丨入口免费播放| 屌逼麻豆| 国产精品嫩草影院免费| 日韩大香蕉| 精品人妻1区| 好爽要喷了| 性色乱AV一区二区| 国产福利影视| 精品日韩人妻视频| 夜夜欧美 | 五十路三区在线| 98精品国产乱码久久久久久| 天天影视色香色欲| 亚洲日韩精品在线播放| 99re热有精品视频国产| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 日韩欧美成人大香蕉| 殴美在线AⅤ| 欧美性生活男人的天堂| 91欧美网| 超碰 国产熟女精品一区| 美女裸体麻豆天美蜜桃91| 免费毛片在线播放| 国产精品嫩草影院免费| AV一起草在线| 欧美性xxxxx狂欢| 国色综合天| 国产91丝袜 在线播放| 亚洲精品不卡一二三区| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 久久久久国产精品片区无码直播| 日韩一区二区精彩视频| 九九九九AV| 亚洲最大无码中文字幕网站| 午夜乱轮操逼视频免费看| 极品色综合| 97鸡把在线视频| 亚洲诱惑天堂| 天天操天天日天天干| 天天天天天天天天综合| 夜夜爽妓女| 野狼激情网| 91久久国产综合久久| 99激情视频| 动漫爆乳3D奶水一区在线观看 | 性欧美精| 9ⅰ久久久天天| 久久亚洲熟妇在线视频| 色五月第四色| 人妻人妻天天碰| 色超碰综合| 青青草色情网站视频| 亚洲天堂人人妻| 一区二区 电影 亚洲| 97欧美精品综合| 99RE在线视频精品,这里只有精品| 欧洲中文字幕| 久久国99999| 人妻黑丝袜电影| 亚洲偷拍欧美激情| 午夜九九| 欧差乱伦二三| 亚洲国产精品99久久久| 日本视频一区二区三区| 九九色影院| 人妻加勒比东京热| 白丝AV网站| 劲爆欧美人妖三区91| 久久久久96| 玖玖综合网| 国产女同在线观看视频| 国产亚洲精品无码三区| 自拍大香蕉乱插| 大香蕉乱伦视频网| 一本一道人妻久久一区二区三区| 日韩精品第3页| 香蕉大久久久| 97天堂| 国产成人欧美一区二区三区的国产| 久久毛卡| 国产成人网址| 传媒免费一区二区三区| 欧美91网| 370p日韩欧美亚洲精品| 国产无码一二三区| 欧美中文字幕男人天堂久久精品 | 翔田千里无码一区| 亚洲第2页| 五月婷婷丁香六月| 一区二区三区成人| 亚洲国产精品无石码久久| av爱爱爱| www.99视频| 日韩 欧美 校园一区| 天天天干977| 色在线综合| 亚洲操逼网| 天天看高清麻豆| 欧美色图91| 青娱乐久久艹| 色一射色一射| 人妻少妇无码| 双插性欧美一二三区| 综合激情婷婷| 色娱乐色呦呦夜夜夜夜av| 精品福利| www网站黄| 中文久久一区| 在线视频97| 国产又爽又黄| 不卡六六在线91| 久久无码一区二区二三区性色| 色婷婷亚洲婷婷| 四虎精品一区| 国产99精品一区二区三区免费| 91美女丝袜诱惑视频| 久久精品人妻一区二区三区| 强奸乱伦免费网站| 国产婷婷一区| 99久久99久久免费精品蜜臀| 午夜国产成人福利视频| 超碰97久久国| 在线播放一级无码视频| 天堂精品小草| 少妇二级| 亚洲中文字幕一区二区| 强奸a片网| 超碰午夜| 日韩欧美午夜视频在线| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 男人天堂网站| 欧美美女自慰一区二区三区| 亚洲第一视频 欧美风情 日韩| 日韩人妻免费精品| 91美女高潮| av一区二区三区四区| 91视频成人福利网站在线一区 | 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 1204人成网站色www| 免费人成在线观看网站品爱网| 日韩在线97| 亚洲图片日本AⅤ欧美在线| 91久久午夜无码鲁丝片久久人妻| 凹凸精品熟女在线观看| 精品超碰中文在线| 中文字幕天堂在线| 亚洲AV高潮| 人人操肉肉| 久久九精品| 亚洲情色中文字幕一区| 激情文学亚洲| 亚洲久热| 91亚洲欧洲| 大香蕉在线视频重口味毛片在线| 亚洲无吗在线视频| 欧美综合自拍亚洲综合图| 久久99网站| 日韩情色一区二区| 欧美日韩国第一区| 黄片色区软件| 四虎影视国产精品| 久操高青| 波多野结衣一级视频| 99后入| 欧美夜夜狠| 人人看黄色视频| 情色av电影| 亚洲精品无码久久AV| 97操综合| 特级大荫道BBwBBwBBW| 在线有码中文字幕| 天天摸夜夜操视频| 青草视频在线看看看看看看看看看| 久久精品国产Aⅴ| 999 久久久| 亚洲激情网| 日韩熟女无码| 后入合集| 日韩99神马视频片| 黑丝少妇在线观看| 蜜乳Av成人片网站| 91欧| 亚洲污污网站| 中文字幕 人妻不满 在线视频| 亚洲精品国产无码高清| 大色网久久| 爱干爱射网啊啊啊| 色婷婷激情| av天堂精品久久| 老熟女网站| 熟女久久久| 久久神马影院| 欧美成人9797| 偷看洗澡一二三区美女| 俄罗斯一区二区视频在线观看| 久久久久久人| 啊嗯嗯啊好大好爽| 四虎永久在线精品免费网址| 睡产熟女乱伦| 波多野42部无码喷潮在线观看| 78操B| 久久风骚城市人| se,,,亚洲欧美| 国模限制级电影| 大香蕉丝袜一级片| 午夜福利精品| 九九精品99| 国产91影院| 久久后入制服| 青青操视频在线| 精彩国产视频播放1区2区| 天天插天天插| 99九九精品| 欧美视频边做饭边橾| 日本操逼aaaaa| 99国产精品| 99热这里只有精品18| 欧美日韩国产精品久久色婷婷| a片亚洲一本通视频| 国产精品熟女AV中文字幕在线播放| 香蕉久久国产AV一区二区| 久久久免费一级黄片| 99老司机精品视频在线观看| 26uuu成人影片| 成年无码动漫av片无尽在线 | 美日韩男女操屄视频| 天天综合网日韩| 亚洲情色 欧美| 欧美丝袜中文字幕07在线| 四虎av在线| 久久久999国产精品| 91蜜臀人妻中文字幕在线| 久久精品视频一区三区小泽玛利亚| 插入综合网| 青青草视频爽一爽| 久久e6只有精品| 99国产精品免费| 日韩钢筋无码高清啾啾啾| 中出789在线视频| 久久精品国产99国产精品亚洲| 一及黄久一点| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 婷婷丁香在线| 欧美精品另类人妖xxxx| 91美腿丝袜在线观看| 91久久18禁| 久日综合网| 天堂亚洲精品| 国产剧情在线| 51国产午夜精品视频| 午夜超爽| 日本亚洲熟女视频| 亚洲图片欧美日韩| 九九成人精品| 四虎精品亚洲| 午夜精品久久久| 精品欧美老熟女一二区| 精品成人亚洲午夜电影| 五月天婷精品激情| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 综合五月天| 丰满少妇一区二区三区专区| 涩涩久久精品| 老熟女综合网 | 欧美少妇大量自拍视频在线观看| 精品十三区| 性九九九九九九| 午夜九九| 久久黄片国产一区二区| 欧美人妻一区| 啊啊啊啊视频免费| 91久久久久久久| 久久春色| 18禁网站在线播放| 老女人日韩美91| 91劲爆| 国产精品视频内谢女人| 久久精视频美日韩在线视频| 色色色色色色色色色色色色色色综合| 久久久111| 久久久久久久久久久久色网| 日本三级一区二区 在线| 中文激情网| 伊人991| 男人综合网| 亚洲人妻在线一区| 久久的网站啊啊啊啊啊| 夜夜精品视频一区二区| 嫩草在线视频| 翘臀vidoes| 亚州黄站| 美國A片| 夜夜嗨av午夜成人| 97国产|免费| 黄色人人| 蜜桃中文字日产乱幕4区| 少妇大屁屁| 影音先锋中文字幕日本好一区二区| 中文字幕精品丝袜| 亚洲精品91| 国产18精品亚洲精品| 久啪| 99精品国产户外露出| 蜜桃臀av在线观看| #NAME?| jizzjizz欧美| 任你干在线视频| www.久久制服糖| 中文字幕视频一区视频二区| 玖玖久久久| 日韩午夜啪啪视频| 久男人久久| 黄色大香焦1级‘′‘| 亚洲欧美性生活| 亚洲电影中字一区二区| 中文啪啪视频| 亚欧成人一级片在线播放| 欧美日韩性爱精品| 加勒比伊人综合| 久久av无码| 亚洲男人的天堂一区二区| 国产精品96| 欧美少妇熟女| 女人天堂av在线播放| 婷婷爱五月| 久久免费9| 长长久久免费视频| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 超碰国产在线| 99re这里只有精品2| 欧亚性爱视频免费看| 亚洲做性| 亚洲欧美成人在线| 久草成人影片| 992这里有精品| 啊啊啊草死我| 亚洲狼狼干综合1| 亚洲欧美精品国产一区二区| 小骚逼被操的爽不爽| 欧美精品99久久久**| 91伊人久久在线| 天天天天天干夜夜夜夜夜操| 亚洲Av诱惑| 亚洲。日韩。欧美| 老熟女乱子伦中文字幕一区二区| 久久美国毛片| 激情丁香五月婷婷| 国产精品免费久久久久久久久久| 熟女中出视频| 加勒比久久综合网高清| 久久黄人人爽视频| 国产白嫩精品久久| 亚洲天堂7777| 人妻第一页| 亚洲精品天天影视综合网| 新久久AV| 亚洲交性| 久久久久久九九九九-美女久久久久久久-成人AV| 亚洲欧美综合| 亚州欧美一区| 国产亚州高清国产拍精| 色五月AV| 熟女精品一区二区在线观看| 天天做天天爱天天爽| 国产精品不卡高清在线观看| 国产女人9999| 男人天堂婷婷五月天校园春色| 男人的天堂不卡一区二区| 97视频900| 人人操人人狠狠操| 国产无吗在线播放| 欧美91色| 久草色悠悠在线视频| 亚洲免费人妻在| 亚洲在线网站| 桑老女人九区| 美腿丝袜高跟网免费视频免费视频| 国产亚洲深夜激情| 亚洲 日本 不卡| 成人热久久精品| 成年女人一区| 欧美系列在线一区二区| 51国产午夜精品视频| 国产成人啪一区二区| 78p欧美| 久久大香蕉| 成人无遮挡毛片免费看| 四虎在线观看网站| 色哟哟国产精品免费网址| 欧美系列在线一区二区| 性无码专区2020| 久热伊人| 色欧美在线| 亚洲天天影视色综合| 人人爱夜夜爱| 密桃99999| 一区二区三区机械有限公司| 欧美性爱第一区| 91P0RNY大屁股人妻| 久久αⅴ| 蜜臀中文无码午夜| 91操人| 伦理弟一页| 婷婷色香| 熟女自慰久久久| 国产夜夜艹| 亚州操操穴网| 91neishe| 97爱爱爱综合| 激情一区二区三区在线观看| 成人婷婷丁香| 九九碰九九爱97| 99操视频| 成人综合久久精品色婷婷| 探花一区在线| 综合操逼| 欧美久久伊人| 熟女字幕| 极品色www影院| 99热这里只有精品地址| 丁香五月天激情网站| 蜜桃无码AV一区二区| 国产三级中文有码在线视频| 日日操丁香五月天| 欧美不卡二区| 亚洲中文字母在线播放| 一区二区三区免费岛国片| 能在线播放的国产三级| 国产99精品一区二区三区免费| 日本狂喷奶水在线播放212| 欧美探花网| 自拍偷拍 高清无码| 久久av一级av少妇av高潮| 亚洲最新av无码成人精品区 | 91欧美长吊| 99www.bibizy香蕉资源国产一区二区三区高清 | 自拍视频一区在线观看| 欧美亚洲另类在线蜜桃| 日韩不卡在线一区二区| 五月婷婷丁香| 久久婷婷亚洲| 小泽玛利亚一二三| 好吊色一区| 在线一区| 大香蕉中文网| 日本久久女同性恋视频| 97人人夜夜精品视频| 午夜一区二区三区国产| 超碰人人超在线观看| 国内三级自拍小视频在线观看| 精品区9| 黑人中出21连凳花野真衣| 九九九九免费视频| 亚洲素人综合| 麻豆成人影音在线| 色综合久久av| 99ri精品| 亚洲棕合电彰| 久久色AV线| 国产精品高潮久久久无码| 成人一级性爱| 丁香六月婷婷综合| 97香蕉人人乳| 91高清欧美| 美国精品国产精品| 综合色色网| 国产日韩人人| 国产日本顶级一区二区三区| 欧美性爱精品七区| 伊欧美综合视频| 欧美亚综合色图| 亚洲欧美精品久| 中文视频在线观看| 操屄不卡视频| 日韩欧美成人大香蕉| 97 国产精品| 影音先锋每日最新资源在线观看| 无码少妇精品一区二区60岁老人| 日本人妻一区二区| 欧美另类丝袜熟女| 操逼无码一区| 91九久| BBBBB97COM| 成人aⅴ一区二区三区| 亚洲欧美九九| 中文字幕精品专区搜索结果91| 激情小说图片亚洲首页| 色狠狠综合| 乱色老一区二区三区的观看方式| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 草b在线| 国产自啪精品视频网站黑丝| 伊人五月天婷婷| 色五月婷婷麻豆在| 精品无码一区二区三区| 亚洲精品乱码线路中文字幕 | 国产60页| 抽插无码高清一区| 97就爱干| 日韩在线性爱免费视频| 天天干2019| 亚洲色婷婷久久久综合日本| 黄色欧美性爱视频| 中文字幕78| 久久国产逼| 91丝袜美女| 熟妇乱伦一区二区| 日日爽夜夜爽| 大香蕉草草| 天天插天天操| 久久久无码精品人妻二区| 亚洲AV无码乱码| 99热精品青草在线| 日本羞羞的视频在线播放| 久久香蕉国产传媒一区剧情天美| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 在线观看啊啊啊啊啊| 日韩Va亚洲va欧美Ⅴa久久| 欧美情色贴图| 狠狠色噜噜狠狠狠狠2018| 日少妇亚洲版| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 中文字幕一区二区三区蜜臀| 亚洲国产97| 蜜桃视频精品一区二区| 亚洲欧美第一页| 嗯阿好爽好紧| Sekablack无码一区| 久久国产对白激情浪潮 | 91狠婷| 操一操摸一摸| 中文久久一区| 欧美国产欧美在线观看| 91激情综合| 色综合av男人天堂| 欧美日综合| 伊人激情| 无码精品久久久久久亚洲| 欧美综合站| 99久久精品欧美国产| 亚洲第91页| 另类 日韩 熟女| 国产成人五月天丁香花| 国产精品一二三免费网站| av三级电影在线播放| 美国久久一二三四| 久久亚洲AV无码专区首页| av日韩中文字幕| 丁香婷婷色五月| 91精品国产91久久福利| 神马久久69| 免费A V在线| 欧美精品三级黄片| 狠综合网| 丁香六月激情综合| 日本成a人v网站在线观看| 欧美在线啊啊啊 | 后入式视频国产自| www久久久| 日本精品999| 日韩色女精品| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 精品久久久久久AV无码| 欧美在线中M| 92福利社视频| 久久综合亚洲色1080p| 欧美自拍网| 无码人妻丰满熟妇奶水区毛片| 成人午夜小视频手机在线看| 欧美色97| 330dv亚洲成年视频网| 五月丁香影院| 成 人片 黄色大片| 9丨久久九九九| 人妻 欧美 中文| 91黑丝露脚| 亚洲精品天堂久久A∨51成人漫| 九九九国产精品| 美美91成人国产精品欧美精品久久久久久久| 十八禁的黄污污免费网站| 91精品导航| 中亚黄色三级大片| 欧美熟爽综合| 一区二区娱乐网站| 能在线播放的国产三级| 97综合在线| 一本大道久| 国产女上位好爽在线| 天天天天天干夜夜夜夜夜操| 人人贴人人摸| 蜜臀久久99精品久久久久久婷婷 | 国产精品嫩草影院午夜两性| 99re99在线视频| 欧美视频激情久久久久久| 欧美黑人XXXⅩ高潮交| 日婷婷| 国产偷人伦激情在线观看| 五月天久久人妻| 97国产色图 | 超碰78| 欧美色图91| 嫩草 我啊~嗯~在线| 中文在线久久字幕| 国产超碰国产97| 日本黄 R色 成 人网站| 岛国大片在线观看网站入口| 国产成人拍国产亚洲精品| 欧美 亚洲精品首页| 国产中文字幕在线观看| 超碰天天久久79| 亚熟在线| 欧美日韩淫加| 亚洲色图91欧美日韩| 婷婷五月天影院| 91精品久久久久久综合五月天| 日韩精品人妻一| 操逼大黄片| 日韩性爱人人爱人人操| 国产女同在线观看视频| 精品福利| 91精品人| 欧美一级A一级a爱片久久| 欧美狠狠弄| 性饥渴少妇av无码毛片| 亚洲不卡三级手机播放| 亚洲综合97| 资源新线在线天堂| 中文字幕在线免费观看 | 人干人人人操人人摸| 日逼逼免费看| AA级电影三区| 色欧美亚洲| 亚洲男人电影天堂| 91少妇| 香蕉欧美| 久久久精品91八戒|