Membuat robot mungil dengan menggunakan otak jarak jauh

8

Saya ingin membangun robot sekecil mungkin dan dengan beberapa bagian "halus" mungkin (bot akan saling menabrak).

Saya bertanya-tanya apakah mungkin menggunakan chip kecil yang dapat menerima perintah bluetooth / IR / wifi untuk menggerakkan motor, dan pada gilirannya, mengirim kembali umpan balik berdasarkan sensor seperti akselerometer (untuk mendeteksi dampak).

Saya mungkin bisa mencapai sesuatu seperti ini dengan PiCy

pedas

namun ini sedikit lebih besar dari yang saya inginkan (karena ukuran Pi) dan saya tidak yakin berapa lama Pi akan berlangsung terus menerus.

Karena itu saya ingin mencoba mengimbangi otak (Pi) ke sisi arena dan hanya menggunakan chip kecil untuk menerima perintah bergerak, dan mengirim kembali data dari accelerometer.

Apakah Anda punya rekomendasi untuk chip seperti itu? Wifi akan menjadi pilihan saya tetapi jika itu mempengaruhi ukuran saya bisa mencoba bt

Sunting: Setelah penelitian lebih lanjut tampaknya Arduino nano dengan WiFi RedBack shield mungkin melakukan pekerjaan bersama dengan sesuatu seperti ini untuk motor: http://www.gravitech.us/2mwfecoadfor.html

Titan
sumber

Jawaban:

2

Anda mungkin menemukan bahwa papan rPI lebih tahan lama dari yang Anda harapkan. Tidak ada banyak massa untuk mereka, jadi sedikit karet atau busa (untuk mengurangi keributan di sekitar) harus cukup untuk melindungi mereka - asalkan robot Anda tidak bashing bersama dengan kekuatan yang cukup untuk memecahkan casing plastik di sekitar mereka.

Mengosongkan pemrosesan ke sistem jarak jauh (dan kemungkinan lebih kuat) akan memberi Anda beberapa keuntungan, seperti yang telah Anda catat - lebih sedikit berat, lebih sedikit untuk putus, lebih sedikit baterai yang diperlukan untuk memindahkan benda itu.

Kelemahannya adalah keterbatasan bandwidth, dan latensi. Setelah Anda memperkenalkan penundaan transmisi nirkabel, Anda beralih dari loop berbasis perangkat keras yang dapat menangani di ballpark ribuan iterasi per detik ke loop berbasis jaringan yang hanya dapat menangani puluhan iterasi per detik.

Untuk hasil terbaik, desain Anda harus melakukan sebanyak mungkin pemrosesan kontrol pada perangkat keras lokal, dan menggunakan koneksi jarak jauh untuk keputusan perencanaan tingkat tinggi yang hanya perlu diterima beberapa kali per detik.

Ian
sumber
Kontrol Anda akan melalui webcam melalui internet terlepas dari itu sedikit keterlambatan yang diharapkan pula.
Titan
0

Ada dua pendekatan untuk membangun robot yang Anda gambarkan.

Yang pertama, seperti yang Anda sarankan, adalah memisahkan kekuatan pemrosesan dari sisa robot yang memegang sensor dan aktuator. Untuk melakukan itu, Anda memerlukan komunikasi antara unit pemrosesan (PC / RPi / mikrokontroler lain) dan robot Anda. Solusi murah untuk ini adalah dengan menggunakan modul Bluetooth murah (cari ebay untuk 'Serial Bluetooth Module', harganya tidak lebih dari $ 5). Di sisi robot Anda akan memerlukan mikrokontroler juga karena Anda perlu menerima data dari Bluetooth, memprosesnya dan mengubahnya untuk mengontrol sinyal untuk motor. Selain itu, mikrokontroler yang sama akan bertanggung jawab untuk membaca sensor dan mengirimkan kembali data ke unit pemrosesan jarak jauh.

Pendekatan kedua adalah memiliki unit pemrosesan tunggal yang terletak pada robot. Pengontrol yang sama akan membaca sensor, memberikan kecerdasan dan mengendalikan motor. Karena robot yang Anda gambarkan itu sederhana, pengontrol ini dapat diterapkan pada mikrokontroler sederhana. Anda dapat membuat pengontrol Anda sendiri (menggunakan PIC / AVR / ARM) atau Anda dapat menggunakan solusi siap seperti Arduino, BasicStamp dll. Secara opsional Anda dapat memiliki koneksi Bluetooth dengan PC untuk telemetri (mengamati nilai-nilai sensor dan / atau secara manual mengendalikan robot).

Untuk proyek Anda, pendekatan kedua tampaknya lebih menarik. Biayanya jauh lebih murah dan robot akan bereaksi lebih cepat karena pemrosesan dilakukan langsung pada robot. Juga karena pendekatan pertama membutuhkan unit pemrosesan pada robot juga sepertinya terlalu banyak menggunakan unit kedua untuk diproses. Di sisi lain, pendekatan pertama memungkinkan Anda untuk mengembangkan pengendali robot Anda dalam sistem tingkat yang lebih tinggi (PC / RPi) yang tergantung pada pengalaman Anda, mungkin lingkungan yang lebih nyaman.

Demetris
sumber
Yer alasan utama untuk tidak menempatkan pengontrol besar pada robot adalah untuk menghindari kerusakan setelah benturan. Jika saya menggunakan pendekatan kendali jarak jauh, saya hanya perlu satu pengendali utama untuk beberapa robot (identifikasi perintah / umpan balik dengan ID unik untuk masing-masing). Saya mungkin dapat mencapai solusi "brain on the bot" dengan Adriuno nano yang terlihat cukup kecil dengan perisai Wifi (untuk mengirim dan menerima soket socketio untuk kontrol dan umpan balik dengan server jarak jauh).
Titan
Apa yang Anda sarankan sebenarnya? Untuk memiliki arduino nano dengan WiFi di robot dan unit pemrosesan jarak jauh tambahan? Unit mana yang akan melakukan perhitungan kontrol?
Demetris
Yah aku masih ragu haha. Nano bisa melakukan semuanya, kurasa!
Titan
Ya, untuk tujuan proyek Anda, unit pemrosesan satu-papan tampaknya merupakan pilihan yang lebih baik! Seperti yang saya sebutkan dalam jawaban, jika Anda perlu berkomunikasi dengan robot, Anda dapat melakukannya melalui modul Bluetooth yang murah. Atau Anda dapat menggunakan (bahkan lebih murah!) Modul nrf24l01 + jika Anda perlu membuat jaringan, karena Anda memiliki beberapa robot.
Demetris
0

Saya pikir saya mungkin telah menemukan pengontrol yang sempurna untuk proyek ini:

http://www.robotshop.com/en/dagu-micro-magician-robot-controller.html

Micro Magician akan memungkinkan saya untuk mengontrol 2 motor DC sederhana, mendeteksi dampak dan crash dengan accelerometer DAN menerima perintah bergerak dari penerima IR! Cukup luar biasa untuk ukurannya.

Satu-satunya bagian yang tersisa dalam teka-teki adalah mengirim kembali data ke remote control (data accelerometer). Saya tidak yakin apakah saya bisa memasang pemancar IR atau mungkin BT / Wifi?

Sunting: sepertinya ini bisa melakukan pekerjaan! http://www.dawnrobotics.co.uk/dagu-arduino-bluetooth-module/

Sekarang untuk menemukan motor kecil ...

Titan
sumber
1
Synapse RF266PC1 adalah perangkat yang menarik. Mereka kecil, mudah diprogram, dan berbasis python. ADC pada mereka tidak begitu baik, tetapi dalam kombinasi dengan ATmega328 (chip yang digunakan dalam Arduino UNO) Anda mungkin mendapatkan kekuatan pemrosesan yang cukup untuk mengirim data bolak-balik. Saya juga menggunakan Wixels, tetapi jarak rx / tx mereka meninggalkan banyak yang diinginkan. RF266PC1 ini dapat melakukan mesh networking di luar kotak, Wixels tidak dapat melakukan itu sama sekali.
Daniel F