模擬-與-現實協同訓練:基于視覺機器人操控的簡單方法

25年3月來自 UT Austin、Nvidia、UC Berkeley 和紐約大學的論文“Sim-and-Real Co-Training: A Simple Recipe for Vision-Based Robotic Manipulation”。

大型現實世界機器人數據集在訓練通才機器人模型方面擁有巨大潛力,但擴展現實世界人類數據收集既耗時又耗資源。模擬在補充大規模數據方面潛力巨大,尤其是隨著生成式人工智能和自動化數據生成工具的最新進展,這些工具能夠實現機器人行為數據集的可擴展創建。然而,僅在模擬環境中訓練策略并將其遷移到現實世界通常需要大量的人力來彌合現實差距。一個引人注目的替代方案,是使用模擬和現實世界數據集的混合數據對策略進行協同訓練。最近的初步研究表明,與使用有限量現實世界數據訓練的策略相比,這種策略可以顯著提高策略的性能。然而,業界對模擬和現實世界協同訓練缺乏系統的理解,以及如何將模擬數據的優勢應用于真實機器人學習。本研究提出一種方法用于利用模擬數據解決基于視覺的機器人操作任務。通過全面的實驗,在各種模擬和現實世界數據集上驗證協同訓練策略,從而得出這一方法。

跨不同環境和任務進行泛化的能力,是實現通才機器人系統的關鍵一步。機器人基礎模型 [1]–[3] 的最新進展(在網絡規模的視覺語言數據集和機器人特定數據集的混合上訓練)已展示出跨域泛化的巨大潛力。大型現實世界機器人數據集 [4]、[5] 體現了這種多樣性,是重要的數據來源。盡管取得了這些進展,但在實現可靠的現實世界部署方面仍然存在挑戰。為了彌補這一差距,最近人們在收集更大規模的真實機器人數據集方面做出了多項努力 [1]、[6]。這些工作展示了數據驅動方法在獲得多功能機器人技能方面的潛力。然而,它們涉及相當大的成本、時間和可擴展性挑戰,而且僅擴展現實世界的數據收集是否足以訓練通用機器人模型仍不清楚。

行為克隆 [26] 是一種廣泛采用的方法,用于從演示數據 [27]–[37] 中學習機器人策略。在該框架下,策略經過訓練,能夠根據演示數據集中提供的真實狀態-動作對來預測動作。該方法已廣泛應用于機器人操控任務 [38]–[49]。然而,它在實際應用中的成功通常取決于能否獲得大量高質量的演示數據,而這些數據的收集成本可能高得令人望而卻步。

模擬是一種有前途的替代方法,可以緩解大型模型的數據匱乏。近年來,生成式人工智能工具的激增使得在模擬環境中自動生成資產、場景和任務成為可能,所有這些都可以通過高保真物理模擬器和逼真的渲染器 [7]、[8] 來實現。此外,自動化數據生成工具可以應用于這些模擬環境,以最少的人力投入合成大量多樣化、高質量的機器人軌跡 [9]–[12],從而為通用操作策略提供海量訓練數據。然而,使用模擬數據的方法必須處理現實差距,因為模擬中的視覺效果和物理效果與現實世界并不完全一致。先前的模擬-到-現實策略遷移方法,通常依賴于對模擬進行大量調整以匹配現實世界 [13]–[17],或精心隨機化一組特定的模擬參數 [18]–[22]。這些方法可能需要大量的人力投入。

模擬-到-現實遷移一個引人注目的替代方案,是直接在模擬和現實世界數據的混合上共同訓練策略。近期研究 [7]、[23]、[24] 中的初步結果表明,與單獨使用真實數據相比,以這種方式整合模擬數據可以顯著提升策略性能。此外,模擬-真實協同訓練可能不需要模擬與現實之間高度的一致性,而模擬-真實遷移通常需要這種一致性,這使得它成為一種以最少的人力投入挖掘大型合成數據集潛力的有前景策略。盡管前景光明,但業界對這一策略以及如何將模擬數據的優勢應用于真實機器人學習,缺乏系統的理解。目前尚不清楚模擬數據與真實數據究竟有多大差異,以及哪種類型的數據集混合和組合才是理想的。

