SON DAKİKA

Nvdia

“NVIDIA Isaac Lab ve Newton ile Dörtlü Yürüyüş Politikasını Eğitme ve Kumaş Manipülasyonunu Simüle Etme”

Fizik, robotik simülasyon alanında kritik bir rol oynamaktadır. Bu teknoloji, robot davranışlarının ve gerçekçi ortamlardaki etkileşimlerinin doğru sanal temsillerini oluşturmak için bir temel sağlar. Araştırmacılar ve mühendisler, bu simüle edilmiş ortamları kullanarak robot kontrol algoritmalarını eğitmek, geliştirmek, test etmek ve doğrulamak için güvenli, hızlı ve maliyet etkin bir şekilde prototip tasarımlar oluşturabilirler.

Ancak simülasyon, genellikle gerçeklikle tam olarak örtüşmez. Buna simülasyondan-gerçeğe geçiş (sim-to-real gap) problemi denir. Robotik geliştiricilere, çeşitli çözücüleri destekleyen, bütünleşik, ölçeklenebilir ve özelleştirilebilir bir çözüm gerekmektedir.

Bu yazı, bir dört ayaklı robotun bir noktadan diğerine hareket etmesini nasıl eğiteceğinizi ve bir sanayi manipülatörü ile kıyafet katlama işlemi için çoklu fizik simülasyonunu nasıl kuracağınızı adım adım gösterecektir. Bu kılavuz, Newton‘ı NVIDIA Isaac Lab içinde kullanır.

Newton Nedir?

Newton, NVIDIA, Google DeepMind ve Disney Research tarafından geliştirilen açık kaynaklı, genişletilebilir bir fizik motorudur. Linux Vakfı tarafından yönetilen bu proje, robot öğrenimi ve geliştirilmesine ivme kazandırmayı amaçlamaktadır.

NVIDIA Warp ve OpenUSD üzerine inşa edilen Newton, robotların karmaşık görevleri daha büyük bir hassasiyet, hız ve genişletilebilirlik ile öğrenmelerini sağlar. Newton, robot öğrenimi çerçeveleri olan MuJoCo Playground ve Isaac Lab ile uyumludur. Newton Solver API, farklı fizik motorları için bir arayüz sağlar; bu, Isaac Lab’deki eğitim ortamlarıyla kolay entegrasyon sağlar.

Architecture diagram including sections labeled Isaac Lab, Newton, MuJoCo, and Warp.
Şekil 1. Newton, robotik sistemlerin fiziksel modelini ve durumunu tanımlamak için GPU hızlandırmalı arayüzler sunan bağımsız bir Python paketidir.

Newton’un temelinde sayısal entegrasyon ve kısıtlama çözümü için çözücü modülleri bulunmaktadır. Çözücüler kısıtlama veya kuvvet tabanlı olabilir, doğrudan veya yinelemeli yöntemler kullanabilir ve maksimum ya da azaltılmış koordinat temsillerini içerebilir.

Ortak bir arayüz ve paylaşılan veri modeli sayesinde, MuJoCo Warp, Disney Research Kamino çözücüsü veya özel bir çözücü ile çalıştırdığınızda Newton ile tutarlı bir şekilde etkileşimde bulunabilirsiniz. Bu modüler yaklaşım, çarpışma yönetimi, ters kinematik, durum yönetimi ve zaman adımı mantığını yeniden yazmadan yeniden kullanmanıza da olanak tanır.

Eğitim için, Newton, fiziksel durumları PyTorch ve NumPy ile uyumlu diziler olarak sunan tenzor tabanlı bir API sağlar. Newton Seçim API’si, eğitim betikleri ile eklem durumlarını sorgulamak, eylemler uygulamak ve sonuçları öğrenme algoritmalarına geri beslemek için tek bir tutarlı arayüz aracılığıyla işlem yapmanıza olanak tanır.

MuJoCo Warp, Google DeepMind tarafından geliştirilen ve Newton çözücüsü olarak tamamen entegre olan bir üründür. Ayrıca, DeepMind teknolojisindeki MJX ve Playground’ı da destekler. Bu entegrasyon, modellerin ve ölçütlerin Newton, Isaac Lab ve MuJoCo ortamları arasında sorunsuz bir şekilde taşınmasını sağlar.

Son olarak, Newton ve ilişkili çözücüler Apache 2.0 lisansı altında yayınlanmıştır, bu da topluluğun bu motoru benimsemesi, genişletmesi ve katkıda bulunması için bir olanak tanır.

