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

Mở khóa địa điểm

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], [Xoay để định vị] và [Xoay] để lập trình cho Robot Anh hùng nhặt Khối Đỏ được tô sáng màu cam ghi điểm vào , Mục tiêu 1và đỗ robot một phần trong Khu vực Cung cấp Hãy tạo thuật toán để tìm tọa độ X và Y của vị trí robot cần nhặt và ghi điểm Khối Đỏ, cũng như tọa độ X và Y của vị trí robot cần đỗ Robot Anh Hùng.

  • Chọn VIQRC Virtual Skills - Full Volume Playground.
  • Hãy tạo thuật toán để tính toán và ghi lại tọa độ X và Y vị trí của robot sau khi di  một quãng đường nhất định, sử dụng quãng đường di chuyển và hướng của hệ thống truyền động.
  • Lập trình cho Robot Anh hùng lái đến Khối màu đỏ được tô sáng màu cam và nhặt nó lên. 
    • Sử dụng thuật toán để theo dõi tọa độ X và Y vị trí của robot.
  • Sử dụng khối [print] để in tọa độ X và Y của vị trí robot cần nhặt khối vào bảng điều khiển in.
  • Lập trình cho Robot Anh hùng di chuyển về phía Mục tiêu I và thả Khối vào Mục tiêu. 
    • Sử dụng thuật toán để theo dõi tọa độ X và Y vị trí của robot.
  • Sử dụng khối [print] để in tọa độ X và Y của vị trí mà robot sẽ thả Khối vào Mục tiêu I ra Bảng điều khiển in.
  • Điều khiển Robot Anh hùng đến vị trí nằm một phần trong Khu vực Cung cấp.
    • Sử dụng thuật toán để theo dõi tọa độ X và Y vị trí của robot.
  • Sử dụng khối [print] để in tọa độ X và Y của vị trí robot cần đỗ một phần trong Khu vực Cung cấp ra Bảng điều khiển In.

Mẹo hữu ích

  • Để xác định tọa độ X và Y của Robot Anh hùng trên Sân Kỹ năng ảo VIQRC, hãy đặt vị trí ban đầu của Robot Anh hùng là gốc tọa độ (0,0). 
  • Khai báo hai biến để lưu trữ tọa độ X và Y của Robot Anh hùng. Sử dụng các khối set từ danh mục Biến để đặt giá trị tọa độ X và Y về 0 khi bắt đầu dự án.  VEXcode Đặt khối biến đọc 'đặt currentX thành 0'. VEXcode Đặt khối biến đọc 'đặt currentY thành 36'.
    • Lệnh Python tương ứng:

      dòng điệnX = 0
      dòng điệnY = 36
  • Sử dụng các khối Reporter từ danh mục Sensing để lấy giá trị hướng của hệ thống truyền động từ Cảm biến quán tính. Khối VEXcode hướng lái xe đọc hướng lái xe 'độ tính bằng độ'.
    • Lệnh Python tương ứng:

      drivetrain.heading(DEGREES)
  • Sử dụng quãng đường đã đi và hướng di chuyển của hệ thống truyền động để tính toán tọa độ X và Y sau khi di chuyển được một quãng đường nhất định.
    • Hàm toán học (tiến về phía trước):

      X2 = X1 + khoảng cách lái xe * sin(hướng lái xe)

      Y2 = Y1 + khoảng cách lái xe * cos (hướng lái xe)

      Hai sơ đồ đặt cạnh nhau, nhìn từ trên xuống, minh họa cho Robot Anh hùng. Sơ đồ đầu tiên cho thấy robot được bao quanh bởi một vòng tròn với các nhãn chỉ dẫn 360 độ của vòng tròn đó. Sơ đồ thứ hai cho thấy robot ở tọa độ (X1, Y1) và đang hướng về điểm (X2, Y2). Khoảng cách được ghi nhãn là 'khoảng cách lái xe' , và góc được ký hiệu bằng biểu tượng theta.

  •  Sử dụng khối hàm từ danh mục Toán tử để biểu diễn các hàm toán học. Một chồng hai khối biến VEXcode Set với các phương trình khối. Khối lệnh đầu tiên đọc 'đặt currentX thành currentX + khoảng cách lái xe * sin của hướng lái xe tính bằng độ'. Khối lệnh thứ hai đọc 'đặt currentY thành currentY + khoảng cách lái xe * cos của hướng lái xe tính bằng độ'.
    • Lệnh Python phù hợp: 

      currentX = currentX + drive_distance * math.sin(drivetrain.heading(DEGREES) / 180.0 * math.pi)
      currentY = currentY + drive_distance * math.cos(drivetrain.heading(DEGREES) / 180.0 * math.pi)
  • Để biết thêm thông tin về các khía cạnh của lĩnh vực kỹ năng ảo VIQRC, vui lòng vào đây.