模擬-到-現實的遷移,一種流行的方法是域隨機化 [18]–[22]、[50]、[51],它將可變性引入模擬環境,以訓練能夠應對模擬與現實差異的策略。然而,域隨機化方法可能需要仔細調整,并且需要大量的人力來確定適當的參數隨機化范圍,從而使策略能夠遷移到現實世界。另一種常見方法是通過提高模擬保真度以更緊密地匹配現實世界,從而最大限度地縮小模擬到現實的差距。系統識別 [13]–[17]、[52]–[54] 和數字孿生創建 [55]、[56] 等技術旨在使模擬動態與現實世界條件更緊密地契合。這些方法通常需要大量的人力投入,因此不適用于各種任務和環境。相反,最近的研究使用模擬和現實世界數據的混合來訓練現實世界的操作策略 [3],[7],[23],[24],[57],并且表現出比單獨使用相同數量的真實數據更好的性能。此外,這些方法中的模擬數據不一定需要與現實世界完全一致,這使得它成為其他方法的一個引人注目的替代方案。

最近的研究 [58]、[59] 強調了數據集組合在機器人學習中的重要性,特別是在理解數據質量和多樣性的變化如何影響策略泛化方面 [60]、[61]。Mimi-cLabs [62] 等研究進行了大規模分析,以確定哪些類型的數據可以最大限度地提高機器人數據集的效用并改善下游策略性能。
本研究提出一種簡單的方法,用合成模擬數據集補充真實機器人數據集,以促進真實機器人基于視覺的操控策略學習。該工作系統地研究模擬-和-現實的協同訓練。用兩種具有不同對齊程度的模擬數據源來檢驗共同訓練現實世界策略的有效性:任務-覺察的數字表親 [25] 和任務不可知的先驗模擬,如圖所示。

請添加圖片描述

假設可以訪問在真實環境中收集的機器人軌跡演示,D_real = {ξ_i },N 是其大小。不再僅基于現實世界中的演示來訓練策略,而是從模擬環境中獲取額外的演示,D_sim = {ξ_i },M 是其大小,通常 M ? N。在這兩個數據源上訓練視覺運動策略 π_θ。

采用先前研究 [7] 中的協同訓練公式,其中最小化行為克隆動作損失,α ∈[0,1] 是平衡模擬數據和真實數據相對權重的協同訓練比率。在實踐中,使用 α 的等效公式,即在每個訓練批次中從模擬數據中采樣的概率。具體來說,重新加權每個樣本 (o_i, a_i),使得在訓練批次采樣期間,從模擬數據集中提取該樣本的概率為 P[(o_i, a_i) ∈ D_sim] = α,而從真實數據集中提取該樣本的概率為 P[(o_i, a_i) ∈ D_real] = 1 ? α。正如在實驗中看到的那樣,α 的選擇對策略性能至關重要。最終目標是制定基于視覺的操作策略,最大化現實環境中一個或多個下游任務的性能。

D_real 和 D_sim 可以包含來自單個任務或多種任務、具體實施方式和環境的演示軌跡。為了理解構建這些數據集的特定選擇如何影響協同訓練的成功,有必要將這些數據集分解為一組數據構成因子。假設每個數據集都遵循因子 {Z(1), Z(2), · · · , Z(K)} 的分布,借用近期研究 [62] 中的符號。不假設模擬數據集與真實世界數據集完全一致,即對于某些因子 Z_sim^ (i) 不等同 Z_real^ (i)。盡管存在這些一致性差距,仍希望將模擬領域的知識遷移到現實世界任務中,以學習更有效的策略 π。

模擬的一個關鍵優勢是易于數據收集——利用自動合成數據生成工具來生成大型、高質量的模擬數據集,并將它們與較小的真實世界數據集一起用于聯合訓練。對于模擬中的每個任務,首先收集數十個源人類演示。然后,使用 MimicGen [9] 來大規模生成大型合成軌跡數據集。對于雙手機器人和人形機器人,使用 DexMimicGen [10],一種建立在 MimicGen 之上的方法。該過程如下。首先,將這些源演示分割成一系列以物體為中心的片段。然后,(Dex)MimicGen 通過對選定的源演示段應用線性變換并連接這些變換后的段,以形成新的軌跡來生成新的演示。通過利用這些方法,可以使用物理模擬將軌跡的數量增加幾個數量級。

