Skip to main content

Bài 3: Sử dụng phản hồi cảm biến được báo cáo để đặt đĩa vào mục tiêu

Trong Bài 2, Robot VR lái xe ngược trở lại điểm xuất phát để thả đĩa xuống. Điều này yêu cầu người dùng phải tính toán khoảng cách chính xác mà Robot VR có thể di chuyển. Điều này không phải lúc nào cũng có thể thực hiện được. Thay vào đó, VR Robot có thể sử dụng các giá trị cảm biến được báo cáo để nhặt và thả đĩa với độ chính xác nhất quán. 

Bài học 3 sử dụng phản hồi cảm biến được báo cáo để xác định nơi Robot VR nên dừng di chuyển khi quay trở lại mục tiêu. Khi sử dụng khối <Eye Sensor near object> ở phần trước của bài học này, bạn không cần biết khoảng cách từ mục tiêu đến mỗi đĩa.

Robot VR trên Sân chơi Di chuyển đĩa với đĩa màu xanh đầu tiên được gắn vào Nam châm điện.

Robot VR sẽ lái xe trở lại mục tiêu màu xanh bằng cách sử dụng dữ liệu từ Cảm biến khoảng cách để xác định nơi dừng lái. Khi VR Robot dừng lại bên trong mục tiêu màu xanh, VR Robot sẽ thả đĩa màu xanh.

  • Tiếp tục làm việc trong dự án Unit8Lesson3.
  • Cảm biến khoảng cách đo khoảng cách từ mặt trước của Robot VR đến vật thể gần nhất. Vì lý do này, VR Robot sẽ phải quay 180 độ trước khi lái về phía mục tiêu màu xanh.
  • Robot VR sẽ sử dụng Cảm biến khoảng cách với bức tường phía sau của Sân chơi để xác định vị trí thả đĩa. Vì lý do này, VR Robot sẽ phải quay 180 độ trước khi lái về phía mục tiêu màu xanh.
  • Khối [Chuyển hướng] có thể được sử dụng để đảm bảo Robot VR chuyển hướng đúng.

    VEXcode VR Chuyển đến khối tiêu đề từ Hộp công cụ. Khối này có ghi 'Quay theo hướng 90 độ'.

Sử dụng khối chuyển đổi 

Đây là khối Chuyển đổi [chuyển sang tiêu đề]. Bạn có thể thay đổi mức độ rẽ bằng cách thay đổi giá trị số trong dấu ngoặc đơn. Hãy nhớ rằng số phải được viết trước đơn vị đo lường (ĐỘ), cách nhau bằng dấu phẩy. 

VEXcode VR Chuyển hướng khối chuyển đổi, với lệnh Python đọc drivetrain dot turn_to_heading (90, DEGREES).

Để bạn biết

Khối [Chuyển hướng] sẽ chuyển hướng Robot VR theo hướng cụ thể bằng Cảm biến con quay hồi chuyển. Hướng mà Robot VR sẽ rẽ (trái hoặc phải) được xác định dựa trên hướng hiện tại của cảm biến Gyro. Khối [Chuyển hướng] được sử dụng để hướng Robot VR theo một hướng cụ thể bất kể vị trí của Robot VR. Khi bạn nhặt hoặc thả đĩa, Robot VR có thể bị đánh bật ra khỏi quỹ đạo. Sử dụng khối [Chuyển hướng] đảm bảo rằng Robot VR sẽ chuyển đến vị trí tuyệt đối chứ không phải vị trí tương đối so với hướng trước đó.

