Skip to main content

Thử thách dữ liệu tầm nhìn - C++

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Mục đích của Thử thách dữ liệu tầm nhìn

Mục đích của Thử thách dữ liệu thị giác là đảm bảo rằng học sinh hiểu dữ liệu được thu thập từ ảnh chụp nhanh của Cảm biến thị giác và cách tính giá trị tâm X và Y. Học sinh của bạn cũng nên hoàn thành bài thực hành này với sự hiểu biết về cách dữ liệu đó có thể được diễn giải (ví dụ: giá trị X trung tâm có thể được sử dụng để xác định vị trí của vật thể so với điểm trung tâm của rô-bốt) và các phương pháp hay nhất để đặt tên cho vật thể khi cấu hình.

Ảnh chụp nhanh Cảm biến Tầm nhìn từ cấu hình cho thấy một bàn tay đang cầm một bánh răng màu vàng. Lớp phủ hình vuông nằm trên bánh răng với dữ liệu sau được liệt kê ở trên: Yellow Box, X 90, Y 62, W 102, H 98.

Hoàn thành Thử thách Dữ liệu Thị giác bằng cách trả lời các câu hỏi và điền dữ liệu còn thiếu vào sổ ghi chép kỹ thuật của bạn.

  1. Hướng dẫn nào sau đây được sử dụng để chụp ảnh nhanh ở trên?
    1. Vision5.takeSnapshot(Vision5__REDBOX);
    2. Vision5.takeSnapshot(Vision5__YELLOWBOX);
  2. Điền vào các giá trị sau:

    Các lệnh Cảm biến Tầm nhìn được liệt kê ở phía bên trái với các hộp trống để điền vào các giá trị của chúng. Từ trên xuống dưới, các khối được liệt kê: Số lượng đối tượng > 0, số lượng đối tượng, tâm đối tượng 0 x, tâm đối tượng 0 y, chiều rộng đối tượng 0 và chiều cao đối tượng 0.

  3. YELLOWBOX ở bên trái hay bên phải điểm trung tâm của robot?
  4. YELLOWBOX ở trên hay dưới điểm trung tâm của robot?
  5. YELLOWBOX làKHÔNG PHẢIlà tên tốt nhất để đặt cho đối tượng này nếu bạn muốn dễ dàng nhận biết chữ ký màu nào là chữ ký màu nào. Cái nào trong số này là cái tên hay hơn? Tại sao?
    1. YELLOWGEAR
    2. YELLOWCUBE

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Câu trả lời

Câu trả lời của học sinh có thể được thảo luận chung cả lớp và/hoặc bạn có thể xem lại sổ ghi chép kỹ thuật của học sinh để đảm bảo rằng các em đã hoàn thành hoạt động thành công.

  1. Vision5.takeSnapshot(Vision5__YELLOWBOX);
  2. Dữ liệu đã hoàn thành được căn chỉnh theo lệnh VEXcode. Đọc câu trả lời theo thứ tự, số lượng vật thể > 0 = Đúng; số lượng vật thể = 1; tâm vật thể 0 x = 141; tâm vật thể 0 y = 111; chiều rộng vật thể 0 = 102; chiều cao vật thể 0 = 98.
  3. YELLOWBOX hơi lệch về bên trái so với điểm trung tâm của robot nhưng chỉ chênh lệch 16,5 pixel (điểm trung tâm 157,5 - 141).
  4. YELLOWBOX thấp hơn một chút so với điểm trung tâm của robot nhưng chỉ chênh lệch 5,5 pixel (111 - tâm 105,5).
  5. MỘT. YELLOWGEAR

    Đây là một cái tên hay hơn vì nó không chỉ mô tả màu sắc của vật thể mà còn mô tả cả loại vật thể. Đó là một bánh răng,chứ không phảimột hộp hay một khối lập phương.

Biểu tượng Mở rộng việc học của bạn Mở rộng việc học của bạn - Sử dụng Hướng dẫn cảm biến trong một Dự án

Bây giờ, khi một số dữ liệu được báo cáo của Cảm biến thị giác đã được hiểu rõ hơn, học sinh có thể muốn sử dụng Hướng dẫn cảm biến này trong một dự án. Cho phép họ khám phá cách thực hiện điều đó.

void has RedCallback() {

  Brain.Screen.setFont(mono40);
  Brain.Screen.clearLine(3);
  Brain.Screen.setCursor(3, 1);
  Vision5.takeSnapshot(Vision5__REDBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print("Đã tìm thấy đối tượng màu đỏ");
    Brain.Screen.newLine();
    Brain.Screen.print(Vision5.objectCount);
    Brain.Screen.newLine();
    Brain.Screen.print(Vision5.objects[0].centerX);
    Brain.Screen.print(Vision5.objects[0].centerY);
    Brain.Screen.print(Vision5.objects[0].width);
    Brain.Screen.print(Vision5.objects[0].height);

  } else {
    Brain.Screen.print("Không có đối tượng màu đỏ");
  }
}

Học sinh trình độ cao hơn có thể sử dụng những hướng dẫn này trong một dự án để đưa ra quyết định.

Drivetrain.drive(tiến);
Vision5.takeSnapshot(Vision5__REDBOX);

if (Vision5.objectCount > 1 && Vision5.objects[0].centerX > 157.5) {
  Drivetrain.turnFor(trái, 90, độ);
} else {
  Drivetrain.turnFor(phải, 90, độ);
}