目標是開發一種簡單的方法,用于在真實機器人和模擬數據上進行協同訓練,從而顯著提升真實世界的策略性能,相比單純使用真實數據進行訓練。主要關注以下兩種場景:
(1) 使用先驗的大規模模擬數據進行協同訓練。能否將現有的大型先驗模擬數據集用作協同訓練數據?需要注意的是,這些數據集在視覺特征、任務語義和行為方面通常與現實世界存在顯著差異。這里感興趣的是了解這些數據集在多大程度上能夠幫助在學習下游真實世界任務時,即使存在這些域差異。
(2) 使用任務-覺察模擬數據進行協同訓練。基于對真實世界任務的了解,可以創建與真實世界任務更加匹配的定制模擬數據集。然而,調整模擬環境以使其與真實世界環境精確匹配是不切實際的。哪些數據構成因素對于模擬環境和真實世界設置之間的協調最為重要?能否放棄完美的協調,從而減少人力投入?

如圖所示其工作流程概述,包括真實世界設置、模擬流水線和聯合訓練程序。

請添加圖片描述

真實世界領域

尋求一種能夠廣泛適用于各種具身、任務和環境的協同訓練方案。為此,對兩個不同的領域進行全面的研究,每個領域都包含一個獨特的機器人具身和不同的任務(如圖所示):

請添加圖片描述

Panda 廚房。一個真實的廚房環境,由Franka Emika Panda機器人構建。采用DROID桌面硬件配置[6],并進行一些細微的修改。實驗三個真實世界任務,并為每個任務收集50個真人演示:
CounterToSinkPnP:將一個物體從柜臺移到水槽。此任務包含九個形狀各異的物體類別:罐頭、杯子、咖啡杯、水瓶、檸檬、大蒜、碗、燕麥棒和梨。
CounterToCabPnP:將一個物體從柜臺移到櫥柜。此任務包含八個物體類別。
CloseDoor:關閉高架櫥柜的門。

人形機器人桌面。一個包含 Fourier GR-1 人形機器人的真實桌面環境。使用一個基于 Mink 的 [63] IK 控制器控制機器人。使用安裝在人形機器人頭部的第一人稱視角 RGB 攝像頭。選擇三個任務,并為每個任務收集 20 個人類演示。
CupPnP:將杯子從盤子移到桌子上。
MilkPnP:將一盒牛奶從桌子上移到架子的第二層。
Pouring:拿起一個裝有乒乓球的杯子,將球倒入桌上的碗中。

該研究立足于現實世界——通過直接評估這些真實任務的策略來比較不同協同訓練方法的有效性。

先驗與任務無關的模擬數據

利用合成生成的數據來補充真實機器人數據集,以進行策略訓練。一種方法是直接與現有的大規模模擬數據集或先驗與任務無關的模擬數據集進行聯合訓練。將先驗與任務無關的模擬數據集定義為在創建下游真實世界任務之前存在的任何模擬數據集。為了直接聯合訓練,使用包含相同機器人實施和動作空間的先驗與任務無關的數據集,但這不是嚴格要求。否則,假設這些數據集涵蓋廣泛的任務和環境。有興趣使用這些開箱即用的數據集進行聯合訓練,而無需花費額外的精力在模擬中設計新任務和收集新數據。這些數據集可能與現實世界的數據存在許多差異,但它們提供一種簡單方便的利用模擬數據方法。本文使用以下先驗模擬數據集:

