• Forumu şuan da Ziyaretçi olarak görüntülüyorsunuz. Forum ziyaretçileri tüm konu ve bağlantıları görüntüleyemez ve kaynaklara erişimi yoktur. Eğer üye iseniz buradan üye girişi yapın ya da burayı tıklayarak şimdi üye olun.
  • Ubden® Topluluk Projelerine, Aracılığınızla Destek Vermektedir.

    Topluluk projelerine katkı yapmak ve topluğumuza ulaşan genç girişimcilere destek olmak için Buradaki  bağlantıdan işlem kanallarına ulaşabilirsiniz.

    Desteklerinizle 7.000 kişilik bir ekosistem olduk ve büyümeye devam ediyoruz. Desteğiniz için teşekkürler.

Haber NVIDIA Omniverse Isaac Sim ile Kendi Robotunuzu Oluşturun

B

blog

Misafir
Misafir
isaac_Sim_cover.webp

Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
‘ün bir parçası olan
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
, robotik simülasyonları için
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
tarafından geliştirilen bir robotik platformudur. Isaac Sim, ışın izleme teknolojisi ile birlikte, yüksek gerçeklik ve fiziksel doğrulukta robotik simülasyonlarınız için ideal bir ortam oluşturur.

Omniverse yalnızca CAD modelleri ile çizilmiş robotları Isaac Sim’e aktarmayı değil, aynı zamanda oldukça basit bir şekilde kendi robotunuzu Isaac Sim ortamında geliştirmenize olanak tanıyor.

Bu yazımızda dört tekerlekli bir aracın nasıl tasarlanacağına ve robota hareket kabiliyetinin nasıl kazandırılacağına değineceğiz.

Çalışmaya başlamadan önce yapmanız gerekenleri aşağıda yer alan gereksinimler kısmında belirttik. Bu çalışmayı takip edebilmeniz için gereksinimlerin tamamlanmış olması, araç hareketleri ile ilgili bazı temel fizik kurallarının bilinmesi ve
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
hakkında temel bilgi seviyesine sahip olunması gerekmektedir.

Sorularınızı yorum kısmında belirtebilirsiniz.

Şimdiden keyifli çalışmalar dileriz.

