Skip to main content

Bài 3: Điều chỉnh khoảng cách

Trong Bài học trước, bạn đã sử dụng Cảm biến khoảng cách và các toán tử so sánh để Robot VR di chuyển từ điểm bắt đầu đến số '1' trên Sân chơi mê cung tường . Trong Bài học này, bạn sẽ học cách theo dõi các giá trị từ cảm biến trong Bảng điều khiển và điều khiển Robot VR lái từ đầu đến chữ 'B' trên Sân chơi mê cung tường .

Góc nhìn từ trên xuống của Sân chơi Mê cung Tường, với Robot VR ở vị trí bắt đầu ở giữa phía dưới và chữ B được đánh dấu bằng một hộp màu đỏ ở giữa bức tường bên trái, ngăn cách bởi một loạt các bức tường.

Kết quả học tập

  • Xác định rằng Bảng điều khiển có thể được sử dụng để theo dõi dữ liệu từ Cảm biến khoảng cách.
  • Xác định cách thay đổi các thông số trong một dự án để sử dụng dữ liệu Cảm biến khoảng cách nhằm điều hướng Robot VR qua Sân chơi mê cung trên tường.

Lái xe đến chữ 'B' 

Có một số cách để di chuyển đến chữ 'B' trong Mê cung tường. Để bắt đầu, chúng ta hãy xem con đường trực tiếp nhất đến chữ 'B' là gì. Góc nhìn từ trên xuống của Sân chơi Mê cung Tường, với Robot VR ở vị trí chữ B ở giữa bức tường bên trái và các đường màu đen hiển thị đường đi từ điểm bắt đầu đến chữ B. Đường đầu tiên kéo dài lên trên về phía bức tường đầu tiên đối diện, sau đó một đường khác kéo dài sang trái đến bức tường tiếp theo. 3 đoạn thẳng tiếp theo hướng lên trên, sang trái và xuống dưới để theo dõi đường đi vòng quanh bức tường vào đường mở dẫn đến đáy mê cung. Hai dòng cuối chạy về phía bên trái đến bức tường xa nhất và lên trên đến chữ B.

 

Bắt đầu một dự án mới

  • Bắt đầu một dự án văn bản mới và chọn Sân chơi mê cung tường khi được nhắc. Ô chọn Sân chơi mê cung tường.
  • Đặt tên cho dự án Unit5Lesson3.
    Thanh công cụ VEXcode VR và hộp tên dự án ở giữa có nội dung Đơn vị 5 Bài 3.

Lái xe đến chữ 'B'

  • Để bắt đầu, một vài chuyển động đầu tiên của Robot VR của chúng ta tương tự như những gì chúng ta đã làm trong Bài học trước. Xây dựng dự án sau để bắt đầu theo con đường này:

    def main():
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES)
    
  • Mở Cửa sổ Sân chơi nếu nó chưa mở. Hãy đảm bảoWall Maze Playgroundmở ra và chạy dự án.
  • Lưu ý điểm dừng của VR Robot tại thời điểm này trong dự án. Hướng về bên trái, hướng đúng để tiếp tục lái xe đến chữ 'B'. VEXcode VR với dự án trên được hiển thị trong Không gian làm việc bên trái và vị trí kết thúc của Robot VR được đánh dấu bằng vòng tròn màu vàng trên Sân chơi. Robot quay mặt về bên trái, cạnh bức tường đối diện với chữ A.

Xác định vị trí rẽ mong muốn

Robot VR hiện đang hướng về đúng hướng để tiếp tục di chuyển đến phần tiếp theo của đường đi. Tuy nhiên, nếu chúng ta sử dụng cùng một giá trị khoảng cách từ Cảm biến khoảng cách để tiếp tục, như đã làm trong Bài học trước, thì Robot VR sẽ đi theo đường dẫn này. Góc nhìn từ trên xuống của Sân chơi Mê cung Tường, với Robot VR ở vị trí kết thúc của dự án trước. Một đường đen liền nét theo dõi đường đi của robot từ điểm bắt đầu, và một đường đen chấm bi kéo dài từ phía trước robot đến bức tường đối diện, cho thấy đường đi tiềm năng của robot với các thông số hiện tại. Điều này sẽ khiến robot bị kẹt và không thể chạm tới chữ B. 

Chúng ta có thể đảo ngược và sử dụng lệnh Truyền động, giống như chúng ta đã làm trong Đơn vị trước với Cảm biến cản, để đến điểm rẽ mong muốn. Nó có thể trông như thế này:Góc nhìn từ trên xuống của Sân chơi Mê cung Tường, với Robot VR ở vị trí kết thúc của dự án trước. Một đường đen liền nét vẽ đường đi của robot từ điểm bắt đầu, và một đường đen chấm bi kéo dài từ phía trước robot đến bức tường đối diện, rồi quay trở lại, cho thấy đường đi tiềm năng của robot nếu sử dụng Cảm biến cản. Điều này sẽ khiến robot bị kẹt và không thể chạm tới chữ B.

Tuy nhiên, Cảm biến khoảng cách có thể được sử dụng để cho phép Robot VR rẽ ở bất kỳ khoảng cách tính từ tường. Ở lượt này, Robot VR sẽ cách xa bức tường hơn so với các lượt khác. Chúng ta có thể điều chỉnh giá trị khoảng cách trong toán tử so sánh để cho phép Robot VR quay ở khoảng cách xa hơn so với bức tường, giúp cho dự án của chúng ta và đường đi của Robot VR hiệu quả hơn. 

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.