Mã hóa cảm biến khoảng cách V5 bằng bất đẳng thức toán học

Sử dụng Cảm biến khoảng cách V5 trên rô-bốt của bạn trong trận đấu Cuộc thi rô-bốt VEX (VRC) có thể cho phép rô-bốt của bạn ghi được nhiều điểm hơn bằng cách sử dụng các chuyển động tự động.

Trò chơi được sử dụng làm ví dụ cho bài viết này là trò chơi VRC 2021-2022, Tipping Point. Xem trang này để biết thêm thông tin về trò chơi và cách chơi. Để biết các định nghĩa trò chơi được sử dụng trong toàn bộ bài viết này, tổng quan về luật chơi và cách tính điểm, hãy xem Sổ tay trò chơi dành cho Điểm bùng phát.


Cảm biến khoảng cách V5

Hình ảnh góc nhìn nghiêng của cảm biến khoảng cách V5.

Cảm biến khoảng cách V5 là một trong những cảm biến V5 mạnh mẽ được thiết kế để tích hợp hoàn toàn với nền tảng robot V5.

  • Cảm biến này sử dụng xung ánh sáng laser an toàn trong lớp học để đo khoảng cách từ mặt trước của cảm biến đến vật thể.
  • Cảm biến khoảng cách V5 có thể được sử dụng để phát hiện một vật thể và xác định kích thước tương đối của vật thể đó. Kích thước gần đúng của một đối tượng được báo cáo là nhỏ, trung bình hoặc lớn.
  • Cảm biến cũng có thể được sử dụng để tính toán tốc độ tiếp cận của robot. Tốc độ tiếp cận đo tốc độ của robot/cảm biến khi nó di chuyển về phía vật thể.

Để biết thêm thông tin chi tiết về Cảm biến khoảng cách V5, cách thức hoạt động và cách sử dụng nó với VEXcode V5,xem bài viết này từ Thư viện VEX.


Ví dụ về cảm biến khoảng cách V5

Mục tiêu của dự án này là yêu cầu robot nhặt và di chuyển Mục tiêu di động bằng Cảm biến khoảng cách V5 để phát hiện mục tiêu cách xa bao xa.

Dự án VEXcode V5 Blocks cho phép robot di chuyển về phía trước cho đến khi phát hiện mục tiêu di động, nhặt mục tiêu đó lên và di chuyển tiếp. Dự án yêu cầu: Khi bắt đầu, hãy lái xe về phía trước, chờ cho đến khi khoảng cách đến tâm vật thể (DistanceCenter) tính bằng mm nhỏ hơn 139, rồi dừng lái xe. Tiếp theo, xoay ForkMotors lên 600 độ rồi rẽ trái 90 độ. Tiếp theo, tiến về phía trước 600 mm, xoay động cơ càng nâng xuống 600 độ, rồi lùi lại 300 mm.

Đây là ví dụ về mã sẽ được đề cập trong bài viết này.

Chúng tôi sẽ trình bày chi tiết về các hành vi trong ví dụ và cách lấy các tham số được sử dụng để mã hóa Cảm biến khoảng cách V5.

Bạn có thể xây dựng dự án trong VEXcode V5 khi làm theo bài viết hoặc chỉ cần đọc bài viết để lấy cảm hứng như một ví dụ về cách đưa Cảm biến khoảng cách V5 vào khi bạn viết mã cho robot tùy chỉnh của riêng mình.

Video này hiển thị mã ở trên đang được thực thi và rô-bốt nhặt và di chuyển Mục tiêu trên thiết bị di động.

Menu Devices của VEXcode V5 được mở ra để hiển thị cấu hình thiết bị trong ví dụ này. Menu đầu tiên liệt kê một Cảm biến khoảng cách có tên DistanceCenter tại cổng 19. Tiếp theo là hệ thống truyền động với các động cơ ở cổng 1 và 10, cùng với một cảm biến quán tính ở cổng 3. Cuối cùng, có một nhóm động cơ tên là ForkMotors ở cổng số 2 và số 9.

Đây là Cấu hình Robot được sử dụng trong VEXcode V5 để thêm robot và Cảm biến khoảng cách vào cấu hình cho ví dụ này, nếu bạn muốn tự mình thử ví dụ.

Robot được sử dụng cho ví dụ này

Hình ảnh robot Moby Hero nhìn từ trên xuống, với cảm biến khoảng cách V5 được thêm vào làm nổi bật. Cảm biến khoảng cách được đặt phía sau và bên dưới càng nâng của robot, hướng về phía trước.

Robot được sử dụng trong ví dụ này là VRC Hero Bot, Moby, 2021-2022. Thiết kế của Moby không có bất kỳ cảm biến nào, Cảm biến khoảng cách V5 đã được thêm vào Moby cho ví dụ này.

Trong ví dụ này, Cảm biến khoảng cách V5 được gắn gần trung tâm của Fork của Moby.

