Cytron Technologies

Giờ làm việc: 8:00 - 17:00

Thứ 2 - Thứ 6 (trừ ngày lễ)

Hotline 0362917357 

AI với ZOOM:BIT: Theo dõi vật thể

Mô hình ZOOM:BIT kết hợp cùng AI có thể giúp theo dõi một đối tượng bằng mô tơ servo của đối tượng đó.

Trong hướng dẫn này, chúng ta sẽ khám phá một dự án thú vị mới: Theo dõi đối tượng! Chúng tôi sẽ hướng dẫn ZOOM:BIT cách theo dõi và theo dõi một đối tượng bằng mô tơ servo của đối tượng đó. Bắt đầu nào.

Phần cứng:

ZOOM:BIT

Video hướng dẫn
Dự án này hoạt động như thế nào?

Bằng cách nhấn Nút A, ZOOM:BIT sẽ tìm hiểu và ghi nhớ đối tượng bạn muốn theo dõi.

Khi ZOOM:BIT đã học được đối tượng, nó sẽ bắt đầu theo dõi đối tượng đó. Huskylens kết nối với mô tơ servo sẽ quay theo đối tượng. Nếu đối tượng di chuyển sang phải, mô tơ servo sẽ quay sang phải để giữ nó ở giữa.

Nếu đối tượng di chuyển sang trái, mô tơ servo sẽ rẽ trái để đưa nó về gần. Bằng cách này, ZOOM:BIT có thể giữ đối tượng trong tầm nhìn của nó, bất kể nó di chuyển đến đâu.

Nhấn Nút B sẽ xóa bộ nhớ của ZOOM:BIT và chuẩn bị cho nó học một đối tượng mới.

Xây dựng mã code

Trước tiên, chúng ta sẽ cần thêm các tiện ích mở rộng ZOOM:BIT và Huskylens trong MakeCode Editor. Khi chúng đã sẵn sàng, chúng ta có thể bắt đầu xây dựng mã.

Bạn có thể xem và tải xuống mã hoàn chỉnh từ đây.

Mã này dùng làm gì?

Mã bắt đầu bằng cách khởi tạo Huskylens để sử dụng thuật toán theo dõi đối tượng. Chúng tôi đã tạo một biến có tên current_X để theo dõi vị trí mô tơ servo và chúng tôi đặt vị trí ban đầu của mô tơ servo là 90 độ.

Khi nhấn Nút A, ZOOM:BIT sẽ tìm hiểu và ghi nhớ đối tượng bạn muốn theo dõi. Điều này được thực hiện bằng cách chụp ảnh của đối tượng và gán cho nó một ID.

Nhấn Nút B sẽ xóa bộ nhớ này, cho phép bạn dạy ZOOM:BIT một đối tượng mới.

Bên trong vòng lặp mãi mãi, chúng tôi đã tạo một biến mới gọi là X_center để đơn giản hóa việc hiểu mã. Biến này sẽ giữ vị trí nằm ngang của đối tượng chúng ta đang theo dõi.

X_center đề cập đến vị trí nằm ngang của đối tượng được theo dõi trên màn hình của máy ảnh. Hãy tưởng tượng màn hình camera dưới dạng biểu đồ có trục x ngang và trục y dọc. Trục x biểu thị vị trí nằm ngang, với cạnh trái là 0 và cạnh phải là 320. Tâm màn hình theo chiều ngang sẽ là 160. Mã lấy một giá trị từ Huskylens đại diện cho vị trí nằm ngang của đối tượng trên màn hình. Giá trị này, được gọi là X_center, nằm trong khoảng từ 0 (ngoài cùng bên trái) đến 320 (ngoài cùng bên phải).

Sau đó, chúng ta sử dụng khối “show custom text” để hiển thị giá trị X_center của đối tượng trên màn hình tại tọa độ (0,0).

Lưu ý rằng, nếu giá trị X_center được hiển thị là -1, điều này cho biết đối tượng không được phát hiện.

Nếu tâm X của đối tượng lớn hơn 190, mô tơ servo sẽ di chuyển sang phải bằng cách giảm vị trí current_X đi 3 độ để về gần đối tượng.

Nếu tâm X nằm trong khoảng từ 0 đến 130, mô tơ servo sẽ di chuyển sang trái bằng cách tăng vị trí current_X thêm 3 độ để đưa đối tượng về gần.

Vị trí của mô tơ servo bị giới hạn trong khoảng từ 0 đến 180 độ để đảm bảo nó quay trong phạm vi của nó.

Dự án hoàn chỉnh

Hoàn thành tốt dự án thứ hai của loạt ZOOM:BIT & Huskylens. Trong hướng dẫn tiếp theo, chúng ta sẽ xem cách ZOOM:BIT có thể nhận biết và phản ứng với màu sắc.

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận