Chuyển đến nội dung chính

Tầm cao mới

Tạo một hệ tọa độ trên Sân Kỹ năng Ảo Thể tích Toàn diện với vị trí của chấm đỏ làm gốc tọa độ (0, 0) và vị trí ban đầu của Trung tâm Robot Anh hùng nằm ở tọa độ (0, 36). Sử dụng các khối lệnh [Lái xe], [Quay theo hướng], [Xoay đến vị trí] và [Xoay để] để lập trình cho Robot Anh hùng nhặt từng khối màu Tím được đánh dấu trong bốn khối và ghi bàn vào Khung thành III. Hãy tạo một thuật toán điều hướng robot đến một vị trí cụ thể để thả Khối và làm cho Mục tiêu có Mức độ lấp đầy 3.

  • Chọn VIQRC Virtual Skills - Full Volume Playground.
  • Lập trình cho Robot Anh hùng nhặt khối màu Tím được đánh dấu và ghi bàn vào Khung thành III. 
    • Hãy lập trình thuật toán để điều khiển robot di chuyển một quãng đường nhất định và theo dõi tọa độ X và Y của nó. Sử dụng thuật toán để điều khiển robot di chuyển đến khối màu tím được đánh dấu.
    • Lập trình cho robot nhặt khối gỗ.
    • Hãy lập trình thuật toán để điều khiển robot di chuyển đến vị trí cụ thể. Sử dụng thuật toán để điều hướng robot đến tọa độ (-70, 1270) và xoay robot theo hướng -45 độ.
    • Lập trình cho robot thả khối gỗ xuống.
  • Lập trình cho Robot Anh hùng nhặt khối màu Tím thứ hai được đánh dấu và ghi bàn vào Khung thành III ở cùng vị trí và hướng như khi ghi bàn vào khối màu Tím đầu tiên. 
  • Lập trình cho Robot Anh hùng nhặt khối màu Tím thứ ba được đánh dấu và ghi bàn vào Khung thành III ở cùng vị trí và hướng như khi ghi bàn vào khối màu Tím đầu tiên. 
  • Lập trình cho Robot Anh hùng nhặt khối màu Tím thứ tư được đánh dấu và ghi bàn vào Khung thành III ở cùng vị trí và hướng như khi ghi bàn vào khối màu Tím đầu tiên. 

Mẹo hữu ích

  • Sử dụng tọa độ của robot (x1, y1), tọa độ vị trí mục tiêu (x2, y2) và hàm atan để tìm hướng di chuyển.
    • Tính góc theta θ của đường thẳng nối hai điểm này. Sơ đồ minh họa hai biểu thức toán học. Biểu thức đầu tiên có dạng 'theta bằng atan((y2 - y1) / (x2 - x1))'. Biểu thức thứ hai có nghĩa là '-pi / 2 nhỏ hơn theta, nhỏ hơn pi / 2'. Sơ đồ nhìn từ trên xuống cho thấy robot ở tọa độ (X1, Y1) và một đường thẳng hướng về tọa độ (X2, Y2). Khoảng cách được ký hiệu bằng biến d, góc được ký hiệu bằng biến theta. Khoảng cách ngang giữa hai điểm được biểu diễn là 'x2 - x1', và khoảng cách dọc được biểu diễn là 'y2 - y1'.
    • Ví dụ mã giả cho biểu thức Math:

      Nếu x1 bằng x2:
      	Nếu y2 > y1:
      		hướng = 0 độ
      	Ngược lại:
      		hướng = 180 độ
      Ngược lại:
      	Nếu x2 > x1:
      		hướng = 90 độ - theta
      	Ngược lại:
      		hướng = 270 độ - theta
    • Chuyển đổi góc theta θ thành hướng điều khiển.  Sơ đồ nhìn từ trên xuống, có nhãn 'robot hướng' , cho thấy robot được bao quanh bởi một vòng tròn với các nhãn đánh dấu 360 độ của vòng tròn.
  • Sử dụng tọa độ của robot (x1, y1), tọa độ vị trí mục tiêu (x2, y2) và định lý Pitago để tìm quãng đường di chuyển. Biểu thức toán học có dạng 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' Sơ đồ nhìn từ trên xuống tương tự như trước, thể hiện sự khác biệt giữa hai hệ tọa độ. Robot đang ở tọa độ (X1, Y1) và một đường thẳng đang chỉ về phía tọa độ (X2, Y2). Khoảng cách được ký hiệu bằng biến d, góc được ký hiệu bằng biến theta. Khoảng cách ngang giữa hai điểm được biểu diễn là 'x2 - x1', và khoảng cách dọc được biểu diễn là 'y2 - y1'.

 

  • Sử dụng khối hàm khối từ danh mục Toán tử để biểu diễn hàm atan nhằm tính góc theta θ. Khối chức năng VEXcode chứa các khối toán tử, tất cả cùng nhau đọc 'atan của ((Y2 - Y1) / (X2 - X1))'.
    • Lệnh Python phù hợp: 

      math.atan((Y2 - Y1) / (X2 - X1)) / math.pi * 180
  • Sử dụng khối hàm , khối từ danh mục Toán tử để thể hiện định lý Pitago nhằm tính khoảng cách lái xe. VEXcode Đặt khối biến chứa các khối hàm và toán tử, mà tất cả cùng đọc là 'đặt driveDistance thành sqrt của ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))'.
    • Lệnh Python phù hợp: 

      driveDistance = math.sqrt((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))