Để biết thêm thông tin về Moby, xem bài viết này từ Thư viện VEX.

Bạn không cần phải sử dụng Moby để mã hóa Cảm biến khoảng cách V5 hoặc để tham gia cuộc thi năm nay. Bạn có thể gắn cảm biến trên rô-bốt tùy chỉnh của mình ở bất cứ nơi nào bạn thấy phù hợp.

Lưu ý: đảm bảo không có cấu trúc nào trên robot ở phía trước cửa sổ laser nhỏ trên mặt cảm biến. Cần phải có một đường đi rõ ràng phía trước cảm biến giữa mục tiêu và cảm biến.

Phân loại các hành vi để ghi điểm

Để nhặt và di chuyển Mục tiêu di động bằng phản hồi từ Cảm biến khoảng cách V5, trước tiên hãy phân tích cách robot sẽ di chuyển.

Robot Moby được đặt trên một sân đấu với một mục tiêu di động (Mobile Goal) được đặt cách đó vài bước chân.

Đầu tiên, robot phải được đặt đối diện với Mục tiêu di động.

Hình ảnh cho thấy robot Moby sau khi di chuyển về phía trước để cảm nhận Mục tiêu Di động. Khung thành di động hiện đã nằm bên trong càng nâng của robot.

Sau đó, robot sẽ lái về phía trước cho đến khi Cảm biến khoảng cách phát hiện ra rằng Mục tiêu di động nằm bên trong Nĩa và gần với cảm biến.

Hình ảnh cho thấy robot Moby sau khi phát hiện Mục tiêu Di động và giơ tay lên để nhặt nó.

Sau khi cảm biến phát hiện rằng Mục tiêu di động nằm bên trong Nĩa hoặc ở gần cảm biến, rô-bốt sẽ dừng lái xe và nâng Nĩa lên để nhặt Mục tiêu di động.

Robot Moby đang mang theo Mobile Goal và đã xoay 90 độ sang trái.

Sau khi đã nhặt được Mục tiêu di động, robot sẽ rẽ trái 90 độ và tiến về phía trước 600 milimét (mm).

Robot Moby đã hạ càng xuống để đặt Mục tiêu Di động xuống và sau đó lùi lại.

Sau đó, rô-bốt sẽ hạ Nĩa xuống để đặt Mục tiêu di động xuống và di chuyển ngược lại khỏi Mục tiêu di động để không vô tình làm đổ Mục tiêu di động trong lần di chuyển tiếp theo.


Tìm hiểu thông số

Để thực hiện các hành vi trên, điều quan trọng là phải hiểu Khoảng cách giữa Mục tiêu di động và Cảm biến khoảng cách V5 là bao xa.

Thông số để chọn Mục tiêu di động bằng Cảm biến khoảng cách V5

Robot Moby trên một khu vực có đặt mục tiêu di động (Mobile Goal) giữa hai càng nâng của nó để xác định khoảng cách lý tưởng.

Để rô-bốt di chuyển về phía trước cho đến khi Cảm biến khoảng cách phát hiện ra rằng Mục tiêu di động nằm bên trong Nĩa và gần với cảm biến, các giá trị từ cảm biến cần được ghi lại từ V5 Brain.

Đặt Mục tiêu Di động vào giữa các Dĩa của rô-bốt.

Màn hình V5 Brain được hiển thị trong menu Trang chủ với tùy chọn Thiết bị được tô sáng.Màn hình Brain được hiển thị trong menu Thông tin thiết bị, menu này liệt kê tất cả các Cổng thông minh và thiết bị được kết nối của Brain. Biểu tượng Cảm biến khoảng cách trong menu Thông tin thiết bị được tô sáng để cho biết rằng có thể chọn các mục để mở menu thông tin của chúng.

Sau đó, từ màn hình của Brain, chọn 'Thiết bị' rồi chọn biểu tượng cho Cảm biến khoảng cách.

Màn hình não được hiển thị trong menu Cảm biến khoảng cách, nơi liệt kê dữ liệu của cảm biến. Menu này hiển thị dữ liệu về kích thước, vận tốc và khoảng cách của một đối tượng. Thực đơn cũng có một sơ đồ minh họa khoảng cách và sự thay đổi của nó theo thời gian. Trong ảnh chụp màn hình này, vật thể có kích thước nhỏ, vận tốc là 0 mét/giây và khoảng cách là 139 mm.

Khoảng cách tính bằng milimét (mm) mà Mục tiêu di động cách xa cảm biến được báo cáo trên màn hình của Brain.

Đây là dự án VEXcode V5 Blocks tương tự như trước, mô phỏng việc robot di chuyển về phía trước cho đến khi phát hiện Mục tiêu Di động, nhặt nó lên và sau đó di chuyển đến vị trí mong muốn. Giá trị mà cảm biến khoảng cách dùng để so sánh với khoảng cách vật thể trong dự án là 139 và giá trị này được tô sáng.

