Menguji spoonBot#

spoonBot adalah robot penggerak diferensial sederhana dengan sendok yang terhubung ke servo yang memungkinkannya untuk pan dan tilt. Lihat halaman spoonBot-Construction untuk informasi tentang membangun spoonBot. Program contoh yang disertakan dengan distribusi cc3 terbaru berisi kode contoh yang mendemonstrasikan cara memindahkan spoonBot serta menjalankan mode Demo spoonBot. Mode Demo spoonBot mirip dengan mode demo CMUcam2 hanya saja ia menggunakan spoonBot untuk pan dan tilt.

Mengkalibrasi spoonBot#

Sebelum menggunakan spoonBot, Anda perlu mengkalibrasi pengaturan servo Anda. Ini dilakukan dengan mengatur struktur data berikut di bagian atas main:

// SpoonBot Calibration Points
 //   Assume Left = Servo 0
 //   Assume Right = Servo 1
 //   Assume Spoon = Servo 2
 my_cal.left_mid = 71;
 my_cal.right_mid = 77;
 my_cal.spoon_down = 100;
 my_cal.spoon_mid = 202;
 my_cal.spoon_up = 255;
 my_cal.left_dir = 1;
 my_cal.right_dir = -1;
 my_cal.spoon_dir = 1;
 // Set the calibration points
 spoonBot_calibrate (my_cal);
  • Flash firmware emulasi cmucam2 ke kamera

  • Buka CMUcam3 Frame Grabber atau Program Terminal

    • Menggunakan Frame Grabber, pergi ke panel "Settings" dan seret bilah servo untuk mengubah nilai

    • Di terminal, ketik "sv <servo-id> <servo-value>" untuk mengatur servo misalnya:

      :sv 0 77
      ACK
      
  • Temukan posisi tengah Servo 0 dan 1 dengan menyesuaikannya hingga roda berhenti

    • my_cal.left_mid = <nilai dari servo 0>

    • my_cal.righ_mid = <nilai dari servo 1>

  • Sekarang Anda perlu menemukan tanda arah

    • Melihat spoonBot dari belakang (sendok menghadap Anda) coba turunkan angka servo 0 yang seharusnya adalah roda kiri

      • jika servo berputar searah jarum jam / mundur (ke arah Anda) maka left_dir harus diatur ke 1

      • jika servo berputar berlawanan arah jarum jam, left_dir harus diatur ke -1

    • Ulangi untuk servo 1 (yang seharusnya adalah roda kanan dari sudut pandang spoonBot)

      • jika servo berputar searah jarum jam / mundur (ke arah Anda) maka right_dir harus diatur ke 1

      • jika servo berputar berlawanan arah jarum jam, right_dir harus diatur ke -1

    • Biasanya, satu servo harus diatur ke negatif!

  • Sekarang temukan posisi sendok Min, Middle, dan Max dengan menyesuaikan Servo 2

    • Min seharusnya nilai terkecil yang mendorong sendok ke bawah dan karenanya memiringkan spoonBot ke depan

      • Atur spoon_down sesuai kebutuhan

    • Max biasanya 255 dan seharusnya memposisikan spoonBot melihat setinggi mungkin

      • Atur spoon_up sesuai kebutuhan

    • Middle adalah nilai yang membuat servo rata

      • Atur spoon_mid sesuai kebutuhan

    • Jika Min dan Max tampak terbalik, ubah spoon_dir menjadi -1

Setelah kalibrasi selesai, kompilasi ulang proyek dan FLASH CMUcam3. spoonBot pertama-tama akan menjalankan serangkaian gerakan terskrip untuk memastikan servo diatur dengan benar. Kemudian spoonBot akan menunggu penekanan tombol untuk mulai melacak warna. Teks ditampilkan melalui port serial memberi tahu Anda tentang berbagai tahap operasi.

Gerakan yang diskripkan seharusnya sebagai berikut:

  • Diam di Tempat

  • Lihat ke Bawah

  • Lihat ke Atas

  • Kembali ke Posisi Tengah

  • Putar Searah Jarum Jam (dilihat dari atas)

  • Putar Berlawanan Arah Jarum Jam

  • Led Merah mati saat kamera bersiap

  • Led Merah menyala ketika siap melacak

Jika ini terlihat benar, maka coba pegang objek berwarna cerah beberapa inci di depan kamera dan kemudian tekan tombol. Saat Anda menarik objek menjauh, spoonBot seharusnya berputar ke arahnya. Gunakan objek berwarna cerah yang seseragam mungkin dalam warna. Objek seperti kain merah cerah akan bekerja dengan baik karena memantulkan sangat sedikit cahaya (selain merah murni). Pastikan ada cukup pencahayaan di ruangan. Coba ambil frame untuk melihat seperti apa kondisinya.

Catatan: Jika Anda ingin menonaktifkan servo tanpa mencabutnya, lepaskan servo-power-jumper.