Skip to main content

Cảm biến thị giác là gì? - Trăn

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 trang này

Trang này sẽ giới thiệu cho học sinh về Cảm biến thị giác và một số khả năng của nó. Sau đó, học sinh sẽ phân tích một phần hình ảnh của một dự án ví dụ để xem Cảm biến thị giác có thể được sử dụng như thế nào với VEXcode V5.

Các câu hỏi thảo luận Motivate ở cuối trang có thể được hoàn thành dưới dạng thảo luận trên lớp hoặc riêng lẻ trong sổ ghi chép kỹ thuật của sinh viên.
 

Biểu tượng thảo luận thúc đẩy Thúc đẩy thảo luận

Q:Những loại công việc nào của con người sẽ được hưởng lợi từ sự trợ giúp của robot có cảm biến thị giác?
A:Hãy lắng nghe những công việc của con người sẽ được hưởng lợi từ khả năng quan sát môi trường và/hoặc điều khiển môi trường xung quanh từ xa (ví dụ: quan sát động vật hoang dã, tháo dỡ chất nổ hoặc thực hiện phẫu thuật có sự hỗ trợ của robot).

Q:Hãy nêu tên một thiết bị và mô tả cách thiết bị đó sử dụng đầu vào, đầu ra và quy trình.
A:Một câu trả lời khả thi có thể là máy tính lấy chuỗi số và toán tử mà người dùng nhập vào, xử lý các số và phép tính đó để tính toán kết quả, sau đó xuất kết quả đó ra màn hình cho người dùng.

Q:Tại sao bạn nghĩ rằng vòng lặp mãi mãi được sử dụng trong dự án được trình bày?
A:Vòng lặp mãi mãi được sử dụng để Cảm biến thị giác liên tục kiểm tra nhiều ảnh chụp nhanh được chụp để xem liệu có vật thể màu đỏ nào xuất hiện trong tầm nhìn của cảm biến hay không.

Mô tả

Cảm biến thị giác cho phép robot của bạn thu thập dữ liệu trực quan từ nguồn cấp dữ liệu trực tiếp. Nguồn cấp dữ liệu trực tiếp là truyền phát trực tiếp những gì máy quay video đang ghi lại. Cảm biến thị giác giống như một chiếc máy ảnh thông minh có thể quan sát, lựa chọn, điều chỉnh và lưu trữ màu sắc và các đối tượng xuất hiện trong trường thị giác của nó.

Cảm biến Tầm nhìn VEX với đỉnh của cảm biến được hiển thị ở bên trái và dưới cùng của cảm biến, với các cổng cho các kết nối được hiển thị ở bên phải. Cảm biến
thị giác

Năng lực:

  • Cảm biến này có thể được sử dụng để nhận biết màu sắc và hoa văn màu sắc.
  • Cảm biến này có thể được sử dụng để theo dõi một vật thể.
  • Cảm biến này có thể được sử dụng để thu thập thông tin về môi trường.

Cảm biến thị giác cho phép robot sử dụng dữ liệu đầu vào trực quan từ môi trường của nó. Sau đó, dự án có thể xác định cách dữ liệu đầu vào trực quan sẽ ảnh hưởng đến hành vi của robot. Ví dụ, robot có thể thực hiện các hành động (đầu ra) như quay động cơ hoặc hiển thị kết quả trên màn hình LCD.

Cảm biến thị giác cũng có thể chụp ảnh nhanh những gì ở phía trước và phân tích theo yêu cầu của người dùng. Ví dụ: người dùng có thể thu thập dữ liệu từ ảnh chụp nhanh như đối tượng có màu gì? Có vật thể nào được phát hiện không? Vật thể có kích thước bao nhiêu (chiều rộng và chiều cao)?

Sau đó, robot có thể đưa ra quyết định dựa trên dữ liệu này. Dự án ví dụ một phần dưới đây cho thấy điều này được thực hiện như thế nào. Ba màu đang được kiểm tra nhiều lần sau khi dự án được bắt đầu và mỗi lần kiểm tra màu là một sự kiện khác nhau. Chỉ sự kiện kiểm tra Xanh dương được hiển thị bên dưới. Ngăn xếp này có robot in "Blue Object Found" nếu một vật thể màu xanh được phát hiện hoặc "No Blue Object" nếu không. Các sự kiện check_redcheck_green không được hiển thị bên dưới có các ngăn xếp tương tự để quyết định in gì trên màn hình.

# Library import
from vex import *

# Begin project code

check_red = Event()
check_blue = Event()
check_green = Event()

def check_blue 
    _callback ()
    : brain.screen.set_font (FontType.MONO40
    ) brain.screen.clear_row (1) brain.screen.set_cursor (1, 1)

    # Take a snapshot with the Vision Sensor and store
    vision data into a variable vision_5_objects = vision_5.take_snapshot (vision_5__ BLUEBOX)
    # Check the variable to see
    if the snapshot detected
        any blue objects      if (vision_5_ 
        objects): brain.screen.print ("Blue Object Found")
    else: brain.screen.print.print ("No Blue Object")



# System Event Handlers
check_blue (
check_blue_callback) #add 
    15ms delay to
    make sure events
    are registered
    correctly (15, MS)


    while checkecec_blue.broadcast_wait_redand (check.broad_)