Bağımsız Simgesel Simülatör


13

Genç kızları teknolojiye tanıtan, kâr amacı gütmeyen bir kuruluşla gönüllü çalışan bir yazılım mühendisiyim. Son zamanlarda bu çocukları robotik dünyasına tanıtma yöntemlerinden bahsediyoruz ve ne tür düşük maliyetli seçeneklere sahip olduğumuzu merak ediyorum.

Çok çekici bir fikir, çevrimiçi bir simülatöre veya (daha tercihen) basit robotlar oluşturabileceğimiz ve programlayabileceğimiz bir çevrimdışı bağımsız simülatöre sahip olmak olacaktır. Belki de bileşenleri bir arada sürüklemekten ve bu bileşenler arasındaki etkileşimleri programlamaktan başka bir şey değildir.

Sosyal yardımlarımızda kullanabileceğim hangi çözümler mevcut?


Deneyimlerime göre, çalışmayan ortalama görünümlü bir robot, bir simülatörde tam gelişmiş, havalı görünen bir robottan çok daha fazla dikkat çekiyor (robot olarak). Gerçek olmadığı sürece, tüm çocukların bakımı için bir bilgisayar oyunu veya çizgi film olabilir.
Shahbaz

Bir simülatöre ihtiyacımız var, böylece kızlar programlama kavramlarını gerçekten öğrenebilir ve kullanıma sokabilirler. Simülatörün güzel olması gerekmez - ham geometrik şekillerden başka bir şey olamaz. Önemli olan kod.
Sampson

Yanıtlar:


7

Stage ve Gazebo sırasıyla açık kaynaklı 2D ve 3D simülatörleridir. Player projesi tarafından oluşturulur ve korunur . Kullanımı çok kolaydır ve önceden hazırlanmış haritalar ve robotlara sahiptir. Kitlenizin deneyimine bağlı olarak, biraz ağır kaldırma yapmanız gerekebilir (yani yapılandırma dosyaları ve ana sınıflar oluşturmak).

Ek yararları da var. İlk olarak, ana kontrol kodunuzu oynatıcı eklentileri olarak oluşturduğunuz sürece, gerçek robotlara kolayca uyarlanabilirler. İkinci olarak, gerçek donanımla çalışmak için halihazırda oluşturulmuş çok sayıda eklenti var. Üçüncüsü, ROS ile çalışırlar .


4

Belki biraz pahalı (CHF 75) ama yine de Colobot öneririz . Robotların insanların bir uzay tabanını yaşanabilir hale getirmesine yardımcı olmaları gereken güzel, neredeyse oyun benzeri bir ortam. Giderek daha karmaşık görevler yapılırken robotlar çocuklar tarafından programlanır. Program, programlamanın temellerini hedefe yönelik, eğlenceli bir şekilde öğretir.


3

Microsoft robotik ÜCRETSİZDİR ve bir simülatör içerir . Tam olarak dünyadaki en kolay ortam değildir, ancak gerçek robotik için sağlam ve uygundur. Bazı şeyleri önceden ayarlamak için öğretmen katılımı ile kullanılabilir. LEGO, Neato ve diğer bazı robotlar için bir simülatör 'paketi' var ve bunlar C # veya görsel bir sürükle ve bırak dilinde programlanabilir.

Yine, gençlerin kullanımını kolaylaştırmak için biraz daha çalışmaya ihtiyaç duyacağını düşünüyorum, ancak bu zor olmazdı ve gereksinimleriniz göz önüne alındığında benim yaklaşımım olurdu. Karmaşıklık ilerledikçe, bu (windows) Gazebo / ROS ile bir Linux ortamına karşı, windows ortamı biraz daha az karmaşık olurdu, ancak bunların çoğu umarım hazırlık çalışmaları ile gizlenirdi.


2

RobotC'nin bir simülatörü vardır, ancak her ikisi de bazı maliyetlere sahip ürünlerdir. Ancak, daha genç öğrencilere ve eğitime yöneliktirler. Maliyetler engelleme faktörü (değilse bu en kolay ve en uygun rota olacağını etrafında $ tek bir kullanıcı için hem de lisans başına 100, $ 6 kullanıcıları için 300, $ 30 kullanıcıları için 600 ).

LEGO MINDSTORMS NXT için ROBOTC öğrenci sürümünü satın alırsanız , fiyat her biri için 49 $ veya 40 $ (20'den fazla lisans) olabilir.


2

V-Rep (Sanal Robot Deney Platformu) yapabileceği simülasyon türlerinde oldukça geniş görünüyor. Eğitim amaçlı ücretsizdir ve çok çeşitli araçlarla birlikte gelir. Demo için bu YouTube videosuna göz atabilirsiniz .


1

Belki tam bir robot simülatörü değil ama simülasyonlar için oldukça fazla 3D CAD, Autodesk Inventor kullanıyoruz. Genellikle CAD için donanım için olmasını istediğimiz gibi bir arayüz oluştururuz. Bu şekilde CAD modelini sanal bir prototip olarak şu amaçlarla kullanabiliriz:

  • Tasarım hatalarını erken yakalayın. Çarpışmalar, yeterli vuruş vb.
  • Hizalama hataları gibi hataların telafisini bulmak için de yararlıdır. CAD kullanarak farklı hataları tek tek modelleyebilir ve telafilerimizi test edebiliriz. Bilinen işaretlerle büyük hatalar ortaya koymak uygundur.
  • CAD aynı zamanda atalet momentleri hakkında da cevap verir.
  • Ayrıca, ekipman için program oluşturmak üzere CAD modelini kullanıyoruz.

Yanılıyorsam beni düzeltin ama CAD donanım ve fiziği doğru bir şekilde modellemeye odaklanıyor, robotu programlamaya çok daha az odaklanıyor. OP, mühendislik değil, programlama öğretmekle ilgileniyor, bu yüzden bir CAD sisteminin sorununu
çözmediğini

@ThomasH CAD'in api'sine bazı başarılı programlama programlarımız oldu ve bu şekilde çok fazla geliştirme yapabildik. Silmeli miyim?
Johan Larsson

1
Silmeye gerek yok. Bu sadece OP için çok uygun olmadığını düşündüğüm için kötü bir cevap değil. Oylama genellikle en uygun cevabı yine de zirveye taşır ve OP en çok yardımcı olanı kabul edecektir. Ancak yine de, bu sorunun karşısına çıkan benzer bir sorunu olan birileri ilginizi
çekebilir

1

" MindRover " a göz atmak isteyebilirsiniz . Orijinal web sitesi geçersiz olduğu için şimdi eski ve bulmak zor, ancak yine de Ebay veya Amazon'da bulunabilir . Oyun / görev odaklı olmasına rağmen, robot bileşenlerinden oluşan bir paletten seçim yapmayı, bunları bir şasiye koymayı ve sonra bunları birleştirmeyi içeriyordu. Bir oyun için gerçekten çok iyi yapıldı ve basit ila yarı gelişmiş kavramları keşfetmek için kullanılabilir. Bazı ekran görüntüleri burada: http://images.google.com/images?q=mindrover .

Gerçek dünya yetenekleri ile biraz daha ciddi bir şey arıyorsanız, FlowStone for Education'a göz atmak isteyebilirsiniz . Kullanmadım, ancak robot tipi çalışma için ideal bir görsel programlama ortamı olduğuna inanıyorum.

Son olarak, yazılım veya simülasyon olmasa da, son zamanlarda phblj tarafından programlama tanıtmak için bir teknikle ilgili reddit hakkında bir yorumla karşılaştım ve gerçekten iyi olduğunu düşündüm (ve özellikle robotik programlamaya uyarlanabilir). Alıntı:

Çocuklarla yaptığım bilgisayarlara harika bir örnek: Bir çocuk "program" olmalı ve fıstık ezmesi ve jöle sandviçinin nasıl yapılacağı hakkında talimatlar verdi, ancak eylemlerimi izleyemediler. Ben bilgisayardım ve talimatları tam olarak takip ettim. Hilarity sonuçlandı. (Fıstık çubuğundan kapak almıyorum, kutudan ekmek almıyordum). Bir dakika sonra başka bir çocuk geldi ve denedi. Biraz daha ilerlediler, ama yine de akın etti. "Fıstık ezmesini ekmeğe koy", kavanozun üzerinde oturan kavanoza neden oldu. Birkaç çocuk aldı, ama sonunda anladık. Bir asistanınız varsa, talimatları söyledikleri gibi yazmalarını sağlayın ve "programı" oluşturun.

O zaman açıklamalara girebilirsiniz, ama gerçekten sıkışmış olan şey, çocukların her birinin "bir bilgisayardan daha akıllı" olmasıydı. Ancak bu bilgisayarlar talimatları izlemede gerçekten çok hızlıydı. Bu yüzden akıllı ve bilgisayar hızlarını kullanmaları gerekiyordu ve ... programlama!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.