Vrep Tanıtımı
V-REP nedir?
V-REP, herhangi bir robotik sistemin fiziksel ve yazılımsal modelini oluşturabileceğiniz Sanal Robot Deney Platformudur. V-REP, robot simülatörleri arasında tam bir “İsviçre çakısı”dır. V-REP, hızlı algoritma geliştirme, fabrika otomasyon simülasyonları, hızlı prototipleme ve doğrulama, robotik ile ilgili eğitim, uzaktan izleme, güvenlik çifte kontrolü, vb. için kullanılır. Yazılımı kullanarak;
- bir kara robotunun hareketleri esnasındaki davranışlarını,
- bir su altı robotunun su veya herhangi bir akışkan içerisindeki davranışlarını,
- bir hava aracının havadaki davranışlarını
gözlemleyebilirsiniz. Bütün bunları çok kolay bir şekilde, robotunuzu fiziksel olarak modelleyip üzerine esnek kontrol algoritmalarınızı geliştirerek yaparsınız. Üstelik bütün bunları sıfırdan yapmak yerine, yazılım içerisinde hazır bulunan kütüphaneleri de kullanabilirsiniz.
Yükleme Adresi :
http://www.coppeliarobotics.com/downloads.html
3 ANA UNSUR
SAHNE NESNELERİ
- Temel yapıtaşları
- 12 farkı tip nesne
- Birbirleriyle kullanılabilirler.
- Hesaplama modülleri ve kontrol mekanizmaları ile kullanılarak kompleks sistemler oluşturabilirler.
ŞEKİLLER(SHAPES)
- Üçgen yüzlerden oluşan rijit sayısal ağ nesneleridir.
- İçeri-dışarı aktarılabilirler.
- Program içerisinde oluşturulabilir/düzenlenebilirler.
- Hızlı hesaplamalar için optimize edilmişlerdir.
- Dört tipi vardır: -Simple/grouped random shape, – Simple/grouped convex shape, -Pure simple/grouped shape, -Heightfield shape
MAFSALLAR (JOİNTS)
- Döner (Revolute-type)
- Prizmatik (Prismatic-type)
- Vida (Screw-type)
- Küresel (Spherical-type)
MESAFE SENSÖRLERİ(PROXİMİTY SENSORS)
- US’ten IR’e her tip mesafe sensörü, çok gerçekçi modellenebilir.
- Algılama hacmi yaklaşımı ile ayrık (discrete) algılama ışınları yaklaşımına göre çok daha gerçekçi mesafe hesaplaması
- Ayarlanabilir algılama hacmi.
- Hacim içerisinde çok hızlı en kısa mesafe hesaplaması
V-Rep’in yol planlama modülü, 3D alanda yol planlama görevlerini ve 2D alanı için holonomik olmayan hareket kısıtlamaları olan araçları halledilmesini sağlar. Yol planlama modülü, hareket planlama modülü (motion planning module) tarafından işlenen kinematik zincirlerin hareket planlamasını içermez.
Yol planlama görevi genellikle birkaç giriş değeri veya parametre alır:
- Bir başlangıç konumu(a start position) (veya yapılandırmayı başlatmak): bir cihazın (ör. Robot) ilk yapılandırmasıdır.
Bir hedef konum (veya hedef yapılandırması): cihaz veya robot için istenen yapılandırmadır.
- Engeller: Bu, cihazın (veya robotun) çarpışmaması gereken nesnelerdir(objects), baştan hedefe yapılandırma yolunu izlerken.
Başlangıç yapılandırmasını hedef yapılandırmasına bağlayan bir yol, belirli bir sayıda boyuta sahip bir yapılandırma alanında (ör. X, Y yapılandırma alanı) belirlenebilir (veya sınırlı olabilir). Bundan başka, görevi daha karmaşık hale getiren (örneğin, engellere belirli bir mesafe eşiğini tutmak veya yalnızca bir yönde hareket ettirmek) ek kısıtlamalara ihtiyaç vardır.
GÖRÜNTÜ SENSÖRLERİ(VİSİON SENSORS)
- Kamera simülasyonu
- Entegre görüntü işleme özelliği
- Plugin mekanizması ile geliştirilebilir.
Görüntülenebilir nesneler olan görme sensörleri, kamera nesneleri gibi çok benzer bir şekilde çalışırlar: Kendi görüş alanındaki nesneleri oluşturacak ve belirlenen eşiklerin fazla veya az olduğu tespit edilene tetikleneceklerdir.Oluşturulabilir varlıkları algılayabilen görme sensörleri, renk, ışık veya yapının algılama işleminde rolü olduğunda (örn. Kızılötesi sensörler veya daha genel olarak ışığa duyarlı sensörler (kameralar, vb.)) Yakınlık sensörleri üzerinde kullanılmalıdır. Bununla birlikte, uygulamanın çalıştığı grafik kartına veya sahne nesnelerinin karmaşıklığına bağlı olarak görüntü sensörleri, yakınlık sensörlerinden biraz daha yavaş olabilir.
KUVVET/TORK SENSÖRLERİ(FORCE/TORQUE SENSORS)
- İki şekil arasındaki kuvvet ve tork iletimini ölçebilen rijit bağlantılardır.
- Rijitlikleri koşullara bağlıdır; belli eşik değerlerine göre kırılabilirler.
KESİCİLER(MİLLS)
- Şekiller üzerinden talaş kaldırabilmeyi sağlar.
- Neredeyse her tip işleme metodu modellenebilir.
- Özelleştirilebilir kesme hacmi.
KAMERALAR(CAMERAS)
- Sahnemizi farklı bakış açılarından görebilmek içindir.
- Perspektif/ortografik gösterim
- Bir nesneyi takip edebilme özelliği
- Otomatik görüntü sığdırma fonksiyonu
IŞIKLAR(LİGHTS)
- Sahneyi görebilmemizi sağlayan ışık kaynaklarıdır.
- 3 tipi vardır: Spot Lamba(Spotlight), Yönlü Lamba (Directional), Yönsüz Lamba (Omnidirectional)
REFERANS NESNELER(DUMMIES)
- En basit nesnedir (oryantasyonu olan bir nokta).
- Çok amaçlı yardımcı nesnelerdir.
- Referans Koordinat Ekseni olarak düşünülebilir.
- Tek başına anlamlı değildir, ancak diğer nesne ve hesaplama modülleriyle birlikte kullanılması çok önemlidir.
GRAFİKLER(GRAPHS)
- Simülasyondaki veri akışlarını kaydetmek ve görselleştirmek için kullanılır.
- 3 tipi vardır: Zaman Grafikleri, X/Y Grafikleri, 3B Eğriler
- Dışarı aktarılabilirler.
Graphlar, bir simülasyondaki verileri kaydetmek, görselleştirmek veya dışa aktarmak için kullanılabilen nesnelerdir. Çok güçlü ve esnektirler. Kullanıcı, kaydetmek için belirli nesnelere uygulanan çok sayıda veri türünü seçebilir.
Veri, üç farklı şekilde görselleştirilebilen bir veri akışı (veri değerlerinin sıralı listesi) olarak kaydedilir:
-Time graphs: Tek bir veri akışının (zaman vs veri akışı) bir zaman grafiği.
-X/Y Graphs: Iki veri akışını birleştiren bir grafik (veri akışı A ile veri akışı B).
-3D curves: Zamanla üç veri akışını birleştiren bir 3D grafik (zamana karşı (veri akışı A, veri akışı B, veri akışı C)).
YOLLAR-GÜZERGAHLAR
- 6 eksende güzergah tanımlama.
- Yollar, mevcut şekillerden türetilebilir.
Yollar tek başlarına pek bişey yapmaz.İstenilen etkiyi elde etmek için genellikle dummies veya diğer nesnelerle birlikte kullanılırlar.Bir nesneyi bir yol boyunca taşımak için bir kukla (dummy) ilk olarak yola atanmış olması gerekir sonra yolun içsel (gerçek) hareketini izleyecek olan kuklaya (dummy) bağlanabilir.
Yollar sunulabilir nesnelerdir (renderable objects) bunun anlamı yolların vision sensors tarafından görülebileceği anlamına gelmektedir. Bununla birlikte yol şekillendirme işlevselliği (path shaping functionality) etkinleştirilmelidir. Bir yolun renderable özelliği, ortak nesne özelliklerinden (object common properties) değiştirilebilir.
AYNALAR(MIRRORS)
- Ayna olarak görüntüyü/ışığı yansıtan nesneler olarak kullanılabilir.
- Sahne/model/nesneden kesit almak için kullanılabilir.
HESAPLAMA MODÜLLERİ
- 5 temel algoritma
- Birbirleriyle kullanılabilirler.
- Sahne nesneleri ve kontrol mekanizmaları ile kullanılarak kompleks sistemler oluşturabilirler.
DİNAMİK/FİZİK
- İki fizik motoru desteği: Bullet & ODE
- Tek tıklamayla motorlar arası geçiş.
- Hava ve su jeti simülasyonları için dinamik partiküller.
- Kinematik modülü ile birlikte çalışabilir.
İLERİ/TERS KİNEMATİK HESAPLAMALAR
- Her türlü mekanizma/yapı için uygundur.
- Sönümlü/sönümsüz çözüm
- Ağırlık fonksiyonlu çözüm
- Koşulluk çözüm
- Engellerden kaçınma
- Modele gömülebilme
ÇAKIŞMA TESPİTİ
EN KISA MESAFE HESAPLAMASI
GÜZERGAH PLANLAMA
- 2-6 serbestlik derecesinde holonomik
- Taşıt benzeri yapılar için holonomik olmayan
KONTROL MEKANİZMALARI
- 6 metot / arayüz
- Aynı anda ve iç içe kullanılabilirler.
- 6 programlama dili
- Entegre geliştirme ortamı
YEREL VE UZAK ARAYÜZLER
YEREL ARAYÜZ:Yerel (aynıişlem) senkron* veya asenkron* operasyon.
-Gömülü Scriptler, Pluginler, Add-on’lar
UZAK ARAYÜZ:Uzak (farklı işlem/donanım) asenkron* operasyon.
-Uzak API İstemcileri, ROS Nodelar, Özel Çözümler
YEREL ARAYÜZ
Gömülü Script’ler
- 300 API fonksiyonu.Genişletilebilir.
- Herhangi bir sahne nesnesi ile ilişkilendirilebilir.
- Birçok Lua genişleme kütüphanesi mevcuttur.
- Threaded veya non-threaded olabilirler.
- Thread’ler kolayca senkronize edilebilir.
- Farklı tipler:main script, child scripts, callback scripts(ör:özel mafsal kontrolcüleri)
Plugin’ler
- > 400 API fonksiyonu. Genişletilebilir.
- C/C++ arayüzü
- Simülatörü özelleştirebilir.
- Yeni gömülü script komutları tanımlamak için kullanılabilir.
Add-on’lar
- > 300 API fonksiyonu.Genişletilebilir.
- Lua arayüzü
- Simülatörü özelleştirebilir.
- Pratik ve kolay kurulum.
- Birçok Lua genişleme kütüphanesi mevcuttur.
UZAK ARAYÜZLER
Uzak API İstemcileri
- > 100 API fonksiyonu.Genişletilebilir.
- C/C++, Python, Java,Matlab ve Urbi arayüzleri
- Veri akışı ve bölümlendirme modları
- Pratik ve kolay kurulum.
ROS Node’lar
- 100 servis(>30 “publisher” tipi, >25 “subscriber” tipi.Genişletilebilir.
- “Publisher”lar ve “Subscriber”lar, servis çağrısı veya gömülü script fonksiyon çağrısı ile aktifleştirilebilir.
vrep sürümleri ve farkları
V-REP PLAYER: Düzenleme kabiliyetleri sınırlıdır. Dosya kaydetme özelliği yoktur. Herkes için ücretsizdir.
V-REP PRO: Ticari versiyondur. Eğitim amaçlı olmayan kullanımlar içindir. Ücretlidir.
V-REP PRO EDU: Eğitim versiyonudur. Eğitim amaçlı kullanımlar için ücretsizdir.
V-REP SOURCE CODE Educational: Açık kaynak kodun eğitim versiyonudur. Eğitim amaçlı kullanımlar için ücretsizdir.
V-REP SOURCE CODE Commercial: Açık kaynak kodun ticari versiyonudur. Yani özelleştirilmiş V-REP’in alt-lisanslaması içindir. Ücretlidir.
https://www.youtube.com/watch?v=gBYqOBdIcaY
Merhaba, benim bir sorum var. Yapay zeka dersinden proje aldık. Bende slam algoritmasi kullanarak haritalama yapıp bir robotun yön bulmasını sağlayacam . Halı hazırda bir robotum yok. Yani gerçekte yaptığım çalışan bir robotum yok. V-rep simülasyon programını araştırdım. Anladığım kadarıyla simulasyonda hazır bulunan Sanal robotlarlà yazilimimi deneyebiliyorum. Ama tam emin değilim. Size sorum şu :
Slam algoritmasini Python dilinde Spyder da yazarak simülasyonda deneyeniliyor muyum? Spyder ile v-rep arasındaki bağlantıyı nasıl kurArım? Lutfen yardimci olur musunuz?