Newton Beta Sürümünün Özellikleri Neler?

Newton Beta sürümünün öne çıkan özellikleri şunlardır:

  • Newton’un ana çözücüsü MuJoCo Warp, GeForce RTX 4090 üzerinde lokomotifte 152 kat, manevra kabiliyetinde ise 313 kat daha hızlıdır. NVIDIA RTX PRO 6000 Blackwell Serisi, MuJoCo Warp için %44 ve MJX için %75 daha fazla hız kazandırır.
  • Newton Beta, Isaac Lab’ın sonraki nesil arka planı olarak düşünüldüğünde, MuJoCo Warp ile PhysX’e göre %65 daha hızlı in-el öğeleri manipülasyonu sağlar.
  • İnce deformables (örneğin, kıyafet) için Vortex Block Descent (VBD) çözücüsünün performansı ve stabilitesi artırıldı; ayrıca İvme Materyali Nokta Yöntemi (MPM) çözücüsü granüler malzemeler için geliştirildi.

Dört Ayaklı Robotu Eğitmek için Newton ile Eğitim Süreci

Newton fizik motoru entegrasyonu ile, Isaac Lab’da robotik araştırmalar için daha hızlı ve sağlam bir iş akışı açılıyor.

Bu bölüm, bir dört ayaklı robot lokomotifi politikası eğitmek, simülatörler arasında performansını doğrulamak ve gerçek dünya için hazır hale getirmek amacıyla her yönüyle bir örnek sunar. ANYmal robotu bu güçlü eğitim, doğrulama ve dağıtım sürecini demonstrate etmek için seçilmektedir.

Adım 1: Newton ile Lokomotiv Politikası Eğitimi

İlk adım, depo ayarlarını yapmak ve Isaac Lab’de verilen güçlendirilmiş öğrenme betiklerinden birini kullanarak sıfırdan bir politika eğitmekten geçmektedir. Bu örnekte, ANYmal-D robotunun düz sert yüzeyde yürümelerini sağlamak için rsl_rl çerçevesi kullanılır. GPU paralelleştirmesi, hızlı politika yakınsaması için binlerce eş zamanlı ortamda eğitim yapmayı sağlar.

En yüksek performans için, başsız modda eğitim başlatmak için şu komutu çalıştırın:

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py 
--task Isaac-Velocity-Flat-Anymal-D-v0 --num_envs 4096 --headless

Newton Beta sürümü ile, abartı olan Newton Görselleştirici de artık eğitiminiz sırasında sonuçları izlemek için kullanılabilmektedir. Tam Omniverse GUI’nin performans yükü olmadan ilerlemenizi izlemek için basitçe --newton_visualizer bayrağını ekleyin:

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py 
--task Isaac-Velocity-Flat-Anymal-D-v0 --num_envs 4096 --headless 
--newton_visualizer

Eğitimden sonra, bir sonraki aşama için hazır bir politika kontrol noktası (.pt dosyası) sahip olacaksınız.

Gif showing a time-lapse of RL training visualized using the Newton Visualizer, with quadrupeds on the right and code on the left.
Şekil 2. Newton Görselleştiricisinde zaman aşamalı olarak gösterilen RL eğitimi

Adım 2: Politikanın Sim2Sim Transferi ile Doğrulanması

Sim2Sim transfer, bir politikanın tek bir fizik motorunun özel karakteristiklerine aşırı uyum sağlamadığını garanti etmek için kritik bir kontrol aşamasıdır. Simülatörler arasında başarılı bir şekilde PhysX ve Newton arasında transfer yapabilen bir politika, fiziksel bir robotta çalışma olasılığı çok daha yüksektir.

Farklı fizik motorları, bir robotun USD’sini farklı bir şekilde okuyabilir ve eklemlerini farklı sıralarla sıralayabilir. Bu durumu çözmek için, politikanın gözlemlerini ve eylemlerini basit bir YAML haritalama dosyası kullanarak yeniden eşleştiriyoruz.

Newton’da eğitilmiş bir politikayı PhysX tabanlı Isaac Lab ile çalıştırmak için, sağlanan transfer betiğini kullanın:

./isaaclab.sh -p scripts/newton_sim2sim/rsl_rl_transfer.py 
    --task=Isaac-Velocity-Flat-Anymal-D-v0 
    --num_envs=32 
    --checkpoint  
    --policy_transfer_file