Đây là giá trị sẽ được sử dụng trong dự án khi chọn Mục tiêu di động bằng Cảm biến khoảng cách.

Thông số nâng hạ càng nâng

Robot Moby trên một sân tập với mục tiêu di động được đặt giữa hai càng nâng của nó.

Đặt Mục tiêu di động vào trong Forks một lần nữa.

Màn hình Brain được hiển thị trong menu Thông tin thiết bị, menu này liệt kê tất cả các Cổng thông minh và thiết bị được kết nối của Brain. Biểu tượng Động cơ trong menu Thông tin Thiết bị được tô sáng để cho biết rằng có thể chọn các mục để mở menu thông tin của chúng.

Sau đó, từ màn hình của Brain, chọn 'Thiết bị' rồi chọn biểu tượng cho Động cơ 2. Motor 2 điều khiển Fork bên trái.

Robot Moby trên một cánh đồng với một mục tiêu di động được đặt giữa hai càng nâng của nó để nhặt mục tiêu đó lên.

Nâng Nĩa theo cách thủ công cho đến khi phần dưới cùng của Mục tiêu di động không chặn tầm nhìn của cảm biến Khoảng cách.

Khi nâng Fork theo cách thủ công, hãy đảm bảo nâng đồng thời từng Fork ở bên trái và bên phải của Moby vì mỗi Fork được điều khiển bằng động cơ riêng.

Lưu ý: tránh điểm kẹp khi nâng phuộc bằng tay.

Màn hình Brain được hiển thị trong menu Smart Motor, nơi liệt kê các dữ liệu của thiết bị. Menu này hiển thị các chỉ số và biểu đồ thể hiện dữ liệu của thiết bị. Trong ảnh chụp màn hình này, giá trị Độ của động cơ được tô sáng và hiển thị là 604.

Số độ mà Fork đã được nâng lên được báo cáo trên màn hình của Brain.

Đây là dự án VEXcode V5 Blocks tương tự như trước, mô phỏng việc robot di chuyển về phía trước cho đến khi phát hiện Mục tiêu Di động, nhặt nó lên và sau đó di chuyển đến vị trí mong muốn. Số độ quay của nhóm Fork Motor trong dự án là 600 và con số này được làm nổi bật.

Đây là giá trị sẽ được sử dụng trong dự án khi nâng và hạ Nĩa để nhặt và đặt Mục tiêu di động.

Sử dụng khối toán tử

Khối toán tử nhỏ hơn trong VEXcode V5 được hiển thị. Khối lệnh này được sử dụng để so sánh hai giá trị và báo cáo xem giá trị thứ nhất có nhỏ hơn giá trị thứ hai hay không.

Trong dự án này, khối toán tử <Less than> được sử dụng để mã hóa Cảm biến khoảng cách.

Màn hình não được hiển thị trong menu Cảm biến khoảng cách, nơi liệt kê các dữ liệu của cảm biến. Menu này hiển thị dữ liệu về kích thước, vận tốc và khoảng cách của một đối tượng. Thực đơn cũng có một sơ đồ minh họa khoảng cách và sự thay đổi của nó theo thời gian. Trong ảnh chụp màn hình này, vật thể có kích thước nhỏ, vận tốc là 0 mét/giây và khoảng cách là 139 mm.

Điều này là do khi Cảm biến khoảng cách ngày càng đến gần một vật thể, khoảng cách tính bằng milimét giữa cảm biến và vật thể đó sẽ giảm đi.

Đây là dự án VEXcode V5 Blocks tương tự như trước, mô phỏng việc robot di chuyển về phía trước cho đến khi phát hiện Mục tiêu Di động, nhặt nó lên và sau đó di chuyển đến vị trí mong muốn. Giá trị mà cảm biến khoảng cách dùng để so sánh với khoảng cách vật thể trong dự án là 139 và giá trị này được tô sáng.

Các giá trị ngưỡng có thể được chọn để kích hoạt hành vi của robot khi khoảng cách nhỏ hơn khoảng được xác định trước.

Ví dụ: khi rô-bốt đang lái xe tới Mục tiêu di động, hãy sử dụng khối toán tử <Less than> để kích hoạt hành vi dừng của rô-bốt khi khoảng cách là nhỏ hơn khoảng 139 milimét (mm).

Robot Moby trên một sân tập với mục tiêu di động được đặt bên trong càng nâng của nó. Khoảng cách từ Cảm biến khoảng cách đến Khung thành di động được đánh dấu bằng mũi tên màu đỏ.

Ví dụ: nếu giá trị đó thay đổi thành 10 milimét (mm), rô-bốt sẽ thực sự chạy vào Mục tiêu di động và có khả năng tự gây sát thương vì khoảng cách 10 milimét (mm) với cảm biến là không đủ xa để ngăn Nĩa của rô-bốt chạm vào Mục tiêu di động.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: