999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度強化學習的旋轉機械故障診斷策略

2021-10-20 10:59:02龍艦涵
機械設計與制造 2021年10期
關鍵詞:故障診斷振動故障

龍艦涵

(瀘州職業技術學院電子工程學院,四川 瀘州646000)

1 引言

旋轉機械目前被廣泛用于包括石油、能源和化學工業在內的各種工業應用領域,機械故障可能會造成巨大經濟損失甚至災難性事故[1]。隨著可靠性相關理論的發展,旨在監測、評估、診斷和預測機械健康狀態的研究引起了學者們的廣泛關注[2,3]。

深度學習作為一種機器學習算法,可以通過多個非線性變換和近似復非線性函數,從原始數據中自適應地學習層次表示,實現故障診斷[4]。文獻[5]提出了一種智能診斷方法,它可以自動地從旋轉機械的頻譜中挖掘出故障特征,并對其健康狀況進行分類。文獻[6]使用了卷積神經網絡,可以用于診斷滾動軸承的故障,學習滾動軸承的層次特征表示。文獻[7]利用基于遞歸神經網絡的自動編碼器來處理從旋轉機器收集的多個時間序列數據。但是,上述方法仍然存在兩個主要缺陷:(1)無法在原始數據和相應的故障模式之間建立直接的線性或非線性映射,且這些故障診斷方法的性能取決于構建和訓練深度模型的質量[8]。(2)這種方法的訓練機制主要基于監督學習或半監督學習,這意味著診斷算法需要專家系統以便專門學習不同的故障模式[9]。

深度強化學習(deep reinforcement,learning,DRL)涉及強化學習和深度學習的結合,這種結合使人工代理可以直接從原始數據中學習其知識和經驗。深度學習能使代理感知環境,而強化學習能使代理學習應對現實問題的最佳策略[10]??紤]到上述問題,提出了一種基于堆疊式自動編碼器(stackable automatic encoder,SAE)與深度Q網絡(deep Q network,DQN)的深度強化學習機械故障診斷方法。

2 深度Q網絡

2.1 Q學習

作為一種無模型的強化學習算法,Q學習也可以被視為一種異步動態編程方法[11]。Q學習算法創建一個表,它可以計算每種狀態和動作的最大預期未來獎勵。具體來說,列是動作,行是狀態。每個單元格的值是給定狀態和動作的最大預期未來回報。該表稱為Q表,其中“Q”代表操作質量。每個Q表得分是只要代理在相應狀態下采取行動,代理就會獲得的最大預期未來回報。換句話說,通過搜索與狀態相對應的行中的最高Q值,代理始終知道針對每個狀態采取的最佳行動。Q學習代理的學習過程可以概括為三個步驟:(1)代理基于對當前狀態的觀察嘗試行動;(2)環境會立即回饋有關行動的反饋,包括獎勵或罰金;(3)算法使用Bellman方程基于獎勵、行動和狀態來更新Q表。

Q學習算法可用于通過Q函數學習Q表的每個值。Q函數定義為:

Q學習算法的核心訓練過程可以總結如下。

第一步:初始化Q表。

第二步:基于Q表在當前狀態st中,選擇一個動作來開始學習過程。

第三步:執行動作at,并且觀察下一狀態st+1和獎勵Rt+1。

第四步:通過上面介紹的Bellman方程更新Q表。重復上述步驟,直到訓練過程達到預定義的終端條件。

2.2 深度Q網絡

DQN可以是新開發的端到端的強化學習代理,它利用DNN來映射動作和狀態之間的關系,類似于Q學習中的Q表,諸如CNN、堆疊式稀疏自動編碼器和RNN之類的DNN能夠直接從原始數據中學習抽象表達[13]。DQN代理必須通過一系列觀察、動作、獎勵與環境進行交互,這類似于Q學習代理所面臨的任務。與DQN代理相比,傳統Q學習代理的最嚴重缺陷在于處理包含大量狀態與動作的問題時,使用Q表來映射動作和狀態之間的關系可能會導致維數災。因此,這里使用一個深層的CNN來逼近最佳Q函數,而不是使用Q表。

另外,當Q函數通過非線性函數逼近器表示時,增強學習會變得不穩定或發散。不穩定的原因有兩點,一是觀察序列中存在的相關性,二是對Q值的小幅度更新可能會導致代理策略以及Q值與目標值之間的相關性發生重大變化。因此,引入了兩種稱為記憶重放和迭代更新的策略來克服此類缺陷。

