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

ARTICLE DETAIL

資訊詳情

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

26年電賽總結(jié)(H題之鋼球控制系統(tǒng) k230pid.c)

26年電賽總結(jié)(H題之鋼球控制系統(tǒng) k230pid.c) 目前程序沒(méi)有完全調(diào)好需要再改進(jìn)會(huì)在從5cm回到-5cm路上停下一、程序總體功能k230pid.c實(shí)現(xiàn)了一套基于 K230 視覺(jué)檢測(cè)、MSPM0 單片機(jī)控制和步進(jìn)電機(jī)執(zhí)行的小球位置閉環(huán)控制系統(tǒng)。系統(tǒng)的基本控制鏈路為K230視覺(jué)識(shí)別 ↓ 獲得小球相對(duì)目標(biāo)點(diǎn)的位置誤差 ↓ MSPM0通過(guò)串口接收誤差 ↓ 狀態(tài)觀測(cè)器估計(jì)小球位置和速度 ↓ 位置—速度串級(jí)控制器計(jì)算目標(biāo)傾斜量 ↓ 步進(jìn)電機(jī)改變導(dǎo)軌/圓管傾角 ↓ 小球在重力作用下移動(dòng) ↓ K230再次檢測(cè)形成閉環(huán)從文件名看它是一個(gè) PID 程序但從當(dāng)前實(shí)際執(zhí)行路徑看它已經(jīng)發(fā)展成一個(gè)組合控制系統(tǒng)包含定時(shí)中斷閉環(huán)控制K230視覺(jué)誤差接收α-β?tīng)顟B(tài)觀測(cè)器位置—速度串級(jí)控制兩階段目標(biāo)切換識(shí)別小球靜止/運(yùn)動(dòng)狀態(tài)判斷靜摩擦與卡滯補(bǔ)償步進(jìn)電機(jī)位置限制分段運(yùn)動(dòng)與斜率限制數(shù)據(jù)丟失保護(hù)最終到位保持文件中還保留了一套傳統(tǒng) PID 和軌跡控制算法但目前定時(shí)中斷實(shí)際調(diào)用的是BallCascade_Control()而不是傳統(tǒng)的BallTrajectory_Control()。二、核心參數(shù)及含義2.1基礎(chǔ)控制參數(shù)#define BALL_ERROR_DEADBAND 7誤差死區(qū)避免誤差和視覺(jué)噪聲導(dǎo)致電機(jī)頻繁動(dòng)作#define BALL_STEPPER_MIN_HZ 650#define BALL_STEPPER_MAX_HZ 2000步進(jìn)電機(jī)最低和最高脈沖頻率其中最大值用于初始化PID輸出范圍在當(dāng)前串級(jí)控制實(shí)際使用固定的4200這兩個(gè)參數(shù)主要服務(wù)于舊pid控制路徑#define BALL_DATA_TIMEOUT_TICKS 50Uk230數(shù)據(jù)超時(shí)門(mén)限為50個(gè)控制周期超時(shí)后就停止電機(jī)#define BALL_MOTOR_DIRECTION 1用于適配機(jī)械安裝方向?yàn)?控制方向不變?yōu)?電機(jī)運(yùn)動(dòng)方向取反。#define BALL_Y_POSITION_LIMIT 800步進(jìn)電機(jī)相對(duì)于啟動(dòng)零點(diǎn)允許的累計(jì)位置范圍(-800~800)#define BALL_OPUT_PER_STEP 50.0f舊PID輸出到步進(jìn)電機(jī)步數(shù)的比例系數(shù)例如:PID輸出為500時(shí)對(duì)應(yīng)10步。該參數(shù)只在舊函數(shù)BallStepper_SetOutput()和BallStepper_Shake()中使用當(dāng)前串級(jí)控制直接輸出目標(biāo)電機(jī)位置。#define BALL_CONTROL_PERIOD_S 0.01f控制周期為0.01s真正配置取決于定時(shí)器周期2.2串級(jí)控制參數(shù)#define BALL_POSITION_KP 3.5f位置環(huán)比例系數(shù) 根據(jù)位置誤差生成目標(biāo)速度v -kp*△x(負(fù)號(hào)表示偏移某一側(cè)死后,目標(biāo)速度指向相反方向)#define BALL_TARGET_SPEED_MAX 200.0f目標(biāo)速度限幅(-200~200)#define BALL_SPEED_KP 2.6f速度環(huán)比例系數(shù)根據(jù)速度誤差計(jì)算電機(jī)目標(biāo)位置(目標(biāo)傾斜角度)#define BALL_CASCADE_POS_LIMIT 800串級(jí)輸出限幅#define BALL_CASCADE_DELTA_MAX 28單周期最大調(diào)整步數(shù)優(yōu)點(diǎn):避免導(dǎo)軌角度突變降低機(jī)械沖擊減少步進(jìn)電機(jī)丟步風(fēng)險(xiǎn)讓控制輸出更加平滑#define BALL_CASCADE_SPEED_HZ 4200U串級(jí)控制實(shí)際使用的最大限制頻率三、全局變量與嵌入式變量修飾1.volatile變量表示這些變量可能被中斷或其他執(zhí)行上下文異步修改編譯器每次訪問(wèn)時(shí)都應(yīng)重新從內(nèi)訓(xùn)讀取不能隨意緩存或優(yōu)化掉但是只能防止編譯器錯(cuò)誤優(yōu)化并以保證多字節(jié)變量的原子性不等價(jià)于線程安全或者中斷安全。變量含義Ball_ErrorXK230發(fā)送的小球位置誤差Ball_PID_Output控制器輸出或速度誤差調(diào)試值Ball_NoDataTicks未收到新數(shù)據(jù)的周期數(shù)Ball_PID_Active是否已經(jīng)收到有效數(shù)據(jù)并進(jìn)入控制狀態(tài)Ball_PID_Enabled控制功能是否允許運(yùn)行Ball_Y_Position軟件記錄的電機(jī)累計(jì)位置Ball_AdjustSteps最近一次調(diào)整的步數(shù)Ball_IsMoving小球是否被判斷為正在運(yùn)動(dòng)Ball_TaskStage當(dāng)前任務(wù)階段1或2Ball_ErrorSpeed誤差接近速度的濾波估計(jì)Ball_Y_TargetPosition電機(jī)目標(biāo)位置Ball_ControlPhase控制階段Ball_StepCommandCount已發(fā)送的步進(jìn)運(yùn)動(dòng)命令數(shù)Ball_StuckTiltBoost克服靜摩擦的附加傾斜量Ball_FinalHold是否已進(jìn)入最終保持狀態(tài)Ball_PositionEstimate觀測(cè)器估計(jì)的小球位置Ball_VelocityEstimate觀測(cè)器估計(jì)的小球速度Ball_TargetVelocity位置環(huán)產(chǎn)生的目標(biāo)速度四、小球運(yùn)動(dòng)狀態(tài)識(shí)別static void Ball_UpdateMotionState(int32_t error) { int32_t change; if (!s_errorSampleValid) { s_lastBallError error; s_errorSampleValid 1U; return; } change error - s_lastBallError; if (change 0) change -change; s_lastBallError error; //判斷小球是否在運(yùn)動(dòng)閾值原本為4 if (change 3) //運(yùn)動(dòng) { s_stillConfirmCount 0U; if (s_moveConfirmCount 3U) s_moveConfirmCount; if (s_moveConfirmCount 3U) Ball_IsMoving 1U; } else //靜止 { s_moveConfirmCount 0U; if (s_stillConfirmCount 4U) s_stillConfirmCount; if (s_stillConfirmCount 4U) Ball_IsMoving 0U; } }判斷規(guī)則若連續(xù)3次滿足 \(\Delta e\geq4\)認(rèn)為小球正在運(yùn)動(dòng)若連續(xù)4次滿足 \(\Delta e4\)認(rèn)為小球靜止。這種方法不是單幀立即切換狀態(tài)而是使用連續(xù)確認(rèn)計(jì)數(shù)。其優(yōu)點(diǎn)是避免視覺(jué)坐標(biāo)抖動(dòng)導(dǎo)致?tīng)顟B(tài)在“運(yùn)動(dòng)”和“靜止”之間頻繁跳變。這是一種數(shù)字去抖、時(shí)間濾波或滯回確認(rèn)思想。這里需要區(qū)分閾值4是空間變化閾值連續(xù)3次和4次是時(shí)間確認(rèn)閾值二者結(jié)合增強(qiáng)了狀態(tài)判斷穩(wěn)定性。五、電機(jī)執(zhí)行static void BallStepper_SetOutput(float output, int32_t maxSteps, uint16_t speedHz) { int32_t adjustSteps; //等待上一次運(yùn)動(dòng)完成再執(zhí)行下一次 if (!Servo_Y_IsDone()) { Ball_AdjustSteps 0; return; } adjustSteps (int32_t)(output / BALL_OUTPUT_PER_STEP); if (adjustSteps 0 output ! 0.0f) adjustSteps (output 0.0f) ? 1 : -1; if (adjustSteps maxSteps) adjustSteps maxSteps; if (adjustSteps -maxSteps) adjustSteps -maxSteps; if (BALL_MOTOR_DIRECTION 0) adjustSteps -adjustSteps; if (Ball_Y_Position adjustSteps BALL_Y_POSITION_LIMIT) adjustSteps BALL_Y_POSITION_LIMIT - Ball_Y_Position; else if (Ball_Y_Position adjustSteps -BALL_Y_POSITION_LIMIT) adjustSteps -BALL_Y_POSITION_LIMIT - Ball_Y_Position; Ball_AdjustSteps adjustSteps; if (adjustSteps 0) return; Servo_Y_SetSpeed(speedHz); Servo_Y_Stepper_Run(adjustSteps); Ball_Y_Position adjustSteps; }1.非阻塞異步執(zhí)行不在中斷等待電機(jī)2. PID輸出到步數(shù)的轉(zhuǎn)換adjustSteps (int32_t)(output / BALL_OUTPUT_PER_STEP);3.位置式電機(jī)控制/*位置式電機(jī)控制 不是每次執(zhí)行完整目標(biāo)控制逐段靠近目標(biāo)位置 使用位置目標(biāo) 分段跟蹤的結(jié)構(gòu) */ static void BallStepper_MoveToPosition(int32_t targetPosition, int32_t maxSegmentSteps, uint16_t speedHz) { int32_t moveSteps; //限幅 if (targetPosition BALL_Y_POSITION_LIMIT) targetPosition BALL_Y_POSITION_LIMIT; if (targetPosition -BALL_Y_POSITION_LIMIT) targetPosition -BALL_Y_POSITION_LIMIT; Ball_Y_TargetPosition targetPosition; //等待上一次電機(jī)動(dòng)作完成異步非阻塞 if (!Servo_Y_IsDone()) return; moveSteps targetPosition - Ball_Y_Position; //誤差機(jī)制 //限幅 if (moveSteps maxSegmentSteps) moveSteps maxSegmentSteps; if (moveSteps -maxSegmentSteps) moveSteps -maxSegmentSteps; if (moveSteps 0) { Ball_AdjustSteps 0; return; } Servo_Y_SetSpeed(speedHz); Servo_Y_Stepper_Run(moveSteps); if (!Servo_Y_IsDone()) { Ball_Y_Position moveSteps; Ball_AdjustSteps moveSteps; Ball_StepCommandCount; } }4.軟件限位目標(biāo)位置和運(yùn)動(dòng)結(jié)果都會(huì)被限制在[-800,800]這屬于嵌入式系統(tǒng)中的安全保護(hù)設(shè)計(jì)。但是Ball_Y_Position是通過(guò)程序累計(jì)步數(shù)得到的開(kāi)環(huán)位置不是編碼器反饋。如果發(fā)生以下情況軟件位置可能與真實(shí)位置不一致步進(jìn)電機(jī)丟步電機(jī)堵轉(zhuǎn)機(jī)械滑動(dòng)系統(tǒng)啟動(dòng)時(shí)機(jī)構(gòu)不在真實(shí)零位電源異常導(dǎo)致?tīng)顟B(tài)丟失。因此嚴(yán)格來(lái)說(shuō)這不是絕對(duì)位置而是“從啟動(dòng)零點(diǎn)開(kāi)始累計(jì)的估計(jì)位置”。更可靠的系統(tǒng)可以增加零位限位開(kāi)關(guān)上電回零編碼器反饋電機(jī)堵轉(zhuǎn)檢測(cè)。六、α-β?tīng)顟B(tài)觀測(cè)器K230發(fā)送的是離散且可能存在噪聲的位置誤差系統(tǒng)還需要知道小球速度。直接用相鄰位置相減會(huì)產(chǎn)生較大噪聲因此程序設(shè)計(jì)了α-β觀測(cè)器。1.觀測(cè)器狀態(tài)分別對(duì)應(yīng)小球位置估計(jì)Ball_PositionEstimate小球速度估計(jì)Ball_VelocityEstimate2.預(yù)測(cè)過(guò)程每次定時(shí)中斷先執(zhí)行預(yù)測(cè)公式對(duì)應(yīng)代碼static void BallObserver_Predict(void) { if (s_observerInited) { Ball_PositionEstimate Ball_VelocityEstimate * BALL_CONTROL_PERIOD_S; } if (s_observerFrameTicks 65535U) s_observerFrameTicks; }這使用了勻速運(yùn)動(dòng)模型假設(shè)再很短的10ms周期內(nèi)小球速度基本不變。即使在這一周期沒(méi)有收到k230新數(shù)據(jù)觀測(cè)器仍可根據(jù)上一次速度繼續(xù)預(yù)測(cè)位置。3.校正過(guò)程收到視覺(jué)誤差后計(jì)算殘差其中r:測(cè)量與預(yù)測(cè)偏差預(yù)測(cè)位置zk230發(fā)送來(lái)的位置誤差校正α參數(shù)作用α越大位置估計(jì)越相信當(dāng)前視覺(jué)測(cè)量響應(yīng)快但是噪聲更容易進(jìn)入估計(jì)結(jié)果α越小位置更加平滑抗噪聲能力強(qiáng)但是會(huì)增加滯后性。β參數(shù)作用β控制殘差對(duì)速度估計(jì)的修正強(qiáng)度β越大速度估計(jì)靈敏但容易抖動(dòng)。β越小速度平滑但跟蹤加速度變化較慢。4.不等間隔數(shù)據(jù)處理代碼沒(méi)有假設(shè)k230每個(gè)控制周期都一定發(fā)送數(shù)據(jù)而是通過(guò)參數(shù)s_observerFrameTicks記錄兩次視覺(jué)幀之間經(jīng)歷了多少個(gè)N10ms的周期參數(shù)含義Ts?控制周期MCU微控制器控制環(huán)的固定運(yùn)行周期。文中明確提到“MCU控制環(huán)可以運(yùn)行在100Hz”因此Ts1/1000.01Ts?1/1000.01 秒即10ms。這是系統(tǒng)最基礎(chǔ)的時(shí)間基準(zhǔn)。(定時(shí)器N或 NticksNticks?兩次成功接收到的視覺(jué)幀之間所經(jīng)歷的 TsTs? 控制周期的個(gè)數(shù)。它是一個(gè)整數(shù)計(jì)數(shù)器例如如果隔了5個(gè)周期才來(lái)一幀則 N5N5。T實(shí)際視覺(jué)幀間隔兩次視覺(jué)幀之間真實(shí)的物理時(shí)間間隔。它通過(guò)公式 TN×TsTN×Ts? 計(jì)算得出。關(guān)于取值限制 0.01s≤T≤0.20s0.01s≤T≤0.20s 的含義下限0.01s防止 N0N0即同一周期內(nèi)重復(fù)處理同一幀數(shù)據(jù)確保至少經(jīng)過(guò)一個(gè)完整控制周期才更新一次視覺(jué)數(shù)據(jù)。上限0.20s設(shè)定一個(gè)超時(shí)閾值即最多等待20個(gè)控制周期。如果超過(guò)0.2秒還沒(méi)收到新幀系統(tǒng)會(huì)認(rèn)為視覺(jué)數(shù)據(jù)已過(guò)期或丟幀嚴(yán)重從而停止使用該數(shù)據(jù)避免用“過(guò)時(shí)”的信息去控制當(dāng)前的電機(jī)或執(zhí)行器??偨Y(jié)這個(gè)機(jī)制的本質(zhì)是用固定高頻的時(shí)鐘節(jié)拍Ts?去“丈量”不規(guī)則到達(dá)的視覺(jué)數(shù)據(jù)將非周期的視覺(jué)輸入轉(zhuǎn)化為帶有時(shí)間戳T的可用信息從而實(shí)現(xiàn)多速率系統(tǒng)的協(xié)同。速度限幅速度估計(jì)限制為-500 V 500用于防止視覺(jué)誤識(shí)別、坐標(biāo)跳變或丟幀后恢復(fù)產(chǎn)生異常大的速度估計(jì)從而導(dǎo)致控制器突然輸出極端值。七、位置速度串級(jí)控制鋼珠控制核心static void BallCascade_Control(void)static void BallCascade_Control(void) { float positionError; //位置相對(duì)目標(biāo)誤差 float velocityError; //速度相對(duì)誤差 float targetPositionFloat; //目標(biāo)位置浮點(diǎn) float absPosition; //絕對(duì)位置誤差值 float absVelocity; //絕對(duì)速度誤差值 int32_t targetPosition; //目標(biāo)位置 if (!s_observerInited) return; //目標(biāo)位置定義為0陰惻觀測(cè)到位置本身則為相對(duì)目標(biāo)的誤差 positionError Ball_PositionEstimate; absPosition (positionError 0.0f) ? positionError : -positionError; absVelocity (Ball_VelocityEstimate 0.0f) ? Ball_VelocityEstimate : -Ball_VelocityEstimate; if (Ball_TaskStage 2U absPosition 7.0f absVelocity BALL_SETTLE_SPEED) { Ball_FinalHold 1U; } if (Ball_FinalHold) { Ball_ControlPhase 3U; Ball_TargetVelocity 0.0f; Ball_PID_Output 0.0f; BallStepper_MoveToPosition(0, BALL_CASCADE_DELTA_MAX, BALL_CASCADE_SPEED_HZ); return; } //目標(biāo)速度-3.5*相對(duì)目標(biāo)位置誤差限幅200 Ball_TargetVelocity Ball_ClampFloat( -BALL_POSITION_KP * positionError, -BALL_TARGET_SPEED_MAX, BALL_TARGET_SPEED_MAX); //速度誤差 //Ball_VelocityEstimate在β觀測(cè)器中得到 velocityError Ball_TargetVelocity - Ball_VelocityEstimate; targetPositionFloat BALL_SPEED_KP * velocityError; /* A stuck ball needs extra tilt, but the boost disappears after it moves. */ if (absPosition 12.0f absVelocity 10.0f) { if (s_stuckControlFrames 1000U) s_stuckControlFrames; Ball_StuckTiltBoost 120 (int32_t)(s_stuckControlFrames / 6U) * 35; if (Ball_StuckTiltBoost 500) Ball_StuckTiltBoost 500; targetPositionFloat (targetPositionFloat 0.0f) ? (float)Ball_StuckTiltBoost : -(float)Ball_StuckTiltBoost; } else { s_stuckControlFrames 0U; Ball_StuckTiltBoost 0; } targetPositionFloat Ball_ClampFloat( targetPositionFloat, -(float)BALL_CASCADE_POS_LIMIT, (float)BALL_CASCADE_POS_LIMIT); targetPosition (int32_t)targetPositionFloat; if (BALL_MOTOR_DIRECTION 0) targetPosition -targetPosition; Ball_PID_Output velocityError; if ((positionError 0.0f Ball_VelocityEstimate 0.0f) || (positionError 0.0f Ball_VelocityEstimate 0.0f)) Ball_ControlPhase 2U; else Ball_ControlPhase 0U; BallStepper_MoveToPosition(targetPosition, BALL_CASCADE_DELTA_MAX, BALL_CASCADE_SPEED_HZ); }串級(jí)控制分為內(nèi)外環(huán)1.外環(huán)位置誤差生成目標(biāo)速度程序吧目標(biāo)位置定義位0因此觀測(cè)到的位子本身就是相對(duì)目標(biāo)的誤差如果小球離目標(biāo)較遠(yuǎn)目標(biāo)速度較大接近目標(biāo)后目標(biāo)速度自然減小。與直接用位置誤差控制傾角相比這種方式明確規(guī)定了“希望小球以多塊的速度接近目標(biāo)”。2.內(nèi)環(huán)速度誤差產(chǎn)生目標(biāo)傾角因?yàn)殡姍C(jī)位置與導(dǎo)軌傾角近似相關(guān)所以目標(biāo)電機(jī)位置實(shí)際上代表目標(biāo)傾斜程度。內(nèi)環(huán)會(huì)根據(jù)實(shí)際速度調(diào)整傾角小球運(yùn)動(dòng)太慢增加傾角小球運(yùn)動(dòng)太快減小傾角小球已有較大沖向目標(biāo)的速度可能輸出反向傾角進(jìn)行制動(dòng)。3.串級(jí)控制的優(yōu)勢(shì)相較于單一位置PID它具有以下優(yōu)點(diǎn)能顯式控制小球接近目標(biāo)的速度更容易提前減速降低沖過(guò)目標(biāo)點(diǎn)的概率能利用速度反饋增加系統(tǒng)阻尼對(duì)小球這種具有慣性的對(duì)象更合適。該控制器嚴(yán)格來(lái)說(shuō)是位置外環(huán)P控制器 速度內(nèi)環(huán)P控制器當(dāng)前實(shí)際路徑并不是傳統(tǒng)的PID控制器。八、控制階段判斷變量Ball_Controlphase用于表示當(dāng)前控制階段0正常驅(qū)動(dòng)/加速階段1舊軌跡控制中的水平滑行階段2反向制動(dòng)或速度方向異常階段3最終到位保持階段判斷條件if ((positionError 0 velocity 0) ||(positionError 0 velocity 0))表示位置誤差和速度方向相反即小球正在向目標(biāo)點(diǎn)運(yùn)動(dòng)。不過(guò)代碼把這一狀態(tài)名為階段2更準(zhǔn)確的說(shuō)它代表“正在接近目標(biāo)/存在制動(dòng)需求”并不一定意味著此刻已經(jīng)執(zhí)行反向制動(dòng)。九、最終到位保持待優(yōu)化滿足條件Ball_TaskStage 2absPosition 7 //絕對(duì)位置absVelocity 8 //絕對(duì)速度系統(tǒng)進(jìn)入Ball_FinalHold 1;優(yōu)點(diǎn)這比只判斷位置更加合理。如果判斷位置小球可能只是高速經(jīng)過(guò)目標(biāo)點(diǎn)并未真正的穩(wěn)定。加入速度條件后要求小球不僅靠近目標(biāo)而且運(yùn)動(dòng)速度足夠小。進(jìn)入最終保持狀態(tài)后將目標(biāo)速度設(shè)置為鋼球PID控制系統(tǒng)輸出設(shè)置為制動(dòng)電機(jī)調(diào)整位置并且實(shí)時(shí)更新邏輯位置。代碼如下Ball_TargetVelocity 0;Ball_PID_Output 0;BallStepper_MoveToPosition(0, ...);系統(tǒng)將導(dǎo)軌逐步恢復(fù)到標(biāo)定水平位置。需要注意Ball_FinalHold是鎖存狀態(tài)。一旦置1本次任務(wù)中不會(huì)因?yàn)檎`差再次增大而自動(dòng)退出只能通過(guò)停止、重新使能或階段切換清除。這能避免在目標(biāo)附近反復(fù)切換但也可能使小球受擾動(dòng)后無(wú)法自動(dòng)重新捕獲目標(biāo)。這里需要優(yōu)化十、靜摩擦與卡滯補(bǔ)償導(dǎo)軌上存在靜摩擦導(dǎo)致啟動(dòng)或者低俗運(yùn)動(dòng)時(shí)候小球出現(xiàn)卡滯現(xiàn)象。判斷條件absPosition 12absVelocity 10小球明顯未到達(dá)目標(biāo)但是出現(xiàn)停止或者低速時(shí)候觸發(fā)觸發(fā)后逐漸增加在static void BallCascade_Control(void))Ball_StuckTiltBoostif (absPosition 12.0f absVelocity 10.0f) { if (s_stuckControlFrames 1000U) s_stuckControlFrames; Ball_StuckTiltBoost 120 (int32_t)(s_stuckControlFrames / 6U) * 35; if (Ball_StuckTiltBoost 500) Ball_StuckTiltBoost 500; targetPositionFloat (targetPositionFloat 0.0f) ? (float)Ball_StuckTiltBoost : -(float)Ball_StuckTiltBoost; } else { s_stuckControlFrames 0U; Ball_StuckTiltBoost 0; } targetPositionFloat Ball_ClampFloat( targetPositionFloat, -(float)BALL_CASCADE_POS_LIMIT, (float)BALL_CASCADE_POS_LIMIT); targetPosition (int32_t)targetPositionFloat; if (BALL_MOTOR_DIRECTION 0) targetPosition -targetPosition; Ball_PID_Output velocityError; if ((positionError 0.0f Ball_VelocityEstimate 0.0f) || (positionError 0.0f Ball_VelocityEstimate 0.0f)) Ball_ControlPhase 2U; else Ball_ControlPhase 0U;基本表示小球開(kāi)始運(yùn)動(dòng)后就將補(bǔ)償清0具體代碼s_stuckControlFrames 0;Ball_StuckTiltBoost 0;這屬于自適應(yīng)靜摩擦補(bǔ)償或漸增式啟動(dòng)力矩補(bǔ)償。它和積分控制有一定相似性二者都會(huì)在誤差長(zhǎng)期不能消除時(shí)逐漸增強(qiáng)控制量。但該方法只在“誤差較大且速度很低”時(shí)工作比普通積分更加有針對(duì)性也不容易在高速運(yùn)動(dòng)時(shí)繼續(xù)累積十一、兩段軌跡識(shí)別0-5cm;5cm--5cm)使用變量Ball_TaskStage表示兩個(gè)任務(wù)階段通過(guò)誤差變化推斷目標(biāo)是否發(fā)生變化判斷條件具體代碼Ball_TaskStage 1 //當(dāng)前在第一階段previousAbs 420 //上一幀誤差處于一定范圍內(nèi)currentAbs 120 //當(dāng)前兩幀誤差發(fā)生明顯跳變jump 30 //相鄰兩幀誤差發(fā)生明顯跳變條件滿足后切換為Ball_TaskStage 2;同時(shí)清除舊階段狀態(tài)清空最終保持標(biāo)志清空速度估計(jì)相關(guān)變量清空制動(dòng)閾值清空防卡滯補(bǔ)償清空PID歷史誤差和積分重置觀測(cè)器。這是典型的狀態(tài)機(jī)和模式切換設(shè)計(jì)。切換時(shí)重置觀測(cè)器非常重要因?yàn)槟繕?biāo)點(diǎn)變化會(huì)讓“誤差坐標(biāo)”瞬間改變。如果把該跳變當(dāng)成小球真實(shí)運(yùn)動(dòng)就會(huì)估計(jì)出一個(gè)極大的虛假速度。十二、誤差接近速度的低通濾波舊軌跡通過(guò)以下計(jì)算公式接近速度對(duì)應(yīng)代碼approachSpeed previousAbs - currentAbs;Ball_ErrorSpeed Ball_ErrorSpeed * 0.7f approachSpeed * 0.3f;含義大于0絕對(duì)值誤差正在減少小球接近目標(biāo)。小于0絕對(duì)值誤差正在增大小球遠(yuǎn)離目標(biāo)。這是一階指數(shù)低通濾波器可以降低視覺(jué)坐標(biāo)噪聲對(duì)速度計(jì)算的影響。當(dāng)前串級(jí)控制主要使用α-β觀測(cè)器中的Ball_VelocityEstimateBall_ErrorSpeed主要服務(wù)于保留的舊軌跡控制。十三、傳統(tǒng)軌跡控制算法目前雖然沒(méi)有被定時(shí)中斷調(diào)用BallTrajectory_Control()仍包含大量值得學(xué)習(xí)的控制思想。它把小球控制過(guò)程劃分為以下階段1.加速驅(qū)動(dòng)階段根據(jù)絕對(duì)誤差大小選擇不同傾斜量。誤差越大傾斜步數(shù)越大誤差越小傾斜步數(shù)越小。這屬于分段非線性控制或增益調(diào)度。2.水平滑行階段當(dāng)小球接近目標(biāo)且具有一定速度時(shí)BallStepper_MoveToPosition(0, ...);讓導(dǎo)軌恢復(fù)到水平讓小球依舊保持慣性滑行。3.反向制動(dòng)階段當(dāng)小球更接近目標(biāo)且速度仍較大時(shí)向相反方向傾斜導(dǎo)軌以抵消小球動(dòng)量。這是一種基于狀態(tài)機(jī)的預(yù)測(cè)制動(dòng)思想4.最終保持階段誤差小于等于7時(shí)把導(dǎo)軌回復(fù)水平并停止繼續(xù)調(diào)整。這套方法不完全依賴數(shù)字模型而是把人的控制經(jīng)驗(yàn)寫(xiě)成分段規(guī)則屬于經(jīng)驗(yàn)控制或混合控制十四、PID增益調(diào)度static void BallPID_SetProfile(int32_t error, int32_t *maxSteps, uint16_t *speedHz) { int32_t absError (error 0) ? error : -error; /* Faster pulses improve response; smaller step segments limit tube angle. */ if(absError 260) { step.Kp 26.0f; step.Ki 0.0f; step.Kd 25.0f; step.OutMax 1800.0f; step.OutMin -1600.0f; *maxSteps 3; *speedHz 3700U; } else if(absError 230) { step.Kp 23.0f; step.Ki 0.0f; step.Kd 23.0f; step.OutMax 1600.0f; step.OutMin -1600.0f; *maxSteps 3; *speedHz 3500U; } else if (absError 200) { step.Kp 23.0f; step.Ki 0.0f; step.Kd 23.0f; step.OutMax 1600.0f; step.OutMin -1600.0f; *maxSteps 3; *speedHz 3200U; } else if (absError 180) { step.Kp 21.0f; step.Ki 0.0f; step.Kd 27.0f; step.OutMax 800.0f; step.OutMin -800.0f; *maxSteps 1; *speedHz 2700U; } else if (absError 160) { step.Kp 19.0f; step.Ki 5.0f; step.Kd 26.0f; step.OutMax 900.0f; step.OutMin -900.0f; step.IntMax 150;step.IntMin -150; *maxSteps 1; *speedHz 2600U; }else if (absError 130) { step.Kp 20.0f; step.Ki 6.0f; step.Kd 26.0f; step.OutMax 800.0f; step.OutMin -800.0f; *maxSteps 1; *speedHz 2600U; }else if (absError 100) { step.Kp 20.0f; step.Ki 6.0f; step.Kd 25.0f; step.OutMax 900.0f; step.OutMin -900.0f; *maxSteps 1; *speedHz 2500U; } else if (absError 80) { step.Kp 17.0f; step.Ki 2.0f; step.Kd 22.0f; step.OutMax 1000.0f; step.OutMin -1000.0f; *maxSteps 2; *speedHz 2800U; } else if (absError 60) { step.Kp 17.0f; step.Ki 3.0f; step.Kd 22.0f; step.OutMax 900.0f; step.OutMin -900.0f; *maxSteps 3; *speedHz 2800U; } else if (absError 40) { step.Kp 16.0f; step.Ki 3.0f; step.Kd 22.0f; step.OutMax 800.0f; step.OutMin -800.0f; *maxSteps 2; *speedHz 2800U; } else if (absError 30) { step.Kp 16.0f; step.Ki 2.0f; step.Kd 21.0f; step.OutMax 700.0f; step.OutMin -700.0f; *maxSteps 2; *speedHz 2800U; } else { step.Kp 14.0f; step.Ki 2.0f; step.Kd 18.0f; step.OutMax 600.0f; step.OutMin -600.0f; *maxSteps 2; *speedHz 2600U; } }根據(jù)絕對(duì)誤差的不同區(qū)間動(dòng)態(tài)修改KpKiKdPID輸出限幅單次最大步數(shù)電機(jī)脈沖頻率這種方法叫做增益調(diào)度?;舅枷胧蔷嚯x目標(biāo)較遠(yuǎn)時(shí)強(qiáng)調(diào)快速響應(yīng)接近目標(biāo)時(shí)降低輸出并增強(qiáng)阻尼某些區(qū)間關(guān)閉積分防止大誤差下積分累積不同誤差區(qū)間采用不同執(zhí)行速度。不過(guò)該函數(shù)當(dāng)前沒(méi)有在中斷執(zhí)行路徑中被調(diào)用所以它是保留算法不是當(dāng)前實(shí)際運(yùn)行參數(shù)。另一個(gè)值得注意的問(wèn)題是某些分支修改了IntMax和IntMin其他分支沒(méi)有重新賦值。這意味著積分限幅可能保留上一次分支的值形成隱含狀態(tài)。如果重新啟用該算法最好在每個(gè)分支中都完整設(shè)置相關(guān)參數(shù)。十五、抖動(dòng)脫困、回平和反向制動(dòng)輔助函數(shù)以下函數(shù)目前也沒(méi)有被實(shí)際主控制路徑調(diào)用BallStepper_Shake()通過(guò)正向、反向和再次正向的周期動(dòng)作讓機(jī)構(gòu)振動(dòng)以克服小球卡滯。這是振動(dòng)脫困策略。BallStepper_Level()每次最多向零位移動(dòng)4步讓導(dǎo)軌緩慢回平。BallStepper_ReverseBrake()根據(jù)當(dāng)前電機(jī)傾斜方向執(zhí)行反向運(yùn)動(dòng)且制動(dòng)步數(shù)限制在624步。這些函數(shù)體現(xiàn)了代碼從早期PID控制逐步演化到軌跡控制、再演化到串級(jí)控制的過(guò)程。十六、初始化、使能和停止流程1.初始化void K230PID_Init(void)void K230PID_Init(void) { UART2_K230_Init(); StepMotor_Init(); K230PID_Stop(); Ball_NoDataTicks 0U; Ball_PID_Active 0U; Ball_PID_Enabled 1U; NVIC_ClearPendingIRQ(TIMER_1_INST_INT_IRQN); NVIC_EnableIRQ(TIMER_1_INST_INT_IRQN); DL_TimerA_startCounter(TIMER_1_INST); }依次完成初始化K230串口初始化步進(jìn)電機(jī)清除控制器歷史狀態(tài)清除無(wú)數(shù)據(jù)計(jì)數(shù)設(shè)置控制使能清除定時(shí)器中斷掛起標(biāo)志開(kāi)啟定時(shí)器中斷啟動(dòng)定時(shí)器。說(shuō)明整個(gè)控制器是由周期定時(shí)器驅(qū)動(dòng)的。2.使能void K230PID_Enable(void)void K230PID_Enable(void) { Ball_PID_Enabled 1U; Ball_PID_Active 0U; Ball_NoDataTicks 0U; Ball_Y_Position 0; K230PID_Stop(); }執(zhí)行設(shè)置使能標(biāo)志控制狀態(tài)暫時(shí)設(shè)為未激活清空超時(shí)計(jì)數(shù)把當(dāng)前電機(jī)軟件位置設(shè)為零調(diào)用停止函數(shù)清空歷史狀態(tài)。需要注意設(shè)置Ball_Y_Position0只是把當(dāng)前機(jī)械位置當(dāng)作軟件零點(diǎn)并沒(méi)有真正執(zhí)行機(jī)械回零。3.停止void K230PID_Stop(void)void K230PID_Stop(void) { Servo_Y_Stop(); step.Error0 0.0f; step.Error1 0.0f; step.ErrorInt 0.0f; step.Out 0.0f; Ball_PID_Output 0.0f; Ball_AdjustSteps 0; Ball_IsMoving 0U; s_errorSampleValid 0U; s_moveConfirmCount 0U; s_stillConfirmCount 0U; s_shakePhase 0U; Ball_TaskStage 1U; Ball_ErrorSpeed 0.0f; Ball_BrakeThreshold 0; Ball_Y_TargetPosition 0; Ball_ControlPhase 0U; Ball_StuckTiltBoost 0; Ball_FinalHold 0U; s_stuckControlFrames 0U; s_trajectorySampleValid 0U; BallObserver_Reset(); }停止時(shí)會(huì)立即停止步進(jìn)電機(jī)清空PID誤差和積分清空輸出清空運(yùn)動(dòng)狀態(tài)判斷回到第一任務(wù)階段清除速度、制動(dòng)和防卡滯狀態(tài)清除軌跡采樣狀態(tài)重置α-β觀測(cè)器。Ball_PID_Enabled清零所以它更接近“停止當(dāng)前控制并等待新的有效視覺(jué)數(shù)據(jù)”而不是徹底禁用模塊。十七、定時(shí)器中斷控制流程核心控制位于void TIMER_1_INST_IRQHandler(void)void TIMER_1_INST_IRQHandler(void) { if (DL_TimerA_getPendingInterrupt(TIMER_1_INST) DL_TIMER_IIDX_ZERO) { int32_t error; uint8_t hasNewFrame 0U; if (!Ball_PID_Enabled) { DL_TimerA_clearInterruptStatus( TIMER_1_INST, DL_TIMERA_INTERRUPT_ZERO_EVENT); return; } BallObserver_Predict(); if (K230_GetFrame(error) K230_FRAME_ERROR) { hasNewFrame 1U; Ball_PID_Active 1U; Ball_NoDataTicks 0U; Ball_ErrorX error; if (BallTrajectory_Update(error)) { BallObserver_Reset(); } Ball_UpdateMotionState(error); BallObserver_Correct(error); } if (!hasNewFrame) { if (!Ball_PID_Active) { DL_TimerA_clearInterruptStatus( TIMER_1_INST, DL_TIMERA_INTERRUPT_ZERO_EVENT); return; } if (Ball_NoDataTicks 65535U) Ball_NoDataTicks; if (Ball_NoDataTicks BALL_DATA_TIMEOUT_TICKS) { K230PID_Stop(); Ball_PID_Active 0U; } } if (Ball_PID_Active) BallCascade_Control(); DL_TimerA_clearInterruptStatus(TIMER_1_INST, DL_TIMERA_INTERRUPT_ZERO_EVENT); } }定時(shí)器執(zhí)行順序如下1.判斷是否使能如果沒(méi)有使能不執(zhí)行控制。if (!Ball_PID_Enabled)return;2.觀測(cè)器預(yù)測(cè)無(wú)論有沒(méi)有新視覺(jué)數(shù)據(jù)都先根據(jù)當(dāng)前速度預(yù)測(cè)下一時(shí)刻位置。BallObserver_Predict();3.讀取k230數(shù)據(jù)if (K230_GetFrame(error) K230_FRAME_ERROR)收到誤差幀后標(biāo)記有新數(shù)據(jù)激活控制器清零超時(shí)計(jì)數(shù)保存誤差判斷任務(wù)階段是否切換更新運(yùn)動(dòng)/靜止?fàn)顟B(tài)用視覺(jué)測(cè)量校正觀測(cè)器。4.處理丟幀如果本周期沒(méi)有收到新數(shù)據(jù)若系統(tǒng)從未收到過(guò)有效數(shù)據(jù)直接返回若已經(jīng)激活則增加無(wú)數(shù)據(jù)計(jì)數(shù)達(dá)到50次后停止控制。5.執(zhí)行串級(jí)控制即使某一周期沒(méi)有新視覺(jué)幀只要沒(méi)有達(dá)到超時(shí)門(mén)限仍會(huì)根據(jù)觀測(cè)器預(yù)測(cè)結(jié)果繼續(xù)控制。if (Ball_PID_Active)BallCascade_Control();6.清除中斷標(biāo)志保證下一個(gè)定時(shí)周期能夠正常進(jìn)入中斷。十八、數(shù)據(jù)丟失保護(hù)該程序區(qū)分了兩個(gè)狀態(tài)Ball_PID_Enabled模塊是否允許運(yùn)行Ball_PID_Active是否已經(jīng)收到過(guò)有效誤差幀。系統(tǒng)啟動(dòng)后不會(huì)在沒(méi)有視覺(jué)數(shù)據(jù)的情況下盲目控制。只有收到第一幀有效誤差后才進(jìn)入活動(dòng)狀態(tài)?;顒?dòng)后如果臨時(shí)丟一兩幀觀測(cè)器繼續(xù)預(yù)測(cè)控制器仍然工作避免偶發(fā)丟幀造成電機(jī)頻繁啟停。如果連續(xù)約0.5秒沒(méi)有數(shù)據(jù)K230PID_Stop(); Ball_PID_Active 0;系統(tǒng)停止電機(jī)并重置控制狀態(tài)。這是通信看門(mén)狗或數(shù)據(jù)有效性監(jiān)控機(jī)制。十九、該程序體現(xiàn)的主要知識(shí)點(diǎn)可將本文件中的知識(shí)點(diǎn)概括為閉環(huán)反饋控制通過(guò)視覺(jué)誤差持續(xù)修正執(zhí)行器輸出。位置式PID包含比例、積分、微分、積分限幅和輸出限幅。串級(jí)控制位置外環(huán)生成目標(biāo)速度速度內(nèi)環(huán)生成目標(biāo)傾角。狀態(tài)觀測(cè)器使用α-β觀測(cè)器融合位置測(cè)量并估計(jì)小球速度。預(yù)測(cè)—校正結(jié)構(gòu)無(wú)數(shù)據(jù)時(shí)預(yù)測(cè)有新數(shù)據(jù)時(shí)利用殘差校正。多速率系統(tǒng)MCU控制頻率和K230視覺(jué)幀率可以不同。有限狀態(tài)機(jī)使用任務(wù)階段、控制階段、最終保持狀態(tài)組織控制邏輯。數(shù)字濾波使用指數(shù)低通濾波處理誤差變化速度。防抖判斷連續(xù)多幀確認(rèn)小球是運(yùn)動(dòng)還是靜止。增益調(diào)度根據(jù)誤差區(qū)間改變PID參數(shù)和執(zhí)行器參數(shù)。非線性分段控制不同誤差區(qū)間使用不同傾斜量和制動(dòng)力度。靜摩擦補(bǔ)償小球卡滯時(shí)逐漸增加傾角。反向制動(dòng)通過(guò)反向傾斜消除小球動(dòng)量。執(zhí)行器飽和限制目標(biāo)位置、速度估計(jì)、輸出和單次步數(shù)。控制量變化率限制每周期最多調(diào)整一定步數(shù)降低機(jī)械沖擊。軟件限位防止電機(jī)累計(jì)位置超過(guò)安全范圍。非阻塞電機(jī)控制控制器只在電機(jī)完成上一段動(dòng)作后發(fā)送下一段命令。通信超時(shí)保護(hù)長(zhǎng)時(shí)間無(wú)視覺(jué)數(shù)據(jù)時(shí)自動(dòng)停止。中斷驅(qū)動(dòng)控制使用硬件定時(shí)器保證近似固定的控制周期。嵌入式變量管理使用volatile處理主程序與中斷共享變量使用static封裝內(nèi)部狀態(tài)。二十、程序優(yōu)點(diǎn)該程序的主要優(yōu)點(diǎn)包括控制鏈路完整形成視覺(jué)閉環(huán)使用速度估計(jì)優(yōu)于只根據(jù)位置誤差控制串級(jí)結(jié)構(gòu)適合具有慣性的小球系統(tǒng)考慮了視覺(jué)噪聲、丟幀和幀率不穩(wěn)定有位置、速度、輸出和增量等多層限幅具有卡滯補(bǔ)償適應(yīng)真實(shí)機(jī)械摩擦使用分段步進(jìn)控制降低機(jī)械沖擊目標(biāo)切換時(shí)重置觀測(cè)器避免虛假速度最終到位同時(shí)判斷位置和速度保留了大量調(diào)試變量便于串口、OLED或調(diào)試器觀察。二十一、存在的問(wèn)題和改進(jìn)方向1 .文件名與實(shí)際算法不完全一致雖然文件名為k230pid.c當(dāng)前實(shí)際控制函數(shù)是串級(jí)P控制不是傳統(tǒng)完整PID。建議在報(bào)告中寫(xiě)成系統(tǒng)早期使用位置式PID當(dāng)前版本以位置—速度串級(jí)比例控制為主并保留原PID與軌跡控制代碼。2. 存在未調(diào)用函數(shù)和未使用宏當(dāng)前未被實(shí)際路徑調(diào)用的函數(shù)包括BallStepper_SetOutput()BallStepper_Shake()BallStepper_Level()BallStepper_ReverseBrake()BallTrajectory_Control()BallPID_SetProfile()未實(shí)際使用的宏包括BALL_ERROR_DEADBANDBALL_STEPPER_MIN_HZ這會(huì)增加代碼閱讀難度??梢詣h除舊代碼或者通過(guò)編譯選項(xiàng)明確選擇控制模式。3. 注釋存在亂碼文件中部分中文注釋因編碼不一致出現(xiàn)亂碼可能是UTF-8、GBK和編輯器設(shè)置不一致造成的。建議統(tǒng)一為UTF-8編碼。4. 中斷函數(shù)工作量較大中斷中包含串口幀讀取浮點(diǎn)觀測(cè)器運(yùn)算控制算法電機(jī)命令處理。在資源有限的MCU上中斷時(shí)間過(guò)長(zhǎng)可能影響其他實(shí)時(shí)任務(wù)。更合理的結(jié)構(gòu)是定時(shí)中斷只設(shè)置控制標(biāo)志主循環(huán)或?qū)崟r(shí)任務(wù)執(zhí)行復(fù)雜控制計(jì)算串口中斷只接收并緩存數(shù)據(jù)。如果當(dāng)前100Hz周期內(nèi)運(yùn)算時(shí)間充足也可以繼續(xù)使用但最好通過(guò)GPIO翻轉(zhuǎn)或定時(shí)器測(cè)量中斷執(zhí)行時(shí)間。5 .軟件電機(jī)位置可能漂移Ball_Y_Position是命令累計(jì)值不是真實(shí)反饋位置。建議增加上電回零限位開(kāi)關(guān)編碼器定期零點(diǎn)校準(zhǔn)。6. 任務(wù)切換采用誤差跳變推斷通過(guò)誤差變化判斷K230是否切換目標(biāo)可能受到誤檢、丟幀和坐標(biāo)突變影響。更可靠的方法是讓K230數(shù)據(jù)幀直接攜帶當(dāng)前目標(biāo)編號(hào)當(dāng)前任務(wù)階段幀序號(hào)校驗(yàn)信息。MCU收到明確階段字段后再切換狀態(tài)。7. 最終保持狀態(tài)不能自動(dòng)退出Ball_FinalHold一旦置位就持續(xù)讓導(dǎo)軌回平。如果小球后來(lái)受到擾動(dòng)離開(kāi)目標(biāo)系統(tǒng)不會(huì)重新控制。可以增加退出條件例如持續(xù)若干幀后清除Ball_FinalHold形成帶滯回的重新捕獲機(jī)制。8. 串級(jí)參數(shù)缺少單位說(shuō)明代碼中的位置、速度和步數(shù)單位沒(méi)有明確標(biāo)注。例如K230誤差是像素還是毫米速度單位是像素/秒還是毫米/秒電機(jī)步數(shù)和導(dǎo)軌角度之間的換算關(guān)系目標(biāo)點(diǎn)±5cm如何換算為圖像坐標(biāo)。報(bào)告中最好明確寫(xiě)出當(dāng)前控制參數(shù)屬于實(shí)驗(yàn)整定參數(shù)其數(shù)值與視覺(jué)坐標(biāo)尺度、攝像頭安裝、步進(jìn)電機(jī)細(xì)分?jǐn)?shù)及機(jī)械傳動(dòng)比有關(guān)。9. 觀測(cè)模型只采用勻速模型α-β觀測(cè)器假設(shè)短周期內(nèi)速度保持不變但真實(shí)小球受到傾角和摩擦影響存在加速度。后續(xù)可以考慮α-β-γ觀測(cè)器卡爾曼濾波將導(dǎo)軌傾角作為模型輸入建立小球動(dòng)力學(xué)模型。10. 參數(shù)散布在代碼中大量經(jīng)驗(yàn)參數(shù)直接寫(xiě)在條件分支中例如7、12、10、120、500等。建議集中定義為宏或配置結(jié)構(gòu)體便于參數(shù)說(shuō)明在線調(diào)參不同機(jī)械平臺(tái)復(fù)用記錄實(shí)驗(yàn)版本。二十二、報(bào)告結(jié)論的總結(jié)k230pid.c構(gòu)建了一套以K230視覺(jué)識(shí)別為傳感器、MSPM0為控制器、步進(jìn)電機(jī)為執(zhí)行器的小球位置閉環(huán)控制系統(tǒng)。系統(tǒng)以10ms定時(shí)周期運(yùn)行通過(guò)串口接收小球相對(duì)目標(biāo)點(diǎn)的位置誤差并利用α-β?tīng)顟B(tài)觀測(cè)器對(duì)位置進(jìn)行濾波、對(duì)速度進(jìn)行估計(jì)。在實(shí)際控制路徑中程序采用位置外環(huán)和速度內(nèi)環(huán)組成的串級(jí)控制結(jié)構(gòu)位置環(huán)根據(jù)位置偏差產(chǎn)生目標(biāo)速度速度環(huán)再根據(jù)目標(biāo)速度與估計(jì)速度之差生成導(dǎo)軌的目標(biāo)傾斜位置。為了適應(yīng)真實(shí)機(jī)械系統(tǒng)程序還設(shè)計(jì)了目標(biāo)速度限幅、電機(jī)位置限位、單周期最大步數(shù)限制、視覺(jué)數(shù)據(jù)超時(shí)保護(hù)、運(yùn)動(dòng)狀態(tài)多幀確認(rèn)、靜摩擦補(bǔ)償和最終穩(wěn)定判斷等機(jī)制。此外程序能夠通過(guò)視覺(jué)誤差的跳變識(shí)別兩階段目標(biāo)切換并在切換時(shí)清除舊控制狀態(tài)及重置觀測(cè)器避免目標(biāo)坐標(biāo)變化被錯(cuò)誤解釋為小球高速運(yùn)動(dòng)。該程序體現(xiàn)了PID控制、串級(jí)控制、狀態(tài)觀測(cè)、數(shù)字濾波、狀態(tài)機(jī)、執(zhí)行器飽和、通信看門(mén)狗和嵌入式中斷編程等多方面知識(shí)。其主要特點(diǎn)不是單純依靠一個(gè)固定參數(shù)PID而是通過(guò)觀測(cè)器、串級(jí)反饋及多種經(jīng)驗(yàn)補(bǔ)償共同提高系統(tǒng)在視覺(jué)噪聲、靜摩擦、慣性和通信丟幀條件下的穩(wěn)定性。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
成人八戒网站| 日本高清熟女久久一区| 夜夜爽夜夜高潮夜夜爽| A片 AV一级在线播放观看免费| 欧美亚洲激情小说| 丝袜综合网| 99精品成人免费看| 熟女露脸激情自拍视频| 一级毛片久久久久久久女人18| 91丨九色丨国产打屁股| AV天黑人| 亚洲天堂7777| 强奸熟女一区二区三区 | 伊人影院日本| 伊人AAA| 风月影院男女十八禁| 欧美 精品国产制服第一页| 婷色五月| 香蕉精品二区二区| 99ri视频| 视频在线97| 亚洲欧美日韩精品久| 九九九九九精品十六| 性色AV蜜色av色欲av| 午夜男人一级A片7777| 91网站18+| 91操人| 综合性视频99| 白嫩国模丰满一二三区| 欧美 色 亚洲| 久99| 爱爱动态60秒| 日本不卡码黄色| 在线观看中文字幕| 97色插| 天堂综合网| 加勒比在线视频一区二区三区 | 96久久科窝| 91精品黄在线观看| 九九九只有精品| 久久精视频美日韩在线视频| 欧美日韩制服| 久久人妻办公室视频| 欧美天天综合在线| 欧美老熟另类| 久久成人国产| 国产精品禁久久久精品| 精品精品精品| 丁香五六月啪啪| 加勒比综合九九99视频在线播放| 婷婷去俺也去六月色| 是还免费视频1727我| 少妇无码av专区线| 美女十八禁| 麻豆2区1区天美| 超碰免费97| 久久精品天美| 国产高清精品一区二区三区毛片| 午夜福利一区二区三区四区五区色婷婷| 成人三级片无码| 99久在线精品99re8蜜桃| 白嫩国模丰满一二三区| 亚洲人久久久久日| 伊人五月天青青草婷婷| 日韩人妻一二三区视频| 免费男人的天堂| 女优免费一区二区永久| 太久视频| 精精品人妻一区二区三区| 久久超碰爱| 三级日韩一区二区三区| 亚洲青青草| 狠狠色婷婷7777久| 无码人妻精品一区二区三区99不卡| 极品色电影院| 日本美女性生活久久久久久久| 综合影院永久入口国产| 久久久久白虎| 91丝袜熟女| 校园春色 男人天堂| 极品综合| 五月天久久人妻| 91丝袜在线观看视频在线观看| 日本免费一级AAA大片器| 午夜精品久久久久久久99热影院 | 日本高清视频在线观看黄已三辽| 欧美九九99久久精品| 99久久精品无码一区二区| 超碰色图| 日本中文字幕一区| 国产欧美一区二区| 婷婷久月| 日韩亚洲国产视频| 色波多| 久久综合女优| 四虎国产成人精品免费一女五男| 欧美男女午夜啪啪| 丁香婷婷久久| 国产精品欧美日韩久久| 国产精品懂色tv影视免费观看| 91少妇香蕉久久精品| 嗯啊不要啊在线| 欧美日韩国产三级黄色| 男人天堂网站| 久肏视频字幕| 加勒比少妇AV婷婷六月天超碰超碰| 丁香五月激情综合| 欧美综合区| 国产原创精品| 五月丁香六月婷| 1769国内精品视频| 中文字幕丰满子伦无码专区在线视频最新| 91天堂丝袜美腿| 东北女人| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 免费人成在线观看网站品爱网| 熟妇色99| 亚洲色图第一页| 午夜天堂精品久久| 一区二区三区精品黑丝白丝酒店对鸡 | 九九精品99| 99re这里只有精品2| 极品粉嫩少妇视频| 欧洲精品在线播放| 97精品国产手机| 97硬碰| 久久一区无码| 国产视频一区二区在线| 九九久久首页| 精品无码久久久久| 日日干男人的天堂| 九九免费影片| 综合网亚洲在线| 免费男人的天堂| 99热线麻豆 | 韩日自拍| 超碰 国产熟女精品一区| 91l欧美在线| 综合网久久| 狠肏骚人妻| 免费视频在线观看啊啊啊啊啊| 成人七区| 国产成人自拍视频在线| 亚欧Av| 亚洲熟女中文字幕在线| 色五月婷婷在线| 六月丁香久久| 色色色综合| 国产伦精品免编号公布| 91丝袜美腿网站| 性欧美天天| 蜜臀人妻少妇久久在线观看| 色诱avtt| jiujiujiujingpin| 五月天人妻综合| 亚洲色图欧美色图在线播放| av影片在线观看不卡| 91AV入口| 中文字幕在线观看第二页| 色色色网站| 91亚洲图片| 制服中出中文人人精品| 超踫中文字幕| 欧美亚洲国产91在线| 中文字幕精品丝袜| 五月天激情四射| 嫩草在线视频| 超碰97 线线 在现| 好看的91视频| 99精品在线播放| 欧美日韩性爱无码| 1769一区| 国产农村妇女精品| 久久 久久国内精品亚洲| 久操99| 久久成人国产| 亚洲色图 91| 性爱欧美五月| 色偷偷色偷偷欧美日韩| 丝袜美腿欧美| 激情五月天插| 久久精品小视频| 强奸国产精品视频| 东京热男人的天堂| 精品午夜福利| 久久久久久99999国产精品| 九九九九九精品十六| 亚洲一区亚洲天堂| 91 亚洲情侣偷拍 久久| 另类专区加勒比| 欧洲精品网| 中文字幕文字幕无码一区二区三区电影99| 大香蕉欧美伊| laoshunv91| 中文97国产| 伊人色综合欧美| AV色五月天| 91男人综合| 国产AV天美传媒一区二区三区 | 婷婷激情一区二区三区俺也去| 久九九九九九九热| 爽爽爽免费视频| 5252色欧美在线| 蜜桃视频啊啊啊啊| 天天操天天舔| 精品无码一区二区三区| 亚洲阿v天堂无码z2018| 久久毛卡| 日本免费专区| 99无码精品| 亚洲精品色| 亚洲色婷婷| 久久水蜜臀亚洲AV无码精品| 久热伊人| 精品中文字幕第一页| 亚洲国产精品成人无码久久久 | 亚洲天堂 视频你懂的| 国产99精品一区二区三区免费| 免费在线观看AV无码网站| 亚洲情色91| 91老熟女老女人国产老太| 亚洲高清自拍| 丰满高潮18xxxx| 亚洲综合色男人网| 后入式五六区| 小日子操bb在线看| 91狠狠综合久久久久久| 91模特在线观看| 精品国产乱码| 亚洲aw毛茸茸在线| 亚洲毛片基地专区| 动漫爆乳3D奶水一区在线观看 | 日韩精品99999| 久久精品99久久久久久| 极品白嫩美女白浆成人福利在线看| 日韩精品一区的| 动漫区日韩区欧美区| 熟妇一区二区| 色色综合网站| 国产热av| 粉嫩av在线一区二区| 美女久久久久久久| 欧美色道啊| 国产女大学生AV| 操逼日韩无码| 久久久久久久久久久久97| 91久久精品中文字幕| 亚洲欧洲视频小说在线观看| 亚洲 在线| 大香蕉手机视频| 啊啊啊操死我了| 人成午夜免费大片| 啊啊啊啊啊舒服| α√在线| 久久有码视频| 亚码激情| 国产美女裸体秘 永久无遮挡| 欧美综合站| 亚洲色人| 国产伊人自拍| 99re热有精品视频国产| 天天视频黄网站| 天天看高清麻豆| 精品久久久久久中文| 久草综合视频| 亚洲第一狼人丝袜美女另类| 日本高清加勒比| 女人喷水视频在线观看| 人妻密肉在线观看| 破苞ⅩXXX性无码动漫无码| 欧洲大香蕉| 一本一道久久综合久久| 人人射人人操人人摸| 久久久亚洲精品中文字幕人妻| 蜜臀操逼黄色视频操的好爽| 91宗合网| 麻豆性爱视频在线播放| 操婷婷逼| yaouchengrenav| 伊人色综合欧美| 色色色五月婷婷| 美国黄片aaa| 粉嫩国产精品久久粉嫩| 综合伊人激情| 亚州五月| 韩国女主播青草在线| 欧美经典一区二区三区| 又大又大又大又粗爽高潮观看 | 99999国产| 九九九九久久久| 国产一国产一级毛片古装| 日韩精品99久久久久久中文字幕| 99在线精品观看99| 久久久久久久久久久免费精品| 性感美女啊啊啊在线| 伊人综合色网| 国产精品一区二区亚洲人成毛片| 偷拍色图| 视频二区熟女人妻| 亚洲情色一区二区三区| 性爱乱伦视频免费| 97超碰欧美精品| 成人精品视频一区二区| 动漫爆乳3D奶水一区在线观看| 免费啪啪av| 色色毛片| 欧美综合91| 精品女同一区二区三区| 久草线上视频免费看| 夜夜嗨AV蜜臀av| 69人妻精品一区二区绯色| 黄色激情电影在线观看| 91免费看一区二区三区| 天天干人人看综合| 狠狠操狠狠操操| 日韩欧美亚洲自拍偷拍| av中亚| 91亚洲高清| 国产视频第二页| 国产sv美女内射| 尤物视频网 刘玥| 国产激情av女片自拍| 99久久久久久久久| 自拍内地三级在线观看| 精品国产一区二区三区香蕉欧美| 亚洲一区二区中文字幕| 欧美激情综合| 在线v中文字幕一区二区三区| 大香交伊人网| 欧亚乱色熟一区二区三四区| 素人无码中文字幕| 国产精品9999| 日本国产高清色www视频在线| 99视频内射三四| 狠狠亚洲| 夫妻AV网站| 黄视频免费| 操碰97| 日韩不卡一二三四| 少妇厨房愉情理伦片bd在线观看 | 操逼999| 欧在线一二区| 久久肏大逼| 大吊色| 久久久久国产精品久久久| 久精品无码av一区二免费国产在线观看 | 久久久久密臀一区二区| 91av一区二区在线观看| 欧美性区| 国产偷人妻精品一区二区在线| 色欲久久99精品久久| 校园春色欧美| 97色在线视频| 天天射日日干| 无遮挡一级毛片视频免费的| 精品少妇高潮久久| 国产一区在线观看无码AV| 天天爽人人综合免费7799| 95人妻爽爽人人做人人澡| 婷婷日韩一区二区三区中文字幕在线| 色色色999| 果冻传媒一区二区三区| 五月丁香激情四射| 日本天天操| 国产熟女一区二区| 五月婷婷激情综合| 99在线精品视频| 亚洲av夫妻操穴网| 精品99999| 人妻熟女av国产网站| 欧洲Au麻豆| 亚洲国产97| 97综合日韩| 偷拍三区| 国产综合网站在线播放 | 东京男人天堂| 人妻22p| 久久久精精精| 成人日韩中文字幕| 国产精品一级片在线看| 97天天插| 欧美日韩性感| 啪啪啪东京| 超碰在线综合97| 久久综合五月天| 亚洲 欧美综合| 91伊人大香蕉| 操逼视频国产无套| 在线天堂999| 日韩一二三区| 蜜桃视频啊啊啊啊| av2014 日韩在线中文字幕| 99爱爱| 亚洲蜜臀视频精品久久| 国产欧美日本亚洲精品| 91老熟女91老女人| 免费看毛片操穴| 8x福利精品第一福利视频导航| 人妻人久久精品中文字幕| 人妻少妇蜜桃视频欧美一区| 日本精品网站在线中文| 日韩猛交| 热久久九九热| 97WW精品| 韩国一级婬片A片AAAAA| 人人操人人肉久久精品| 骚货 中文字幕 av| 欧美在线色图| 久久草草欧美精品| 亚洲国产美女久久久久 | 久久精品国产亚洲AV嘿嘿| 青青五月天| 精品乱码在线观看| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 99精品无码| 国产黄色 A 片免费看| 日韩激情电影中文字幕| 淫纸中9区| 好爽要喷了| 青操影院| 欧洲综合视频| 欧美日韩国产在线| 岛国片国产成人亚洲播放| 亚洲成人黄色在线观看| 91第一页| 玖草在线视频| 97在线观看| 探花精品 一区二区| 东北熟女91| www…国产操逼| 日韩欧美中文字| 99热只有这里有精品| 午夜精品久久99蜜桃的功能章节| 亚洲骚男同com| 色九九九九| 五月天色图影视| 91蜜臀熟女| 亚洲无码超碰免费| 东京热91| 中文字幕精品人妻丝袜| 国产一级特黄大片处女| 大香蕉人妻久久| 青青草久久一区网| 麻豆 欧美 日韩| 狠狠操狠狠操操| 91男同| 国产原创自拍| 免费观看的黄色的网站| 欧美综合国产精品久久丁香| 粉嫩av一区二区三区天美传媒 | 九热超碰| 国产欧美伊人| 中文字幕一区二区三四五区日日骚| 欧美熟女操屄| 日韩综合色图| 欧美最大综合网| 清清草影| 美性中文综合网| 激情五月天色色网| 日韩国产欧美伦理在线| 97超碰人人模人人拍人人| 肥佬影院91| AV天黑人| 亚洲精品 欧美97色色| 97丝袜亚洲在线播放| ,国产乱人伦精品一区二区三区| 在线观看无码三级少妇| 婷婷在线视频在线观看| 99999久久精| 91蜜桃传媒精品久久久一区二区| 嗯嗯啊啊日韩精品| 破处bbq| 加勒比五月天| 97精品一区二区视频在线观看| 亚洲天堂少妇| 国产欧美另类久久久精品课程| 懂色影视久久| 亚洲人妻色图| 日韩精品人妻中文字有码在线| 伊人伊人LD| 中出789在线视频| 日夜干射色啊| 夜夜骑日日| 97中文字幕九区| 91色欧美| 丰满岳乱妇一区二区三区 | 女人18精品一区二区三区| 91无码人妻| 国产精品夜夜夜| 婷婷五月天激情四射| 无码人妻精品酒店| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 熟女91网站| 久久男人的天堂| 91精品导航| 八戒午夜福利理论片| 啊啊啊好多水| 大香蕉免费乱伦视频| 超碰视97中文| 亚洲狠| 91亚洲欧洲| 眼镜人妻101.com| 国模不卡| 91精品大奶人妻| 中文字幕在在线观看网站| 超碰视97中文| 岛国免费视频在线| a一区二区三区乱码在线| 亚洲欧洲另类| 中文幕97| 久久综合97| 久久婷婷精品| 色婷婷成人综合| 青青草成人视频在线观看二区| 亚洲色人| 男人夜色天堂ss| 亚洲欧洲久久天堂| 亚洲天堂2020| 亚洲国产一区二区三区四区国产| 日韩av色图| 日本操逼视频免费| 中文字幕88av在线| 久久首页| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 黄呦呦在线| 18禁看网站一区| 久久香蕉国产传媒一区剧情天美| 蜜乳av一区二区三区| 影音先锋日本乱伦| 亚洲天天影视综合网| 午夜精品久久久久久久第一页按摩| 亚洲 中文字幕 精品| 人妻日日夜夜精品| 天堂无码| 九九九久千久久激情蜜桃在线看 | 大香蕉色欲AV| 久久精品国产亚洲AV高级北京| 少妇人妻无码| 日本熟女免费視颖| 超碰人妻中文在线| 青青三级视频| 曰韩操B| 伊人色综合超碰| 女人天堂av在线播放| 日本久久久久久久久| 大香蕉中文在线| 综合激情五月天| 欧美欧美少妇| 欧美视频边做饭边橾| 综合91网| 97视频网站在线观看| 牛牛操视频逼| av橘色网站| 日韩中文字幕二区| 翔田千里Av在线| com 首页 18岁 禁区 女优 免费 精选 同城 | 亚洲综合另类小说色区亚洲成av人片在www | 最新一二三区视频| 凹凸久久人人| 欧美暴力猛交| 亚洲av无码成人精品国产| 亚洲天天操| 亚洲一区制服诱惑| 久久,精品一二三| 尤物视频视频官网| 久久激情婷婷| 无码人妻精品一区二区三区九九 | 国产毛片片精品天天看视频| 中文字幕诱惑制服人妻丝袜美丝袜美 | 色欧美色交综合| 日本不卡码黄色| 色嗨嗨在线| 日本不卡二区| 亚洲欧美精品久| 中文字幕五区| 亚洲乱色熟女一区| 诱惑网综合| 天堂综合| 欧洲亚洲人妻无码中字久久三区四区| 婷婷五月天激情小说| 超碰在线人妻中文字幕| 岛国毛片在线观看免费| 天天看片青娱乐| 另类老少妇| 亚洲日韩乱码中文无码蜜桃臀网站| 99热精品在线在线| 国产又大又硬又长又粗| 69少妇一区二区| 人妻丰满熟妇一区二区三| 伊人一级免费黄片| 婷婷色色五月天福利| 亚洲人人夜夜澡人人爽| 黄页网站成人免费| 久超碰这里只有精品| 99热这里只有是精品10| 91久久久老司机| 锕锕好爽 死我在线观看| 啊啊啊操死我了| 日本中文字幕一区| 九草在线大香蕉| 亚洲国产综合久久久性感熟妇| 青青草在线成人视频| 啊啊啊啊一区| 91人妻视频在线| 亚洲91少妇| 久久这里精品国产99丫e6| 综合网欧| 麻豆av一区二区| 亚洲加勒比色图| 97超碰欧美精品| 波多野结衣之双飞调教在线播放 | 午夜黄色免费在线观看| 成人丁香五月| 丝袜av一区二区三区| 欧美精品系列| 乱伦一二三区| 五月丁香婷婷综合网| 亚洲成人av色网| 久久大香蕉手机高清视频| 欧美精品第四五页中文字幕在线观看| 欧美 日韩 婷婷 五月| 婷婷激情五月综合| 色综合国产在线观看| 亚洲另类在线观看| 嗯嗯嗯,草死我| 综合激情一一91| 热久久无毒不卡| 伊人网免费视频| 欧美极品女人的天堂| 91麻豆天美国产| 亚洲黄色AV电影| 404操逼福利视频| 久久精品国产Aⅴ| 久久亚洲中文字幕视频| 91操操| 欧美性生活内射| 国产精品高潮久久久无码| 国产一区二区三区影片| 四季AV一区二区凹凸精品小说| 天天综合欧美| 久久久五月天| 91美女视频电影| 久久国产逼| 欧美成人亚洲精品| 亚洲欧美高清无码| 嗯嗯啊在线视频| 99rre在线精品99re8| 婷婷影院入口| 亚洲亚洲亚洲天堂天堂| 欧美一级色| 日韩精品三级| 开心五月激情网| 午夜操操操| 91精品丝袜在线观看| 亚洲国产中文字幕| 麻豆国产96在线| 亚洲综合射| 亚洲天堂五月天国产| 日韩在线女优天天干| 中文熟女五十乱码在线| 超碰在线成人| 国产在线综合福利网站| 偷拍超碰| 日韩激情啪啪| 亚洲无码一区成人免费午夜| 99re视频在线观看这里只有精品| 91亚洲欧洲| 日本一二三高清| 欧美日韩亚洲一区二区在线观看| 亚洲影视第一页| 日本韩欧美在线播放a| 97国产|免费| 伊人国产av| 亚洲第一成人影院色播| 伊色久人大在线| 91在线丝袜视频| www国产天美久久久| 亚洲成成熟女人综合一区二区| 欧美人妻精品| 亚洲国产一级精品毛一级精品看免费视频| 欧美色交| 97AV在线免费观看| 亚洲有薄码区日本系列中文字幕| 操逼国产免费| 久久久久久久久国产| 久草婷婷| 五月激情在线| 国模不卡| 2017av无码免费无线播| 天天综合,91入口| 亚洲老熟妇xxx| 奇米四色影视777久久久| 欧美se综合| 高跟伊人julia ann| 天天爽人人综合免费7799| 欧差乱伦二三| 久久久久久999| 变态另类专区| 天天操天天日天天干| 先锋精品av色鲁| 国产91会所女技师在线观看| 东京热99999| 久久久久久久久久久久久久久性生活视频 | 激情熟女12P| 老鸭窝成人| 97干综合网| 激情综合97| 性站 | 成人网欧美风情| 啊啊啊好爽快点啊啊啊嗯嗯| 一级啊性爱在线视频| 18禁美女裸体无遮挡啪啪| 操人人| 夜夜天天噜狠狠爱2021| 国产综合在线视频网站| 操操逼视频| 色官网色综合| 久久婷婷综合国际产色怕| 97视频免费在线观看| 欧美天天| 国产中文大片资源中文字幕| 国产精品女生av| 国产无码精品高清| 久草视频观看视频在线| 日逼国产| 成人 日韩欧美一区| 熟女丰满人妻一区| 97视频620| 午夜精品人妻二区三区| 久久久99999久网站| 熟女精品一区二区在线观看| 亚洲交换| 国产精品香蕉热久久新品| 大香蕉专区| 免费精品99| 黄色成品网站| 色偷偷综合91久久噜噜| 草草草草视频| 成人aⅴ一区二区三区| 性爱av网站| 一个人在线看的黄色电影网站| 五月婷婷hd| 久久精品成人| 操操操五月天婷婷丁香影院| a v网站在线播放| 久热69九色熟妇97| 大香蕉在线视频重口味毛片在线| 91亚洲网站| 亚洲小电影免费涩涩成人在线高清| 色吧综合网| 超碰 97国产熟女| 久久9精品网站| 欧美十八禁视频| 99色| 亚洲欧美91| 尤物国产一区在线观看| 91美腿丝袜在线观看| 欧美日韩妖精91com| 偷拍亚洲熟女视频播放| 日本美女性生活久久久久久久| 色五月AV在线| 人人摸人人添人人操| 久久神马影院| 激情综合网激情综合| 精品久久青青草| 欧美精品一二三| 日本道久久综合色色| www.av不卡中文字幕| 亚洲国产精品9999在线观看| 中文有码第五页| 高清国产精品福利网站| 啊啊啊好爽快点啊啊啊嗯嗯| 天天综合中文字幕 91| 99热伊人| 伊人热综合| 又大又黄国产| A级在线视频| 天天看天天综合成人网| 日韩成人高清一区二区| 久久精品免费| 日本色色视频网站| 欧美日韩精品国产91| 大香蕉免费乱伦视频| 91路www| 久久五月综合| 黄页av| 久久久久免费少妇| 久久久新亚洲AV| 视频二区美腿制服人妻欧美| 亚洲最大的综合性av| 91 偷| 中文字幕123| 亚洲无线码一区国产欧美国| 欧美五十路熟| 欧美人与动性人交a| 亚洲高清视频在线免费观看| 日韩亚洲欧美中文字幕| 成人国产二区三区在线,男女精品。| 抽插一区二区视频| 伊人性在线视频| 91老熟女91老女人| 久久久久久久久久久精| 新91视频.cmp| 99久在线精品99re8蜜桃| 欧美97网| 久久精品国产亚洲av水密被窝| 欧美日韩精品久久久久东北老熟妇| 91影视亚洲| 人妻人久久精品中文字幕| 伊人四虎综合| 91中文字幕在线观看| 国产青青综合伊人| 熟妇人妻精品一区二区| 99re黄| 国产毛片毛片4p懂色| 精品日韩人妻视频| 国产亚洲福利第一页丝袜| 黄片免费日韩| 亚洲成人无码影院| 亚洲成人性爱在线观看| 日本三级大片| 口爆综合网| 亚洲熟妇乱女区二区三区| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 极品美女福利在线观看| 日本一区二区做爱的视频| 欧美国产伊人久久久久| 亚洲无码一区二区三区三州| 日产狠狠干| 香一区二区三区| ai欧美亚洲小说| 丝袜喷水在线| 亚洲色图伊人网| 亚欧操逼片在线观看| 好涩综合| 欧美综合网在线| 色网站导航大全| 欧美午夜一区二区三区| 三级特黄60分钟播放| 男男H黄动漫啪啪无遮挡网站| 看一级黄色视频| 日韩天堂av电影在线观看| 欧美日动态视频| 高颜值美女口爆高潮浪叫| 97超碰香蕉| 三男一女不戴套的A片| 日韩不卡在线一区二区| 亚洲性爱高潮影院| 天美麻豆精品视频99| 自拍视频大全亚洲专媒视频/一区二区三区 | 免费精品福利在线观看| 一道本久久棕合爱| a人片中文字幕一区二区| 黄页网站成人免费| 少妇综合| 95自拍视频在线观看| 女同在线视频一区| 夜夜免费视频| 欧美亚洲中文| 日本韩欧美在线播放a| 偷拍 精品 另类 四区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 免费亚洲国产精品久久一区| 日韩一卡二卡三卡| 探花熟女,姿勢到位,體驗感也到位| 综合婷婷| 久久日本熟女精品一区| 9丨久久九九九| blacked精品一区国产| 99操逼| 嗯嗯啊啊视频一区二区三区| 欧美加勒比| 伊人五月天激情| 国产视频三区四区| 欧美 日韩 婷婷 五月| 亚洲凸凹超碰成人| 午夜操一操| 偷窥自拍A片| 目产99999久久999| 97超碰9| α√在线| 黄色大片一区二区密桃丝袜| 精品美女少妇一区二区三区| 欧美色图亚洲色| 午夜福利视频在线一区| 亚洲综合码| 青青青青青手机视频| 国产网红精品| 99自拍B亚洲| 欧美宗合网| 色999;丁香五月| 丰满人妻被猛烈进入中| 激情接吻视频久久久久久| 玖玖综合色| 99久久国产精品免费高潮| av一区二区三区 中文| 超碰97久久国| 无码精品久久| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 欧日韩在线观看| 中国AAAAAA黄色片| 资源在线观一 二| 亚洲校园激情| www.av在线观看| 区一在线观看| 热99这里有精品综合久久| 99热精品在线| 天天躁日日躁狠狠狠躁| 人人操,操人人| 色香在线| 乱伦图av| 欧美91网站| 精品一区二区综合熟妇| 亚洲欧洲无码一区夜| 黄色AAAAA欧美| 大香蕉欧美国产日韩高潮| 国产精品 久久久精品一牛| 欧美激情一区二区| 亚洲在线网站| 伊人国产av| 精品国产乱码| 麻豆精品三区视频| 搡老女人老妇女AAA一VU麻豆| 加勒比综合九九99视频在线播放| 午夜乱轮操逼视频免费看| 九九英色视频| 九九九九热| 欧美亚洲丝袜美女电影| 97少妇人妻中文字幕久久| 精品毛片久久久精品毛片| 亚洲综合 欧美| a在线视频免费观看| 90后后入| 91ise欧美| 97超碰色| 国产AV天美| 亚洲毛片一级带毛片基地| 熟妇一区,二区,三区。| 免费一级毛片在线视频观看| 色噜噜人妻av中文字幕| 精品久久久久久亚洲| 成人精品无码| 超硑97精品| 色噜噜精品一区二区三| 人妻少妇精品无码专区二区密桃| 亚洲国男人的天堂| 中国少妇啪啪视频| 久久大香蕉手机高清视频| 国产午夜在线观看视频| 日本一二区免费| 日本日逼高清| 呻吟 欧美 日本 中出| 999久久久精品国产| 日本一区二区不卡| 成人综合视频久久| 日本一区二区三区四区免费观看| 精品97精品97| www.av在线观看| 夜夜欢天天干| 青青久操| 91人妻尻屄视频| 91天天| 97干天天| 九月丁香婷婷| 思思热在线视频免费| 亚洲人码13| 国产av尤物| 曰韩中文人妻视频| 国产情色第一第二页在线观看| 欧美极度丰满熟妇hd| 97精品免费| 天天澡天天爽日日av| 92午夜免费福利视频| 韩国一级做a久久久久| 色av中文字幕| 国产免费一区在线观看| 天天色图| 婷婷九月国产| 精品久久一区二区三区四区五区| 91精品国产91久久福利| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 成人一二| 亚州大图综合色图| 嗯嗯啊啊视频在线看| 亚洲激情在线观看一区| 九九热精品视频六| 东京热精品97综合网| 亚洲一区中文字幕一区| 久久久久久久伊人精品| 日本布卡一区二三区| 伊人991| 亚洲 日本 一 二 三| 国产在线强奸视频| 嫖老熟女A片一二三区| 亚洲操逼网| 99re只有精品| 成人五级久久| 欧美成人国产精品| 黄页大片在线观看| 伦伦成年午夜免费视频| 国产精品午夜AV完会免费| 欧美天堂第二区| 91女人的网站| 亚洲少妇综合在线播放| yw尤物av无码点击进入麻豆| AV色女综合| 欧美亚洲AN| 欧美午夜精品久久久久久超碰| 国产99久久99热这里只有精品15| 蜜桃久久一区二区| 久久国99999| 96精品在线| 噜噜噜无码AV一级一级久久影院 | 99re6国产精品99re| 国产专区路线| 五月香婷婷| 日韩av不卡在线观看| 无码免费在线观看黄色片| 嗯嗯啊啊啊好爽| 欧美色吧综合| julia ann久久| 偷拍超碰| 欧美综合第一| 亚洲日韩AV视色| 五月天伊人| 婷婷六月色开| 国产免a费看黄片在线| 小说区 图片区色 综合区| 美女好片色日本| 樱花草社区www中国| 久久免费老司机精品| 天天爱天天操| 丁香五月天视频| 丰满人妻一区二区三区大胸懂色| 黄色电影在线播放综合网站| 黄色操人| 欧美成年人性爱视频免费观看| 天天干电影| 日夜伊人网| 熟妇人妻丰满久久久久久久无码| 91无码人妻精品一区二区三区蜜桃| 9长久久精品| 欧美97日韩精品| 无码人妻精品一区二区三区九九 | 97免费在线观看| 老司机香蕉| 人妻娇喘 激情视频| 人妻蜜桃臀| 久久久性少妇| 东北女人高潮视频| 欧美性高潮| 亚洲天天自拍| 亚洲成人贴图| 国产精品香蕉| 黄色免费一级在线毛片| 秋霞怕怕片| 麻豆国产精品午夜视频| 久久精品国产亚洲AV高清演员表| 欧美日韩性爱电影在线| 精品丝袜无码一区二区三APP| 巨爆乳一区二区爆乳区| 亚洲人妻中文高清| 欧美极品性爱天天射| 另类亚洲一区二区三区| 边做饭边操逼逼| 国产一在线观看| 丰满人妻一区二区三区大胸懂色| 美女国产一区二区久久| 欧美成人午夜免费福利785| 五月天婷婷成人网| 91neishe| 美女诱惑在线一区| 日韩无码久久熟女一级片| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 欧美日韩国产黄色片| 日本亚洲熟女视频| 在线日韩视频| 日韩熟女精品无码专区一区二区 | 97国产精品久久久久| 国产久9| 欧美se综合| 女欧美一区二三区| 99精品久久久久久久婷婷| 亚洲欧美综合区自拍另类| 1禁看欧美黄片免费看| 婷婷月色| 亚洲熟妇无码一区二区三区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 久久专区| 一级@啪啪视频| 超碰99在线观看| 亚洲影院小综合| 亚洲宗合网| 亚洲第一页色网| 亚洲欧洲自拍图片专区满春格| 天天看精品动漫视频一区| 91日产桃蜜| 视频不卡中文字幕| 91性网| 精品无码一区二区三区| 一本一道波多野毛片中文在线| 欧美刺激色黄片免费看| www.狠狠干.coom| 综合色图区| 午夜欧美J进J出白浆流出久久久| 日本免费一区二区不卡| 亚洲在线观看| 欧美日韩在线视频网站| 日韩人妻免费精品| 日韩啪啪啪啪啪| 免费超碰97久久| 5252色欧美在线男人的天堂| 亚洲欧美日韩偷拍色图| 欧美性爱系列| 黄色十八禁网站| 插插综合网天天影视网| 色综合一本| 五月丁香激情啪啪| 麻豆性爱视频在线播放| 亚洲高清色综合| 国产不卡免费在线视频| 亚洲操操操| 伊人 俄罗斯 a v| 91天天美女| 欧美性爱精品七区| 2017人人操,人人摸| 国产精品免费美女视频| 射丝袜高跟鞋99| 97精品人妻一二三四| 欧美不卡在线一区二区| 国内毛片国产专区二| 亚洲情色五月天 | 2019天天干天天操| 亚洲熟女国产综合另类| 怡红院久久老司机| 91九色蝌蚪在线观看| 91国产丝袜足交精品视频| 欧美成人精品一区二区男人蜜臀| 国产亚洲欧美每日在线| 凹凸视频特色日本特黄| 97色涩| 自拍偷拍第26| 日韩性爱播放| 一本久久精品中文字| 国产精品视屏| 强奸xx国产| 人妻天天爽夜夜爽2| 亚洲天堂AV在线播放| 99这里有精品| 日韩精品人妻一区二区| 国产又操| 久久久少妇诱惑精品视频| 九月丁香婷婷色| 大香网伊人久久综合网eew| 日躁天天爽爽| 熟女突然公开看18禁影片| 国产人妻精品一区二区三区秋霞 | 亚洲 se图 欧美电影| 亚洲福利影院一区久久| 激情五月综合网|