Gereksinimler​

  • Isaac SIM Kurulumu
    Eğer Isaac SIM kurulu değilse
    Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
    adresini ziyaret ederek Omniverse Launcher’ı indirebilirsiniz. Kayıt işleminden sonra, Exchange menüsünden Isaac SIM uygulamasını yükleyin ve Library sekmesinden Launch butonuna tıklayarak Isaac Sim’i başlatın.
    (Omniverse kurulumu hakkında daha fazla bilgi için
    Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
    adresini ziyaret edebilirsiniz.
  • NVIDIA RTX Ekran Kartı
    Çalışmalarımızı en yeni nesil
    Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
    üzerinde yaptık. Diğer RTX Serisi GPU’lara erişmek için web sitemizde yer alan
    Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
    sayfamızı ziyaret edebilirsiniz. Ayrıca çalışmalarınızda kullanmak üzere özelleştirilebilir
    Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
    konfigürasyonlarını da inceleyebilirsiniz. İş istasyonları ile birlikte üç aylık
    Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
    Lisansı ücretsiz olarak sunulmaktadır.

Haydi Başlayalım!​


Öncelikle 4 tekerlekli basit bir robotun nasıl oluşturulduğunu öğrenelim. Bunun için bir dikdörtgen prizmanın yanına 4 adet silindir ekleyerek basit bir robot tasarlayacağız.

  1. Isaac Sim uygulamasını açalım.
  2. Create → Mesh → Cube yolunu izleyerek sahnede bir küp oluşturalım. Küpün boyutlarını aracın gövdesine benzeyecek şekilde dönüştürelim.
  3. Ardından aracın tekerleklerini oluşturmak için Create → Mesh → Cylinder yolunu izleyerek bir silindir oluşturalım. Silindirin boyutlarını oluşturduğumuz gövdeye uygun şekilde yeniden düzenleyelim ve oluşturduğumuz tekerin yönünü gövdeye uygun şekilde döndürelim.
  4. Tekerlekleri kopyalayarak (Ctrl + D ile kopyalayabilirsiniz) ilave 3 teker daha oluşturalım.
  5. Tekerlekleri gövdenin yanlarına yerleştirerek aracın görüntüsünü elde edelim.
Screenshot-from-2023-07-05-09-21-00-1024x425.png


Aracın jointsiz hali ve stage ekranı

Robotumuzu oluşturduktan sonra parçaları uygun bir şekilde isimlendirelim. “Robot” adında bir Xform oluşturalım ve 5 adet parçayı da bu Xform’un altına yerleştirelim. Konumlarını da şekildeki gibi ayarlayarak robotumuzun şeklini tamamlayalım.

Fizik İşlemleri​


Robotun simülasyon ortamında gerçek fizik kurallarına tepki gösterebilmesi için fiziki bir yapıya dönüştürülmesine ihtiyaç vardır. Bunun için colliders (çarpışma özellikleri) tanımlanması gerekmektedir.

Robotun her bir parçası için (gövde ve tekerlekler için ayrı ayrı) Add → Physics → Rigid body with collider preset yolunu izleyerek fizik özelliklerini ekleyelim. Ayrıca oluşturduğumuz aracın bulunduğu ortamın da fizik kurallarının geçerli olması için Add → Physics → Ground Plane yolunu izleyerek fiziğe sahip düz bir yüzey oluşturabilirsiniz. Play butonuna bastığınızda parçaların yere düştüğünü göreceksiniz.

Bağlantı işlemleri (Jointler)​


Aracımızın yapısını incelediğimizde, tüm tekerleklerin ileri-geri hareket etmesi ve ön tekerleklerin sağa-sola dönmesi gerekmektedir. Aracımızın parçalarını birleştirirken, aracın bağlantılarının bu prensiplerde yapılmasına dikkat edilmelidir.

İleri ve Geri Gitmeyi Sağlayan Bağlantılar​


Tüm tekerleklerin ileri ve geri hareketini yapabilmesi ve ön tekerleklerin kendi etraflarında dönmesini sağlamak için eklem bağlantılarının yapılması gereklidir. Isaac Sim’de bu işlemi Revolute Joint ile gerçekleştirebiliriz. Joint bağlantıları yaparken dikkate alınması gereken en önemli hususlardan biri, parent-child ilişkisidir. Yani hangi parçanın hangi parçanın etrafında döneceğidir. Aracımızda tekerleklerin gövdenin etrafında dönmesi gerektiği için gövde parent (ana) parça, tekerlekler ise child (alt) parçalar olarak tanımlanmalıdır.

Bunun için önce gövdeyi, ardından arka tekerlerin her biri için ayrı ayrı Create → Physics → Joint → Revolute Joint yolunu izleyerek joint bağlantılarını oluşturalım. Joint bağlantısını oluşturduktan sonra, Stage üzerinden oluşturduğumuz Joint’i seçelim ve Properties (özellikler) kısmında Body0 bölümünde gövdenin, Body1 bölümünde ise tekerleğin tanımlı olduğunu kontrol edelim. Aksi takdirde bağlantımız doğru bir şekilde tanımlanmamış olabilir.

Screenshot_from_2023-06-09_13-24-56.png

Bu işlemin ardından doğru dönme ekseni ayarlarını yapalım. Her bir joint’in sağ alttaki Property (özellik) kısmından dönme ekseni olarak Z’yi belirleyelim.

Jointlerin seçili hali aşağıdaki gibi görünmelidir.

Screenshot-from-2023-07-05-09-01-58-1024x576.webp


Arka jointlerin gösterimi

Bu durumda play butonuna bastığınızda herhangi bir şekilde parçaların birbirinden ayrılmadığını, ayrıca Shift’e basılı tutarken gövdeyi mouse ile çektiğinizde tekerlerin hareket ettiğini ve Z ekseninde döndüğünü göreceksiniz.

Robotun sağa ve sola dönme yetisini sağlayan bağlantılar​


Bu işlem için tekerlekleri ayrı ayrı döndürmek yerine, bir mil aracılığıyla tekerlerin dönme bağlantısını sağlayacağız.

Öncelikle ön tekerlere bir mil koyarak işleme başlayalım.

Screenshot_from_2023-07-05_09-00-39-1024x576.png


Aracın dış yapısının tamamlanmış hali

Şekildeki gibi basit bir silindir aracılığıyla işlemi gerçekleştirebiliriz.

Şimdi ise bu mili gövdeye bağlayarak sınırlı bir açıda dönme yetisi verelim. Bunun için yine Revolute Joint kullanacağız. Önce gövdeyi, ardından oluşturduğumuz mili seçelim ve Create → Physics → Joint → Revolute Joint yolunu izleyerek bir dönme bağlantısı oluşturalım.

Yine sağ alttaki property sekmesi aracılığı ile Dönme ekseni (Axis) → X Lower Limit → -60 Upper Limit → 60 olacak şekilde değerleri ayarlayalım.

Screenshot_from_2023-06-09_13-15-27.png


Sağa ve sola dönüşlerde kullanılacak jointin maksimum ve minimum açı değerlerinin ayarlanması

Bu işlem sonucunda eklediğimiz bağlantı şekildeki gibi gözükecektir.

Screenshot-from-2023-07-05-09-22-25-1024x591.png


Sağa ve sola dönüşler için kullanılacak joint

Şimdi ise ön tekerler ile silindir arasındaki tekerlere dönme yetisi oluşturalım. Bunun için önce silindiri ve sonra ön tekerlerin her birini tekeri ayrı ayrı seçerek Create → Physics → Joint → Revolute Joint yolunu izleyerek Joint oluşuturalım.

Screenshot_from_2023-06-09_13-24-56.png


Joint ekleme yolu


Not : Jointleri isimlendirmek ileride kullanım açısından büyük kolaylık sağlayacaktır ve jointlerin isimlerinin çakışmasını engelleyecektir. Bu yüzden her bir jointe benzersiz bir isim vermeniz tavsiye edilir. (Örn : onsagjoint , onsoljoint vs.)


Yine sağ alttaki property sekmesi aracılığı ile Dönme ekseni (Axis) → Z olacak şekilde değerleri ayarlayalım.

Screenshot_from_2023-06-17_15-34-05.png

Son safhada jointlerimiz şekildeki gibi görünmelidir.

Screenshot-from-2023-07-05-09-24-15-1024x606.png


Aracın tüm jointleri bağlanmış hali

Bağlantı işlemleri tamamlandı. Şimdi ise sırada hareket yeteneğinin aktarılması var.

Araca sürüş ve hareket yeteneğinin eklenmesi​


Öncelikle aracımızın hareket edebilmesi için bağladığımız jointlerin belirli bir kuvvet etkisi altında kalması gerekiyor. Biz bu kuvvetleri klavye aracılığı ile sağlayacağız.

Tüm jointleri seçelim (5 jointin hepsini) ve sağ tıklayarak Add → Physics →Angular Drive yolunu izleyerek jointlere angular drive özelliğini kazandıralım.

Şimdi ise oluşturduğumuz jointlerin bazı fiziksel özelliklerini belirleyeceğiz. Bunlar Damping (Sönümleme) ve Stiffness (Sertlik) gibi aracın hareket yeteneğini sağlayan parametrelerdir.

Aşağıdaki görselde gerekli değerleri görebilirsiniz.

Screenshot_from_2023-06-09_13-50-45.png


Damping ve Stiffness parametrelerinin ayarlanması

Ardından Aracımızı seçelim ve sağ tıklayarak Add → Physics →Articulation Root yolunu izleyerek ana hareket mekanizması olarak robotumuzu belirleyelim.

Screenshot-from-2023-06-09-13-33-50.png


Jointlere Angular Drive özelliğinin eklenmesi

OmniGraph (Action Graph) ile hareketin sağlanması​


İlk olarak sağ üstten Window →Visual Scripting → Action Graph yolunu izleyerek Action Graph penceresini açalım ve New Action Graph seçeneği ile yeni bir Action Graph oluşturalım.

Screenshot-from-2023-06-09-13-37-14.png


Action Graph açılış yolu

Aşağıdaki Action Graph şeklini birebir yerleştirelim.

Screenshot-from-2023-06-07-10-56-05-1024x658.png


Klavye ile hareketi sağlayan Action Graph

Buradaki her bir parça bir amaca hizmet ediyor. Bu nodeların işlevlerini ve alması gereken parametreleri aşağıdaki tabloda bulabilirsiniz.

Amaç​
Alması Gereken Parametreler​
Read Keyboard State​
Klavyeden seçilen değerin
okunmasını sağlar. Herhangi bir
tuşu atayabilirsiniz.( Biz burada
numpad tuşlarını kullanacağız.)​
Değerler sırasıyla : Numpad 8
Numpad 5 Numpad 6 Numpad 4​
To Double​
Gelen değerin “Double”
çevirilmesini sağlar. Örneğin a
harfine basılırsa 1 basılmazsa 0
şeklinde örneklendirilebilir.​
Herhangi bir parametre almıyor​
Constant Double​
Sabit bir sayı tanımlamak için
kullanılır. Burada tuşa
basıldığında gelen değeri
katlayabilmek için kullanıyoruz.​
Araç hızı için (üstteki) 1000
Dönme hızı (alttaki) için 500
girilebilir. (Ardından kullanıma
göre bu değerleri
değiştirebilirsiniz.)​
Multiply​
Gelen iki değeri çarparak bir
sonuç çıktısı veriyor. To Double
ile Constant Double değerlerini
çarpmak için kullanıyoruz.​
Herhangi bir parametre almıyor​
Substract​
Gelen iki değerin farkını alır.
Burada aracın ileri ve geri
gitmesini sağlamak için ileri ve
geri tuşundan gelen sayısal
değerlerin farkını alıyoruz.​
Herhangi bir parametre almıyor.​
Constant Token​
Sabit bir değişken tutmak için
kullanılır. Burada joint isimlerini
belirteceğiz.​
Üst kısımdaki tokenler için arka
iki tekerdeki jointlerin ismi
verilmelidir. Alt kısımdaki tokene
silindire bağladığımız jointin ismi
verilmelidir.​
Make Array​
Bir dizi oluşturmak için kullanılır.
Gelen joint isimlerini tek bir
arrayde tutmak için kullanılabilir.​
Burada her iki Make Array bloğu
için de input: Array Type Token
input, Array Size 2 olarak
belirtilmelidir.​
Differantial Controller​
Hız komutunun veya kuvvet,
ivme gibi değerler ile birlikte robotun tekerlek
çapı gibi değerlerini
ayarladığımız kısım.​
Oluşturmuş olduğunu aracın
teker boyutlarını ve buna göre
radius değerini girmelisiniz.
Bunun için measure tool
kullanabilirsiniz.​
Articulation Controller​
Robotun joint ayarlamalarının
belirtildiği ve articulation rootun
belirtildiği kısım.​
Burada yanlızca Robot path
kısmına oluşturmuş olduğunuz
robotun yolunu belirtin.(Örn
/World/Robot ). Gerekli joint
ayarlamalarını vs. Action Graph
içerisinde yapıyoruz.​

Measure tool için Window → Extension kısmında Measure araması yapın ve ardından çıkan extensionu sağ taraftan açın. Üst paneldeki tools kısmını kullanarak measure tool penceresini açabilirsiniz. Sağ üstteki line seçeneğini seçerek tekerin iki ucunun arasındaki mesafeyi görebilirsiniz. Bu değer Differantial Controller içerisindeki Wheel distance parametresinin değeri olacak.

Screenshot-from-2023-06-07-13-51-47-1024x485.png


Measure tool kullanımı

Çıkan sonuçlara göre Differantial Controller Nodeunun property sekmesindeki whellDistance ve wheelRadius parametrelerini ayarlayabilirsiniz.

Screenshot-from-2023-06-09-13-54-04.png


whellDistance ve wheelRadius değerlerinin ayarlanması

Ardından play butonuna bastığınızda Numpad üzerinde 8-5-4-6 butonları ile aracın hareketini sağlayabilirsiniz.

Not : W-A-S-D Tuşlarını kullanmak w,s gibi tuşlar kısayol belirttiği için (Omniverse içerisinde komut değiştirme tuşlarıdır) araç hareketi için kullanmak uygun olmayabilir. Eğer numpad yoksa ok tuşlarını ya da Isaac sim içerisinde kısayol belirtmeyen (Örn I-J-K-L) tuşları kullanabilirsiniz.


Not : W-A-S-D Tuşlarını kullanmak w,s gibi tuşlar kısayol belirttiği için (Omniverse içerisinde komut değiştirme tuşlarıdır) araç hareketi için kullanmak doğru olmayabilir. Eğer numpad yoksa ok tuşlarını ya da Isaac Sim içerisinde kısayol belirtmeyen (Örn I-J-K-L) tuşları kullanabilirsiniz.


Bu yazımızda sizlere NVIDIA Omniverse Isaac Sim kullanarak simülasyon ortamında 4 tekerli bir robotun birleştirilmesi, bağlantılarının yapılması ve hareket yeteneğinin kazandırılmasında kullanmanız gereken temel parametrelerden bahsettik. Daha ayrıntılı çalışmalar için
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
sayfasını ziyaret edebilir veya destek@openzeka.com e-posta adresinden bize ulaşabilirsiniz

RTX serisi ekran kartları, iş istasyonları, NVIDIA Jetson Developer Kitler ve daha fazlası için
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
ziyaret etmeyi unutmayın.

Ayrıca hemen
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
sayfayı ziyaret ederek RTX Serisi ekran kartlarında geçerli fırsatlardan faydalanabilirsiniz.

İyi çalışmalar dileriz!

Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.


Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
 
Üst