記憶重放通過消除觀察序列中的相關性,并通過隨機化數據來平滑數據分布的變化來解決該問題。迭代更新通過定步長逼近目標值更新Q值從而減少Q值和目標值之間的相關性。首先,記憶重放在每個時間步驟存儲代理的經驗,以便形成一個包含一定數量經驗的名為記憶的集合。在時間步驟t的單次經驗et定義為et=(st,at,rt,st+1)在時間步驟t處的記憶定義為Dt,其中然后,在更新DQN代理時,經驗重放會從記憶中隨機抽取經驗,從而達到平滑數據分布的目的。

通常,強化學習算法使用Bellman方程作為迭代更新來估計動作-值函數。但是此方法在實踐中不切實際,因此,人們通常使用函數逼近器估算動作-值函數。DQN使用CNN作為函數逼近器,權重作為Q網絡。因此,可以通過減少Bellman方程中的均方誤差,然后再通過在迭代處更新參數來訓練Q網絡。因此,在每次迭代改變的損失函數定義為:

區分與權重有關的損失函數的結果為以下形式:

通過Q函數的定義和微分形式,可以進行目標優化。此外,通過在每個時間步驟后更新權重,使用單個樣本替換期望值并設置θi-=θi-1,可以在上述框架中恢復Q學習算法。

在DQN的訓練過程中,對Q學習進行了兩次修改,以確保DNN的訓練過程不會發散。第一次是經驗重放,其中,通過將當前時間步驟的狀態、動作和獎勵以及后續時間步驟的狀態進行堆疊,將代理的體驗存儲到重放內存中。經驗重放是一種有效的技術,它可以避免參數的波動或分散,通過使代理能夠考慮其在學習過程中的經驗來平滑學習。Q學習的第二次修改是使用單獨的網絡在Q學習更新過程中生成目標,并且這種修改可以顯著提高DQN的穩定性。此類的方法可以在更新Q值的時刻與更新可能引起的相應影響之間增加延遲,從而減少DNN參數中存在的發散或振蕩的可能性。

3 基于DQN的端到端故障診斷方法

通常在諸如博弈論、控制論、運籌學和多智能體系統等領域研究強化學習。故障診斷通常被認為是通過監督學習解決的分類問題[14]?;诒O督學習的故障診斷方法需要同時獲取故障數據和相應的標簽作為區分故障模式的輸入。對于基于強化學習的方法,故障診斷代理的學習性能是通過整體獎勵來評估的,這與代理在監督學習方法中使用的反饋相比,對于代理調整其性能的反饋要弱得多。換句話說,在學習過程中,代理無法從輸入信號中分辨出哪些樣本沒有被很好地學習。這種機制迫使代理發現故障模式之間的內在差異,從而使代理更加有力。

為了實現基于DRL的故障診斷方法,設計了一個故障診斷仿真模型,通過該模型可以將監督學習問題轉換為強化學習問題。這種環境可被視為“故障診斷博弈”模型。每個博弈模型都包含一定數量的故障診斷問題,并且每個問題都包含故障樣本和相應的故障標簽。當代理正在進行博弈時,博弈將有一個問題供代理診斷。然后,博弈將檢查代理的答案是否正確。博弈的獎勵機制是答對得一分,答錯減一分。博弈結束后,代理將獲得總的博弈得分。故障診斷博弈的流程如圖1所示。

圖1 故障診斷博弈模型流程Fig.1 Fault Diagnosis Game Model Flow

旋轉機械的振動信號包含足夠的故障信息。作為強化學習中的關鍵要素,代理對環境和狀態的有效感知至關重要。對于諸如Q學習的原始強化學習方法,由于這些方法表示狀態的能力有限,所以僅基于振動信號很難區分和識別旋轉機械的狀態??紤]SAE提取滾動軸承的故障特征中的廣泛應用,因此在這里中使用了堆疊自動編碼器DNN來感知振動信號中存在的故障信息。在提出的方法中,DQN代理的構建是通過順序堆疊獲得的編碼器,再使用存儲在SAE的預訓練中的權重初始化參數,并添加線性層以將SAE的輸出映射到Q值。與基于CNN的特征提取方法不同,SAE采用完全連接的模型進行逐級內在特征學習。

SAE可以有效提取故障特征有兩個重要原因。首先是SAE可以通過逐層自學學習原始信號的表示。第二個原因是稀疏約束可以通過限制每個自動編碼器的參數空間來防止過度擬合。這里中使用的SAE在輸入層和輸出Q值層之間有兩個隱藏層。且使用的SAE體系結構保持不變。每個編碼器的激活函數是一個整流線性單位(ReLU),并且應用于編碼器的正則化方法是L1正則化方法,這意味著如果神經網絡中的參數的絕對值過大也會受到懲罰[15]。在訓練DRL方法之前,將預訓練方法應用于所有訓練數據樣本上的自動編碼器。然后,提取自動編碼器,并通過堆疊輸入層、所有訓練有素的編碼器以及用于輸出Q值的完全連接層來構建代理的感知部分。

對于掌握博弈的代理,單個觀察狀態包含多個博弈模型。因此,從博弈中觀察到的狀態不是獨立的,而是分布均勻的。對于旋轉機械的故障診斷,由于振動信號的周期性,樣本可被視為獨立且分布均勻的樣本??紤]到上述差異,本研究中對代理的觀察由單個故障樣本組成。此外,Bellman方程中的衰減因子等于零,這意味著不考慮當前狀態下的歷史經驗。

算法1中說明了用于訓練基于SAE的DQN的算法。訓練過程包括兩個單獨的部分。第一個是SAE的預培訓,第二個是DQN代理的培訓。代理根據ε-貪婪策略選擇并執行動作,這意味著該動作是基于概率ε隨機選擇的,并且對應于最大q值的動作是由概率1-ε選擇的。本研究中使用的優化算法是適應矩優化。

雖然已經完成了代理的訓煉過程,但是代理只能輸出動作的Q值,而不能給出診斷結果,所以代理仍不能用于診斷滾動軸承故障。因此,代理的輸出層需要確定Q值的最大值,然后輸出相應的操作,才能夠獲得診斷旋轉機械故障的代理。此時,在訓練和測試過程中,輸入數據均為原始振動信號。即這里使用的方法實現了端到端故障診斷。完整方法的流程圖,如圖2所示。

圖2 所提出方法的流程圖Fig.2 Flow Chart of the Proposed Method

4 故障診斷實例

4.1 案例1:滾動軸承的故障診斷

這里中使用的滾動軸承的故障數據是來源于凱斯西儲大學軸承失效實驗[16]。該數據集包括正常軸承和故障軸承的滾動軸承測試數據。實驗的動力產生器是兩馬力的電動機,振動數據是從驅動端收集的加速度數據,在電動機軸承的近端測量的采樣頻率為48 kHz。滾動軸承故障注入的實驗設備,如圖3所示。按軸承振動信號特點分故障形式一般可以分為表面損傷和磨損類損傷。軸承在使用過程中,通常會產生低頻和高頻段的振動信號。低頻信號是由于軸承元件的工作表面損傷點在運行中反復撞擊與之相接觸的其它元件表面而產生的,也稱“通過振動”。損傷發生在內、外圈或滾動體上時,這個振動發生的頻率是不同的,稱其為故障特征頻率。帶缺陷的滾動軸承元件在運行中的特征頻率一般出現在1kHz以下,是滾動軸承故障的重要特征信息之一。收集了四個條件下的數據,包括一個正常條件(N)和三個故障條件(F)。故障條件是外圈故障(OF)、內圈故障(IF)和滾軸故障(RF)。另外,引入滾動軸承的故障都是單點故障。此外,故障直徑的受損程度不同,包括0.007英寸、0.014英寸、0.021英寸和0.028英寸。

為了驗證該方法的有效性,根據載荷將振動數據分為四組(S1、S2、S3和S4)。每組包含十種故障模式,根據故障直徑和故障位置劃分。S1、S2和S3分別包含一個馬力、兩個馬力和三個馬力負載下的所有故障模式。每個故障集有12,000個樣本,每個樣本包含400個數據點。數據集都是未經預處理的原始振動信號。S4是S1、S2和S3的并集,它在所有負載下都有36,000個樣本。

在訓練過程中,SAE網絡具有四層,包括一個輸入層,兩個訓練過的編碼器和一個輸出層。輸入樣本的維數決定輸入層的單位數,第一個編碼器和第個二編碼器的單位數分別為128和32,Q值的維數決定輸出層的單位數。編碼器中使用的激活函數是ReLU,反向傳播函數使用的是Adam。此外,還利用防止過度擬合并提高訓練效率的L1正則化來約束、限制神經單位權重的參數空間。每個自動編碼器的最大訓練時期為200,DQN代理的訓練時期為2000,每個時期包含512輪診斷博弈。DQN代理的重放記憶大小為64。重放記憶是從記憶中隨機選擇的樣本,用于將DQN代理訓練為小批量。因此,本次研究的最小批量大小為64。為了測試和驗證所提出方法的性能,將十倍交叉驗證應用于四個數據集,每十輪計算獎勵的平均值。如圖3所示DQN代理在訓練過程中的進度曲線。此外,診斷后的結果總結在圖4中。

圖3 代理在滾動軸承數據集故障診斷訓練過程中的分數Fig.3 Score of Agent in Rolling Bearing Data Set Fault Diagnosis Training

故障診斷代理為正確答案時得一分,為錯誤答案時減一分,這意味著在512輪博弈中,總得分在(-512)到512點之間。在博弈開始時,由于缺乏任何先驗知識和經驗作為參考,DQN代理處于隨機猜測階段。由于故障診斷結果具有十個類別,所以代理獲得正確答案的概率只有0.1。因此,在開始時,得分約為(-460)分。隨著培訓過程的進行,代理將從自己的歷史經驗和分數變化中學習。如圖4所示,分數隨著訓練而增加,并且在接近最后時期時達到近512分。上述提到的分數與獎勵相同,它們被用作評估代理性能的反饋。通過每個時期的總獎勵可以來觀察DQN代理向全局極值的收斂,因為診斷的準確性直接反映在總獎勵上。當總獎勵足夠高并開始振蕩時,可以認為DQN代理的訓練過程已完成。

圖4 滾動軸承數據集的十倍交叉驗證的診斷結果Fig.4 Diagnosis Results of Ten Fold Cross Validation of Rolling Bearing Data Set

圖5 說明受過訓練的代理可以在多種情況下有效地診斷故障。十倍交叉驗證的定量結果顯示在表1中。為了說明所提出方法的性能和有效性,還使用基于監督學習訓練的SAE模型,通過十倍交叉驗證來處理相同的數據集。輸入層和兩個自動編碼器與DQN代理的相應層相同。輸出層有十個節點,并使用softmax函數輸出分類結果。該模型的訓練過程包括自動編碼器的逐層預訓練和整個SAE模型的微調??傮w而言,兩種方法均達到了很好的診斷準確性和穩定性。在訓練集上,所提出的方法能夠以接近100%的準確度正確區分樣本,而SAE-Softmax方法可以正確區分所有樣本。在測試集上,這兩種方法的準確性和相應的標準偏差非常接近。計算數據集S1、S2、S3和S4的兩種方法之間差異的絕對值分別為0.0069、0.012、0.0126和0.0075。考慮到基于監督學習的方法在確認樣本及其對應標簽之間的關系方面具有優勢,因此該結果說明了所提出方法的有效性。另外,測試精度的最大標準偏差為0.0144,這表明該方法可以對故障樣本進行穩定的分類。

表1 滾動軸承數據集的診斷結果(平均準確度±標準偏差)Tab.1 Diagnosis Results of Rolling Bearing Data Set(Average Accuracy±Standard Deviation)

具體來說,數據集S4的情況是四個數據集中最復雜的,它包含三個不同負載下十種健康狀況的原始振動信號。所提出的方法能夠在工作條件下區分故障模式。而除了在數據集S4上進行測試的平均準確度之外,SAE-Softmax方法在所有實驗中的性能均優于所提出的方法??傊?,結果表明,所提出的方法可以訓練基于DNN的代理學習如何僅使用原始振動信號來診斷滾動軸承的故障,而與故障類別、嚴重性和工作條件無關。這里使用的SAE模型可以感知原始振動信號,并且是端到端故障診斷方法的前端。為了進一步了解代理如何學習診斷故障并驗證代理挖掘故障特征的能力,利用t分布隨機鄰域嵌入(t-distributed stochastic neighbor embedding,t-DSNE)來對DQN代理內部的SAE模型的輸出進行可視化[17]。第二個編碼器的輸出被視為代理學習到的特征,因為DQN代理的輸出層是一個輸出Q值的線性層。因此,在案例1中,從單個樣本中提取的特征向量的維數為32。t-DSNE算法應用于高維特征,數據集S1-S4的可視化結果如圖5所示。具有相同健康狀況的樣本以曲線或圓形區域的形狀聚集在一起,并且具有不同健康狀況的樣本之間存在明顯的邊界。通過可視化DQN代理的感知部分獲得的原始振動信號的表示,所提出的基于DRL的故障診斷方法可以提取故障特征并相應地識別故障。

圖5 滾動軸承數據集最后一個隱藏層中的t-SNEFig.5 T-SNE In the Last Hidden Layer of Rolling Bearing Dataset

4.2 案例2:液壓泵故障診斷

案例2中使用的液壓泵數據是從7個燃油輸送泵中收集的。包含兩個常見的故障,即滑動件松動和閥板磨損,已被物理式地注入泵中。液壓泵的振動信號由加速度傳感器從泵的端面獲取,并具有528 rpm的穩定電機速度和1024 Hz的采樣率。每個泵收集了兩個樣本,每個樣本包含1024個點,總共收集了14個樣本。由于對數據集使用了十倍交叉驗證進行驗證,因此進行了十次試驗,其中隨機選擇了10%的樣本進行測試,選擇了90%的樣本進行了訓練。針對案例2,提出的方法性能通過十倍交叉驗證的相應偏差的平均精度來進行評估。

如圖6所示,代理程序每十次迭代的平均回報趨勢。由于案例2包含泵的三種健康狀態,代理可以得出三分之一的正確答案。因此,即使分數在開始時約為-314,但隨著訓練過程的進行,分數增加到512分。表2顯示了十次交叉驗證的平均準確度和相應的標準差。訓練和測試的平均準確度均為100%,這意味著所提出的方法可以正確分類每種故障模式的樣本。與案例1相似,使用SAE-Softmax模型來診斷故障,其診斷結果比所提出的方法稍差??紤]到將嚴重故障注入液壓泵核心部件的安全隱患,故障模式和嚴重性的變化并不像案例1那樣復雜。但是,信號是從7個不同的泵中收集的,并且傳感器的采樣率遠低于案例1。因此,案例2從三個角度說明了所提出方法在多個設備、樣本相對較少的條件下能夠實現對旋轉機械故障進行有效診斷。結果表明,所提出的方法和基于SAE-Softmax的方法都可以利用有限振動信號的持續而有效地對不同液壓泵的狀態進行分類。這說明所提出的方法具有從原始傳感信號中挖掘與故障模式相關的特征的能力。

表2 泵數據集的診斷結果Tab.2 Diagnosis Results of Pump Data Set

圖6 液壓泵數據集的代理分數Fig.6 Proxy Score of Hydraulic Pump Data Set

同樣,為了可視化該方法從原始數據中自主學習的功能,繼續使用t-DSNE呈現所學習的DQN代理的低維表示。如圖7所示,通過t-DSNE減小了DQN代理提取的特征的維數,這樣便于可視化。可以看到,不同健康狀況的散布點彼此分開。但是,相同健康狀況的散布點被聚集成幾個小聚類,而不是被均勻地聚集成一個聚類。這是因為在DQN內部的SAE中添加了稀疏限制后,具有相同健康狀況但有少許差異的樣本可能會導致不同位置的神經元被激活。這會導致高維空間中的特征彼此相距較遠。但是激活的神經元都與相同的輸出相關,即它們仍然可以被歸為同一類別。綜合來看,基于SAE的原始信號感知和基于DQN的自學式體驗學習的結合是所提出的方法能夠取得如此優異效果的關鍵原因。

圖7 液壓泵數據最后一個隱藏層中的t-SNEFig.7 T-SNE In the last Hidden Layer of Hydraulic Pump Data

案例研究表明,提出的方法和基于SAE-Softmax的方法都可以對旋轉機械的健康狀態進行分類。但是,考慮到訓練過程中的時間消耗,這些方法是不同的。對于提出的方法,算法的運行時間取決于代理的學習曲線時間。具體來說,對于案例1和案例2,代理都需要2000個時間點才能獲得近512分的高分。此外,無論訓練集中的樣本數量如何,每個時期的時間都是相同的。對于基于監督學習的SAE-Softmax方法,訓練過程的運行時間與訓練集中的樣本數量成正相關。由于這里提出的方法用于故障診斷的學習方法是自我探索的,因此該方法的運行時間比基于SAE-Softmax方法的運行時間更長。但是,考慮到監督學習算法前期需要儲備的先驗知識,提出方法的效率超過基于監督學習的深度學習方法。

5 結論

這里提出了一種一種基于堆疊式自動編碼器與深度Q網絡相結合的深度強化學習旋轉機械故障診斷方法,使用滾動軸承和液壓泵數據集對該方法進行實驗驗證,可得出如下結論:

(1)通過結合強化學習的自主學習能力和深度學習的感知能力,提出的基于深度強化學習的方法可以實現旋轉機械端到端故障診斷方法。在保證了診斷精度與可靠性的前提下,該方法大大減少了對故障診斷的先驗知識和專家經驗的依賴。

(2)通過設計故障診斷博弈環境,該方法可以成功地使用DRL獲得智能故障診斷代理。能夠有效建立無監督診斷模型,并且有較好的診斷效果。

(3)故障診斷代理受益于記憶回放和基于獎勵的反饋機制,僅基于弱反饋就能夠了解不同故障模式與原始振動信號之間的非線性映射關系,為旋轉機械的故障診斷問題提供了一種更通用和智能的解決方案的方法和思想。

猜你喜歡
故障診斷振動故障
振動的思考
科學大眾(2023年17期)2023-10-26 07:39:14
振動與頻率
天天愛科學(2020年6期)2020-09-10 07:22:44
故障一點通
中立型Emden-Fowler微分方程的振動性
奔馳R320車ABS、ESP故障燈異常點亮
因果圖定性分析法及其在故障診斷中的應用
故障一點通
江淮車故障3例
UF6振動激發態分子的振動-振動馳豫
計算物理(2014年2期)2014-03-11 17:01:44
基于LCD和排列熵的滾動軸承故障診斷
主站蜘蛛池模板: 秋霞午夜国产精品成人片| 伊人久久综在合线亚洲91| 国产区福利小视频在线观看尤物| 91亚洲精品国产自在现线| 国产高清在线观看| 福利姬国产精品一区在线| 国产成人精品亚洲日本对白优播| 日韩经典精品无码一区二区| 孕妇高潮太爽了在线观看免费| 国产91精品最新在线播放| 亚洲中文久久精品无玛| av性天堂网| 亚洲三级片在线看| 亚洲欧洲日韩久久狠狠爱| 天堂网亚洲综合在线| 99无码熟妇丰满人妻啪啪| 青青草国产精品久久久久| 国产午夜福利在线小视频| 99人体免费视频| 内射人妻无码色AV天堂| 欧美色图第一页| 亚洲VA中文字幕| 国产综合精品一区二区| 色婷婷视频在线| 精品久久777| 91精品啪在线观看国产| 久久国语对白| 97成人在线视频| 素人激情视频福利| 国产精品亚洲精品爽爽| 欧美激情视频二区三区| 国产95在线 | 精品国产自在在线在线观看| 91在线视频福利| 亚洲成a人片| 婷婷色婷婷| 中文字幕有乳无码| 午夜啪啪福利| 亚洲精品自产拍在线观看APP| 久久人体视频| 国产麻豆精品在线观看| 在线无码九区| 97影院午夜在线观看视频| 综合社区亚洲熟妇p| 国产粉嫩粉嫩的18在线播放91 | 国产性生大片免费观看性欧美| 国产精品理论片| 国产成人精品一区二区三区| www亚洲天堂| 91探花国产综合在线精品| 亚洲成肉网| 亚洲乱码视频| 欧美福利在线观看| 91小视频版在线观看www| 日韩国产无码一区| 亚洲欧美人成电影在线观看| 国产在线视频福利资源站| 久久婷婷国产综合尤物精品| 国产精品蜜臀| 久久人搡人人玩人妻精品| 欧美日韩高清在线| 国产精品自在拍首页视频8| 亚洲精品va| 亚洲成综合人影院在院播放| 人人爱天天做夜夜爽| 亚洲欧美天堂网| 日韩东京热无码人妻| 欧美性精品| 国产精品制服| 一区二区三区国产| 中文字幕调教一区二区视频| 91视频99| 亚洲精品老司机| 夜夜操天天摸| 蜜桃臀无码内射一区二区三区| 日本少妇又色又爽又高潮| 国产一区二区三区在线观看视频| 欧美视频免费一区二区三区| 中文无码影院| 欧美激情,国产精品| 99成人在线观看| 91成人免费观看在线观看|