Apa platform perangkat lunak / sistem operasi robot yang baik yang tersedia? [Tutup]

19

Perusahaan saya akan segera memulai proyek robotika baru, dan kami masih berusaha untuk memutuskan apakah kami harus merancang dan membuat kode platform perangkat lunak robotika dari awal, atau apakah ada yang sudah ada.

Akan sangat berguna jika ada platform perangkat lunak yang umum digunakan di kalangan akademisi dan industri sehingga sistem robot kami umumnya kompatibel dengan yang lain, dan agar orang sudah mengenalnya.

Kami ingin platform perangkat lunak dapat:

  • Mengintegrasikan komponen perangkat keras robot baru dengan mudah.
  • Sudah berisi beragam alat pengolahan data dan visualisasi yang bermanfaat
  • Manfaatkan perangkat keras komputer secara efisien
Rocketmagnet
sumber
5
Bukankah ini pertanyaan survei yang subjektif? Yang bertentangan dengan semangat StackExchange. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Chris Mansley
2
Tapi, kita bisa membuat kualitas dari StackExchange ini. Kita harus menetapkan preseden pertanyaan obyektif berkualitas tinggi yang dapat dijawab dan dipelajari.
Chris Mansley
2
Saya setuju dengan Anda tetapi 1) Ini adalah pertanyaan pilihan teratas dalam definisi, dan 2) sejumlah kecil pertanyaan seperti itu tidak melukai situs (lihat elektronik misalnya). 3) Pertanyaan semacam itu menghasilkan jawaban yang benar-benar bermanfaat bagi banyak pengguna.
Rocketmagnet
4
Jika kita membiarkan ini berdiri, paling tidak harus dibuat komunitas wiki, idealnya dengan satu komunitas wiki menjawab dengan semua deskripsi terbaik. Ini akan lebih baik daripada banyak jawaban yang semuanya menggambarkan opsi yang berbeda dan / atau memberikan deskripsi / pendapat yang berbeda dari opsi yang sama.
Mark Booth
5
Saya pikir pertanyaan survei itu sebenarnya bagus, karena bisa menghemat banyak waktu bagi seseorang yang mencari tahu ke mana harus mencari. Googling bahkan tidak akan menemukan semua pilihan populer dalam banyak kasus. Saya pikir menjadikannya sebagai jawaban Wiki Komunitas adalah hasil yang bagus.
Jon Watte

Jawaban:

20

ROS dengan cepat menjadi standar baru untuk robotika industri dan penelitian. Kebanyakan kelompok riset yang saya kenal mengadopsi ROS untuk pekerjaan mereka dan kemudian mendorong hasilnya kembali ke tempat terbuka agar semua orang dapat menggunakan dan meningkatkannya. Willow Garage sedang mengembangkan serangkaian platform perangkat keras dan perangkat lunak yang semuanya berpusat di sekitar ROS pada intinya. ROS adalah tempat yang baik untuk memulai pencarian Anda.

giogadi
sumber
Catatan: meskipun ROS dapat bekerja pada sebagian besar sistem operasi, ROS ini paling teruji untuk bekerja pada distribusi Linux Ubuntu.
giogadi
1
Selain itu, saya berpikir bahwa Halaman Pengantar ROS melakukan pekerjaan yang fantastis untuk mencakup premis inti dan cita-cita platform ROS. Dari perspektif pengembang, platform ROS dapat digunakan sebagai pembungkus yang sangat "tipis" di sekitar perpustakaan yang ada (seperti driver), untuk dengan cepat mendapatkan akses ke ekosistem ROS yang lebih besar.
mjcarroll
5

Kit Konstruksi Robot adalah alternatif untuk ROS. Ini didorong ke arah rekayasa model dan desain / manajemen sistem yang kompleks. Ini juga didorong ke arah "tidak terlalu tergantung pada Rock". Sebagian besar algoritma / driver di Rock tidak tergantung pada lapisan komponen. Lihat juga halaman ini untuk ringkasan singkat perbedaan antara Rock dan ROS.

Seperti jawaban sebelumnya tunjukkan, ROS terutama digunakan sebagai pustaka komunikasi tipis. Lapisan komponen Rock lebih tebal, untuk menyediakan alat yang diperlukan untuk skala ke sistem yang kompleks.

Yang harus Anda pahami adalah ini: di zaman sekarang ini, satu-satunya perangkat lunak robot open-source yang layak dilihat adalah kerangka-independen (OpenCV, PCL, OpenRave, Gazebo, ...). Bahkan Willow Garage akhirnya mengerti ini. Oleh karena itu, dapat diintegrasikan dengan jumlah minimal pekerjaan dalam kerangka apa pun.

Sekarang: pilihan terbaik Anda juga tergantung pada tujuan Anda. Jika yang Anda inginkan adalah menjual perangkat keras, maka sangat mungkin bahwa memiliki simpul ROS adalah pilihan terbaik Anda (walaupun memiliki pustaka driver yang baik yang kemudian diintegrasikan ke dalam simpul ROS bahkan lebih baik).

sylvain.joyeux
sumber
Mungkin untuk menambahkan jawaban ini, Rock didasarkan pada Orocos yang terdaftar dalam jawaban lain dan dengan demikian membuatnya lebih mudah bagi sistem yang didasarkan padanya untuk mampu secara realtime.
Jakob
5

Orocos

Ini adalah salah satu kerangka kerja open source tertua dalam robotika, sedang dikembangkan sejak tahun 2001, dan dengan aplikasi industri profesional dan produk yang menggunakannya sejak sekitar tahun 2005. Fokus Orocos selalu untuk menyediakan kerangka kerja komponen yang mampu secara real-time dan sulit - sehingga -Telepon Real-Time Toolkit (RTT) yang diimplementasikan dalam C ++ - dan sebebas mungkin dari middleware komunikasi dan sistem operasi.

Seperti @BarretAmes mengatakan ada integrasi yang memungkinkan implementasi sistem hybrid, di mana Orocos dan Kerangka Kerja Perangkat Lunak lainnya bekerja bersama.

Maverik
sumber
Ada juga cara untuk memasangkan Orocos dengan kerangka kerja lainnya. Misalnya, meningkatkan ROS dengan Orocos.
Barrett Ames
1
FYI, Rock menggunakan Orocos / RTT sebagai implementasi komponen - hanya menambahkan banyak tooling dan perpustakaan di sekitarnya
sylvain.joyeux
orocos mungkin bagus, tetapi sekarang situs web dan forum resmi mereka tidak lagi memperbarui apa pun dan tidak ada pengguna baru yang dapat masuk ke forum mereka sehingga orocos menyebalkan sekarang.
3

Platform pilihan saya adalah ROS. Namun, ada pesaing kuat dari ... berani saya katakan ... Microsoft. Ini disebut Robotics Developer Studio (RDS). Mulai pencarian Anda di sini: http://www.microsoft.com/robotics/

Mereka memiliki banyak video aplikasi yang mengesankan. Bagi saya, manfaat terbesar adalah dukungan bawaan untuk Kinect melalui Microsoft Kinect SDK. Secara teknis, yang digunakan ROS dari OpenNI memiliki kemampuan yang sama tetapi tampaknya nyaman untuk mengetahui SDK yang digunakan RDS ditulis oleh perusahaan yang sama yang memproduksi perangkat keras.

roboticsmeche
sumber
2

Player / Stage masih menjadi salah satu proyek robotika open source paling populer di luar sana. Sudah ada sejak lama dan beberapa pengembangnya telah pindah untuk memulai ROS, tetapi itu tidak mengurangi kegunaan Player. Memang, ketiga komponen utama, Player (kerangka kerja), Stage (simulator 2D), dan Gazebo (simulator 3D), telah dibuat agak kompatibel dengan ROS .

ThomasH
sumber
1

MOOS adalah analog ROS Oxford. http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php Ini digunakan untuk sejumlah aplikasi angkatan laut, dari pelabuhan-sweeping ke low-power, UUVs yang muncul untuk melaporkan dalam interval dihitung. dalam beberapa bulan.

rsegal
sumber
1

OpenRTM

OpenRTM-aist dikembangkan oleh Institut Nasional Jepang untuk Sains dan Teknologi Industri Lanjutan yang juga berkontribusi pada definisi standar RT-middleware.

Ini adalah kerangka kerja berbasis komponen sumber terbuka, yang menyediakan kemampuan waktu nyata. Di samping kerangka kerja beberapa alat tersedia:

  • RTC Builder: alat untuk pembuatan kode kerangka. Diluncurkan di lingkungan perkembangan gerhana. OpenRTM-aist juga mendukung RTC-template yang merupakan alat penghasil kode-kerangka jenis-baris perintah.
  • Editor Sistem RT: toolchain berbasis Eclipse untuk merancang komponen dan sistem berbasis komponen.
  • rtshell adalah alat baris perintah yang menyediakan layanan berikut
  • RTC debugger: alat debugging untuk RTC. Debugger RTC adalah plug-in Eclipse.
Maverik
sumber