Bir spoonBot’u test etme#

spoonBot, pan ve tilt yapmasına olanak tanıyan bir servoya bağlı bir kaşığa sahip basit bir diferansiyel tahrikli robottur. spoonBot’un oluşturulması hakkında bilgi için spoonBot-Yapımı sayfasına bakın. En son cc3 dağıtımıyla gelen örnek program, spoonBot’un nasıl hareket ettirileceğini ve spoonBot Demo modunun nasıl çalıştırılacağını gösteren örnek kod içerir. spoonBot Demo modu, CMUcam2 demo moduna benzer, yalnızca pan ve tilt için spoonBot’u kullanır.

spoonBot’u Kalibre Etme#

spoonBot’u kullanmadan önce servo ayarlarınızı kalibre etmeniz gerekir. Bu, main’in en üstünde aşağıdaki veri yapısı ayarlanarak yapılır:

// 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);
  • cmucam2 emülasyon donanım yazılımını kameraya flaşlayın

  • Ya CMUcam3 Frame Grabber’ı ya da bir Terminal Programını açın

    • Frame Grabber kullanarak, “Settings” paneline gidin ve değerleri değiştirmek için servo çubuklarını sürükleyin

    • Bir terminalde, servoları ayarlamak için “sv <servo-id> <servo-value>” yazın, örneğin:

      :sv 0 77
      ACK
      
  • Tekerlekler durana kadar ayarlayarak Servo 0 ve 1’in orta konumunu bulun

    • my_cal.left_mid = <servo 0’dan gelen değer>

    • my_cal.righ_mid = <servo 1’den gelen değer>

  • Şimdi yönlerin işaretini bulmanız gerekiyor

    • spoonBot’a arkadan bakarken (kaşık size doğru), sol tekerlek olması gereken servo 0 sayısını düşürmeyi deneyin

      • servo saat yönünde / geriye (size doğru) dönerse left_dir 1 olarak ayarlanmalıdır

      • servo saat yönünün tersine dönerse, left_dir -1 olarak ayarlanmalıdır

    • Servo 1 için tekrarlayın (spoonBot’un bakış açısından sağ tekerlek olması gerekir)

      • servo saat yönünde / geriye (size doğru) dönerse right_dir 1 olarak ayarlanmalıdır

      • servo saat yönünün tersine dönerse, right_dir -1 olarak ayarlanmalıdır

    • Genellikle, bir servo negatife ayarlanmalıdır!

  • Şimdi Servo 2’yi ayarlayarak Min, Middle ve Max kaşık konumlarını bulun

    • Min, kaşığı aşağı iten ve dolayısıyla spoonBot’u öne eğen en küçük değer olmalıdır

      • spoon_down’u buna göre ayarlayın

    • Max genellikle 255’tir ve spoonBot’u olabildiğince yukarı bakacak şekilde konumlandırmalıdır

      • spoon_up’ı buna göre ayarlayın

    • Middle, servoyu düz konuma getiren değerdir

      • spoon_mid’i buna göre ayarlayın

    • Min ve Max ters görünüyorsa, spoon_dir değerini -1 olarak değiştirin

Kalibrasyon tamamlandıktan sonra, projeyi yeniden derleyin ve CMUcam3’ü FLASH’layın. spoonBot önce servoların doğru şekilde kurulduğundan emin olmak için bir dizi betikli hareketten geçecektir. Ardından spoonBot bir rengi izlemeye başlamak için bir düğmeye basılmasını bekleyecektir. Çalışmanın çeşitli aşamalarını size bildiren metin seri port üzerinden görüntülenir.

Betikli hareket şu şekilde olmalıdır:

  • Kıpırdamadan Dur

  • Aşağı Bak

  • Yukarı Bak

  • Orta Konuma Geri Dön

  • Saat Yönünde Döndür (yukarıdan bakıldığında)

  • Saat Yönünün Tersine Döndür

  • Kamera hazırlanırken Kırmızı-Led kapalı

  • İzlemeye hazır olduğunda Kırmızı-Led yanar

Bu doğru görünüyorsa, kameranın birkaç santimetre önünde parlak renkli bir nesne tutmayı deneyin ve ardından düğmeye basın. Nesneyi çektikçe spoonBot ona doğru dönmelidir. Renk açısından olabildiğince tekdüze parlak renkli nesneler kullanın. Parlak kırmızı bir kumaş gibi bir nesne iyi çalışır çünkü (saf kırmızı dışında) çok az ışık yansıtır. Odada yeterli aydınlatma olduğundan emin olun. Koşulların nasıl göründüğünü görmek için bir kare yakalamayı deneyin.

Not: Servoları çıkarmadan devre dışı bırakmak isterseniz, servo-güç-jumper’ını çıkarın.