Panda 廚房。使用多任務 RoboCasa 數據集 [7]。選擇 RoboCasa 是因為它專注于廚房環境、場景和任務種類繁多,并且擁有大量機器人數據。此外,Nasiriany [7] 的初步發現表明,與模擬數據共同訓練有助于在現實世界的廚房環境中進行遷移。該數據集包括 24 個任務和 100 個場景中的 72k 個演示;對于每個任務,使用 MimicGen 數據生成系統 [9] 從 50 個源人類演示中生成 3,000 個演示。注:其中三個任務在語義上對應于現實世界任務,但與現實世界設置存在顯著差異,包括初始機器人關節位置、控制器參數、物理參數、目標類別和機器人基準位置。

模擬數據和現實世界數據之間的相機對齊差異可能是一個重大差異。通過重渲染模擬演示來解決這一差異,使其與真實世界設置的相機姿態大致匹配。注:這并不代表完美對齊,但正如實驗中所證明的那樣,它仍然有很大幫助。除了這個簡單的后處理操作之外,不會對先驗數據做任何其他更改。

人形機器人桌面。為了鏡像廚房領域的設置,在 RoboCasa 中創建一個與任務無關的先驗數據集,其中包含 10 個任務,涉及一個廚房臺面和一個 GR-1 機器人。每個任務都涉及從源容器抓取指定物體并將其放入目標容器(例如,從碗到籃子)。雖然先驗的任務和數據集在語義上與真實世界設置相似,但它們是獨立開發的,并且涉及許多差異,例如目標類別、視覺紋理、干擾物體和物理參數。這 10 個任務在語義上與現實世界中的任務并不等同——它們涉及不同的源和/或目標容器。使用 DexMimicGen [10](一個基于 MimicGen 構建的、適用于人形機器人和其他雙手機器人的數據生成框架)從數十個人類演示中合成機器人軌跡。為每個任務生成 1,000 個演示,總共 10,000 個演示。

構建任務-覺察模擬數據集

前面介紹的任務和數據集可能與現實世界任務存在諸多差異,這可能會限制它們的實用性。或者,可以投入更多精力,在模擬環境中創建與現實世界任務更加契合的自定義任務。創建現實世界任務的完美數字孿生[55]、[56]、[64]副本極具挑戰性,需要大量的手動調整、系統識別以及獲取相同的3D資產。因此,選擇在模擬環境中創建具有相同任務語義(即環境中的目標類別和相同行為)的任務。將這些任務稱為任務-覺察的數字表親。“數字表親”一詞最近由 Dai [25]提出,用來描述與現實世界對應物接近但并非完全一致的模擬環境。對此概念進行更精確的定義擴展:任務-覺察的數字表親,是一個保留了現實世界任務四個關鍵要素的模擬數據集:

  1. 相同的機器人和動作空間;
  2. 相同的任務目標——具體來說,相同的成功率檢驗,以及(如果適用)相同的語言指令;
  3. 相同的物體類別,盡管單個實例的幾何形狀或紋理可能有所不同;
  4. 相同的環境固定裝置類別(例如,廚房臺面、桌面、櫥柜門)。

如下概述創建這些任務的努力:

Panda 廚房。現實世界中的 Panda 廚房任務已在 RoboCasa 先驗數據集中有所體現,但如前面所述,存在一些差異。概述對任務和數據集所做的更改:首先,調整機器人關節的初始狀態分布和模擬中的機器人基座位置,以匹配真實環境。此外,將任務中的目標限制為 10 個目標類別的精選列表,其中包含現實世界 CounterToSinkPnP 任務中使用的所有 9 個目標類別。這與先驗數據集形成對比,在先驗數據集中,提供 66 個可能的目標類別,范圍更廣。對于每項任務,隨后收集 100 個源人類演示。最后,使用 MimicGen 為每個任務生成 10,000 個演示。這與先驗數據集形成對比:在每個任務中收集 50 個源人類演示,并使用 MimicGen 為每個任務生成 3,000 個演示。

人形機器人桌面。對于該領域的三個任務,在 RoboCasa 中構建真實世界環境的數字表親。在每個真實世界任務中,都使用一組固定的目標進行數據收集和評估。然而,在數字表親中,會從與真實世界任務相同的類別中隨機選擇目標,以增加模擬演示的多樣性。此外,調整機器人的初始姿態和攝像機位置,以緊密復制真實世界的設置。然后,收集 10 個源演示,并使用 DexMimicGen [10] 為每個任務生成 1,000 條軌跡。

