Jakie są dobre platformy / systemy operacyjne dla robotyki? [Zamknięte]


19

Moja firma wkrótce rozpocznie zupełnie nowy projekt robotyki i wciąż staramy się zdecydować, czy powinniśmy zaprojektować i zakodować platformę oprogramowania robotyki od podstaw, czy też istnieją jakieś dobre, istniejące.

Byłoby bardzo przydatne, gdyby istniała platforma oprogramowania, która była powszechnie stosowana zarówno wśród naukowców, jak i przemysłu, aby nasz system robotów był ogólnie kompatybilny z innymi i aby ludzie już go znali.

Chcielibyśmy, aby platforma oprogramowania mogła:

  • Łatwa integracja nowych robotycznych komponentów sprzętowych.
  • Zawiera już szeroki wachlarz przydatnych narzędzi do przetwarzania danych i wizualizacji
  • Efektywnie wykorzystuj sprzęt komputerowy

5
Czy to nie jest pytanie subiektywne? Co jest sprzeczne z duchem StackExchange. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Chris Mansley

2
Ale możemy stworzyć jakość tego StackExchange. Powinniśmy ustanowić precedens wysokiej jakości, obiektywnych pytań, na które można odpowiedzieć i wyciągnąć z nich wnioski.
Chris Mansley,

2
Zgadzam się z tobą, ale 1) To było najczęściej głosowane pytanie w definicji i 2) niewielka liczba takich pytań nie szkodzi stronie (na przykład elektronika ). 3) Takie pytania dają odpowiedzi, które są naprawdę przydatne dla wielu użytkowników.
Rocketmagnet

4
Jeśli chcemy, aby to się stało, powinno to być przynajmniej wiki społeczności, najlepiej z jedną odpowiedzią wiki społeczności ze wszystkimi najlepszymi opisami. Byłoby to lepsze niż wiele odpowiedzi opisujących różne opcje i / lub dostarczających różnych opisów / opinii na temat tych samych opcji.
Mark Booth

5
Myślę, że pytania ankiety są naprawdę świetne, ponieważ mogą zaoszczędzić dużo czasu dla kogoś, kto zastanawia się, gdzie szukać. Googling w wielu przypadkach nie znajdzie nawet wszystkich popularnych opcji. Myślę, że uczynienie z niej odpowiedzi na Wiki społeczności to dobry wynik.
Jon Watte

Odpowiedzi:


20

ROS szybko staje się nowym standardem dla robotyki przemysłowej i badawczej. Większość grup badawczych, o których wiem, przyjmuje ROS do swojej pracy, a następnie wypycha swoje wyniki z powrotem na jaw, aby każdy mógł je wykorzystać i poprawić. Willow Garage opracowuje pakiet platform sprzętowych i programowych, które skupiają się wokół ROS. ROS to dobre miejsce na rozpoczęcie wyszukiwania.


Uwaga: chociaż ROS może działać na większości systemów operacyjnych, jest najdokładniej przetestowany pod kątem dystrybucji w systemie Ubuntu w systemie Linux.
giogadi

1
Dodatkowo uważam, że strona wprowadzająca do ROS ma fantastyczną robotę, obejmując podstawowe założenia i ideały platformy ROS. Z perspektywy dewelopera platforma ROS może być używana jako „cienkie” opakowanie istniejących bibliotek (takich jak sterowniki), aby szybko uzyskać dostęp do większego ekosystemu ROS.
mjcarroll

5

Zestaw konstrukcyjny robota jest alternatywą dla ROS. Koncentruje się na inżynierii modelowej i projektowaniu / zarządzaniu złożonymi systemami. Jest również nakłaniany do „nie bycia ściśle zależnym od Rocka”. Większość algorytmów / sterowników w Rock jest niezależna od warstwy składowej. Zobacz także tę stronę, aby szybko podsumować różnice między Rockiem a ROS.

Jak wskazuje poprzednia odpowiedź, ROS jest używany głównie jako cienka biblioteka komunikacyjna. Warstwa składowa skały jest grubsza, aby zapewnić narzędzia niezbędne do skalowania do złożonych systemów.