Sơ đồ vị trí hướng di chuyển theo độ của Robot VR. Có một vòng tròn ở giữa cho thấy góc nhìn từ trên xuống của Robot VR, với mặt trước của robot hướng lên theo hướng 0 độ. Theo chiều kim đồng hồ, mỗi hướng 90 độ tiếp theo được đánh dấu là 90 độ, 180 độ và 270 độ.
  • Thêm khối [Chuyển sang tiêu đề] bên dưới bình luận thứ ba.

    Dự án VEXcode VR giống như trang trước, với khối chuyển hướng sang tiêu đề được thêm vào bên dưới bình luận thứ ba. Dự án hiện có nội dung Khi bắt đầu, hãy chú thích Lái xe đến đĩa màu xanh đầu tiên, với Lặp lại cho đến khi mắt dưới gần vật thể, lái về phía trước, sau đó dừng lái. Tiếp theo là bình luận để lấy đĩa màu xanh đầu tiên có nam châm điện để tăng cường khối. Bình luận thứ ba ghi là lái xe đến mục tiêu màu xanh và rẽ sang hướng chặn 90 độ tiếp theo.
  • Đặt khối [Chuyển hướng] thành 180 độ.

    Cùng một dự án VEXcode VR với tham số của khối Turn to heading được thay đổi thành 180 độ. Bây giờ, phần bình luận thứ ba của dự án có nội dung Lái xe đến mục tiêu màu xanh, Quay đầu 180 độ.
  • Bây giờ, khi VR Robot đã hướng về vị trí bắt đầu, VR Robot sẽ cần phải lái xe trở lại mục tiêu màu xanh. Thêm khối [Lặp lại cho đến khi] bên dưới khối [Chuyển sang tiêu đề].

    Cùng một dự án VEXcode VR với khối Lặp lại cho đến khi được thêm vào sau khối Quay về tiêu đề. Tham số của khối Lặp lại cho đến khi trống.
  • Để lái xe trở lại mục tiêu màu xanh, Robot VR sẽ sử dụng dữ liệu từ Cảm biến khoảng cách để xác định thời điểm Robot VR ở bên trong mục tiêu màu xanh. Như đã thảo luận trong bài học trước, mỗi ô lưới trên Sân chơi di chuyển đĩa có kích thước 200 milimét (mm) x 200 milimét (mm).

    Góc nhìn từ trên xuống, cận cảnh góc dưới bên trái của Sân chơi Disk Mover với kích thước của ô lưới vuông trên Sân chơi được hiển thị là cao 200mm và rộng 200mm.
  • Sử dụng các phép đo đó, có thể xác định tâm của khung thành màu xanh cách tường của Sân chơi khoảng 200 milimét (mm).

    Góc nhìn từ trên xuống cận cảnh khung thành màu xanh ở góc dưới bên trái của Sân chơi di chuyển đĩa, với kích thước gần đúng từ tường đến tâm khung thành được ghi là 200mm.
  • Robot VR sẽ dừng di chuyển khi Cảm biến khoảng cách báo cáo rằng Robot VR cách tường của Sân chơi ít hơn 200 milimét (mm). Thêm các khối sau vào khối [Lặp lại cho đến].

    Cùng một dự án VEXcode VR với khối toán tử nhỏ hơn có khoảng cách Mặt trận lồng nhau tính bằng mm trong tham số của khối Lặp lại cho đến khi. Bây giờ, phần bình luận thứ ba của dự án có nội dung Lái xe đến mục tiêu màu xanh; quay theo hướng 180 độ; Lặp lại cho đến khi Khoảng cách phía trước tính bằng mm nhỏ hơn 50.
  • Thay đổi tham số trong khối <Less than> thành 200.

    Cùng một dự án, với tham số của khối nhỏ hơn được thay đổi thành 200. Bây giờ khối Lặp lại cho đến khi ghi 'Lặp lại cho đến khi Khoảng cách phía trước tính bằng mm nhỏ hơn 200'.
  • Thêm khối [Drive] vào khối [Repeat until] này. Lệnh này sẽ hướng dẫn Robot VR di chuyển về phía trước cho đến khi Cảm biến khoảng cách báo cáo khoảng cách nhỏ hơn 200 milimét (mm).

    Cùng một dự án với khối Drive được thêm vào bên trong khối C của khối Repeat until. Phần bình luận thứ ba của dự án hiện có nội dung: Lái xe đến mục tiêu màu xanh; Quay theo hướng 180 độ, Lặp lại cho đến khi Khoảng cách phía trước tính bằng mm nhỏ hơn 200, lái xe về phía trước.
  • Khi Robot VR đạt đến mục tiêu màu xanh lam (cách tường 200 mm), Robot VR sẽ cần dừng lái. Thêm khối [Dừng lái xe] bên dưới khối [Lặp lại cho đến khi].

    Cùng một dự án với khối Dừng lái xe được thêm vào sau khối Lặp lại cho đến khi. Phần bình luận thứ ba hiện ghi là Lái xe đến mục tiêu màu xanh; Lặp lại cho đến khi khoảng cách phía trước tính bằng mm nhỏ hơn 200, Lái xe về phía trước; sau đó dừng lái.
  • Bây giờ, khi VR Robot dừng lại ở mục tiêu màu xanh, nó có thể thả đĩa. Thêm khối [Năng lượng nam châm điện] bên dưới bình luận thứ tư và đặt khối thành 'thả'.

    Dự án tương tự với khối Energize Electromagnet, với tham số được thiết lập để thả, được thêm vào sau bình luận thứ tư. Phần bình luận thứ tư hiện ghi là Thả đĩa màu xanh vào mục tiêu màu xanh, Nạp năng lượng cho nam châm để thả.
  • Robot VR sẽ phải lái lùi một đoạn ngắn để tránh bị đổ hoặc va chạm với bất kỳ đĩa nào. Va chạm với đĩa có khả năng khiến Robot VR bị lệch hướng. Thêm các khối sau để hướng dẫn Robot VR lái xe lùi 100 milimét (mm) và quay trở lại hướng 0 độ.

    Cùng một dự án với khối Drive for và khối Turn to heading được thêm vào cuối ngăn xếp. Bây giờ, bình luận thứ tư có nội dung: Thả đĩa màu xanh vào mục tiêu màu xanh; Kích hoạt nam châm để thả; Lái ngược lại 100mm, quay về hướng 0 độ.
  • Mở Disk Mover Playground nếu nó chưa được mở và chạy dự án.
  • Robot VR tiến về phía trước, nhặt đĩa đầu tiên, sau đó quay 180 độ để hướng về mục tiêu màu xanh. Sau đó, VR Robot sử dụng các giá trị từ Cảm biến khoảng cách để xác định thời điểm dừng lái và thả đĩa xanh.

    Góc nhìn cận cảnh Sân chơi Di chuyển đĩa với Đĩa màu xanh được đặt vào mục tiêu màu xanh và Robot VR hướng mặt về phía các đĩa còn lại trên Sân chơi, ở rìa mục tiêu màu xanh.
  • Lưu ý cách khối [Lặp lại cho đến khi] thứ hai hoạt động trong phần này của dự án.
    • Khi Cảm biến khoảng cách trên Robot VR phát hiện bức tường của Sân chơi cách xa dưới 200 milimét (mm), dự án sẽ di chuyển đến khối tiếp theo trong ngăn xếp bên dưới khối [Lặp lại cho đến].
    • Trong dự án này, điều đó có nghĩa là Robot VR dừng lái và thả Nam châm điện vào mục tiêu màu xanh.

Chọn nút Tiếp theo để tiếp tục phần còn lại của Bài học này.