訓練和評估方案

在研究中,比較使用不同形式的現實世界和模擬數據進行協同訓練的效果。對于每個任務,可以訪問以下形式的數據:
現實世界數據 (Real):在現實世界中為目標任務收集的演示。
先驗模擬數據 (Prior):任務無關模擬數據。
任務-覺察數字表親數據 (DC):合成模擬數據。

通過在數據上聯合訓練策略,并在實際任務上評估生成的策略,來比較這些數據集的各種組合。使用 Chi [37] 的擴散策略實現來訓練視覺運動策略。該策略以 RGB 圖像和機器人本體感受信息作為輸入,并生成一系列要執行的動作。訓練結束后,會通過多次試驗評估該策略,并記錄成功率。

訓練細節如下。

Panda 廚房。采用 Chi [37] 提出的開源擴散策略實現。使用基于 Transformer 的變型,并結合 ResNet 視覺編碼器。該策略采用三個 128 × 170 的圖像視圖和機器人本體感受信息(末端執行器位置和旋轉、夾持器關節值),并輸出一個 7 自由度動作,用于增量末端執行器控制和夾持器動作。修改超參,使用更大的 Transformer 網絡和更大的 256 批次大小。還添加語言條件,以便于在多樣化的多任務數據上進行訓練;使用 CLIP 句子編碼器對語言進行編碼,并在視覺編碼器中添加 FiLM 條件層 [71]。將真實數據和模擬數據的默認協同訓練比例分別設置為 0.10 和 0.90。這樣做是因為擁有的模擬演示數量明顯高于真實演示。

對于大小為 B 的訓練批次,平均從模擬數據集 D_sim 中提取 α · B 個樣本,從真實世界數據集 D_real 中提取 (1?α)·B 個樣本。為了實現這一點,重新加權每個數據樣本,使得 P[(o_i,a_i) ∈ D_sim] = α 和 P[(o_i,a_i) ∈ D_real] = 1 ? α,其中 (o_i, a_i) 表示批次內的觀察-動作對。通過首先根據數據集的大小對每個樣本的權重進行歸一化來實現這一點,然后如果樣本屬于 D_sim,則將歸一化的權重乘以 α,如果屬于 D_real,則乘以 1 ? α。

人形機器人桌面。由于在要操作的目標方面沒有歧義,使用沒有語言條件的擴散策略 (DP),并為每個任務訓練一個策略。使用 UMI [72] 的 DP 實現,以 Vision Transformers [73] 作為視覺編碼器,UNet [74] 作為擴散主干。輸入觀測包含來自第一人稱視角相機的 RGB 圖像和關節位置觀測。輸出動作是手臂和靈巧手的目標關節位置。協同訓練比率 α 為 0.9 和 0.99 時效果最佳,其余實驗均采用 0.99。

根據實證研究結果,本文提供一系列建議,以幫助從業者從與合成模擬數據共同訓練中獲益。

任務和場景構成。當與來自任務-覺察數字表親的模擬數據共同訓練時,可以觀察到最大的性能提升,其中任務和場景構成與現實世界的設置非常相似。盡管如此,與大量多任務先驗模擬數據共同訓練 - 盡管任務和場景構成存在差異 - 仍然提供有意義的好處。

目標構成和初始化分布。在模擬數據中合并不同的目標并改變它們的位置有助于將現實世界的策略泛化到未見過的場景。

任務-覺察數字表親與現實世界之間的對齊。模擬任務必須與現實世界的任務具有相同的定義和成功標準。此外,在模擬和現實世界設置之間保持相似的攝像機視點可以提高性能,盡管不需要完全對齊。

共同訓練超參。使用足夠大量的模擬數據(理想情況下,比真實世界數據多幾個數量級)并仔細調整共同訓練比率以優化性能。

雖然對桌面操縱器和人形機器人的多項任務進行了系統研究,但大多數任務都圍繞著拾取和放置。將該方法泛化到更廣泛的操縱任務,如高精度插入和更長遠的任務,還有待未來的研究。

