Hangi iyi robotik yazılım platformları / işletim sistemleri mevcuttur? [kapalı]


19

Şirketim yakında yepyeni bir robotik projesi başlatacak ve hala bir robotik yazılım platformunu sıfırdan tasarlayıp kodlamamıza veya var olan iyi bir kod olup olmadığına karar vermeye çalışıyoruz.

Hem akademisyenler hem de endüstri arasında yaygın olarak kullanılan bir yazılım platformu olsaydı, robot sistemimizin genellikle diğerleriyle uyumlu olması ve insanların zaten buna aşina olması çok yararlı olurdu.

Yazılım platformunun şunları yapabilmesini istiyoruz:

  • Yeni robotik donanım bileşenlerini kolayca entegre edin.
  • Zaten çok çeşitli yararlı veri işleme ve görselleştirme araçları içeriyor
  • Bilgi işlem donanımını verimli kullanın

5
Bu öznel bir anket sorusu değil mi? Hangi StackExchange ruhuna karşı. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Chris Mansley

2
Ancak, bu StackExchange kalitesini oluşturabiliriz. Cevaplanıp öğrenilebilecek yüksek kaliteli, nesnel soruların bir örneğini oluşturmalıyız.
Chris Mansley

2
Sana katılıyorum ama 1) Bu tanımda en çok oy alan soru oldu ve 2) bu tür soruların az bir kısmı siteye zarar vermiyor (örneğin elektroniklere bakın). 3) Bu tür sorular, birçok kullanıcı için gerçekten yararlı olan cevaplar üretir.
Rocketmagnet

4
Bu duruşa izin verirsek, en azından topluluk en iyi açıklamalarıyla birlikte tek bir topluluk wiki yanıtıyla en azından topluluk wiki'si yapılmalıdır . Bu, farklı seçenekleri tanımlayan ve / veya aynı seçeneklerin farklı tanımlarını / görüşlerini sunan birçok cevaptan daha iyi olacaktır.
Mark Booth

5
Anket sorularının gerçekten harika olduğunu düşünüyorum, çünkü nereye bakacağını anlayan biri için çok zaman kazanabilirler. Google, birçok durumda popüler seçeneklerin tümünü bile bulamaz. Bence bunu bir Topluluk Wiki yanıtı yapmak iyi bir sonuçtur.
Jon Watte

Yanıtlar:


20

ROS hızla endüstriyel ve araştırma robotları için yeni bir standart haline geliyor. Bildiğim çoğu araştırma grubu, çalışmaları için ROS'u benimsiyor ve sonuçlarını herkesin kullanması ve iyileştirmesi için tekrar açıklığa itiyor. Willow Garage, tümü ROS'un merkezinde bulunan bir donanım ve yazılım platformları paketi geliştiriyor. ROS aramanızı başlatmak için iyi bir yerdir.


Not: ROS rağmen edebilirsiniz birçok işletim sistemleri üzerinde çalışmak, en iyice Linux Ubuntu dağıtımı konusunda çalışmalarına test etti.
giogadi

1
Ayrıca, ROS Tanıtım Sayfasının ROS platformunun temel önermesini ve ideallerini kapsayan harika bir iş yaptığını düşünüyorum . Geliştiricinin bakış açısından, ROS platformu, daha büyük ROS ekosistemine hızlı bir şekilde erişmek için mevcut kütüphanelerin (sürücüler gibi) çevresinde çok "ince" bir paket olarak kullanılabilir.
mjcarroll

5

Robot Yapı Kiti ROS'a bir alternatiftir. Karmaşık sistemlerin modele dayalı mühendislik ve tasarım / yönetimine yöneliktir. Aynı zamanda "Rock'a sıkı sıkıya bağlı olmamak" yönündedir. Rock'taki algoritmaların / sürücülerin çoğu bileşen katmanından bağımsızdır. Rock ve ROS arasındaki farkların hızlı bir özeti için bu sayfaya da bakın .

Önceki bir yanıtın belirttiği gibi, ROS esas olarak ince bir iletişim kütüphanesi olarak kullanılır. Rock'ın bileşen katmanı, karmaşık sistemlere ölçeklenmek için gerekli araçları sağlamak için daha kalındır.

Anlamanız gereken şudur: Bu gün ve yaşta, bakmaya değer tek açık kaynaklı robotik yazılım, çerçeveden bağımsızdır (OpenCV, PCL, OpenRave, Gazebo, ...). Willow Garage bile nihayet bunu anladı. Bu nedenle, herhangi bir çerçevede minimum miktarda çalışma ile entegre edilebilir.

Şimdi: En iyi seçiminiz de amacınıza bağlıdır. İstediğiniz donanım satmaksa, bir ROS düğümüne sahip olmanın en iyi seçiminiz olması mümkündür (daha sonra bir ROS düğümüne entegre edilen iyi bir sürücü kitaplığına sahip olmak daha da iyi olsa da).


Belki de bu cevabı eklemek için, Rock başka bir cevapta listelenen Orocos'a dayanıyor ve bu yüzden buna dayalı sistemlerin gerçek zamanlı yetenekli olmasını kolaylaştırıyor.
Jakob

5

Orocos

2001'den beri geliştirilmekte olan robotikte en eski açık kaynak çerçevelerinden biridir ve 2005'ten beri profesyonel endüstriyel uygulamalar ve ürünler kullanmaktadır. Orocos'un odağı her zaman gerçek zamanlı olarak zor bir bileşen çerçevesi sağlamak olmuştur. - C ++ 'da uygulanan ve herhangi bir iletişim ara katmanından ve işletim sisteminden mümkün olduğunca bağımsız olan Gerçek Zamanlı Araç Seti (RTT).

@BarretAmes'in dediği gibi Orocos ve diğer Yazılım Çerçevelerinin birlikte çalıştığı hibrit sistemlerin uygulanmasına izin veren entegrasyonlar var.

  • ROS ve Orocos entegrasyonu için ROS Orocos Entegrasyonu
  • Java ve ROS entegrasyonu için JOrocos

Orocos'u diğer çerçevelerle eşleştirmenin de yolları vardır. Örneğin, ROS'un Orocos ile güçlendirilmesi.
Barrett Ames

1
FYI, Rock, bileşen uygulaması olarak Orocos / RTT kullanıyor - sadece etrafına çok sayıda takım ve kitaplık
ekliyor

orocos iyi olabilir, ancak şimdi resmi web sitesi ve forumları artık hiçbir şey güncellenmiyor ve yeni kullanıcılar forumlarında oturum açamıyor, bu yüzden orocos berbat.

3

Tercih ettiğim platform ROS. Ancak, başka bir güçlü yarışmacı daha var ... buna cüret ediyorum ... Microsoft. Buna Robotics Developer Studio (RDS) denir. Aramanıza buradan başlayın: http://www.microsoft.com/robotics/

Etkileyici uygulamaların birçok videosu var. Bana göre en büyük fayda, Microsoft'un Kinect SDK'sı aracılığıyla Kinect için yerleşik destek. Teknik olarak, ROS'un OpenNI'den kullandığı özellik aynı özelliklere sahiptir, ancak RDS'nin kullandığı SDK'yı, donanımı üreten aynı şirket tarafından yazıldığını bilmek rahatlatıcı görünmektedir.


2

Oyuncu / Sahne Alanı hala en popüler açık kaynaklı robotik projelerinden biridir. Uzun zamandır var ve geliştiricilerinden bazıları ROS'u başlatmak için harekete geçti, ancak bu Oyuncu'nun kullanışlılığını azaltmıyor. Gerçekten de, üç ana bileşenin, Player (çerçeve), Stage (2D simülatör) ve Gazebo (3D simülatör), ROS ile biraz uyumlu olması sağlanmıştır .



1

OpenRTM

OpenRTM-aist RT-Middleware standardının tanımlanmasına katkıda bulunan Japon Ulusal İleri Endüstriyel Bilim ve Teknoloji Enstitüsü tarafından geliştirilmiştir.

Gerçek zamanlı yetenekler sağlayan açık kaynaklı bileşen tabanlı bir çerçevedir. Çerçevenin yanı sıra bazı araçlar da mevcuttur:

  • RTC Builder: iskelet kodu üretimi için bir araç. Tutulma gelişim ortamında başlatılır. OpenRTM-aist ayrıca bir komut satırı tipi iskelet kodu oluşturma aracı olan RTC şablonunu da destekler.
  • RT System Editor: bileşenleri ve bileşen tabanlı sistemleri tasarlamak için Eclipse tabanlı bir araç zinciri.
  • rtshell, aşağıdaki hizmetleri sağlayan bir komut satırı aracıdır
  • RTC hata ayıklayıcısı: RTC'ler için bir hata ayıklama aracı. RTC hata ayıklayıcısı bir Eclipse eklentisidir.
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.