scripts/sim2sim_transfer/config/newton_to_physx_anymal_d.yaml

Bu transfer betiği, isaac-sim / IsaacLab GitHub reposunda mevcuttur.

Video 1. Newton arka planıyla eğitilmiş bir ANYmal-D politikasının PhysX tabanlı Isaac Lab’da başarıyla dağıtıldığını gösteren Sim2Sim transferi.

Adım 3: Sim2Real Dağıtımı İçin Hazırlık

Bu iş akışının son aşaması, simülasyonda eğitilen politikanın bir fiziksel robota transfer edilmesidir.

Bu örnekte, ANYmal-D robotu tamamen standart Isaac Lab ortamında Newton arka planda eğitildi. Eğitim süreci, fiziksel robotun sensörlerinde bulunan gözlemlerle (örneğin, IMU ve eklem kodlayıcıları) sınırlı tutuldu; yani eğitim sırasında herhangi bir ayrıcalıklı bilgi kullanılmadı.

NVIDIA’nın ETH Zurich Robotik Sistemler Laboratuvarı (RSL) ile iş birliği ile, bu politika doğrudan fiziksel ANYmal robotuna dağıtıldı. Sonuç olarak, robotun başarılı bir yürüyüş gait’ini yerine getirdiği gösterildi. Bu, Isaac Lab’da eğitimden gerçek dünya testine direkt bir yol sağlar (Video 2).

Video 2. Newton arka planında tamamen eğitim verilmiş bir politika ile fiziksel ANYmal robotunun yürüyüş gait’ini başarıyla gerçekleştirdiği gösterilmektedir.

Bu tam eğitim, doğrulama ve dağıtım süreci, Newton’un simülasyonun gerçek dünya robotikleri için başarıya ulaşma yolunu nasıl sağladığını göstermektedir.

Newton Standalone Motoru ile Çoklu Fizik

Çoklu fizik simülasyonu, katı cisimler (robot kolları gibi) ve deformasyonlu nesneler (örneğin, kumaş gibi) arasındaki etkileşimleri tek bir şemada yakalar. Bu durum, robot tasarımlarının, kontrol sistemlerinin ve görev performanslarının daha gerçekçi bir şekilde değerlendirilmesi ve veri odaklı optimizasyonunu sağlar.

Newton, Isaac Lab ile birlikte kullanılmasının yanı sıra, doğrudan Python’dan bağımsız modda karmaşık fiziksel sistemleri deneyimlemek için de kullanılabilir.

Bu yürüyüş, Newton’un önemli bir özelliğini sergiliyor: Farklı fiziksel özelliklere sahip sistemleri bir arada simüle etmek. Bir katı robot kolunun deformasyonlu bir kumaşı manipüle etme örneği üzerinde duracağız; bu, Newton API’sinin birden fazla fizik çözücüsünü gerçek zamanlı bir simülasyonda nasıl kolayca birleştirdiğini vurgular.

Adım 1: Interaktif Demoyu Başlatın

Newton, çalıştırması kolay bir dizi örnek ile birlikte gelir. Franka robot kolu ve kumaş demosu, Newton deposunun kökünden tek bir komutla başlatılabilir.

Önce ortamınızı hazırlayın:

# Newton örneklerini çalıştırmak için uv ortamını ayarlayın
uv sync --extra examples

Şimdi kumaş manipülasyon örneğini çalıştırın:

# Franka kolunu ve kumaş demo'yu başlat
uv run -m newton.examples cloth_franka

Bu, gerçek zamanlı GPU hızlandırmalı simülasyonu izleyebileceğiniz interaktif bir görüntüleyici açar. Franka-kumaş demoları, GPU tabanlı VBD Kumaş çözücüsünü içerir. RTX 4090 üzerinde yaklaşık 30 FPS’de çalışır ve simülasyon boyunca çarpışma olmaksızın temizlik sağlar.

Diğer GPU tabanlı simülatörlerle karşılaştırıldığında, bu örnek, dinamikleri tam anlamıyla yerine getiren bir kumaş manipülasyonu demosu olarak mevcut olanların %300’den fazla hızlıdır.

Video 3. Newton standalone motoru, katı cisim ve deformasyonlu fiziği birleştirerek kumaş manipülasyon demosunu çalıştırıyor. Bu görselleştirme NVIDIA Omniverse Kit içinde renderlanmıştır.

Adım 2: Çoklu Fizik Bağlantısını Anlamak