To, co musisz zrozumieć, to: w dzisiejszych czasach jedynym wartym uwagi oprogramowaniem robotycznym typu open source jest niezależne od frameworka (OpenCV, PCL, OpenRave, Gazebo, ...). Nawet Willow Garage w końcu to zrozumiał. Dlatego można go zintegrować z minimalną ilością pracy w dowolnym środowisku.

Teraz: Twój najlepszy wybór zależy również od Twojego celu. Jeśli chcesz sprzedać sprzęt, to możliwe, że posiadanie węzła ROS jest najlepszym wyborem (nawet jeśli dobra biblioteka sterowników, która jest następnie zintegrowana z węzłem ROS, jest jeszcze lepsza).


Być może, aby dodać tę odpowiedź, Rock jest oparty na Orocos, który jest wymieniony w innej odpowiedzi, a zatem znacznie ułatwia systemom opartym na nim możliwość działania w czasie rzeczywistym.
Jakob,

5

Orocos

Jest to jedna z najstarszych platform open source w robotyce, rozwijana od 2001 r., A od około 2005 r. Stosuje się w niej profesjonalne aplikacje przemysłowe i produkty. Celem firmy Orocos zawsze było dostarczanie szkieletu komponentów w czasie rzeczywistym - tak -wzywa się Real-Time Toolkit (RTT) zaimplementowany w C ++ - i możliwie najbardziej niezależny od jakiegokolwiek oprogramowania pośredniego i systemu operacyjnego.

Jak powiedział @BarretAmes, istnieją integracje, które pozwalają na wdrożenie systemów hybrydowych, w których Orocos i inne oprogramowanie Framework Framework współpracują ze sobą.


Istnieją również sposoby sparowania Orocos z innymi frameworkami. Na przykład, wykorzystując ROS z Orocos.
Barrett Ames,

1
Do Twojej wiadomości, Rock używa Orocos / RTT jako implementacji komponentu - po prostu dodaje wiele narzędzi i bibliotek wokół niego
sylvain.joyeux

orocos może być dobry, ale teraz ich oficjalna strona internetowa i fora już nic nie aktualizują i żaden nowy użytkownik nie może zalogować się na swoim forum, więc orocos jest do bani.

3

Moją preferowaną platformą jest ROS. Jest jednak inny silny rywal z ... odważę się to powiedzieć ... Microsoft. Nazywa się Robotics Developer Studio (RDS). Rozpocznij wyszukiwanie tutaj: http://www.microsoft.com/robotics/

Mają wiele filmów imponujących aplikacji. Dla mnie największą zaletą jest wbudowana obsługa Kinect za pośrednictwem Microsoft Kinect SDK. Technicznie ten, którego używa ROS z OpenNI, ma te same możliwości, ale wydaje się pocieszające wiedzieć, że SDK, którego używa RDS, jest napisany przez tę samą firmę, która wyprodukowała sprzęt.


2

Player / Stage jest nadal jednym z najpopularniejszych projektów robotyki typu open source. Jest już od dłuższego czasu, a niektórzy z jego programistów rozpoczęli ROS, ale to nie zmniejsza użyteczności Gracza. Rzeczywiście, wszystkie trzy główne komponenty, Player (framework), Stage (symulator 2D) i Gazebo (symulator 3D), zostały nieco kompatybilne z ROS .



1

OpenRTM

OpenRTM-aist został opracowany przez japoński Narodowy Instytut Zaawansowanej Nauki i Technologii Przemysłowej, który również przyczynia się do zdefiniowania standardu oprogramowania pośredniego RT.

Jest to platforma oparta na komponentach typu open source, która zapewnia możliwości w czasie rzeczywistym. Oprócz frameworka dostępne są niektóre narzędzia:

  • RTC Builder: narzędzie do generowania kodu szkieletowego. Jest uruchamiany w środowisku rozwojowym Eclipse. OpenRTM-aist obsługuje również szablon RTC, który jest narzędziem do generowania kodu szkieletowego typu wiersza poleceń.
  • RT System Editor: łańcuch narzędziowy oparty na Eclipse do projektowania komponentów i systemów opartych na komponentach.
  • rtshell to narzędzie wiersza polecenia, które zapewnia następujące usługi
  • Debuger RTC: narzędzie do debugowania RTC. Debuger RTC to wtyczka Eclipse.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.