• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于分層學(xué)習(xí)的四足機器人運動自適應(yīng)控制模型

      2020-02-27 12:33:50崔俊文劉自紅劉福強
      計算機測量與控制 2020年1期
      關(guān)鍵詞:腿部分層機器人

      崔俊文, 劉自紅, 石 磊, 劉福強, 樂 玉

      (西南科技大學(xué) 制造科學(xué)與工程學(xué)院,四川 綿陽 621010)

      0 引言

      在自然界中,多足生物可以在腿部受傷失效后,快速調(diào)整姿態(tài)和運動步態(tài),繼續(xù)保持一定的運動狀態(tài)前進,如圖1。因此,在實際的應(yīng)用環(huán)境中也要求機器人具有應(yīng)對自我損傷,改變原有的運動方式的能力。

      圖1 單腿失效狗和四足機器人

      以四足機器人為例,正常運動時,可以有多種步態(tài)控制方法實現(xiàn)前進、轉(zhuǎn)向、跳躍等多種運動技能。然而在單腿失效后,其腿部運動布局變化及重心偏移的影響導(dǎo)致控制策略復(fù)雜性提升,快速適應(yīng)及調(diào)整的控制是較為復(fù)雜的。在文獻[1]中,提出依據(jù)行為空間得到價值直覺,指導(dǎo)試錯學(xué)習(xí)算法實現(xiàn)局部關(guān)節(jié)失效的六足機器人和機械臂恢復(fù)運動技能。Bongard在文獻[2]中提出連續(xù)自我建?;謴?fù)算法,產(chǎn)生替代步態(tài)的方式。

      近年來,深度強化學(xué)習(xí)(Deep Reinforcement Learning)在無經(jīng)驗的條件下,在虛擬器中讓機器人學(xué)習(xí)各種運動技巧取得了巨大的進步[3-5]。在文獻[6]中,迪士尼的研究人員構(gòu)建了在實際環(huán)境中訓(xùn)練單腿或多腿機器人系統(tǒng)。然而其結(jié)果仍是較為簡單的單一策略。對于一些復(fù)雜的多要求的運動控制,則不能滿足。分層學(xué)習(xí)將控制策略結(jié)構(gòu)化,使得任務(wù)復(fù)雜度降低。目前的分層學(xué)習(xí),仍沒有可通用的模型,一般依據(jù)任務(wù)特點采用人工分層方式。在文獻[7]中使用高低級的控制器有效控制雙足類人模型的行走于小道和踢足球。分層目的將基本運動中樞和調(diào)節(jié)器分開,達到較好運動策略。然而,對于狀態(tài)空間因腿部失效維度降低,采用串級結(jié)構(gòu)則是失效的。文獻[8]中,Google團隊將直接從圖像像素到空間機械臂運動抓取進行端到端訓(xùn)練,CNN和電機控制輸出層網(wǎng)絡(luò)相合,達到三維空間中抓取多形態(tài)物體的目的。文獻[9]中提出分層DQN,讓高級策略決定內(nèi)在目標(biāo),低級策略滿足給定目標(biāo)完成Atari游戲。

      本文提出采用深度強化學(xué)習(xí)(Deep Reinforcement Learning)對四足機器人單一向前運動進行連續(xù)控制,以此為子策略構(gòu)建分層學(xué)習(xí)框架形成自適應(yīng)控制模型??蚣芊譃闋顟B(tài)評估控制器 (Status Decision Controller)和基礎(chǔ)運動控制器(Basic Dynamic Controller),分別采用Double-DQN(Double Deep Q-Network)[10]和PPO(Proximal Policy Optimization)[3]算法實現(xiàn)。狀態(tài)評估策略監(jiān)測機器人狀態(tài),相應(yīng)激活子策略進行運動控制,該過程不受狀態(tài)空間部分信息失效而影響。該方法成功實現(xiàn)機器人在腿部受損失效后,仍保持有效運作,并保證整個過程快速響應(yīng)和穩(wěn)定。

      1 分層學(xué)習(xí)

      1.1 概述

      根據(jù)四足機器人要求在狀態(tài)空間維度變化的條件下實現(xiàn)自適應(yīng)控制問題,提出由狀態(tài)判斷控制器(Status Decision Controller)和多個基礎(chǔ)運動控制器(Basic Dynamic Controller)組合而成的分層學(xué)習(xí)結(jié)構(gòu),系統(tǒng)如圖2所示。SDC要求每個時間步都進行狀態(tài)決策,并以3 Hz向子策略激活單元發(fā)送最優(yōu)的運動方式。由于構(gòu)建的機器人及電機運動模型要求BDC的控制頻率也為3 Hz,相同決策頻率保證機器人實現(xiàn)基本運動切換連貫性。SDC狀態(tài)決策后估計最優(yōu)BDC,BDC控制機器人以期望目標(biāo)運作。

      圖2 分層學(xué)習(xí)系統(tǒng)結(jié)構(gòu)

      SDC功能特性只要求其離散決策,采用Double-DQN算法優(yōu)化策略。SDC輸入為全部狀態(tài)單元Sall,未激活的狀態(tài)單元則為ox=0,ox∈Sall。將SDC策略輸出行為最高估值的索引io傳遞給策略激活單元。策略激活單元將索引在固定序列上匹配到合適的子策略,SDC以完成相對最大化Q值這一過程作為收斂目標(biāo)。

      BDC作為基礎(chǔ)運動控制器,主導(dǎo)基礎(chǔ)運動控制。由于基本運動控制要求的連續(xù)性,采用近端策略優(yōu)化(PPO)算法,其在文獻[3]證明其在連續(xù)運動控制上所達到的較好的效果。由狀態(tài)決策單元獲取目標(biāo)索引io,整理狀態(tài)空間Oi,io∈0,1,2,輸出行為ai作為腿部運動關(guān)節(jié)的PD控制器輸入值。BDC各個單一策略提前進行訓(xùn)練,滿足期望累積獎勵后,再進行SDC訓(xùn)練。使用該種分層學(xué)習(xí)模型,將復(fù)雜運動策略結(jié)構(gòu)化,簡化神經(jīng)網(wǎng)絡(luò)深度及策略收斂的復(fù)雜性,擺脫腿部失效后狀態(tài)空間維度變化所帶來的影響,同時各部分相互獨立,不受單一策略變動而影響整體。

      1.2 狀態(tài)判斷控制器(Status Decision Controller)

      假設(shè)構(gòu)建機器人所有可能運動狀態(tài)所需的狀態(tài)空間為Sall,并依據(jù)所有BDC策略要求的維度確定As,構(gòu)建價值函數(shù)為Q(s,a;θt),其中s∈Sall,a∈As,θ表示策略參數(shù)集。當(dāng)前獎勵rt+1子運動決策在環(huán)境中交互通過公用的獎勵策略式(7)所述Rt+1,即:

      (1)

      其中:ws為獎勵權(quán)重,實驗測試時ws=0.8,Rmax為BDC策略成熟后單個時間步可獲得最大直接獎勵。由此可得Double-DQN的單時間步損失為L(θt):

      (2)

      L(θt)=(Yt-Q(St,a;θt))2

      (3)

      其中:γ∈[0,1]為折扣因子,經(jīng)實驗選取為0.9。學(xué)習(xí)速率設(shè)定值為0.001。SDC策略φ則存在最優(yōu)函數(shù),需最大化這一過程:

      Q*(s,a)=maxφQφ(s,a)

      (4)

      最佳策略是由行動的最高估值即:

      φ(s)=argmaxa(Q*(s,a))

      (5)

      在該問題中策略激活單元的最佳行為正是最高估值的索引io=φ(s),io則代表BDC激活的對應(yīng)序列值。該過程使用神經(jīng)網(wǎng)絡(luò)表示SDC策略φ輸出最高估值。SDC的策略訓(xùn)練較BDC在時序上落后,其需要有足夠的經(jīng)驗累積,每個時間步不斷刷新經(jīng)驗累積內(nèi)容。

      1.3 基礎(chǔ)運動控制器(Basic Dynamic Controller)

      1.3.1 部分馬爾科夫決策(POMDP)

      BDC為多個運動策略單元組成。每個單元代表某種狀態(tài)下的控制策略,并將控制過程制定為部分馬爾科夫決策(POMDP)。受損其被表述為組員(S,AB,τ,R,Ω,γ),其中S為狀態(tài)空間,AB行為空間,τ代表系統(tǒng)動力,R為獎勵函數(shù),Ω代表概率觀察函數(shù),γ∈[0,1]為折扣因子。

      由于狀態(tài)部分可觀測,有狀態(tài)可觀測集O,而非S,可得o∈O。采用PPO算法優(yōu)化BDC策略?:O→AB,由此可以計算價值策略如下:

      V?(o) =Ε[∑t = 0TγtR(ot,at)|?]

      (6)

      其中:T表示總時間步。R(ot,at)表示訓(xùn)練體在給定目標(biāo)下執(zhí)行動作獲取的反饋函數(shù)。該函數(shù)由人為依據(jù)訓(xùn)練目的而設(shè)定為(7)。

      BDC所可能包含的部分狀態(tài)空間O及行為空間AB.如表1所示。每個關(guān)節(jié)運動范圍及方向如圖3。以正常策略為例,包含身體的歐拉角,四組腿關(guān)節(jié)的相對角度,共11個信息。由于底層采用PD控制,為簡化復(fù)雜性,未涉及速度和加速度信息。行為空間AB作為四足機器人關(guān)節(jié)的運動期望,PD進行速度控制,在關(guān)節(jié)角度上進行范圍限制。在單腿失效后,失效腿部異側(cè)引入擺動關(guān)節(jié)以調(diào)節(jié)身體平衡,失效腿狀態(tài)單元不作為輸入量,此時的狀態(tài)量維度為10。

      圖3 四足機器人關(guān)節(jié)運動示意圖

      表1 狀態(tài)及行為空間范圍

      名稱范圍(deg)前腿Hip (α2)-50°~-10°后腿Hip (α1)-80°~-30°擺動關(guān)節(jié)(Side swing joint) (α4)-30°~30°前腿Knee (α3)60°~100°后腿Knee (α3)60°~100°行為空間 AB-25.30°~25.30°

      獎勵策略R的構(gòu)建,以機器人快速向前運動為運作目標(biāo)。構(gòu)建機器人坐標(biāo)系如圖3。以四足機器人在x軸運動方向速度Vx為參考的主要部分,以機器人身體在水平面的穩(wěn)定性為次要部分,攝入?yún)?shù)為身體的歐拉角αx,αy,αz。構(gòu)建獎勵函數(shù)為

      R(ot,at)=w1Vx-|w2αx|-|w3αy|-|w4αz|

      (7)

      其中:w1,w2,w3,w4為各參量權(quán)重。測試時設(shè)定速度經(jīng)驗權(quán)重w1=60。四足機器人可以穩(wěn)定前行的一種主要表現(xiàn)是其運動時姿態(tài)趨于平衡,所以為規(guī)避機器人局限于某種前進策略,需要降低訓(xùn)練時出現(xiàn)不穩(wěn)定姿態(tài)的概率。在機器人x軸與y軸方向上設(shè)置歐拉角經(jīng)驗權(quán)重w2=w3=0.5。機器人運動前進的方式未知,某些暫時性姿態(tài)有可能讓未來動作達到更大獎勵,而該姿態(tài)卻可能帶來較小的獎勵,如跳躍。為解決這種矛盾,將機器人的俯仰姿態(tài)z軸權(quán)重設(shè)置w4=0.2。設(shè)置權(quán)重這一線性的獎勵函數(shù),在實際訓(xùn)練過程中呈現(xiàn)較好效果。

      1.3.2 近端策略優(yōu)化(PPO)

      使用策略梯度算法對學(xué)習(xí)率調(diào)整至關(guān)重要,同時策略梯度算法對每個數(shù)據(jù)樣本執(zhí)行梯度跟新,具有高樣本復(fù)雜度。為解決此問題,在PPO算法中讓rt(k)表示概率比為:

      (8)

      式中,k表示策略?參數(shù)集,優(yōu)化目標(biāo)為:

      (9)

      使用神經(jīng)網(wǎng)絡(luò)表示策略?,通過PPO算法來求解POMDP。即?*求解最優(yōu)的參數(shù)集k*,表達為

      k*=argmaxkVk(o)

      (10)

      PPO算法基于Actor-Critic算法實現(xiàn),該算法相對傳統(tǒng)的策略梯度算法收斂更快。Actor依據(jù)概率選擇行為,Critic根據(jù)行為得到獎勵優(yōu)勢決定Actor收斂方向。Actor和Critic均有兩個神經(jīng)網(wǎng)絡(luò)構(gòu)成。Actor網(wǎng)絡(luò)有兩個隱含層,神經(jīng)元數(shù)量依據(jù)經(jīng)驗確定,設(shè)置第一個隱含層神經(jīng)元數(shù)量為狀態(tài)空間維度nOi×20,第二層為行為空間維度nAi×10,由Critic作用可知其策略相對較簡單,設(shè)置一層隱含層,維度為nOi×20。Critic要求相對于Actor更快收斂,依據(jù)實驗分別設(shè)定學(xué)習(xí)率為0.000 09和0.000 18。兩組神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4。

      圖4 Actor-Critic神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

      1.4 算法實現(xiàn)過程

      該分層學(xué)習(xí)模型要求在運動策略成熟后再進行上級策略訓(xùn)練。首先對機器人各種腿部受損狀況分別訓(xùn)練BDC運動策略,主要針對兩個前腿受損問題進行訓(xùn)練及仿真。待BDC全部收斂后,引入SDC獲取全部狀態(tài)空間Sall,在隨機模式下激活BDC與環(huán)境交互,依據(jù)獎勵策略(1)對SDC策略進行更新。算法實現(xiàn)過程概括為算法1。

      算法1:分層學(xué)習(xí)訓(xùn)練算法

      隨機初始化SDC策略參數(shù)集θ

      隨機初始化BDC策略參數(shù)集k[3]

      初始化運動模式i=0,i∈0,1,2

      循環(huán)i!=3

      遍歷step=0,1,2...TBDCDO

      與Unity3D交互得到N個批量:N×{Oi,Ai,Ri}

      依據(jù)Max(sum(Ri))

      依據(jù)目標(biāo)L(k)

      跟新優(yōu)化策略?i←{Oi,Ai,Ri}*

      結(jié)束遍歷

      i++

      結(jié)束循環(huán)遍歷step=0,1,2...TSDCDO

      隨機運動模式i,激活BDC策略?i與Unity3D環(huán)境交互

      獲取估值最大索引io

      激活BDC策略后獲取批量 {Sall,As,Rn}

      將批量存入記憶中心有M×{Sall,As,Rn}

      教務(wù)處(部)作為校長和主管教學(xué)副校長領(lǐng)導(dǎo)下的主管全校教育教學(xué)工作的職能機構(gòu),根據(jù)實際履行職責(zé)范圍、下設(shè)科室多少,存在“大教務(wù)”和“小教務(wù)”之分。從各校教務(wù)處(部)實際情況來看,基本屬于“大教務(wù)”范疇,涵蓋規(guī)劃、招生、培養(yǎng)、教研、教務(wù)、實踐、實驗等各方面,致使事務(wù)過于繁重、工作強度大,全然忙于“事務(wù)性”的應(yīng)付狀態(tài)。

      隨機向記憶中心抽取一個批量Mn

      依據(jù)損失函數(shù)L(θ)

      跟新優(yōu)化策略φ←Mn

      結(jié)束遍歷

      分層學(xué)習(xí)的整個決策過程是由 SDC激活相關(guān)BDC開始。SDC獲取四足機器人狀態(tài)集Sall,策略φ表達該狀態(tài)的估計集,獲取估計集中最高估值的索引io,io傳遞進入策略激活單元,激活固定序列,策略激活單元按序列整理狀態(tài)空間集Oi,其對應(yīng)BDC的Actor網(wǎng)絡(luò)輸入層,BDC子策略?再輸出該狀態(tài)的控制動作。

      2 機器人環(huán)境構(gòu)建

      在Unity3D中構(gòu)建反關(guān)節(jié)四足機器人系統(tǒng),單個腿部系統(tǒng)為3個自由度。策略中心和機器人仿真分為兩部分進行,使用TCP通訊連接兩個系統(tǒng)。重復(fù)構(gòu)建多個四足機器人系統(tǒng),訓(xùn)練時儲存每個機器人連續(xù)運動集,在概率ρ=0.95選取最優(yōu)獎勵集進行訓(xùn)練。系統(tǒng)構(gòu)建如圖5描述。

      機器人Hip關(guān)節(jié)和Knee關(guān)節(jié)角度參考零點垂直于x軸。各關(guān)節(jié)角度區(qū)間跨度較大,不利于快速收斂。為使BDC輸出的角度期望在訓(xùn)練初期更快表現(xiàn)出運動行為,對輸出范圍進行歸一化,行為值a∈AB限制為[-0.44,0.44]。最終輸出期望角度αx=a+b,其中b為各關(guān)節(jié)運動范圍中值,運動范圍如表1中所示。

      機器人的運作目標(biāo)是四足機器人盡可能極限化向前運動的最大速率。在實驗過程中,由于初始訓(xùn)練時,策略隨機性導(dǎo)致機器人姿態(tài)偏離過多,均發(fā)生側(cè)翻,摔倒,嚴(yán)重偏離方向等狀況,這些可能性導(dǎo)致樣本復(fù)雜度上升或增加獲取非理想樣本的概率,因此構(gòu)建機器人輔助運動機制,對過度偏離的角度進行周期定角度矯正。并且單一限制某方向歐拉角,不能使機器人具有調(diào)整姿態(tài)的能力。在策略成熟后,撤銷輔助運動機制,再進行一定時間步的訓(xùn)練,機器人具有保持較好的姿態(tài)調(diào)節(jié)能力并保持一定魯棒性。運動輔助機制主要針對x軸和y軸進行矯正,y軸角度穩(wěn)定范圍為[-2°,2°],超出范圍則進行周期為6 ms,單次0.4°的矯正。同樣的,x軸的穩(wěn)定范圍為[-8°,8°],單次0.6°矯正。x軸角度受腿部運動的影響,穩(wěn)定范圍相對偏大,可以使其充分發(fā)揮腿部運動機能。次要的,z軸矯正防止機器人過激運動行為導(dǎo)致傾角過度,z軸穩(wěn)定范圍為[-60°,60°],單次10°矯正。對于某些沖擊動作造成姿態(tài)傾斜較大的,該運動輔助機制在物理環(huán)境中具有緩和的效果。

      圖5 機器人訓(xùn)練系統(tǒng)構(gòu)建

      3 仿真與測試

      在Intel單核2.4 GHz處理器上訓(xùn)練所有神經(jīng)網(wǎng)絡(luò)和運行機器人仿真程序,通過構(gòu)建TCP通信網(wǎng)絡(luò)連接分層學(xué)習(xí)策略中心和機器人仿真環(huán)境,兩者間利用響應(yīng)機制自動完成交互控制及信息反饋這一過程。

      BDC運動策略的訓(xùn)練目標(biāo),主要有正常運動與單腿失效運動。兩者均構(gòu)建基于姿態(tài)歐拉角的輔助運動系統(tǒng)。在式(7)獎勵策略下,正常運動策略經(jīng)過1 200個訓(xùn)練批量后,綜合獎勵值穩(wěn)定在40。單腿受損后的,同樣經(jīng)過1 200個訓(xùn)練批量,綜合的獎勵值穩(wěn)定在39。訓(xùn)練過程平均直接獎勵值數(shù)據(jù)如圖6。分析可知該腿部受損的四足機器人相對未受損狀況的,運動速率沒有明顯差異。

      圖6 BDC策略平均直接獎勵曲線

      圖7 SDC策略平均直接獎勵曲線

      圖8 機器人運動速度曲線

      SDC在各個BDC單元訓(xùn)練結(jié)束后進行訓(xùn)練,設(shè)定機器人運動狀態(tài)改變周期為20 s,估計后激活BDC表達運動行為。式(1)中獎勵權(quán)重依據(jù)子運動的穩(wěn)定獎勵值確定。由于BDC策略存在神經(jīng)網(wǎng)絡(luò)的稀疏性,所以傳入BDC的狀態(tài)空間Oi,不一定就是期望的狀態(tài)空間,但仍可能控制相關(guān)BDC實現(xiàn)到運動技能,甚至達到更好的運動策略,所以導(dǎo)致Oi可能對應(yīng)多個BDC策略,但不是之前預(yù)定的訓(xùn)練目標(biāo)。將這一問題交給自適應(yīng)的Double-DQN去解決。在單腿受損后或恢復(fù)正常狀態(tài)過渡時,SDC 激活BDC同時要考慮過程的時機性,讓這一過程快速及穩(wěn)定完成。SDC策略在經(jīng)過4小時訓(xùn)練后,每個批量總獎勵穩(wěn)定在14,訓(xùn)練數(shù)據(jù)曲線如圖7。

      依據(jù)實驗,機器人從正常運動向腿部受損過渡時,也近乎完美的表現(xiàn)出連貫性及柔和性。從圖8機器人左腿受損后的運動速率曲線分析可得,在正常運動下,機器人保持跳躍運動行為,峰值運動速率約1.2 m/s,在接近18 s時腿部受損后,仍繼續(xù)保持速度峰值約0.9 m/s的運動行為,在運動過渡期間內(nèi),沒有出現(xiàn)明顯的停滯時間。對機器人運動行為進行連續(xù)運動逐幀截取如圖9,其俯仰姿態(tài)變化對應(yīng)了其運動時的跳躍特性。在7幀至8幀的腿部受損的過渡期間,該模型自適應(yīng)調(diào)整運動行為使機器人保持運動的連續(xù)性。

      由此可見該模型可以實現(xiàn)機器人連續(xù)向前運動,并在機器人腿部受損后可以自適應(yīng)控制機器人繼續(xù)保持運作,并保證過程有效的連續(xù)及柔和。

      圖9 正常運動至左腿受損的截取幀

      4 結(jié)束語

      為解決機器人腿部受損后無法繼續(xù)保持前進的問題,構(gòu)建一種分層學(xué)習(xí)控制模型。SDC和BDC兩部分分別控制運動決策激活和基礎(chǔ)運動控制功能,結(jié)構(gòu)化控制方法,降低策略學(xué)習(xí)的復(fù)雜度。依據(jù)Unity3D中訓(xùn)練及仿真的結(jié)果,充分證實該種分層學(xué)習(xí)組合的可行性。特別地,Double-DQN離散控制和PPO連續(xù)控制各發(fā)揮關(guān)鍵作用。讓激活策略適應(yīng)相關(guān)控制層,由于神經(jīng)網(wǎng)絡(luò)稀疏性,盡管可能不符合期望目標(biāo),但是由于狀態(tài)空間信息局部變化,有可能讓子策略表達更好的運動行為。另外,在訓(xùn)練中采用運動輔助系統(tǒng),降低初始訓(xùn)練的混亂度,有效幫助快速收斂,并且該種方法不會降低和影響機器人自我姿態(tài)的調(diào)整能力。

      該種分層學(xué)習(xí)方法,結(jié)構(gòu)化網(wǎng)絡(luò)關(guān)系,互相聯(lián)系上下級控制策略關(guān)系,但是并沒有深層次的互相影響策略執(zhí)行,仍然是一種淺層次的分層方法。雖然目前的分層學(xué)習(xí)仍然沒有一種通用或者具有深層次理論的方式,依然依據(jù)問題所引而確定結(jié)構(gòu)及方式,但其表達的思想是大型及復(fù)雜策略解決的理想途徑。未來將分類及思考任務(wù)間不同策略關(guān)系,架構(gòu)相互優(yōu)化的算法,深化策略聯(lián)系,實現(xiàn)高要求的運動控制。考慮將傳統(tǒng)控制理論相結(jié)合,將會是一個極具價值的方向。

      猜你喜歡
      腿部分層機器人
      分體式腿部氣動按摩裝置設(shè)計
      玩具世界(2022年2期)2022-06-15 07:35:58
      一種沉降環(huán)可準(zhǔn)確就位的分層沉降儀
      雨林的分層
      有趣的分層
      腳下放靠墊睡覺更解乏
      機器人來幫你
      認(rèn)識機器人
      機器人來啦
      認(rèn)識機器人
      腳下放靠墊睡覺更解乏
      佳木斯市| 永吉县| 佛冈县| 怀化市| 满洲里市| 嵊州市| 泰和县| 乌鲁木齐市| 依安县| 资源县| 横峰县| 新龙县| 惠东县| 凭祥市| 蒙山县| 西丰县| 黄冈市| 辰溪县| 阿拉善左旗| 白城市| 长岭县| 凤城市| 佛学| 济宁市| 慈利县| 贞丰县| 炉霍县| 沛县| 山丹县| 怀宁县| 古浪县| 通许县| 安国市| 黔西| 石泉县| 吴川市| 门头沟区| 绍兴县| 聊城市| 新民市| 元朗区|