Bu demo, farklı dinamik davranışlara sahip sistemlerin etkileşimini gösteren güzel bir çoklu fizik örneğidir. Her bileşene özel bir çözücü atayarak bu durum sağlanmaktadır. example_cloth_franka.py dosyasına baktığınızda çözücülerin nasıl başlatıldığını görebilirsiniz:

# Robot için bir Featherstone çözücüsü başlatma
self.robot_solver = SolverFeatherstone(self.model, ...)

# Kumaş için bir Vertex-Block Descent (VBD) çözücüsü başlatma
self.cloth_solver = SolverVBD(self.model, ...)

Robot çözücüsünü değiştirmek oldukça kolaydır; sadece SolverFeatherstone yerine katı cisim simülasyonunu destekleyen başka bir çözücüyü değiştirmeniz yeterlidir, örneğin SolverMuJoCo.

Bu simülasyon döngüsü sırasında büyüleyici bir şey gerçekleşir; çözücüler koordine edilir. Bu örnek, katı cismin deformasyonu etkilemediği bir yönlü güncellemeyi kullanır ki bu örnek, kumaş üzerinden robotun dinamiklerine yansıtılacak etkilerin göz ardı edilebileceği bir durumdur. Simülasyon döngüsü mantığı şu şekildedir:

  • Kumaşı güncelleyin:cloth_solver kumaşın hareketini simüle eder ve robot tarafından çarpışmalara tepki verir.
  • Robotu güncelleyin:robot_solver Franka kolunun durumunu ilerletir. Kol, kinematik bir nesne olarak hareket eder.
  • Çarpışmaları tespit edin: Motor, robot ile kumaş parçacıkları arasındaki çarpışmaları kontrol eder.
# example_cloth_franka.py'deki simülasyon döngüsüne basit bir bakış
def simulate(self):
    for _step in range(self.sim_substeps):
        
        # 1. Robot çözücüsünü ileri aşamaya taşıyın
        self.robot_solver.step(self.state_0, self.state_1, ...)

        # 2. Robot ile kumaş arasındaki teması kontrol edin
        self.contacts = self.model.collide(self.state_0, ...)

        # 3. Kumaş çözücüsünü güncelleyin, robot iletişim bilgilerini geçirin
        self.cloth_solver.step(self.state_0, self.state_1, ..., self.contacts, ...)

Bu açık, kullanıcı kontrolü altında olan döngü, Newton API’sinin gücünü gösterir ve araştırmacılara farklı fiziksel sistemlerin nasıl birleştirileceği konusunda ince ayar yapma imkanı verir.

Takım, Newton’u daha derin ve daha entegre bağlantılarla genişletmeyi planlıyor. Bu, robot hareketlerinin deformasyonlu malzemelere (örneğin, toprak veya çamur) uygulanması gibi durumlardaki dinamik etkilerini de içerecek şekilde iki yönlü bağlılık üzerine çalışmaları içerir.

Newton Ekosistemini Nasıl Benimser?

Newton’un açık ekosistemi hızla genişliyor; önde gelen üniversiteler ve şirketler, özel çözücüler ve iş akışlarını entegre ediyorlar. Dokunsal algılama, kumaş simülasyonu, becerikli manevralar ve zor arazide lokomotifi gibi konularda yapılan bu işbirlikleri, Newton’un robot öğrenimini ilerletmek ve simüle-gerçek boşluğunu kapatmak için sağladığı ortak temeli vurgulamaktadır.

ETH Zurich Robotik Sistemler Laboratuvarı (RSL), Newton’u özellikle ağır ekipman otomasyonu için yer kazma uygulamalarında çoklu fizik simülasyonunda aktif olarak kullanmaktadır. Newton İvme Materyali Nokta Yöntemi (MPM) çözücüsünü, granüler etkileşimleri (toprak, çakıl ve taşların katı makinelerle çarpışması gibi) yakalamak için kullanıyorlar.

ETH, aynı zamanda Warp‘ı robotik ve grafik araştırmalarında daha geniş bir kapsamda uygulamaktadır. Bu, farklılaştırıcı simülasyon ile dağıtılabilir lokomotif kontrolü, Gaussian yaylarla yörünge optimizasyonu ve 3D kıyafet modelleme konularını içermektedir.

Video 4. Newton, ağır makinelerin granüler bir materyal yığını ile etkileşimini yakalamak için kullanılıyor. Demo kredisi: Maximilian Krause, Lorenzo Terenzi ve Lennart Werner, ETH Zurich.

