Standalone (atau mampu menjadi) Robotics Simulator

13

Saya seorang insinyur perangkat lunak yang menjadi sukarelawan dengan organisasi nirlaba yang memperkenalkan gadis-gadis muda pada teknologi. Kami baru-baru ini berbicara tentang metode memperkenalkan anak-anak ini ke dunia robot, dan saya ingin tahu apa jenis opsi murah yang kami miliki.

Satu ide yang sangat menarik adalah memiliki simulator online, atau (lebih disukai) simulator mandiri offline yang dapat kita buat dan programkan robot sederhana. Mungkin tidak lebih dari menyeret komponen bersama, dan kemudian memprogram interaksi antara komponen-komponen itu.

Solusi apa yang ada yang mungkin bisa saya manfaatkan dalam penjangkauan kami?

Sampson
sumber
Dalam pengalaman saya, robot yang tampak tidak berfungsi rata-rata mendapat lebih banyak perhatian (sebagai robot) daripada robot yang tampak keren dalam simulator. Selama itu tidak nyata, mungkin itu semua adalah permainan komputer atau kartun untuk semua perawatan anak-anak.
Shahbaz
Kami membutuhkan simulator agar para gadis benar-benar dapat mempelajari konsep pemrograman, dan menggunakannya. Simulator tidak harus cantik - itu bisa tidak lebih dari bentuk geometris mentah. Kode itulah yang penting.
Sampson

Jawaban:

7

Stage dan Gazebo adalah simulator open source 2D dan 3D masing-masing. Mereka dibuat dan dikelola oleh proyek Player . Mereka sangat mudah digunakan dan memiliki banyak peta dan robot yang dibuat sebelumnya. Tergantung pada pengalaman audiens Anda, Anda mungkin perlu melakukan sedikit pengangkatan berat (mis. Membangun file konfigurasi dan kelas utama).

Mereka memiliki beberapa manfaat tambahan juga. Pertama, selama Anda membuat kode kontrol utama sebagai plug-in pemain, maka kode tersebut dapat dengan mudah disesuaikan dengan robot sungguhan. Kedua, ada sejumlah besar plug-in yang sudah dibangun untuk bekerja dengan perangkat keras nyata. Ketiga, mereka bekerja dengan ROS .

DaemonMaker
sumber
4

Mungkin agak pricy (CHF 75) tapi saya masih menyarankan Colobot . Ini adalah lingkungan yang menyenangkan, hampir seperti permainan di mana robot perlu membantu manusia untuk membuat basis ruang angkasa dapat dihuni. Robot diprogram oleh anak-anak sementara tugas yang semakin kompleks dilakukan. Program ini mengajarkan dasar-dasar pemrograman dengan cara yang berorientasi pada tujuan dan lucu.

rics
sumber
3

Robotika Microsoft GRATIS dan termasuk simulator . Ini bukan lingkungan yang paling mudah di dunia, tetapi itu kuat dan sesuai untuk robotika nyata. Saya pikir dengan keterlibatan guru untuk mengatur hal-hal sebelumnya, itu bisa digunakan. Ada 'paket' simulator untuk LEGO, Neato dan beberapa robot lainnya, dan mereka dapat diprogram dalam C # atau bahasa tarik dan lepas visual.

Sekali lagi, saya pikir itu akan membutuhkan beberapa pekerjaan di muka untuk membuatnya mudah bagi anak muda untuk digunakan, tetapi tidak akan terlalu sulit, dan akan menjadi pendekatan saya mengingat kebutuhan Anda. Saya akan mengatakan sejauh kompleksitasnya, ini (windows) vs lingkungan Linux dengan Gazebo / ROS, lingkungan windows akan sedikit lebih rumit, meskipun sebagian besar dari itu mudah-mudahan akan disembunyikan dengan pekerjaan persiapan.

Spiked3
sumber
2

RobotC memiliki simulator yang tersedia, walaupun keduanya merupakan produk dengan biaya tertentu. Namun, mereka sangat diarahkan pada siswa dan pendidikan yang lebih muda. Ini akan menjadi rute termudah, dan paling tepat jika biaya bukan merupakan faktor pemblokiran ( sekitar $ 100 per lisensi untuk keduanya untuk pengguna tunggal, $ 300 untuk 6 pengguna, $ 600 untuk 30 pengguna ).

Jika Anda membeli versi siswa ROBOTC untuk MINDSTORMS NXT dari LEGO harga dapat menjadi $ 49 untuk setiap $ 40 atau (lebih dari 20 lisensi)

Spiked3
sumber
2

V-Rep (Platform Eksperimen Robot Virtual) tampaknya cukup luas dalam jenis simulasi yang dapat dilakukan. Gratis untuk tujuan pendidikan dan dilengkapi dengan berbagai alat. Anda dapat melihat demo video di YouTube ini .

Shahbaz
sumber
1

Mungkin bukan simulator robotika lengkap tetapi kami menggunakan CAD 3D, Autodesk Inventor, cukup banyak untuk simulasi. Biasanya kita membuat antarmuka ke CAD mirip dengan apa yang kita inginkan untuk perangkat keras. Dengan begitu kita dapat menggunakan model CAD sebagai prototipe virtual untuk:

  • Tangkap kesalahan desain lebih awal. Tabrakan, tidak cukup stroke dll
  • Ini juga berguna untuk mencari kompensasi kesalahan seperti kesalahan penyelarasan. Dengan menggunakan CAD, kami dapat memodelkan berbagai kesalahan satu per satu dan menguji kompensasi kami. Lebih mudah untuk memperkenalkan kesalahan besar dengan tanda yang diketahui.
  • CAD juga memberikan jawaban tentang hal-hal momen inersia seperti itu.
  • Kami juga menggunakan model CAD untuk menghasilkan program untuk peralatan.
Johan Larsson
sumber
Koreksi saya jika saya salah tetapi CAD sangat berfokus pada pemodelan perangkat keras dan fisika dengan benar, apalagi pada pemrograman robot. OP tertarik untuk mengajar pemrograman, bukan rekayasa, jadi saya pikir sistem CAD tidak mengatasi masalahnya
ThomasH
@ Thomas, kami telah memiliki beberapa pemrograman yang sukses untuk api CAD dan dengan cara itu mampu melakukan banyak pengembangan. Haruskah saya hapus?
Johan Larsson
1
Tidak perlu dihapus. Ini bukan jawaban yang buruk hanya karena saya pikir itu tidak cocok untuk OP. Voting biasanya mendorong jawaban yang paling pas ke puncak, dan OP akan menerima yang paling membantu. Tetapi pertanyaan Anda mungkin masih menarik bagi seseorang dengan masalah serupa yang muncul di pertanyaan ini
ThomasH
1

Anda mungkin ingin memeriksa " MindRover ". Sudah lama dan sulit ditemukan sekarang karena situs web asli sudah tidak ada, tetapi masih dapat ditemukan di Ebay atau Amazon . Meskipun berorientasi pada permainan / misi, itu melibatkan memetik dari palet komponen robot, menempatkannya pada sasis, dan kemudian menghubungkannya bersama. Ini dilakukan dengan sangat baik untuk sebuah game dan dapat digunakan untuk mengeksplorasi konsep sederhana hingga semi-maju. Beberapa tangkapan layar di sini: http://images.google.com/images?q=mindrover .

Jika Anda mencari sesuatu yang sedikit lebih serius dengan kemampuan dunia nyata, Anda mungkin ingin memeriksa FlowStone for Education . Saya belum pernah menggunakannya, tapi saya percaya ini adalah lingkungan pemrograman visual yang ideal untuk jenis pekerjaan robot.

Terakhir, meskipun bukan perangkat lunak atau simulasi, saya baru-baru ini menemukan komentar pada reddit oleh phblj mengenai teknik untuk memperkenalkan pemrograman , dan saya pikir itu benar-benar bagus (dan terutama dapat beradaptasi dengan pemrograman robotika). Mengutip:

Contoh bagus komputer yang saya lakukan dengan anak-anak: Seorang anak harus menjadi "program" dan memberikan instruksi tentang cara membuat roti lapis selai kacang dan jeli, tetapi mereka tidak bisa melihat tindakan saya. Saya adalah komputer, dan mengikuti instruksi dengan tepat. Hilaritas terjadi. (Tidak membuka tutup bilah kacang, tidak mengambil roti dari kotak saya memilikinya di). Setelah satu menit, seorang anak lain datang dan mencoba. Mereka sedikit lebih jauh, tetapi masih menggelepar. "Letakkan selai kacang di atas roti" menghasilkan toples yang duduk di atas roti, dll. Butuh beberapa anak, tetapi akhirnya kami mendapatkannya. Jika Anda memiliki asisten, minta mereka menuliskan instruksi seperti yang dikatakan, membuat "program."

Anda bisa masuk ke penjelasan, tetapi, hal yang benar-benar macet adalah bahwa anak-anak masing-masing "lebih pintar daripada komputer." Tetapi komputer itu sangat, sangat cepat dalam mengikuti instruksi. Jadi mereka perlu menggunakan kecerdasan mereka dan kecepatan komputer, dan ... pemrograman!

Kaliatech
sumber