雖然與單純基于真實機器人數據收集的訓練相比,協同訓練方法不斷提高成功率,但該策略的性能仍然不完美。未來的努力可以在此基礎上進一步提高真實世界的性能。

最后,某些真實世界的任務——特別是涉及可變形體和液體的任務——仍然難以準確模擬,這本身就限制了模擬數據的適用性。將這種協同訓練策略應用于此類任務是一個挑戰。

未來的工作可以探索使用視頻生成模型和世界模型 [66]–[68] 生成的協同訓練數據來彌補這一差距。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/900870.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900870.shtml
英文地址,請注明出處:http://en.pswp.cn/news/900870.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電子電氣架構 --- 為配備區域計算的下一代電子/電氣(E/E)架構

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 周末洗了一個澡,換了一身衣服,出了門卻不知道去哪兒,不知道去找誰,漫無目的走著,大概這就是成年人最深的孤獨吧! 舊人不知我近況,新人不知我過…

【UE】漸變框材質

效果 步驟 新建一個材質,這里命名為“M_GlowingBorder”,打開“M_GlowingBorder”后,設置材質域為“用戶界面”,混合模式為“半透明” 添加如下節點: 代碼: Begin Object Class/Script/UnrealEd.Materia…

CTF web入門之爆破

爆破 web21: 打開burp進行抓包 通過對密碼進行解析。得知密碼是由拼接而來 admin:1 選擇要攻擊的參數 攻擊方式。 選擇payload方式 。。添加參數 1,2,3。賬號 分隔符 密碼 選擇加密方式。添加buse64.去掉url字符。不然buse64后,會在url加密過一次,從而導致攻擊不成…

openstack搭建過程,腳本

虛擬機鏡像資源掛載鏡像資源百度網盤分享 通過網盤分享的文件:CentOS-7-x86_64-Minimal-2009.iso 鏈接: https://pan.baidu.com/s/1Lze6okcQQ3gHS95jChy_tg?pwdfghe 提取碼: fghe --來自百度網盤超級會員v3的分享 通過網盤分享的文件:openStack-train.…

python三大庫之---pandas(二)

python三大庫之—pandas(二) 文章目錄 python三大庫之---pandas(二)六,函數6.1、常用的統計學函數6.2重置索引6.3 遍歷6.3.1DataFrame 遍歷6.3.2 itertuples()6.3.3 使用屬性遍歷 6.4 排序6.4.1 sort_index6.4.2 sort_…

數據庫主從復制學習筆記

目錄 一、Binlog(Binary Log) 核心特性 核心用途 Binlog 格式(3種類型) 二、主從復制 核心原理 主庫(Master) 從庫(Slave) 配置步驟(以 MySQL 為例) …

寧德時代25年春招筆試演繹數字推理SHL測評題庫

寧德時代校招測評包含演繹推理數字推理兩部分,請單擊以下鏈接進行測評,詳細操作指引請參見如下指引,請在測試前了解,大約用時60分鐘。正式測評有兩個部分:數字推理18分鐘演繹推理18分鐘,數字推理共10題,演繹…

Ubuntu24.04 編譯 Qt 源碼

一:Ubuntu 把 Qt 拆成了多個源碼包: 1. 基礎包 2. 可選包 二:編譯 qtbase-opensource-src 1. 配置源(修改 /etc/apt/sources.list.d/ubuntu.sources) 2. 下載代碼 apt source qtbase-opensource-src3. 安裝依賴 sudo a…

