Bagaimana saya bisa mendeteksi tepi meja?

11

Saya baru dalam pembuatan robot dan baru saja mendapatkan Arduino pertama saya untuk bermain-main.

Saya ingin membuat robot yang akan berkeliaran di atas meja, dan itu akan bertahan lebih lama saya pikir jika saya bisa membuatnya menghindari jatuh dari meja.

Apa yang akan menjadi cara terbaik untuk membuatnya mendeteksi tepi meja sehingga saya bisa membuatnya berhenti dan berbalik? Itu harus menjadi sesuatu yang dapat diandalkan dan lebih disukai murah.

Ini juga akan lebih baik jika saya tidak perlu menambahkan hal-hal tambahan ke meja sehingga saya dapat menggunakannya di permukaan apa pun (ide pertama saya adalah menggambar garis lintasan di atas meja dan membuat robot pengikut garis, tetapi saya tidak sangat menyukai ide ini).

Thomas
sumber

Jawaban:

15

Solusi Roomba untuk masalah ini adalah menambahkan sensor tebing , yang sebenarnya hanya menghadap ke bawah sensor proximity :

Tajam sensor jarak inframerah GP2Y0A21YK.  Sensor memiliki output analog yang bervariasi dari 3,1V pada 10cm hingga 0,4V pada 80cm.

Meskipun teknik ini tampaknya memiliki masalah dengan beberapa permukaan, seperti lantai ubin gelap , sepertinya ini tidak akan menjadi masalah bagi aplikasi Anda.

Anda bahkan dapat membuatnya sendiri dengan LED IR dan dioda foto IR, misalnya Sensor Proximity Inframerah DIY Kompatibel Arduino ini .

Anda mungkin juga bisa mendapatkan beberapa ide dari Tiny Wanderer - A Table Top Robot di atas instruksi .

Mark Booth
sumber
7

Pendekatan yang mudah dan murah adalah dengan menggunakan sensor sentuh seperti kumis. Kontroler hanya memonitor apakah kumis itu bersentuhan dengan tanah, jika tidak, ia berhenti dan bergerak menjauh dari kumis itu.

Metode lain yang cukup murah adalah dengan menggunakan satu set pencari jarak IR yang menunjuk ke tanah. Pengontrol kemudian memonitor nilai yang dikembalikan dari penjaga dan jika ada dari mereka pergi di atas ambang batas yang telah ditentukan maka robot berhenti dan bergerak menjauh dari sensor itu.

DaemonMaker
sumber
Masalah dengan sentuhan adalah bahwa sensor mungkin rusak oleh dampak dari suatu benda di lantai. Keandalan sensor adalah bagian penting dari desain robot.
Jay Beavers
3

Ada sejumlah pendekatan berbeda untuk menyelesaikan masalah ini:

  • Sensor Jarak
  • Sensor Sentuh
  • Tag RFID di sekitar tepi meja (Atau magnet)
  • Kamera (Menggunakan pemrosesan gambar, akan lebih sulit dan Arduino mungkin tidak cukup kuat untuk ini)

Dengan sensor jarak Anda perlu memeriksa apakah itu sinyal digital atau analog yang disediakan oleh sensor. Untuk tujuan 'sensor tebing' Anda, Anda mungkin akan baik-baik saja dengan digital karena Anda akan dapat menggunakan sensor sebagai toggle untuk mendeteksi ketika jaraknya melebihi jarak minimum.

Jika Anda tertarik pada sensor analog untuk memberikan lebih banyak informasi (seperti jarak dari dinding) daripada hanya sakelar sakelar, Anda perlu memeriksa kisaran apa yang ada di perangkat. Sensor tajam yang digambarkan dalam jawaban di atas akan memberi Anda voltase, yang harus Anda konversikan menjadi jarak (Memiliki hubungan terbalik dengan jarak). Anda akan memerlukan 3 sensor untuk mencakup rentang jarak yang sama dengan yang meliputi sensor ultrasonik (mis. SRF08 Ultrasonic Range Finder). Sharp GP2D120 Distance Measurement Sensor 4-30cm untuk jarak pendek, Sharp GP2Y0A02YK Distance Measurement Sensor 20-150cm untuk jarak menengah, dan Sharp GP2Y0A710K0F Sensor Pengukuran Jarak 100-550cm untuk sensor jarak jauh. Saya mengalami masalah dengan sensor ultrasonik yang jatuh ke nol secara sporadis, jadi Anda perlu memprogram pernyataan penangkapan jika dropout ini tidak dapat diterima dalam aplikasi Anda. SRF08 Ultrasonic Range Finder jauh lebih mudah digunakan karena telah disetel oleh pabrikan.

Tom Bamber
sumber