99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

SR-Platform:用自然語言指令自動構(gòu)建機器人仿真環(huán)境的技術(shù)解析與實踐

SR-Platform:用自然語言指令自動構(gòu)建機器人仿真環(huán)境的技術(shù)解析與實踐 1. 項目概述當(dāng)自然語言指令遇上機器人仿真環(huán)境構(gòu)建最近在機器人仿真領(lǐng)域一個名為“SR-Platform”的項目引起了我的注意。它的核心目標非常吸引人讓開發(fā)者或研究者能夠直接用自然語言描述比如“創(chuàng)建一個有紅色機械臂和藍色立方體的桌面場景”系統(tǒng)就能自動生成對應(yīng)的、可運行的機器人仿真環(huán)境。這聽起來像是科幻電影里的場景但SR-Platform正試圖通過一個“Agentic Pipeline”智能體流水線將其變?yōu)楝F(xiàn)實。簡單來說它想成為機器人仿真領(lǐng)域的“Copilot”將人類模糊的意圖轉(zhuǎn)化為精確的、可執(zhí)行的物理仿真世界。這個想法背后直指當(dāng)前機器人仿真開發(fā)中的一個核心痛點環(huán)境構(gòu)建的門檻。無論是使用MuJoCo、PyBullet還是Isaac Sim創(chuàng)建一個哪怕是最基礎(chǔ)的仿真場景都需要開發(fā)者具備多方面的知識物理引擎的API、三維建模基礎(chǔ)、機器人URDF/SDF模型的理解、場景XML或MJCF文件的編寫以及Python等腳本語言的編程能力。這個過程不僅繁瑣、耗時而且極易出錯一個參數(shù)設(shè)置不當(dāng)就可能導(dǎo)致仿真崩潰或得到不符合物理規(guī)律的結(jié)果。SR-Platform的愿景正是要抽象掉這層復(fù)雜性讓用戶專注于任務(wù)邏輯和算法設(shè)計而不是環(huán)境搭建的細枝末節(jié)。從網(wǎng)絡(luò)上的討論熱度來看大家對這個方向的興趣是實實在在的。圍繞“MuJoCo”這個關(guān)鍵詞搜索最多的問題幾乎全是關(guān)于安裝、配置和基礎(chǔ)使用的“windows11 安裝mujoco”、“python安裝mujoco無法安裝”、“mujoco教程”、“安裝mujoco常見問題”。這充分說明大量有志于機器人學(xué)習(xí)、強化學(xué)習(xí)的研究者和工程師在第一道門檻——環(huán)境搭建上就遇到了巨大阻力。SR-Platform如果能夠成熟將極大地降低這個領(lǐng)域的入門和實驗成本加速從想法到驗證的迭代周期。2. 核心架構(gòu)拆解“智能體流水線”如何工作SR-Platform的標題中“Agentic Pipeline”是理解其技術(shù)路線的關(guān)鍵。這里的“Agentic”并非指一個單一的、全能的智能體而更像是一個由多個各司其職的“智能體”或稱為模塊、服務(wù)組成的自動化流水線。每個智能體負責(zé)將上一階段的輸出轉(zhuǎn)化為更接近最終目標的、結(jié)構(gòu)化的中間表示。這種設(shè)計思路借鑒了軟件工程中的微服務(wù)架構(gòu)和AI領(lǐng)域的智能體Agent協(xié)作思想旨在通過分工與協(xié)作完成從自然語言到仿真代碼的復(fù)雜轉(zhuǎn)換。一個典型的SR-Platform流水線可能包含以下幾個核心智能體2.1 語義解析與場景理解智能體這是流水線的第一站。它的任務(wù)是理解用戶輸入的、可能非常口語化的自然語言指令。例如用戶輸入“在MuJoCo里建一個場景要有一個七自由度的Franka機械臂機械臂前面放一張木紋桌子桌子上有一個綠色的球機械臂的任務(wù)是把球推到桌子邊緣?!边@個智能體需要完成實體識別識別出指令中的關(guān)鍵實體如“Franka機械臂”機器人模型、“木紋桌子”、“綠色的球”場景物體。屬性提取提取實體的屬性如機械臂的“七自由度”、球的顏色“綠色”、桌子的材質(zhì)“木紋”。關(guān)系與約束解析理解實體間的關(guān)系和空間約束如“機械臂前面放一張桌子”、“球在桌子上”、“把球推到桌子邊緣”這隱含了任務(wù)目標。意圖映射將上述解析結(jié)果映射到一個結(jié)構(gòu)化的場景描述框架中。這個框架可能是一種自定義的JSON或YAML格式它定義了場景的拓撲結(jié)構(gòu)、物體的初始位姿、物理屬性質(zhì)量、摩擦系數(shù)等以及潛在的任務(wù)目標。這個智能體很可能基于大型語言模型LLM構(gòu)建利用其強大的上下文理解和信息抽取能力。但難點在于如何讓LLM的輸出高度結(jié)構(gòu)化且符合仿真引擎的語義這需要精心設(shè)計提示詞Prompt和可能的后處理規(guī)則。2.2 資源檢索與模型適配智能體解析出場景描述后下一步是找到或創(chuàng)建對應(yīng)的三維模型和機器人模型。這個智能體負責(zé)模型庫查詢根據(jù)解析出的實體名稱如“Franka Panda”在一個預(yù)置的模型資產(chǎn)庫中進行檢索。這個庫可能包含常見的機器人URDF文件、基礎(chǔ)幾何體立方體、球體、圓柱體以及各種日常物體的MJCF或SDF描述。參數(shù)化生成對于某些簡單物體如“綠色的球”如果庫中沒有完全匹配的該智能體可以調(diào)用參數(shù)化生成工具根據(jù)屬性顏色、尺寸動態(tài)創(chuàng)建對應(yīng)的MJCF XML代碼片段。模型適配與驗證檢索到的模型可能不完全兼容。例如一個從ROS社區(qū)下載的URDF模型可能需要被轉(zhuǎn)換成MuJoCo的MJCF格式并確保其關(guān)節(jié)類型、慣性參數(shù)等設(shè)置合理。這個智能體需要集成或調(diào)用格式轉(zhuǎn)換工具并對轉(zhuǎn)換后的模型進行基礎(chǔ)驗證如檢查質(zhì)量是否為正數(shù)關(guān)節(jié)限位是否合理。2.3 場景組裝與物理參數(shù)化智能體這是將“零件”組裝成“機器”的關(guān)鍵環(huán)節(jié)。該智能體接收結(jié)構(gòu)化的場景描述和對應(yīng)的模型資產(chǎn)負責(zé)空間布局計算根據(jù)描述中的空間關(guān)系如“前面”、“上面”計算每個物體的初始位置和姿態(tài)。這可能需要一個簡單的空間推理模塊或者利用LLM進行坐標估算再通過碰撞檢測進行微調(diào)。MJCF/XML文件合成按照MuJoCo MJCF文件的語法將世界體、光線、地面、以及所有檢索/生成的模型機器人、桌子、球的XML代碼片段組裝成一個完整的、語法正確的.xml或.mjcf文件。這包括正確設(shè)置worldbody中的body層級關(guān)系、joint、geom等元素。物理屬性注入為物體賦予合理的物理屬性。這是最具挑戰(zhàn)性的部分之一。用戶的自然語言描述很少會指定“球的彈性系數(shù)是0.8”或“桌面的滑動摩擦是0.6”。該智能體需要基于常識或經(jīng)驗數(shù)據(jù)庫為物體分配默認的、合理的物理參數(shù)。例如金屬物體密度大、摩擦系數(shù)中等木制物體密度中等、摩擦系數(shù)較高塑料物體密度小、彈性可能較好。2.4 任務(wù)腳本生成與接口封裝智能體環(huán)境搭建好了但仿真需要“動起來”。這個智能體負責(zé)生成與仿真環(huán)境交互的Python腳本框架。API代碼生成根據(jù)場景中存在的機器人模型自動生成初始化MuJoCo模型、創(chuàng)建模擬器、獲取關(guān)節(jié)和執(zhí)行器索引、讀取傳感器數(shù)據(jù)等樣板代碼。任務(wù)骨架生成如果用戶指令中包含任務(wù)描述如“把球推到桌子邊緣”該智能體可以生成一個對應(yīng)的任務(wù)函數(shù)骨架。例如定義一個push_ball_to_edge()函數(shù)其中包含獲取球和桌子位置、計算機械臂末端所需軌跡等注釋和占位符引導(dǎo)用戶實現(xiàn)具體控制算法。標準化接口封裝為了便于與主流強化學(xué)習(xí)庫如Stable-Baselines3, RLlib集成該智能體可能會將生成的仿真環(huán)境包裝成類似Gym或Gymnasium的API格式即提供reset(),step(action),observation_space,action_space等標準方法和屬性。整個流水線像一條自動化生產(chǎn)線自然語言指令是原材料經(jīng)過多個智能體工站的加工最終產(chǎn)出可直接運行的仿真環(huán)境代碼和任務(wù)腳本。這種設(shè)計的優(yōu)勢在于模塊化每個智能體可以獨立優(yōu)化和升級。3. 關(guān)鍵技術(shù)挑戰(zhàn)與潛在解決方案將SR-Platform從概念變?yōu)閷嵱霉ぞ呙媾R著諸多嚴峻的技術(shù)挑戰(zhàn)。這些挑戰(zhàn)也正是該項目需要攻克的核心技術(shù)點。3.1 自然語言歧義性與空間關(guān)系的精確映射自然語言天生具有模糊性?!皺C械臂前面放一張桌子”——這個“前面”是相對于機械臂基座坐標系的前方還是末端執(zhí)行器的朝向距離是多少同樣“把球推到桌子邊緣”是推到任意邊緣還是特定的某一邊這種歧義性會導(dǎo)致生成的環(huán)境與用戶預(yù)期不符??赡艿慕鉀Q方案交互式澄清流水線可以設(shè)計一個“澄清智能體”。當(dāng)解析到模糊指令時自動生成幾個最可能的解釋選項以交互式問答的方式請求用戶確認。例如“您說的‘前面’是指機械臂基座坐標系X軸正方向1米處嗎”常識知識庫建立一個包含常見物體尺寸、典型布局的常識數(shù)據(jù)庫。當(dāng)用戶說“桌子”時默認使用一個長寬高為1.5m x 0.8m x 0.75m的模型說“前面”時默認距離為0.5米。這能處理大多數(shù)簡單場景。參考系與相對描述在用戶輸入界面引導(dǎo)用戶使用更精確的描述例如支持“以機械臂基座為原點在(0.5, 0, 0)位置放置一個立方體”這樣的半結(jié)構(gòu)化輸入作為補充。3.2 物理仿真的真實性與參數(shù)化難題這是最核心的挑戰(zhàn)之一。仿真環(huán)境的真實性直接決定了在其上訓(xùn)練的算法能否遷移到現(xiàn)實世界。SR-Platform自動分配的物理參數(shù)質(zhì)量、摩擦、彈性很可能不準確導(dǎo)致仿真出現(xiàn)“滑冰”摩擦太小或“蹦床”彈性太大等不真實現(xiàn)象。可能的解決方案分層參數(shù)數(shù)據(jù)庫構(gòu)建一個分層的物理參數(shù)庫。第一層是“材料庫”定義鋼、木、橡膠等常見材料的密度、摩擦、彈性范圍。第二層是“物體庫”將常見物體如“馬克杯”、“籃球”映射到材料組合和典型尺寸。當(dāng)用戶指定“木桌”、“橡膠球”時系統(tǒng)從庫中調(diào)用對應(yīng)參數(shù)。可調(diào)參數(shù)與敏感性標注在生成的MJCF文件中將影響任務(wù)的關(guān)鍵物理參數(shù)如滑動摩擦、阻尼設(shè)置為可通過外部配置文件輕松調(diào)整的變量并添加注釋說明該參數(shù)對任務(wù)可能的影響。同時系統(tǒng)可以標注出哪些參數(shù)是基于估計的建議用戶根據(jù)實際情況校準。集成系統(tǒng)辨識工具在高級版本中可以嘗試集成簡單的系統(tǒng)辨識流程。例如生成一個讓球自由落體或滑動的測試場景通過對比仿真與簡單物理公式的結(jié)果反向微調(diào)重力、摩擦等全局參數(shù)。3.3 復(fù)雜任務(wù)指令的分解與代碼生成用戶指令可能非常復(fù)雜例如“讓機械臂拿起桌上的筆然后在紙板上寫字”。這涉及一系列子任務(wù)識別筆、規(guī)劃抓取軌跡、控制手爪閉合、移動至紙板、執(zhí)行書寫動作。讓流水線直接生成完整的控制代碼幾乎不可能??赡艿慕鉀Q方案任務(wù)分解與技能庫映射流水線中的任務(wù)生成智能體需要將復(fù)雜任務(wù)分解為已知的“技能原語”Primitive如move_to(position),grasp(object),place(object)。系統(tǒng)維護一個技能原語庫并為每個原語提供默認的、簡單的實現(xiàn)如基于位置的控制。復(fù)雜任務(wù)被分解為這些原語的序列。生成任務(wù)規(guī)劃注釋而非完整代碼對于超出現(xiàn)有能力范圍的復(fù)雜任務(wù)智能體可以生成高度注釋化的任務(wù)規(guī)劃骨架。它會在代碼中用注釋清晰地標出任務(wù)分解步驟、所需的感知信息如“此處需要調(diào)用視覺API獲取筆的位置”、以及每個步驟建議調(diào)用的控制函數(shù)將具體算法的實現(xiàn)留給用戶。與高層任務(wù)規(guī)劃器結(jié)合將SR-Platform定位為“環(huán)境構(gòu)建器”而將復(fù)雜任務(wù)規(guī)劃交給專門的、基于LLM的任務(wù)規(guī)劃器。兩者通過標準接口如場景描述文件、技能原語列表進行協(xié)作。3.4 資產(chǎn)庫的構(gòu)建、管理與擴展一個豐富、高質(zhì)量、易檢索的模型資產(chǎn)庫是SR-Platform的基石。這個庫需要包含機器人、日常物體、家具、工具等各種模型且格式統(tǒng)一最好是MJCF物理屬性經(jīng)過初步校準??赡艿慕鉀Q方案社區(qū)共建與開源集成初期可以集成現(xiàn)有的開源模型庫如MuJoCo官方模型、RoboSuite資產(chǎn)、以及各大機器人研究機構(gòu)開源的URDF模型。建立一套自動化的格式轉(zhuǎn)換和質(zhì)量檢查流水線將外部模型“馴化”為內(nèi)部可用資產(chǎn)。參數(shù)化物體生成器對于簡單幾何體和一些常見結(jié)構(gòu)不同尺寸的柜子、架子開發(fā)參數(shù)化生成工具允許用戶通過調(diào)整幾個參數(shù)長、寬、高、孔洞數(shù)量來創(chuàng)建新物體并自動生成合理的物理屬性。從仿真到資產(chǎn)的閉環(huán)允許用戶在SR-Platform生成的基礎(chǔ)環(huán)境上進行修改和調(diào)優(yōu)例如手動調(diào)整了某個盒子的尺寸和摩擦系數(shù)并提供一個“保存為資產(chǎn)”的功能將用戶調(diào)校好的物體反向存入個人或共享資產(chǎn)庫實現(xiàn)庫的持續(xù)增長。4. 從概念到實操基于現(xiàn)有工具的探索路徑雖然完整的SR-Platform可能還在研發(fā)中但我們可以基于現(xiàn)有的開源工具鏈手動搭建一個簡化版的“自然語言驅(qū)動仿真生成”工作流親身體驗其核心環(huán)節(jié)。這個過程能幫助我們更深刻地理解SR-Platform需要解決的具體問題。4.1 環(huán)境準備MuJoCo與Python生態(tài)搭建這是所有工作的基礎(chǔ)也是網(wǎng)絡(luò)搜索中問題最多的環(huán)節(jié)。我們以在Linux/macOS系統(tǒng)下搭建一個穩(wěn)定的環(huán)境為例。步驟1安裝MuJoCo不再推薦從官網(wǎng)下載獨立安裝包。最穩(wěn)定、最推薦的方式是通過mujoco這個Python包來安裝它會自動處理二進制文件和許可證。# 創(chuàng)建并激活一個干凈的Python虛擬環(huán)境強烈建議 python -m venv sr-platform-env source sr-platform-env/bin/activate # Linux/macOS # sr-platform-env\Scripts\activate # Windows # 升級pip pip install --upgrade pip # 安裝mujoco包它會自動安裝對應(yīng)版本的MuJoCo本體 pip install mujoco # 驗證安裝 python -c import mujoco; print(mujoco.__version__)如果這一步成功說明MuJoCo核心庫已就位。網(wǎng)絡(luò)上常見的“無法安裝”問題多源于老教程中手動下載mjpro或mujoco210二進制文件、設(shè)置環(huán)境變量LD_LIBRARY_PATH或MUJOCO_PY的復(fù)雜流程。新的mujoco包已極大簡化了這一過程。步驟2安裝必要的輔助庫我們需要一些庫來處理3D、物理以及最重要的——與LLM交互。# 安裝PyMuJoCo這是官方的Python封裝API更現(xiàn)代 pip install mujoco # 安裝用于渲染和交互查看的庫 pip install glfw mujoco[gl] # 安裝OpenAI Gymnasium原Gym的維護分支作為環(huán)境接口標準可選但推薦 pip install gymnasium # 安裝用于可能進行模型格式轉(zhuǎn)換的庫如URDF轉(zhuǎn)MJCF # 注意這是一個活躍但可能不完美的領(lǐng)域以下是一些選項 # pip install yourdfpy # 用于加載和簡單處理URDF # 或者使用 mujoco 自帶的 urdf 加載功能在開發(fā)中 # 安裝OpenAI的Python SDK用于調(diào)用GPT等模型進行語義解析 pip install openai4.2 構(gòu)建核心流水線模塊簡化版我們將用Python腳本模擬SR-Platform流水線中的幾個關(guān)鍵智能體。模塊1基于LLM的語義解析器 (nlp_parser.py)這個模塊使用大語言模型如GPT-4將自然語言指令轉(zhuǎn)換為結(jié)構(gòu)化的JSON。import openai import json import os class SceneParser: def __init__(self, api_key): openai.api_key api_key # 定義我們希望LLM輸出的結(jié)構(gòu)化格式 self.scene_schema { type: object, properties: { robots: { type: array, items: { type: object, properties: { name: {type: string}, type: {type: string}, position: {type: array, items: {type: number}, minItems: 3, maxItems: 3} } } }, objects: { type: array, items: { type: object, properties: { name: {type: string}, shape: {type: string, enum: [box, sphere, cylinder]}, color: {type: string}, size: {type: array, items: {type: number}}, position: {type: array, items: {type: number}, minItems: 3, maxItems: 3} } } }, task: {type: string} } } def parse_instruction(self, instruction): prompt f 請將以下關(guān)于機器人仿真場景的自然語言描述解析為結(jié)構(gòu)化的JSON數(shù)據(jù)。 描述{instruction} 要求 1. 識別出場景中的機器人指定其名稱、類型和初始位置[x, y, z]。位置是估算值單位是米。 2. 識別出場景中的物體指定其名稱、形狀(box/sphere/cylinder)、顏色、尺寸(對于box是[長,寬,高]對于sphere是[半徑]對于cylinder是[半徑,高度])和初始位置。 3. 提取任務(wù)描述。 請只輸出JSON不要有其他任何解釋。 JSON結(jié)構(gòu)必須嚴格遵循{json.dumps(self.scene_schema, indent2)} try: response openai.ChatCompletion.create( modelgpt-4, # 或 gpt-3.5-turbo messages[{role: user, content: prompt}], temperature0.1 # 低溫度保證輸出結(jié)構(gòu)化 ) result response.choices[0].message.content # 清理響應(yīng)提取JSON部分 json_start result.find({) json_end result.rfind(}) 1 if json_start ! -1 and json_end ! 0: json_str result[json_start:json_end] scene_data json.loads(json_str) return scene_data else: raise ValueError(未能從LLM響應(yīng)中提取有效JSON) except Exception as e: print(f解析指令時出錯{e}) return None # 使用示例 if __name__ __main__: parser SceneParser(api_keyos.getenv(OPENAI_API_KEY)) instruction 創(chuàng)建一個場景中央有一個紅色的Franka機械臂其前方0.5米處有一張棕色的桌子桌子上有一個藍色的球體。機械臂的任務(wù)是觸摸這個球。 scene parser.parse_instruction(instruction) print(json.dumps(scene, indent2))這個解析器利用了LLM的指令跟隨和結(jié)構(gòu)化輸出能力。關(guān)鍵在于設(shè)計一個清晰、完整的JSON Schema來約束LLM的輸出格式。在實際應(yīng)用中Schema需要定義得更加詳盡以覆蓋更多屬性如關(guān)節(jié)類型、材質(zhì)、物理參數(shù)等。模塊2MJCF場景組裝器 (scene_builder.py)這個模塊將結(jié)構(gòu)化的場景描述轉(zhuǎn)換為MuJoCo的MJCF XML字符串。import xml.etree.ElementTree as ET from xml.dom import minidom class MJCFBuilder: def __init__(self): self.root ET.Element(mujoco, modelauto_generated_scene) # 添加編譯器選項 compiler ET.SubElement(self.root, compiler, angleradian, inertiafromgeomtrue) # 添加默認的視覺和物理選項 option ET.SubElement(self.root, option, timestep0.01, gravity0 0 -9.81) # 添加世界體 self.worldbody ET.SubElement(self.root, worldbody) # 添加地面 ET.SubElement(self.worldbody, geom, nameground, typeplane, size10 10 0.1, rgba0.8 0.9 0.8 1) # 添加光源 ET.SubElement(self.worldbody, light, nametop, pos0 0 4, dir0 0 -1) self.asset ET.SubElement(self.root, asset) # 可以在這里預(yù)定義一些材質(zhì)和紋理 ET.SubElement(self.asset, material, namedefault, rgba0.7 0.7 0.7 1) def _add_robot(self, robot_info): # 這是一個簡化示例。實際中這里需要根據(jù)robot_info[type]從資產(chǎn)庫加載對應(yīng)的MJCF/URDF片段。 # 我們這里用一個簡單的固定基座機械臂模型代替。 if robot_info[type].lower() franka: # 假設(shè)Franka機器人的MJCF模型字符串簡化版僅示意 franka_xml body namefranka_base pos0 0 0 geom typebox size0.2 0.2 0.1 rgba0.5 0.5 0.5 1/ body namelink1 pos0 0 0.2 joint namejoint1 typehinge axis0 0 1 range-180 180/ geom typecylinder size0.05 0.2 rgba1 0 0 1/ body namelink2 pos0 0 0.4 joint namejoint2 typehinge axis0 1 0 range-90 90/ geom typecylinder size0.04 0.15 rgba0 1 0 1/ /body /body /body robot_root ET.fromstring(franka_xml) # 設(shè)置機器人基座位置 pos_str .join(map(str, robot_info.get(position, [0, 0, 0]))) robot_root.set(pos, pos_str) self.worldbody.append(robot_root) else: print(f警告未知機器人類型 {robot_info[type]}已跳過。) def _add_object(self, obj_info): name obj_info[name] shape obj_info[shape] color obj_info.get(color, 0.5 0.5 0.8) pos obj_info.get(position, [0, 0, 0.5]) pos_str .join(map(str, pos)) size obj_info.get(size, [0.05, 0.05, 0.05]) # 將顏色名稱轉(zhuǎn)換為RGBA值簡化處理 color_map { red: 1 0 0 1, blue: 0 0 1 1, green: 0 1 0 1, brown: 0.6 0.4 0.2 1, } rgba color_map.get(color.lower(), 0.7 0.7 0.7 1) body_elem ET.SubElement(self.worldbody, body, namename, pospos_str) if shape box: size_str .join(map(str, size)) ET.SubElement(body_elem, geom, typebox, sizesize_str, rgbargba) elif shape sphere: radius size[0] if isinstance(size, list) else size ET.SubElement(body_elem, geom, typesphere, sizestr(radius), rgbargba) elif shape cylinder: radius size[0] height size[1] if len(size) 1 else 0.1 ET.SubElement(body_elem, geom, typecylinder, sizef{radius} {height}, rgbargba) # 為物體添加自由關(guān)節(jié)使其可以自由運動 ET.SubElement(body_elem, joint, namef{name}_joint, typefree) def build_from_scene_data(self, scene_data): # 添加機器人 for robot in scene_data.get(robots, []): self._add_robot(robot) # 添加物體 for obj in scene_data.get(objects, []): self._add_object(obj) def get_xml_string(self): # 美化輸出XML rough_string ET.tostring(self.root, utf-8) reparsed minidom.parseString(rough_string) return reparsed.toprettyxml(indent ) def save_to_file(self, filename): xml_str self.get_xml_string() with open(filename, w) as f: f.write(xml_str) # 使用示例 if __name__ __main__: # 假設(shè)這是從語義解析器得到的場景數(shù)據(jù) sample_scene { robots: [ {name: franka, type: Franka, position: [0, 0, 0]} ], objects: [ {name: table, shape: box, color: brown, size: [0.8, 0.8, 0.05], position: [0.7, 0, 0.4]}, {name: ball, shape: sphere, color: blue, size: [0.05], position: [0.7, 0, 0.5]} ], task: Touch the blue ball. } builder MJCFBuilder() builder.build_from_scene_data(sample_scene) builder.save_to_file(generated_scene.xml) print(MJCF文件已生成generated_scene.xml)這個組裝器是高度簡化的。一個生產(chǎn)級的組裝器需要一個龐大的、可擴展的模型資產(chǎn)庫。復(fù)雜的空間布局算法來處理“桌子上”、“前面”等關(guān)系。更完善的物理屬性密度、摩擦、彈性分配邏輯。對復(fù)雜機器人模型多連桿、復(fù)合關(guān)節(jié)的支持。模塊3仿真運行與任務(wù)封裝 (sim_runner.py)這個模塊負責(zé)加載生成的MJCF文件并封裝成一個簡單的、可交互的仿真環(huán)境。import mujoco import mujoco.viewer import numpy as np import time class GeneratedSimulation: def __init__(self, xml_path): # 加載模型 self.model mujoco.MjModel.from_xml_path(xml_path) self.data mujoco.MjData(self.model) # 查找機器人關(guān)節(jié)和執(zhí)行器簡化假設(shè)前N個執(zhí)行器是機器人的 self.robot_actuator_indices [] self.robot_joint_indices [] # 這里需要更復(fù)雜的邏輯來識別機器人部分。假設(shè)模型名包含franka的執(zhí)行器是機器人的。 for i in range(self.model.nu): act_name mujoco.mj_id2name(self.model, mujoco.mjtObj.mjOBJ_ACTUATOR, i) if act_name and franka in act_name.lower(): self.robot_actuator_indices.append(i) # 找到該執(zhí)行器對應(yīng)的關(guān)節(jié) jnt_id self.model.actuator_trnid[i, 0] self.robot_joint_indices.append(jnt_id) print(f找到 {len(self.robot_actuator_indices)} 個機器人執(zhí)行器。) def reset(self): mujoco.mj_resetData(self.model, self.data) # 可以在這里設(shè)置特定的初始狀態(tài)如物體隨機位置 return self._get_observation() def _get_observation(self): # 一個簡單的觀測機器人關(guān)節(jié)位置、速度以及球的位置 obs [] # 機器人關(guān)節(jié)信息 for jnt_id in self.robot_joint_indices: obs.append(self.data.qpos[jnt_id]) obs.append(self.data.qvel[jnt_id]) # 查找球的位置通過物體名 ball_body_id mujoco.mj_name2id(self.model, mujoco.mjtObj.mjOBJ_BODY, ball) if ball_body_id ! -1: obs.extend(self.data.xpos[ball_body_id]) # 球的三維位置 return np.array(obs) def step(self, action): # action 應(yīng)該是一個向量長度等于 robot_actuator_indices if len(action) ! len(self.robot_actuator_indices): raise ValueError(f動作維度{len(action)}與執(zhí)行器數(shù)量{len(self.robot_actuator_indices)}不匹配) # 將動作施加到對應(yīng)的執(zhí)行器上 for i, act_idx in enumerate(self.robot_actuator_indices): self.data.ctrl[act_idx] action[i] # 步進仿真 mujoco.mj_step(self.model, self.data) # 獲取新觀測 obs self._get_observation() # 計算一個簡單的獎勵機械臂末端與球的距離負值越小越好 reward 0 # 這里需要獲取末端位置和球位置計算距離。為簡化先返回0。 done False info {} return obs, reward, done, info def render(self, viewer_handleNone): # 使用 mujoco.viewer 進行渲染 pass def run_simulation(xml_path): sim GeneratedSimulation(xml_path) sim.reset() # 創(chuàng)建一個簡單的循環(huán)讓機械臂關(guān)節(jié)做正弦運動 try: with mujoco.viewer.launch_passive(sim.model, sim.data) as viewer: start time.time() while viewer.is_running() and time.time() - start 10.0: # 運行10秒 step_start time.time() # 生成一個簡單的振蕩動作 t time.time() - start action 0.5 * np.sin(t * 2) * np.ones(len(sim.robot_actuator_indices)) sim.step(action) # 同步渲染 viewer.sync() # 粗略的實時同步 time_until_next_step sim.model.opt.timestep - (time.time() - step_start) if time_until_next_step 0: time.sleep(time_until_next_step) except Exception as e: print(f仿真運行出錯{e}) if __name__ __main__: run_simulation(generated_scene.xml)這個運行器提供了最基本的仿真循環(huán)和Gym-like的接口雛形。在實際的SR-Platform中這個模塊需要生成更完善的環(huán)境類包括正確的觀測空間、動作空間定義以及根據(jù)用戶指定的任務(wù)如“觸摸球”來設(shè)計獎勵函數(shù)和終止條件。4.3 整合與測試將以上模塊串聯(lián)起來形成一個最小可行的工作流# main.py import os from nlp_parser import SceneParser from scene_builder import MJCFBuilder from sim_runner import run_simulation import json def main(): # 1. 解析自然語言指令 api_key os.getenv(OPENAI_API_KEY) if not api_key: print(請設(shè)置 OPENAI_API_KEY 環(huán)境變量。) return parser SceneParser(api_key) user_instruction input(請輸入您想創(chuàng)建的仿真場景描述\n) # 例如一個紅色的Franka機械臂在原點它前面0.5米處有一個藍色的盒子。 scene_data parser.parse_instruction(user_instruction) if not scene_data: print(指令解析失敗。) return print(解析出的場景數(shù)據(jù)) print(json.dumps(scene_data, indent2)) # 2. 構(gòu)建MJCF場景文件 builder MJCFBuilder() builder.build_from_scene_data(scene_data) output_file user_generated_scene.xml builder.save_to_file(output_file) print(f\n場景文件已生成{output_file}) # 3. 運行仿真可選 run_choice input(\n是否要立即運行仿真(y/n): ).lower() if run_choice y: print(啟動仿真查看器...) run_simulation(output_file) else: print(f您可以在其他程序中加載 {output_file} 文件進行仿真。) if __name__ __main__: main()這個流程演示了SR-Platform的核心思想。當(dāng)然它距離一個魯棒、實用的工具還有很長的路要走但已經(jīng)清晰地勾勒出了從語言到仿真的技術(shù)路徑。5. 實操中的挑戰(zhàn)、心得與未來展望在嘗試手動實現(xiàn)上述簡化流水線的過程中我遇到了許多預(yù)料之中和預(yù)料之外的困難這些也正是SR-Platform這類項目必須解決的深水區(qū)問題。挑戰(zhàn)一LLM輸出的不穩(wěn)定性與幻覺即便使用了嚴格的JSON Schema和低溫度參數(shù)LLM如GPT-4在解析復(fù)雜或模糊指令時仍然可能產(chǎn)生不一致的輸出或“幻覺”編造不存在的信息。例如它可能將一個“機械臂”解析為兩個獨立的“機器人”實體或者為“桌子”分配一個不合理的尺寸如高度10米。我的心得是不能完全信任LLM的第一次輸出。必須在流水線中設(shè)計一個“驗證與修正”環(huán)節(jié)。這個環(huán)節(jié)可以基于簡單的物理常識規(guī)則如物體尺寸應(yīng)在合理范圍內(nèi)位置不應(yīng)穿透地面對解析結(jié)果進行過濾和修正。更高級的做法是引入一個“仿真預(yù)覽”循環(huán)快速渲染生成的環(huán)境讓用戶直觀確認是否符合預(yù)期并提供圖形化界面進行微調(diào)。挑戰(zhàn)二資產(chǎn)缺失與模型兼容性我們的簡化組裝器只能處理幾種基本幾何體。一旦用戶提到“Franka機械臂”、“KUKA iiwa”或者“一輛汽車”系統(tǒng)就需要對應(yīng)的MJCF或URDF模型文件。網(wǎng)絡(luò)上的模型質(zhì)量參差不齊單位不統(tǒng)一米 vs. 毫米關(guān)節(jié)定義方式各異直接使用會導(dǎo)致仿真崩潰或行為異常。解決方案是建立一個高質(zhì)量的“基礎(chǔ)資產(chǎn)包”。SR-Platform的初期版本必須自帶一個經(jīng)過精心挑選和校準的模型庫包含最流行的機器人、常見家具和物體。對于庫中沒有的模型可以提供“模型上傳與轉(zhuǎn)換”功能引導(dǎo)用戶上傳URDF文件并提供一個帶驗證的轉(zhuǎn)換工具同時明確告知用戶需要自行檢查轉(zhuǎn)換后的模型。挑戰(zhàn)三物理參數(shù)的“合理性”黑洞這是仿真領(lǐng)域的老大難問題。自動分配的摩擦系數(shù)、質(zhì)量、慣性矩幾乎不可能完全準確。一個不合理的參數(shù)會導(dǎo)致算法訓(xùn)練陷入局部最優(yōu)或者學(xué)到的策略無法遷移到現(xiàn)實。在實踐中我采取的策略是“分層調(diào)參”和“任務(wù)敏感性分析”。在生成的MJCF文件中將所有可能影響任務(wù)的物理參數(shù)特別是接觸屬性設(shè)置為可輕松從外部配置文件修改的變量。同時在文檔或代碼注釋中明確指出“此場景中球與桌面的滑動摩擦系數(shù)設(shè)置為0.4這是一個估計值。對于推動任務(wù)建議您在0.2到0.6之間進行調(diào)參以匹配真實情況或任務(wù)需求?!?將參數(shù)暴露出來并給出調(diào)整指南比提供一個看似完美但脆弱的“黑箱”更有價值。挑戰(zhàn)四從靜態(tài)場景到動態(tài)任務(wù)生成一個靜態(tài)場景相對容易但生成一個可完成特定任務(wù)如“推球”、“開門”的環(huán)境則困難得多。這需要定義任務(wù)的目標狀態(tài)、獎勵函數(shù)、終止條件。一個務(wù)實的思路是“任務(wù)模板化”。SR-Platform可以預(yù)置一系列常見的任務(wù)模板如“Reach”末端到達某位置、“Push”推動物體、“PickAndPlace”抓取放置。當(dāng)用戶指令匹配到某個模板時如“觸摸球”匹配“Reach”系統(tǒng)就自動套用該模板的獎勵函數(shù)和終止條件定義并將目標物體球的位置作為參數(shù)注入。對于無法匹配的復(fù)雜任務(wù)則生成一個任務(wù)框架并在關(guān)鍵處添加詳細的TODO注釋引導(dǎo)用戶自己實現(xiàn)核心邏輯。未來展望SR-Platform的演進方向我認為一個成熟的SR-Platform不會試圖成為一個“萬能魔法棒”而更可能演進為一個“強大的場景構(gòu)建助手”和“仿真實驗管理平臺”。它的發(fā)展方向可能包括交互式構(gòu)建結(jié)合圖形界面用戶用語言描述大致場景后可以在3D預(yù)覽中直接拖拽調(diào)整物體位置、旋轉(zhuǎn)視角系統(tǒng)同步更新背后的MJCF代碼。與物理參數(shù)辨識工具深度集成用戶可以提供一段真實世界的視頻如球在桌上滑動平臺能嘗試調(diào)整仿真參數(shù)使仿真行為與視頻匹配。支持多引擎后端不僅生成MuJoCo的MJCF文件還能輸出PyBullet的URDF場景、Isaac Sim的USD場景甚至Unity的Prefab讓用戶根據(jù)需求選擇仿真引擎。場景復(fù)雜度分級對于初學(xué)者生成簡單、穩(wěn)定的基礎(chǔ)場景對于高級用戶提供選項來生成包含隨機擾動、傳感器噪聲、動態(tài)障礙物的復(fù)雜場景用于魯棒性測試。社區(qū)與共享用戶生成和調(diào)校好的場景可以發(fā)布到平臺社區(qū)形成不斷增長的場景庫其他人可以一鍵復(fù)用或在此基礎(chǔ)上修改。最終SR-Platform的價值不在于完全取代仿真工程師而在于將工程師從重復(fù)、繁瑣的環(huán)境搭建工作中解放出來讓他們能將更多精力投入到機器人算法、控制器設(shè)計等更具創(chuàng)造性的工作中。它降低了機器人仿真的入門門檻讓更多領(lǐng)域的研究者如機器學(xué)習(xí)、認知科學(xué)能夠快速構(gòu)建實驗環(huán)境從而可能催生出更多跨學(xué)科的創(chuàng)新。從手動編寫每一行XML到用自然語言描述心中所想這無疑是機器人仿真開發(fā)范式的一次重要演進。雖然前路挑戰(zhàn)重重但方向已經(jīng)清晰值得每一個機器人領(lǐng)域的從業(yè)者保持關(guān)注和期待。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
秋霞免费三级片| 欧美黄色AA片哗啦啦啦| 激情亭亭五月| 97日韩无套内| www.色99| 五月丁香色| 九月丁香婷婷综合| 五月丁香婷婷啪啪网| 色99在线观看| 色婷婷综合影院| 婷婷五月天丁香花| 欧美日比视频| 五月天婷婷亚洲| 99性爱| 免费视频舔| 曰本久久女| 丁香五月婷婷亚洲综合精品| 这里只有精品在线视频在线观看| 开心五月婷婷激情网| caop在线| 久久人妻人人| 五月婷婷就去色| 丁香婷婷综合激情五月色| www五月| 激情五月色婷婷| 五月婷婷六月爱| 偷偷操99| 色噜噜五月天| 2021日韩无码| 婷婷丁香综合在线| 99艹精品在线观看| 久久精品熟女亚洲AV麻豆| 99久视频| 久色激情| 狠狠狠狠狠| 亚洲成人在线免费| 性欧美日本| 激情五月天www| 99视频地址| 久久9热| 黄色AAAA韩国guochansanji| 97人碰人操| 丁香五月激情婷婷| 欧洲第一久色| 99热这里只有精品最新地址获取| 狠狠操在线视频| 99er免费在线观看| 678五月丁香亚洲综合| 国产韩日亚洲美州欧亚综合在线| 久久久WWW| 无码色综合| 第四色色六月色综合| 疯狂做受XXXX高潮A片动画| 99人妻碰碰碰久久久久禁片| 婷婷久久综合| 欧美成人精品A片免费一区99| 午夜爱爱网站| 色色色免费视频| 日韩在线观看亚洲| 超碰成人免费| 日日噜噜夜夜狠狠久久丁香五月| 婷婷久久久| 婷婷五月天影院| 日韩成人AV在线| xxxx久| 成人AV在线电影| 久久一级片| 婷婷五月天国产性感美女演员久久久久| 久久久网站| 五月丁香五月综合欧美| av在线播放网站| 变态 另类 在线| 天天日中文| 8050一级网| 九九热视频精品999| 色欧美色色色| 五月天AV大香蕉| 亚洲色图在线视频| 久久久激情| 久er免费视频| 另类小说婷婷色| 中文字幕久久一区二区三区| 99精品在线| 播播网色播播| 亚洲成人综合在线| 六月丁香AV| 色欲色香,www,com| 五月天无码| 婷婷综合中文字幕| 99热网址| 亚洲综合色丁香婷婷六月| 丁香五月大片| 亚洲精品色| 成人五月天丁香婷| 夜夜嗨一区二区三区直播内容 | 視频福利乱色| 久思思热视频在线观看| 精品少妇蜜臀91| 婷婷五月天黄色小说| 狠狠色综合精品视频在线| 99视频精品全部观看10| 大香蕉综合| 久久五月婷6 9| 秋霞九九无码| 華人性愛AV在線| 婷婷五月天激情亚洲小说| 丁香六月色婷婷欧美| www.热99热| 四色五月婷婷在线观看| 狠狠穞A片一區二區三區| 五月婷婷亚洲天堂97色婷婷| 99热亚洲| 狠狠99| 金桔一区二区ab地址| 五月婷婷丁香大陆免费| 日韩在线观看亚洲| 狠狠色噜噜狠| 99免费成人网| 五月丁香啪啪网| 婷婷五月色| 久久久久久久11111111111| 婷婷伊人五月丁香天堂网| 久久久www| 日日夜夜噜噜爽爽| 久久这里只有精品99| 婷婷色五月91啪啪| 99日精品视频| 色丁香五月天婷婷| 成人免费120分钟啪啪| 超碰国产在线观看| 亚洲综合在线丁香五月| 色色色99| 91婷婷色五月| 五月天婷婷乱论小说| 99久视频| 五月婷婷影院| 丁香五月影院| 操操自拍| 超碰网站在线观看| 天天色激情| 九月丁香婷婷综合| 狠狠爱婷婷色| 五月丁香婷婷激情在线视频| 激情五月婷婷| 狼友超碰| 久久99精品久久久久久三级| 中文字幕精品推荐免费在线观| 五月天丁香成人| 婷婷六月色情| 国产日产亚洲系列最新| www狠狠| 天天操夜夜橾| 久久无意婷婷| 这里只有精品免费视频| 婷婷丁香五月在线观看91| 五月天婷婷xxx| 色色 9| 俺去也五月天| 人妻性爱av网站| 久久九九国产精品怡红院| 国产亚洲精品久久久久久久久动漫| 欧美日本国产欧美日本韩国99| 五月天成人小说网| 琪琪色五月婷婷老师| 色色热99| 狠狠爱综合网| 日韩激情婷婷五月天| 在线日韩视频| 丁香色五月婷婷17C| www.色五月| 五月婷婷久久网| 影音先锋按摩| 五月丁香综合激情| 婷婷基地成人五月天| 国产精品视频免费看| 久草 tingting| 甈吧vv| 操人91| 狠狠操狠狠爱| 一级黄色影片| 婷婷播播五月天| 狠狠色综合网站久久久久| 99视频91| 婷婷丁香97| 人人操女人| 99性色| 成人片在线免费看| 亚洲无线视频| 婷婷激情伍月网| 五月激情婷婷在线| 狠狠草天天草| 99精品综合| 毛片新网地| 五月天久久色| 五月天开心婷婷激情网站| 1024在线视频| 久久人人看| 九九碰九九爱97超碰| 九九99免费视频| 欧美久热| 97色 五月天丁香| 人妻射精AV| 91一起操| 夜夜爽天天干| 激情av| 天天综合网在线| 久久婷婷激情五月天一区二区| 欧美激情五月天| 婷婷五月天深爱| 99热在线观看成人| 色噜噜狠狠色综合网| 婷婷99中文字幕| 思思热精品在线| 狠狠久久婷五月综合色| 大香伊人婷婷影院| 激情五月丁香婷婷| 五月丁香激情婷婷| 欧美日朝成人| 91久女| 欧美va在线| 日本久久精品18| 思思re99视频在线观看| 99色热综合| 丁香五月婷婷婷桃花影院| 香蕉婷婷色五月| 99精品国产在热久久| 天天天天操| 婷婷十月丁香| 亚洲综人色综网| 97精品人人A片免费看| 思思w99| 久久aaaaa| 婷婷中文在线| 99er精品视频| 麻豆科斗777| 丁香五月停停av| 九九热中文| 深爱开心五月天| 婷婷色五月天色| 天天射影院| 色六月丁香婷婷啪啪啪| 影音先锋91视频| 五月婷婷六月丁香综合| 婷婷五月天激情综合深爱激情| www.婷婷.com| 亚洲综合色婷婷文学| 91超碰人人操| 亚洲成人五月天| 丁香五月综合高清在线| 免费人人操| 99热精品在线观看| 激情综合亚洲| 色色色热| 丁香五月在线看| 97福利视频| AV片在线观看| 五月天色色网站| 激情六月天婷婷| 美女婷婷六月色| 日韩欧美老妇性视频91久久久| 北京熟妇搡BBBB搡BBBB| 婷婷六月色| 五月情婷婷| 天天做天天要天天爽| 5五月综合网亚洲| 成人国产欧美大片一区| 九九这里都是精品| 欧美综合五月丁香六月婷| 就爱射中文字幕资源网| 国产精品噜噜在线视频| 成久综合视频| 东京热伊人| 99热亚洲综合| 日本性视频| 五月香婷婷| 九九无码| 天天操天爱综合| 九月丁香婷婷综合激情| 亚洲综合成人网| 午夜日日| 婷婷第一页| 97热91| 婷婷金品综合视频| 日日综合网| 色哟哟www| 五月婷婷啪啪啪啪| 五月丁香亚洲婷婷| 五月丁香六月激情综合欧美| 丁香六月婷婷综合麻豆| 丁香五月第九色| 99久热| 久久久久久婷| 婷婷丁香色女人| 国产成人精品亚洲线观看| 久久九九99| 99久热在线精品| 高清无码入口| 亚洲综合另类| 啪啪99| 亚洲成人中心| 丁香午夜天| 操操国产| site:pnnrt.com| 九九99在线免费在线观看视频| 激情综合国产| 天天射夜夜爽| 免费九九热| 4399在线日本A片| 色婷久九| 九九RE视频在线精品| 五月婷婷六月丁香综合| 99久久99久久综合| 琪琪秋霞| 伊人久久五月天| 精品人妻久久久久久久| www.丁香五月| 成人综合视频在线| 亚洲无码色| 人人摸人人澡人人| 国产免费一区二区在线A片视频| 欧美 日韩 成人在线| 精品人妻一区二区| 日韩AAAAA| 成人日韩欧美| 丁香婷婷老熟女综合网| 六月色激情| 九九热啪啪| 五月婷婷六月丁香首页| 97久久超碰| 日本老女人黄页在线播放| 99久久精彩视频。| 丁香五月网络网络| 五月婷婷综合精品| 婷婷91| 色色A| 风流少妇A片一区二区蜜桃| www.色色色com| 激情五月天.色网| 97香蕉人人在线观看| 五月丁香婷草| 激情网 五月天| 激情五月天色爱| 深爱五月天 开心网| 亚洲精品激情| 亚洲激情网| 婷婷影院A成人| 亚洲激情| 五月丁香激情综合啪| 狠狠狠激情网| 大香蕉中文| 色婷婷成人做爰A片免费看网站| 99精品丁香五月| 亚洲黄色av网站| 97啪啪| 天天日夜夜夜操操操操| 天天插天天插| 91色五月在线观看| 日日天天天| 丁香六月五月天| 丁香五月影院| 国产超碰人人| 五月天激情视频网站| av九九| 久久99大| 人妻性爱av网站| 九九热国产| 免费黄色片子| 婷婷六月久久| 婷婷五月丁香婷婷| 五月丁香色婷婷综合| 久久大香蕉同僚| 免费看欧美成人A片无码| 九九超日本| AAAA亚洲| 99亚洲视频| 人人爱操| 欧美啪啪五月天| www.粉嫩av.com| 五月天六月婷婷| 五月婷婷大香蕉| 变态另类色图| 亚洲激情色色| 国产精品18久久久| 婷婷五月天成人导航| 色五月五月丁香| 久久99久久久久久| 999精品乱码77777| 六月激情婷婷| 96自拍视频九色在线观看| 激情综合网五月丁香| 婷婷 月 丁香| 欧美精品XXXXBBBB| 丁香激惜男女| 精品色色| 香焦网五月天| 五月天婷婷综合免费| 99久久6| 99re青青草| 六月丁香五月亭亭| 婷婷五月成人| 九九热只有这里精品| 另类专区在线| 成人短视频在线| 激情 婷婷| av在线观看网址| 五月伊人婷婷| 热久69| 五月丁香偷拍| 影音先锋四区| 日本99久久| caop在线视频| 五月婷婷六月天| 狠狠做六月爱婷婷综合aⅴ| 色综合婷婷| 91在线日| 天天做天天爱天天爽| 亚洲另类在线观看| 久久五月综合| www.丁香黄色五月天人与| 精品成人无码A片观看香草视频| site:wpjngj.com| 久久婷婷亚洲| 色婷婷五月网| 成人丁香五月婷| 狠狠99| 一区二区免费看| 久久久久久9| 99操逼视频| 思思re99视频在线观看| 99区视频| 天堂网亚洲色图| www.99情趣网| 99日本精品视频热| 成人无码髙潮喷水A片| 99aese| 丁香五月天日韩无码| 色婷婷狠狠| 狠狠爱五月婷婷| 黄网免费观看| 综合色天天| 亚洲精品**不卡在线播he| 天天干天天日天天操| 97电影99热| 在线播放成人网站| 日日干夜夜撸夜夜骑| www日本熟妇99在线视频| 99精品热| 亚洲五月天第一综合干| 操97在线观看| 成人AV免费观看| 99人这里只有精品| 九月久久婷婷| 激情五月天综合网| 玖玖婷婷五月天| 91viP在线看| 国产AV一区二区三区最新精品 | 偷拍九九五月丁香婷婷| 中文av网| 99久久激情视频| 婷婷色在线| 青青草婷婷五月天| 97久久久| 99久久九九| 婷婷成人综合| 欧美A片在线视频免费观看| 成人免费高清在线播放| caopeng97日韩| AV在线收看| 久久久久婷婷| 丁香激情五月| av网站中文| 国产成人综合在线| 97婷婷五月丁香| 色色婷婷五月| 26uuu| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 操逼视频网址| 这里只有精品视频| 日本操碰碰| 国产精品蜜臀99| 成人一级片| 99久久97| 少妇性按摩无码中文A片| 99热| 婷婷十月激情综合网| 欧美va精品va老师va| 欧美碰碰碰| 五月丁香六月| 五月婷婷色色| 婷婷五月天AV在线| 婷婷五亚洲| bbwcuckold精品熟妇| av第一二区| 久草婷婷网| 婷婷天天日婷婷| 激情六月天婷婷| 婷婷激情蜜桃玖玖丁香| 天天操夜夜爽天天操| 丁香五月婷婷亚洲另类| 玖玖热99| 天天久久婷婷| 五月丁香婷婷钟和色图| site:publishdd.com| av在线观看免费| 九九综合图片网| 五月丁香婷婷钟和色图| 极品少妇高潮啪啪AV无码| 99热在线精品观看| 五月丁香婷婷深深爱| 成人色色视频| 婷婷激情啪啪| 五月婷婷九| 99热网站| 99综合视频| 色日本五月天| 久久黄色片| 99视频精品全部免费观看| 成人婷婷桔色| 色色网站观看| 色五月开心五月激情五月| 久久免费精品小视频| 亚州操操| 欧美婷婷日本| 日本超碰在线| 亚洲激情av| 亚洲啪啪视频| 色色丁香| 激情五月天噢美| 噜噜噜噜噜在线| 99re免费精品视频| 色噜噜狠狠色综| 国产成人网| 日本久久99| 三级黄网站| 综合色色婷婷| 国产色色在线| 午夜丁香六月婷| 青青热久久综合| 婷婷激情五月天天天开心| 九九成人精品免费视频| 久一这里有精品国产| 五月婷婷激情四季| 婷婷丁香五月天色区| 激情婷婷丁香色情五月天| 久久狠狠色| 婷婷射图五月天| 婷婷丁香五月天中文字幕| 国产另类综合| 日本成人噜噜噜| 激情丁香五月婷婷| 东京热伊人| 色五月婷婷老师| 欧美人与性动交CCOO| 丰满人妻妇伦又伦精品国产| 天天草女人| 狠狠爱五月婷婷综合六月| 色婷婷第四色| 亚洲天99| 色婷婷4| 五月综合激情视频| 五月丁香婷婷AV| 黄色成人网站在线播放| 996er热| 日本操天堂| 婷婷综合伊人| 五月激情综合网| WWW五月婷婷| 性色99| 欧美影院| 色婷婷久久| WwW色婷婷| 欧美啪啪网| 色五月首页| 亚洲五月天天| 大婷婷色呦呦噜噜色呦呦噜噜| 91se在线视频| 9热网站| 久久九九一區| 色五月丁香六月资源站| www.色色色色| www,天天干| 操操操97| 97碰免费视频在线| 日日操,天天操| 9月色婷婷| 99操| 久久hd| 丁香开心深爱| 久久伦乱| www.com五月天| 玖玖热视频| 九久热| 丁香五月天在线观看视频| 亚洲色vA| 丁香五月社区| 婷婷激情五月天小说| 婷婷 久综合| 五月婷婷片| 色婷婷小说| 五月亭大香蕉| 99热这里只有精品2024| 久热9| BlACKEDRAW视频一区二区| 色区久久| 狠狠色五月天| 99天堂在线观看免费视频| 久久色天堂| 开心五月深爱婷婷| 嫩草AV久久伊人妇女超级A| av激情在线| 六月婷婷影院| 色色无码| 欧美va视频| 色播五月丁香| 亚洲亚洲人成综合网络| 91精品久久久久| 久久精品视频在这里有| 黑人巨粗进入警花疼哭A片| 婷婷97碰碰| 久久成人人妻| 色哟呦av| 桔色成人官方网站| 99爱精品| 色婷网| 九九无码| 日韩精品无码AV| 伊人日日干| 九九这里只有精品| 99久久婷婷国产综合| 九九热在线精品视频| 一级AV片| 五月天色综合服务平台| 久久激情五月| 九九热色视频| 久久五月丁香| 黄桃AV无码免费一区二区三区| 色婷视频| 99热综合| 日本超碰在线| www色五月| 碰97久久| 大香蕉99| 五月婷婷99热| 97精品综合久久| 婷婷人人操| 操日视频| 综激情网| 成人丁香五月| 九九香蕉网| 色婷婷丁香| 99久久久免费| 五月丁香人妻| 六月丁香激情综合网| 老司机伊人| 丁香五月性| 激情综合婷婷| 思思久久99热| 成AV人片一区二区三区久久| 欧美婷婷五月无砖| 国产成人综合亚洲| 天天做天天爱天天玩夜夜爽| 丁香婷婷五月激情四射网| 久久 视频这里只有精总| 婷婷六久久| 色五月丁香五月天| 成人在线观看一区| 五月婷婷影院| 午夜色色色极品视频| 人妻AV在线| 六月丁香综合网| 久久一级AV| www.ppypp| 五月丁香婷婷激情四射迷人| 五月丁香啪啪啪| 久久网日本| 99热这里只有精品5| 狠狠夜夜五月丁香| 婷婷大香焦| 丁香五月六月综合欧美| 成人五月天丁香| 五月丁香六月婷婷啪啪| 日 日干 日日做| 337久久| 六月婷婷中文字幕| 无码人妻电影| 99re热视频这里只精品| 丁香五月综合在线观看| 六月丁香停| 涩五月婷婷| 久久人妻系列| 亚洲婷婷五月| AV九九| 思思热国产| 婷婷内射视频在线| 亚洲国产精品SUV| 丁香五月亚洲| 亚洲激情AV| 欧美综合五月天婷婷tin| 精品人妻一区| 丁香婷婷五月天色综合| 激情五月狠狠喔| 亚洲综合九九| 婷婷丁香五月噜噜噜| 激情综合网色播五月| 婷婷五月婷婷五月天| 综合五月丁香97| www.婷婷五月天| 99热这里只有精品最新网址| 国产91视频| 91久久精品国产91性色TV| 色五月婷婷九月| 色频玖玖五月天| 久久久九九视频精品18| 五月婷婷六月天| 五月婷婷色激情| 天天爱天天做天天日| 97操碰98| 亚洲精品色| 日本成人噜噜噜| 99re思思精品视频在线观看| 日韩黄色电影| 婷婷在线五月综合| 99热这里只有精品2| 99热在线观看精品免费| 亚洲综合视频天天精品| a在线免费v| 天天色综网| 九九碰九九爱97超碰| 久久性爱视频这里只有精品| 九九免费精品在线视频| 五月丁香久| 在线成人va| 激情综合网五月天| 亚洲婷婷激情综合激情999精品| 综合五月亭亭9| 久久六月天| 丁香五月婷婷激情中文| 成人片黄网站色大片免费毛片| 亚洲最大在线| 九九热在线视频观看| 婷婷五月丁香激情色情| 五月婷婷激情综合在线| 99操无码视频观看| 97ai婷婷| 玖玖99婷婷| 久久丁香五月天| 九九五月天| 噜噜在线| 久久婷婷激情视频| 国产一级婬片毛片| 五月丁香婷婷激情在线视频| 大香蕉伊人久久| 亚欧州精品视频| 涩 五月 婷婷 狠狠| 激情操逼婷婷| 爱久久小说下载网| 国产精品久久7777777精品无码| 狠狠色婷婷7| 久久婷婷影院| 九洲一级A片| 丁乡久久| 夜夜爱影院| 亚洲蜜乳AV| 五月婷婷之综合激情在线| 狠狠干.com| 日日操夜夜擼| 91男人操女人视频| 国产伦亲子伦亲子视频观看| 天天综合色| 激情五月综合| www.五月天| 色婷五月天| 能看的av| 99精品偷自拍| 亚洲愉拍99热成人精品| 最近免费中文字幕大全高清大全1| 五月色网| 亚洲无AV在线中文字幕| 久久人妻少妇嫩草AV| 国产欧美性成人精品午夜| 丁香六月综合激情| 农村熟妇高潮精品A片| 福利视频在线播放| 青柠影视免费高清电视剧 | 俺也去色| 欧美亚洲色色色色| 九色在线五月婷婷网址| 91呦呦呦| 东京热人妻一区二区三区在线| 男同色五月开心五月激情五月| 精品九九久久| 综合九九久久| 亚洲AV网址| 亚洲AV成人在线| 五月亭亭六月色| 亚州激情在线视频| 五月天婷婷成人资源站| 婷婷五月天激情综合深爱激情| 五月丁香操亭亭网| 五月激情婷婷播播开心| 五月丁香六月婷| 97色色色| 超碰只有精品在线| 亚洲婷婷丁香五月| 国产成人网站在线观看| 免费观看全黄做爰的视频| 婷婷丁香91综合| 久久免费试看120秒| 久久久久久9| 五月六月丁香激情视频| 五月婷婷影视| 六月激情综合| 99热这里只有精品3| 思思久久99热只有频精品66| 啪啪啪丁香五月| 日本97在线视频| 97操碰| 婷婷久久婷婷| 97碰久久| 天天爽成人综合网站| 综合婷婷| 色天天综合色| 五月开行婷婷色五月| 欧美精产国品一二三区| 99精品网址| 久久网日本| 99久久a线观| 天天操屄网| 九九99免费视频| 四川女人毛多水多A片| 五月天久草| 婷婷激情五月| 色99热| 香蕉婷婷| 色狠狠婷婷| 天天射美女| 欧美va亚洲va在线播放| AV在线免费播放| 夫妇交换刺激做爰| 99久久久久久www| 丁香婷婷五月天亚洲| 开心激情综合| 曰韩少妇内射免费播放| 婷婷伊人75| 99热综合在线观看| 色99日韩| 色综啪啪| 涩综合在线 | 久久小视频| 综合五月丁香97| 久久视频婷婷视频| 色九月婷婷综合| 五月桃花网综合| 久草五月| 色色色热| 五月丁香本色在线观看| 婷婷五月天成人导航| 综合五月婷婷| 97caop| 热99这里只是精品| 这里只有精品无码| 九色在线五月婷婷网址| 五月婷婷开心亚洲无| 色五月涩涩婷婷| 热久综合| 一本大道伊人AV久久综合| 国产成人高清| 成人五月天视频播放| 免费看欧美成人A片无码| 国产操B视频| 伊人AV五月婷| 黄色热99| 日韩砖区| 九九视频在线观看| 五月婷婷偷拍| 五月性色| 亚洲AV日韩AV永久无码网站| 亚洲XX日本| 婷婷五月色| 99日本精品视频热| 婷丁香五月天| 久久久精品99| 99热在线观看精品免费| 欧美日韩二区在线| 婷婷五月开心中文字幕色| 色五月天在线观看| 久热中文字幕| 丁香婷婷性久久| 91色欲综合| 精品无码99| 美女婷婷激情亚洲| 五月丁香在线国产 | 五月天久久小说| ss99热| 777精品久无码人妻蜜桃| 欧洲激情网站| 99综合视频一体| 久婷| 欧美婷婷丁香五月社区| 淫视馆AV在线| 91AV婷婷| 99精品自拍视频| 日本激情91| 热99精品视频五月| 超碰成人av| 成人视频在线免费播放| nvrentiantang av| 4399伦理午夜| 五月综合久久| 黄色片精品| 97精品欧美91久久久久久久| 色久女| 久久九九网| 久久大香蕉| 天天爽夜爽| 五月丁香五月丁香| 无码AV免费精品一区二区三区| 亚洲avjiujiur91| 熟女人妻一区二区三区免费看 | AA片在线观看视频在线播放| 啪啪干伊人婷婷| 超碰在线观看三级片| 婷婷激情五月综合丁香社| 五月天婷婷Av| 开心激情五月天网| 超碰在线综合| 久久婷五月婷| 激情网五夜婷婷| 亚洲国产精品VA在线看黑人| 色五月综合婷婷| 日韩精品一区二区刘| 九九性爱网| 久久婷婷热| 九九热免费视频| 婷婷激情五月综合丁香社| 久久久噜噜噜操操操| 天天干电影| 婷婷伊人中文字幕| 99热12| 久久久婷婷色五月资源网| 五月丁香色综合| 99热99色| 国产精品久久久爽爽爽麻豆色哟哟| 不卡影院午夜理论片| 婷婷丁香色性爱| 丁香六月久久| 狠狠干五月丁香| 亚洲成人精品三区| 婷婷五月综合久久中文字幕| 都市激情久久| 日韩野外 无套| 激情网五月天| 五月天开心激情网色欲无码| 超碰操日| 无码人妻电影| 六月婷婷狠狠色在线观看| 亚洲激情六月| 久久综合性| 天天色色婷婷| 日韩另类在线观看| 亚洲人妻av| 色婷婷激情五月天| 五月婷亚洲精品AV天堂| 97在线观看| 五月婷婷AV| 爱爱色五月天| 婷婷中文网站| 亚洲另类在线观看| 可以直接看的av| 99re熱| 日本97人人| 狠狠插狠狠插| 五月婷婷丁香在线| 亚洲婷婷在线播放十月| 亚洲美女裸体被操在线观看| 久月婷婷| 婷婷五月丁香六月天亚洲综合| 亚洲情色一区| 日本www免费九九| 亚洲1区| 五月天色婷婷网| 伊人春天av| 九九九九无码| 99操| 九月激情综合| 玖玖资源天天无码| 99久热在线精品| 激情丁香五月综合| 色婷婷丁香五月天| 97碰人人操| 婷婷五月综合在线视频| 中文字幕在线日亚州9| 免費观看aV在线网址| 这里只有精品视频免费在线观看| 九九精品在线观看视频6| 華人性愛AV在線| 91大屁股精品| 国产操B| 深爱五月天| 99精品一二三四视频| 99热777| 清纯唯美 激情四射| 色啪影院| 噜噜吧天天爱| 婷婷五月天成人综合网| 狠狠色丁香综合| 手机在线日韩视频中文字幕| 激情五月婷婷丁香综合网| 丁香五月色| 91久久久久久久久18| 九九精品网| 欧美另类五月激情| 狠狠色噜噜狠狠色噜噜噜999| 啪啪黄页网| 99久久五月婷婷| 日韩AV无码影片| 丁香成人五月天| 成人在线日韩| 在线观看免费狠狠色丁香香综合| 99re这里只有精品视频了| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 激情综合色婷婷啪啪六月天| 婷婷六月激情综合| 激情 婷婷 插| 婷婷五月丁香综合激情小说| 激情五月综合网| 五月久熟女| 密乳Va| 国产午夜精品一区二区| www.玖玖婷婷在线| httpwww色com日本| 香蕉久久国产AV一区二区| 99热婷婷| 亚洲色另类| 五月婷婷影| 中文激情网| 色五月丁香五月| 五月婷中文字幕| 色玖玖综合网| 久久婷婷五月丁香网| 色综合天堂| 欧美色色色色色色| 天天干天天干天天干| 亚洲无码99| 久9久成人精品视频| 久久九九国产精品怡红院| 狠狠摸狠狠摸| 丁香五月天亚洲视频| 天天爽夜夜爽夜夜爽精品视频 | 婷婷五月另类网站| 99热99日天天干| 日本玖玖在线| 丁香婷婷综合喷| 丁香五月久久社区| 日韩精品99久久| 七七色色综合| 一级二级色大片| 99a级片| 五月婷婷激情综合| 淫荡家庭AV| 99在线观看视频蜜臀| 情欲综合网| 2w在线视频| 久热A| 日韩色色视频| 97操碰视频| 丁香五月婷婷影院| 大香蕉手机视频| 五月天婷婷激情综合| 亚洲第一综合| 一区二区成人电影| 99热免费| 日韩成人不卡| 人妻中文av| 丁香五月区| 丁香五月天欧美成人| www.伊人天堂偷偷婷婷| 色六月视频| 国产美女视频久| 五月丁香激情四射| 99色在线| 日韩成人影片网站| 六月丁香婷婷大香蕉| 96精品久久久久久久久| 色热久资源| 色五月成人在线| www.婷婷五月| 久久久久er热| 午夜69成人做爰视频| 极品五月天| 第五婷婷伊人丁香色| 五月丁了香蕉综合| 丁香婷婷久久综合在线| 久久婷婷久久| 国产亚洲精品久久久久久豆腐| 婷婷色色色| 超碰97人人操| 色婷丨日丨天丨综合久久| 99热久| 五月婷婷深深爱| 婷婷五月精品| 色九月婷婷综合| 婷婷五月激情片| 五月丁香成人网| 五月丁香六月婷婷啪啪| 亚洲中文AV| 色婷婷综合久久久久| 久久五月丁香六月婷| 亚洲美女网Va| 人人爱操| www.刺激色网站www.| 欧美激情五月综合| 中文在线视频久1| 噜噜视频| 9 大屁股在线视频精品| 大香蕉久久伊人婷婷五月丁香| 国产熟女日日骚五月丁香爱| 4399亚洲视频| 狠狠婷婷色| 97香蕉碰碰人妻国产欧美| 午夜青草资源| 情色五月天网站| 婷婷六月激情综合| 色五月综合激情| 无月播播激情在线观看视频| 久热无码| 久久五月天激情婷婷| 久热这里这里有精品| 无码色| 97色干在线观看| 国产精品久久..4399| 一级操逼内射在线视频| 丁香五月欧美| 久久加勒比| 日本噜噜色网| 婷婷丁香五月亚洲| 久久艹网| 色婷五月丁香久亚洲| 亚洲激情视频在线观看| 五月天婷婷网站| 99色啊| 婷婷综合五月天| 国产中文字幕在线视频免费观看| 91操色| 激情综合婷婷| 色色色综合网| www:99热视频| 天天透天天摸天天舔| 五月天激情网图片| 日本婷婷在线| 26uuu欧美日本| 亚洲精品又粗又大又爽A片| 久久伊人婷婷| 99在线免费观看| 天天肏视奸| 色狠狠伊人久久五月丁香| 婷婷五月激情综合| 吊色AV男人的天堂| 久久这里有| 电影91久久久| 婷婷色色综合激情| 岛国AV网| 亚洲AV人人操| 激情五月天视频| 丁香五月婷婷总啪啪| 亚洲日韩26uuu| 婷婷五月天成人| 激情五月天色网站| 免费国产视频| 国产操逼网站| 天堂草在线观看| 丁香六月婷婷操逼网| 丁香婷婷六月天| www.夜夜| 丁香婷婷五月天校园春色| 欧美精品99久久久| 天天色天天射天天日| 超碰人人91| 丁香五月先锋| 天天综合色| 色综合色色色色| 免费观看的av| 91xxxx九色| 天天澡天天狠天天天做| 亚洲啪啪精品| Www.激情| 丁香久久激情俄| 2025色婷婷| 丁香社92视频| 久久这里都是精品| 五月婷婷之综合激情在线| 婷婷丁香人妻久久在线观看| 日产精品一线二线三线芒果| 26uuu激情五月天| 日本欧美成人片AAAA| 丁香五月大片| 成人亚洲精品久久久久| 在线综合婷婷| 国产一区二区av免费| 亚洲九九在线| 国内熟女黄色系列| 久久人妻视步| 亚洲无码激情| 91九色精品| 99re热在线视频| 亚洲九九视频| 五月婷婷六月丁香综合视频在线| 欧美韩国日本| 欧美va| 亚洲图色五月天| 六月婷婷五月丁香| 97超碰在线免费观看| 91九色精品女同系列| 色999亚洲人成色| 亚洲激情AV| 天天插天天射| 丁香五月婷婷啪| 99成人| 人妻系列久久久久久久久久久 | 色九九九九| 五月丁香六月成人| 婷婷精品视频| 九九热精品视频在线观看| 欧美97p| 91久草五月天婷婷| 九九精品综合| 99热最新精品| 亚洲三A| 五月丁香婷婷AV| 超碰成人电影| 婷婷五月天伊人| 久久在线人妻| 色色五月天com| 九热视频| 天天操天天谢| 正宗黄色毛片| 狠狠干在线| 日韩精品色| 97久久五月丁香婷婷| 色色色色网| 色 五月婷婷基地| 亚洲色色五月| 激情五月天婷婷丁香| 五月综合六月丁| 第四色网婷婷| 香蕉久久国产AV一区二区| 天天色天天舔天天爱天天爽| 无码动漫av| 91操碰| 五月婷在线播放| 亚洲区,视频区,视频区免费| 97人妻超级碰碰碰碰碰| 99色色网| 热久久成人| 久久天堂婷婷五月| 婷婷亚洲综合| 六月丁香五月天| 五月婷五月婷伊人伊人五月婷| 伊人婷婷福利网| 亚洲熟女色| 国产精品久久久60086| 99re久热只有精品6在线直播.com| 中文字幕在线观看视频www| 五月开心激情| 天堂爱爱| 国产免费一区二区三区三州老师F1F1.CC|