4-10記錄(

就算有兩個49也要按照先后順序放,即把比下劃線的49大的數字往后移 temp是防止覆蓋 帶哨兵的作用,把0的位置空出來,49>38,就先把38放到哨兵位然后把49放進原先38的格子里,然后把哨兵位的38后移一位

電腦死機/鎖屏后死機無法喚醒

電腦死機/鎖屏后死機無法喚醒 導航 文章目錄 電腦死機/鎖屏后死機無法喚醒導航一、系統日志分析二、電源管理與睡眠模式問題1、禁用快速啟動2、調整電源計劃(開啟高性能模式&關閉硬盤休眠)若是沒有禁用睡眠和關閉顯示器方法一:方法二&am…

.htaccess文件的組成、用法及作用詳解

.htaccess(Hypertext Access)是 Apache 服務器的一個分布式配置文件,可以覆蓋主配置文件的設置,無需重啟服務器即可生效(需要管理員級別權限修改的httpd.conf文件修改后需要重啟Apach服務器)它主要用于目錄…

10A 大電流 DCDC 降流芯片 WD5030

10A 大電流 DCDC 降壓芯片 WD5030 在電子設備的電源管理領域,高效穩定的 DCDC 芯片至關重要。今天我們來深入探討一款性能卓越的 10A 大電流 DCDC 降流芯片 ——WD5030。它在眾多電子應用場景中展現出了強大的優勢,為各類設備的穩定供電提供了可靠保障。…

HCIP【路由過濾技術(詳解)】

目錄 1 簡介 2 路由過濾方法 3 路由過濾工具 3.1 靜默接口 3.2 ACL 3.3 地址前綴列表 3.4 filter-policy 3.4.1 filter-policy過濾接收路由(以RIP為例) 3.4.2 filter-policy過濾接收路由(以OSPF為例) 1 簡介 路由過濾技術…

Cursor Agent 模式實現復雜工作流的編排與執行

引言 在 Dify Workflows MCP Server (TypeScript)設計與實戰 文章中提到過通過 MCP 調用編排好的 Dify 工作流,那在 Cursor 中是否可以 自行實現 對應的工作流編排效果,這樣可以充分的利用 Cursor 中的代碼上下文,從而保證生成的代碼可以更符合項目的需求,進一步降低手工…

ShopXO v2.2.4開源商城手動部署(保姆級)+異常處理

ShopXO v2.2.4開源商城手動部署(保姆級) 1.項目了解 1.1項目簡潔 ShopXO國內領先企業級免費開源電商系統! 求實進取、創新專注、自主研發、國內領先企業級電商系統解決方案。遵循MIT開源協議發布,無需授權、可商用、可二次開發、滿足99%的電商運營需…

藍橋杯 分解質因數(唯一分解定理)

分解質因數 題目描述 給定一個區間 [a,b][a,b],請你求出區間 [a,b][a,b] 中所有整數的質因數分解。 輸入描述 輸入共一行,包含兩個整數 a,ba,b。 2≤a≤b≤1032≤a≤b≤103。 輸出描述 每行輸出一個數的分解,形如 ka1a2a3?(a1≤a2≤a…

【C++算法】53.鏈表_重排鏈表

文章目錄 題目鏈接:題目描述:解法C 算法代碼: 題目鏈接: 143. 重排鏈表 題目描述: 解法 模擬 找到鏈表的中間節點 快慢雙指針 把后面的部分逆序 雙指針,三指針,頭插法 合并兩個鏈表 合并兩個有…

【Java設計模式】第7章 建造者模式講解

7-1 建造者模式講解 1. 定義與類型 定義: 將復雜對象的構建與表示分離,使相同構建過程可創建不同表示。類型: 創建型模式。通俗解釋: 分步構建含多組件的對象,流程固定但順序靈活(如做菜時放鹽順序可變)。2. 適用場景 對象內部結構復雜(多屬性或多步驟)。需將對象創建與…

本地laravel項目【dcat-admin】部署到liunx服務器

文章目錄 前言一、部署流程1、數據庫搬遷2、寶塔創建網站,配置php3、修改nginx配置4、在public目錄設置軟連接5、修改env配置、刷新緩存 二、其他問題1.后臺登陸失敗問題2.完美解決接口跨域問題 總結 前言 laravel新手記錄 差不多一個月,總算用laravel…

醫院導航系統方案:多模態三維導航引擎賦能醫院智慧升級(二)

本文面向智慧醫院建設方與算法研發工程師,聚焦解決多樓層復雜場景下的精準導航難題,提供從數學建模到工程落地的技術實戰方案。 如需獲取智慧醫院導航導診系統解決方案請前往文章最下方獲取,如有項目合作及技術交流歡迎私信作者。 一、技術聚…