Lightwheel, çoklu fizik senaryolarında deformasyon üzerinde optimizasyon uygulamalarıyla Newton’a katkıda bulunmaktadır. Aşağıdaki gösterim, İvme MPM çözücüsünün ANYmal dört ayaklı lokomotifinin, birden çok malzemeden oluşan esnek zemin üzerinde nasıl manipüle edildiğini göstermektedir.

Video 5. ANYmal dört ayaklı robot, kum ve çakıl gibi birden fazla malzemeden oluşan sağlam olmayan zemin ile etkileşimde bulunuyor.

Pekin Üniversitesi (PKU), dokunsal alanların modellemesi için IPC tabanlı çözücü Taccel‘i entegre ederek Newton’u dokunsal alanlarda geliştiriyor. PKU araştırmacıları, Newton’un GPU hızlandırılmış, farklılaştırıcı mimarisini kullanarak dokunsal ve deformasyonlu manipülasyon için kritik olan ince temas etkileşimlerini modelleyebilmektedir.

Taccel simülasyonu, Tac-Man manipülasyonunun gerçek dünya icraatı ile oldukça örtüşmesini sağlamaktadır; yalnızca küçük bir sim-gerçek boşluğu ile.

Style3D, Newton’a derin birikimini kumaş ve yumuşak cisim simülasyonu ekleyerek yüksek kaliteli modelleme sunmaya çalışıyor. Style3D çözücüsünün basitleştirilmiş bir versiyonu Newton’a entegre edilmiştir ve geliştirilmiş kullanıcıların milyonlarca vertex içeren tam ölçekli simülasyonlar yürütmesine olanak tanıyan API’leri yayınlama planları bulunmaktadır.

Video 7. Kumaşlar ve deformasyonlu nesnelerin karmaşık etkileşimleri yüksek kaliteli modelleme ile Newton kullanılarak gerçeklenmiştir.

Munih Teknik Üniversitesi (TUM), Newton’u eğitimli becerikli manipülasyon politikalarını fiziksel robotlarla geri simüle etmek için kullanarak, simülasyon ve gerçeği kapatmada önemli bir ilk adımı atmayı amaçlamaktadır. 4,000 paralel ortamda MuJoCo Warp ile eğitim yapma süreci artık işliyor. Bir sonraki aşama, politikaları fiziksel robotlara aktarmak ve ardından alanında çözünür dokunsal bir cilt kullanarak ince manipülasyon uygulamaları genişletmektir.

TUM AIDX Laboratuvarının Warp’ı nasıl kullandığı hakkında daha fazla bilgi edinin ve dokunsal in-el manipülasyon ajanları öğrenimini nasıl sağladığını görün. AIDX Laboratuvarı’nın Newton’u robot öğrenimi araştırmalarını ilerletmek için kullanma projelerini keşfedin.

Video 8. Newton, eğitimli becerikli manipülasyon politikalarını gerçek robotlarla çalıştırıyor; tekrar simülasyona geri dönüyor.

Newton ile Başlayın

Newton fizik motoru, robotik araştırmacıların ihtiyaç duyduğu simülasyon sadakatini sunar ve robot öğrenimini ilerletecek farklı çözücüleri bir araya getirerek sistematik, genişletilebilir ve simülatörden bağımsız bir tasarım sunar.

Açık kaynaklı ve topluluk destekli bir proje olarak, geliştiriciler Newton’u kullanabilir, dağıtabilir ve genişletebilir ve özel çözücüler ekleyerek ekosisteme katkıda bulunabilir.

Seul, Kore’de 27 Eylül – 2 Ekim tarihleri arasında gerçekleşecek CoRL ve Humanoids etkinliği hakkında daha fazla bilgi edinin.

Ayrıca, 50 ev işi ve 10,000 uzaktan işletim gösterimi ile 2025 BEHAVIOR Challenge yarışmasına katılın.

Gelişmelerden haberdar kalmak için bültenimize abone olun ve NVIDIA Robotikleri LinkedIn, Instagram, X ve Facebook üzerinden takip edin. Ayrıca NVIDIA belgeleri ve YouTube kanallarına göz atın ve NVIDIA Geliştirici Robotik forumu’na katılın. Robotik yolculuğunuza başlamak için ücretsiz NVIDIA Robotik Temel kurslarına hemen kaydolun!

Kaynak

Nvdia Blog

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri