Mục lục:

Cách viết hệ thống truyền lực đơn giản cho FRC (Java): 12 bước (có hình ảnh)
Cách viết hệ thống truyền lực đơn giản cho FRC (Java): 12 bước (có hình ảnh)

Video: Cách viết hệ thống truyền lực đơn giản cho FRC (Java): 12 bước (có hình ảnh)

Video: Cách viết hệ thống truyền lực đơn giản cho FRC (Java): 12 bước (có hình ảnh)
Video: Mô hình Client - Server | Mô hình toàn bộ các websites sử dụng? 2024, Tháng mười một
Anonim
Cách viết hệ thống truyền lực đơn giản cho FRC (Java)
Cách viết hệ thống truyền lực đơn giản cho FRC (Java)

Đây là bài hướng dẫn cách tạo hệ thống truyền lực đơn giản cho rô bốt FRC. Hướng dẫn này giả định rằng bạn biết rằng các kiến thức cơ bản về java, eclipse và đã cài đặt wpilib, cũng như các thư viện CTRE.

Bước 1:

Hình ảnh
Hình ảnh

Mở Eclipse

Bước 2: Tạo một dự án robot mới

Tạo một dự án robot mới
Tạo một dự án robot mới
Tạo một dự án robot mới
Tạo một dự án robot mới
Tạo một dự án robot mới
Tạo một dự án robot mới
Tạo một dự án robot mới
Tạo một dự án robot mới
  1. Nhấp chuột phải vào trình khám phá gói, nhấp vào mới, sau đó nhấp vào khác.
  2. Cuộn xuống cho đến khi bạn nhìn thấy WPILib Robot Java Development (nếu bạn không thấy nó thì bạn chưa cài đặt tài nguyên wpilib.)
  3. Nhấp vào Dự án Robot Java
  4. Sau đó điền vào tên dự án và nhấp vào loại dự án rô bốt dựa trên lệnh. (Gói phải được điền và giống với thế giới mô phỏng.)

Bước 3: Tạo / Điền vào Bản đồ Robot

Tạo / Điền vào Bản đồ Robot
Tạo / Điền vào Bản đồ Robot
Tạo / Điền vào Bản đồ Robot
Tạo / Điền vào Bản đồ Robot

Tạo các biến cuối cùng chứa số lượng cổng talon khác nhau

Bước 4: Xóa lệnh ví dụ và hệ thống con mẫu

Xóa lệnh ví dụ và hệ thống con mẫu
Xóa lệnh ví dụ và hệ thống con mẫu
Xóa lệnh ví dụ và hệ thống con mẫu
Xóa lệnh ví dụ và hệ thống con mẫu

Bước 5: Tạo DriveTrainSubSystem

Tạo DriveTrainSubSystem
Tạo DriveTrainSubSystem
Tạo DriveTrainSubSystem
Tạo DriveTrainSubSystem
Tạo DriveTrainSubSystem
Tạo DriveTrainSubSystem
  1. Tạo một phương thức khởi tạo mới trong hệ thống con hệ thống truyền lực mới được tạo. Sau đó, tạo các đối tượng CANTalon tương ứng với các móng trên hệ thống truyền lực.
  2. Tạo một RobotDrive có tên là Drive
  3. Khởi tạo các Đối tượng này trong phương thức khởi tạo (đảm bảo sử dụng các giá trị cho các taluy mà chúng tôi đã tạo trong bản đồ rô bốt). Đối với Robot Drive, chúng tôi sẽ sử dụng hàm tạo sử dụng 4 Bộ điều khiển động cơ (RobotDrive (SpeedController frontLeftMotor, SpeedController phía sauLeftMotor, SpeedController phía trướcRightMotor, SpeedController phía sauRightMotor))
  4. Sau đó, tạo một phương thức arcadeDrive () với hai biến đầu vào là x là tiến và lùi và y là phải và trái. Bên trong, bạn sẽ gọi drive.arcade với các giá trị chuyển tiếp và xoay
  5. Sau đó thay đổi initDefaultCommand () để chứa dòng setDefaultCommand (new DriveTrainCommand ());.
  6. Đừng lo lắng về tất cả các lỗi được nêu ra.

Bước 6: Tạo DriveTrainCommand

Tạo DriveTrainCommand
Tạo DriveTrainCommand
Tạo DriveTrainCommand
Tạo DriveTrainCommand
Tạo DriveTrainCommand
Tạo DriveTrainCommand
Tạo DriveTrainCommand
Tạo DriveTrainCommand
  1. Trước tiên, hãy bắt đầu bằng cách truy cập menu mà chúng ta đã sử dụng để tạo hệ thống con và robot tự dự án (đây là lần cuối cùng tôi sẽ hiển thị bước thực tế này trong các bước trong tương lai, tôi sẽ nói chỉ để thực hiện một lệnh hoặc để thực hiện một hệ thống con và bạn sẽ cho rằng nó nằm trong menu này.) Nhấp vào lệnh và điền vào tên lớp bằng DriveTrainCommand (nếu bạn thay đổi tên của các tệp này, bạn không thể đặt chúng giống nhau).
  2. Trong DriveTrainCommand mới, bạn sẽ thấy có 6 phương thức, một là phương thức khởi tạo và 5 phương thức còn lại là các phần của mã mà robot sẽ gọi khi lệnh đang chạy. Chúng ta biết hàm tạo làm gì để giải thích Khởi tạo, thực thi, kết thúc, kết thúc và gián đoạn. Khởi tạo được gọi một lần mỗi khi lệnh được gọi, phương thức thực thi được gọi liên tục cho đến khi lệnh kết thúc, nguyên nhân là do kết thúc khi phương thức isFinishing trả về true, lệnh sẽ ngừng chạy, phương thức kết thúc được gọi một lần sau khi kết thúc phương thức được gọi, và ngắt được gọi khi tài nguyên lệnh đang được sử dụng bởi lệnh khác và lệnh sẽ kết thúc (không gọi phương thức kết thúc).
  3. Đầu tiên, trong DriveTrainCommand trong hàm tạo, bạn cần thêm dòng yêu cầu (Required (Robot. DriveTrainSub)) lưu ý rằng DriveTrainSub không giống với tên hệ thống con và đó là mục đích.

Bước 7: Chuyển đến Robot

Chuyển đến Robot
Chuyển đến Robot
Chuyển đến Robot
Chuyển đến Robot
Chuyển đến Robot
Chuyển đến Robot
Chuyển đến Robot
Chuyển đến Robot
  1. Tiếp theo, chúng ta sẽ chuyển sang Lớp Robot
  2. thì chúng ta sẽ thay đổi dòng (public static final exampleSubsystem exampleSubsystem = new ExampleSubsystem ();) thành (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) thông báo tên sau cùng giống với tên hệ thống con và Sau tên mới cũng lưu ý rằng DriveTrainSub giống với tên mà chúng tôi đã đặt trong bước cuối cùng và nó không giống với tên hệ thống con (Bạn PHẢI có tên đối tượng (DriveTrainSub) không giống với hệ thống con Tên).
  3. Sau đó nhập DriveTrainSubSystem của chúng tôi.
  4. Tiếp theo, chúng tôi sẽ xóa dòng (chooser.addDefault ("Tự động mặc định", mới ExampleCommand ());)
  5. Sau đó, loại bỏ các nhập không sử dụng.
  6. Sau đó lưu lại.

Bước 8: Quay lại DriveTrainCommand

Quay lại DriveTrainCommand
Quay lại DriveTrainCommand
  1. nhập Robot (cái thứ hai trong hình ảnh)
  2. Sau đó Lưu

Bước 9: Truy cập DriveTrainSub

Đi tới DriveTrainSub
Đi tới DriveTrainSub
  1. Nhập DriveTrainCommand
  2. Sau đó lưu lại.

Bước 10: Tiếp theo, chúng tôi sẽ tạo mã OI

Tiếp theo, chúng tôi sẽ tạo mã OI
Tiếp theo, chúng tôi sẽ tạo mã OI
  1. Chuyển đến OI.
  2. Tạo một đối tượng cần điều khiển công cộng mới với cổng 0.
  3. Và loại bỏ các nhập khẩu không sử dụng.
  4. Cứu.

Bước 11: Truy cập DriveTrainCommand

Đi tới DriveTrainCommand
Đi tới DriveTrainCommand
  1. Truy cập DriveTrainCommand.
  2. Bây giờ chúng ta sẽ làm phần lấy cần điều khiển và áp dụng chúng để di chuyển robot. Bên trong thực thi (vì nó chạy liên tục) thêm dòng (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) nơi chúng tôi gọi là arcadeDrive trong hệ thống con với các giá trị của Robot.io. Driver.getRawAxis (1) trả về giá trị của cần điều khiển và trong đó 1 là trục của trục y bên trái và tương tự cho giá trị thứ hai ngoại trừ 4 là trục x bên phải. vì vậy điều này có nghĩa là thanh bên trái sẽ tiến và lùi và thanh bên phải sẽ đi sang phải và sang trái. (Nếu bạn muốn, bạn có thể quay lại RobotMap và tạo các giá trị mới cho trục cần điều khiển, sau đó gọi chúng bằng RobotMap. (tên trục) và đừng quên biến chúng thành cuối cùng nếu bạn làm theo cách này.)
  3. Tiếp theo, loại bỏ bất kỳ dữ liệu nhập không sử dụng nào khỏi toàn bộ dự án.

Bước 12: Cuối cùng là biên dịch và tải mã lên rô bốt

Đề xuất: