การจำลอง CMUcam2#

CMUcam2 มีความสามารถต่อไปนี้:

  • ติดตามหยดสีที่ผู้ใช้กำหนดได้สูงสุด 50 เฟรมต่อวินาที (อัตราเฟรมขึ้นอยู่กับการตั้งค่าความละเอียดและขนาดหน้าต่าง)

  • ติดตามการเคลื่อนไหวโดยใช้ frame differencing ที่ 26 เฟรมต่อวินาที

  • หาจุดศูนย์กลางมวลของข้อมูลการติดตามใดๆ

  • รวบรวมข้อมูลค่าเฉลี่ยสีและความแปรปรวน

  • รวบรวมฮิสโทแกรม 28 บินของแต่ละช่องสี

  • ประมวลผลภาพที่กรองขอบในแนวนอน (ไม่รองรับ)

  • ถ่ายโอนบิตแมปไบนารีแบบเรียลไทม์ของพิกเซลที่ถูกติดตามในภาพ

  • การจัดหน้าต่างภาพตามใจ

  • การลดขนาดตัวอย่างภาพ

  • ปรับคุณสมบัติภาพของกล้อง

  • ดัมป์ภาพดิบ (ช่องเดียวหรือหลายช่อง)

  • ความละเอียดสูงสุด 176 x 255

  • รองรับอัตราบอด: 115,200 57,600 38,400 19,200 9,600 4,800 2,400 1,200 BPS

  • ควบคุมเอาต์พุตเซอร์โว 5 ตัว

  • โหมดประมวลผลภาพแบบขนานลูก (slave) จากบัสกล้องเดียว (ไม่รองรับ)

  • ใช้เซอร์โวโดยอัตโนมัติเพื่อทำการติดตามสีสองแกน

  • เอาต์พุตวิดีโอแอนะล็อกขาวดำ (PAL หรือ NTSC ขึ้นอยู่กับโมดูลกล้องที่ใช้)

  • การปรับแต่งแพ็กเก็ตเอาต์พุตที่ยืดหยุ่น

  • โหมดปิดเครื่อง

  • การประมวลผลภาพหลายรอบบนภาพที่บัฟเฟอร์ไว้

อิมเมจการจำลอง CMUcam2 ที่คอมไพล์ไว้ล่วงหน้า#

Compiled Firmware Image

มีความแตกต่างหลายอย่างระหว่างการจำลอง CMUcam2 และ CMUcam2 จริง ด้านล่างนี้เป็นรายการฟังก์ชันการทำงานทั้งหมดของ CMUcam2 โดยขีดฆ่าฟีเจอร์ที่ไม่รองรับ ฟีเจอร์ที่ถูกขีดฆ่าหลายอย่างจะได้รับการรองรับในอนาคตอันใกล้

BM โหมดบัฟเฟอร์
CR รีจิสเตอร์กล้อง
CP พลังงานกล้อง
DC ช่องความแตกต่าง
DS ดาวน์แซมเปิล
FD ความแตกต่างของเฟรม
FS สตรีมเฟรม (เพิ่มใน r553)
GB รับสถานะปุ่ม
GH รับฮิสโทแกรม
GI รับอินพุต Aux IO
GM รับค่าเฉลี่ย
GS รับตำแหน่งเซอร์โว
GT รับพารามิเตอร์การติดตาม
GV รับเวอร์ชัน
GW รับหน้าต่าง
HC กำหนดค่าฮิสโทแกรม
HD ความแตกต่างความละเอียดสูง
HR โหมดความละเอียดสูง
HT ตั้งค่าการติดตามฮิสโทแกรม (ไม่รองรับ)
L0 ควบคุม LED
LF โหลดเฟรมเพื่อหาความแตกต่าง
LM โหมดเส้น
MD ความแตกต่างแบบมาสก์ (ไม่รองรับ)
NF ตัวกรองสัญญาณรบกวน
OM มาสก์แพ็กเก็ตเอาต์พุต
PD ความแตกต่างพิกเซล (ไม่รองรับ)
PF ตัวกรองแพ็กเก็ต
PM โหมดโพล
RF อ่านเฟรมเข้าบัฟเฟอร์
RM โหมดดิบ
RS รีเซ็ต
SF ส่งเฟรม
SM มาสก์เซอร์โว
SO เอาต์พุตเซอร์โว
SP พารามิเตอร์เซอร์โว
ST คำสั่งตั้งค่าการติดตาม
SV ตำแหน่งเซอร์โว
TC ติดตามสี
TI ติดตามแบบกลับด้าน
TW ติดตามหน้าต่าง
UD อัปโหลดบัฟเฟอร์ Difference (ไม่รองรับ)
VW หน้าต่างเสมือน

คำสั่งต่อไปนี้จะไม่ได้รับการสนับสนุนในอนาคตอันใกล้:

CT ตั้งค่าชนิดกล้อง
DM โหมดหน่วงเวลา
L1 ควบคุม LED (ดูที่ SO แทน)
PS ข้ามแพ็กเก็ต
SD สลีปลึก
SL คำสั่งสลีป

ความแตกต่างของการจำลอง CMUcam2#

  • ช่วงอินพุตเซอร์โว

    • ตอนนี้เซอร์โวเป็นค่า 8 บิต 0-255

  • จัมเปอร์

    • เนื่องจากไม่มีจัมเปอร์บน CMUcam3 การเปลี่ยนอัตราบอดและทิศทางเซอร์โวจึงต้องทำในเวลาคอมไพล์ - สิ่งเหล่านี้ควบคุมโดย #defines ที่ด้านบนของซอร์สโค้ด cmucam.c

  • คำสั่ง Set Input (SI pin )

    • ตั้งค่า pin ให้เป็นอินพุต

  • คำสั่ง Software Color Space (CS value )

    • CS 0 ตั้งค่าปริภูมิสีเป็นค่าเริ่มต้นของฮาร์ดแวร์ (RGB หรือ YCrCb)

    • CS 1 ทำการแปลงด้วยซอฟต์แวร์ไปเป็นปริภูมิสี HSV

      • การแปลงจะถือว่าฮาร์ดแวร์ถูกตั้งค่าเป็น RGB เพื่อผลลัพธ์ที่ถูกต้อง

      • ปริภูมิ HSV เป็นปริภูมิจำนวนเต็มที่ค่าทั้งหมดถูกปรับขนาดระหว่าง 16 ถึง 240

    • หมายเหตุ: มีให้ใช้งานเฉพาะใน r504 ขึ้นไปเท่านั้น

  • Set Output สามารถควบคุม LED สีน้ำเงินและสีส้มได้

    • เซอร์โว 2 และ 3 จะหยุดทำงาน

    • SO 2 1 -> เปิดสีน้ำเงิน

    • SO 2 0 -> ปิดสีน้ำเงิน

    • SO 3 1 -> เปิดสีส้ม

    • SO 3 0 -> ปิดสีส้ม

  • ไม่มีโหมดทาส

    • เป็นไปได้ แต่ปัจจุบันเราไม่รองรับ

  • มาสก์เอาต์พุต (OM)

    • รองรับเฉพาะแพ็กเก็ต T และ S (ชนิด 0 และ 1)

  • โหมดเส้น (LM)

    • รองรับเฉพาะโหมดติดตามสี (LM 0 1)

    • สถิติการติดตามสีถูกเพิ่มใน r523 (LM 0 2)

  • Send JPEG (SJ)

    • ส่งเฟรมที่บีบอัดแบบ jpeg พร้อมส่วนหัวและทั้งหมด

  • โหมดสาธิต

    • เนื่องจากการกดปุ่มโปรแกรมค้างไว้จะทำให้ CMUcam3 เข้าสู่โหมดโปรแกรม คุณจึงต้องกดปุ่มครึ่งวินาทีหลังจากเริ่มทำงานเพื่อเข้าสู่โหมดสาธิต

  • ความแตกต่างเฟรมความละเอียดสูง

    • ตอนนี้สิ่งนี้ทำงานเหมือนกับการทำ frame differencing ความละเอียดต่ำ เพียงแต่ที่ความละเอียดสูงกว่า