Mục lục:

Lập trình theo hướng sự kiện trong FTC: 4 bước
Lập trình theo hướng sự kiện trong FTC: 4 bước

Video: Lập trình theo hướng sự kiện trong FTC: 4 bước

Video: Lập trình theo hướng sự kiện trong FTC: 4 bước
Video: Vblog1 - Hướng dẫn triển khai Cyber Security theo chuẩn FTC của USA cho doanh nghiệp - Phần 1 2024, Tháng bảy
Anonim
Lập trình theo hướng sự kiện trong FTC
Lập trình theo hướng sự kiện trong FTC

Năm nay, nhóm của chúng tôi đã hoàn thành rất nhiều công việc phát triển phần mềm theo hướng sự kiện cho rô bốt của chúng tôi. Các chương trình này đã cho phép nhóm phát triển chính xác các chương trình tự trị và thậm chí cả các sự kiện từ xa có thể lặp lại. Vì công việc của phần mềm mà nó yêu cầu rất phức tạp, chúng tôi quyết định chia sẻ kiến thức mà chúng tôi có được về việc phát triển mã hướng sự kiện cho rô bốt FTC.

Bước 1: Lập trình theo hướng sự kiện là gì?

Nói chung, lập trình hướng sự kiện, theo Techopedia, là sự phát triển của các chương trình đáp ứng với đầu vào của người dùng. Theo nghĩa này, nhiều chương trình được coi là theo hướng sự kiện, bao gồm cả chương trình từ xa của nhóm, dựa vào đầu vào từ bộ điều khiển do con người điều hành để thực hiện bất kỳ hành động nào. Tuy nhiên, về công việc mà nhóm của chúng tôi đã và đang làm, lập trình theo hướng sự kiện là tạo ra phần mềm từ các đầu vào khác nhau; nói cách khác, chúng tôi ghi lại các sự kiện dựa trên đầu vào của bộ điều khiển và cảm biến, sau đó chúng tôi có thể xếp hàng các sự kiện này và sử dụng tệp để chạy lại sự kiện đã ghi.

Phương pháp phát triển chương trình cho robot của chúng tôi có một số ưu điểm:

  • Nó cho phép chúng tôi tạo ra các chương trình tự trị chính xác. Vì chúng tôi đang tạo phần mềm trong thời gian thực trong khi trải qua sự kiện, nên các giá trị cảm biến được thu thập và sử dụng sẽ rất chính xác, vì chúng đến trực tiếp từ sự kiện ban đầu.
  • Nó cho phép chúng tôi tạo ra các chương trình tự trị một cách nhanh chóng. Tạo các chương trình tự quản cũng đơn giản như ghi lại một loạt các sự kiện và điều chỉnh sự kiện khi cần thiết.
  • Nó cho phép chúng tôi tạo các quy trình tự động cho tele-op. Đối với các hành động lặp lại trong tele-op, lập trình theo hướng sự kiện cho phép chúng tôi ghi lại các hành động này và gán sự kiện cho một nút trong khoảng thời gian khớp do trình điều khiển kiểm soát. Các sự kiện tự động này có thể bị ảnh hưởng bởi các cảm biến để cho phép chúng thực hiện chính xác.

Bước 2: Luồng logic của lập trình theo hướng sự kiện

Luồng logic của lập trình theo hướng sự kiện
Luồng logic của lập trình theo hướng sự kiện

Phần sau mô tả luồng logic của một chương trình hướng sự kiện: màu đỏ mô tả việc tạo ra một sự kiện và màu xanh dương mô tả việc gọi sự kiện. Để tạo một sự kiện, một chuỗi đầu vào được thực hiện thông qua hành động của robot và được ghi lại dưới dạng sự kiện; những sự kiện này được ghi vào một tệp. Để gọi một sự kiện, tệp đó sẽ được đọc và các đầu vào được gửi đến bộ xử lý sự kiện để biến mã tệp thành hành động của rô bốt.

Bước 3: Người tạo sự kiện

Người tạo sự kiện
Người tạo sự kiện
Người tạo sự kiện
Người tạo sự kiện

Người tạo sự kiện được sử dụng để ghi lại các hành động hoặc “sự kiện” dựa trên nhiều loại cảm biến và nút. Khi rô bốt thực hiện các hành động trên trường, một lớp người tạo sự kiện sẽ tạo song song các sự kiện cho từng hành động đó, tham chiếu đến sự kiện được phân loại trong một lớp sự kiện. Sau khi được tạo, sự kiện được đưa vào một hàng đợi các sự kiện trong lớp sự kiện: sự kiện đầu tiên chiếm vị trí hàng đầu, sau đó sự kiện thứ hai chiếm vị trí hàng đầu và đẩy xuống bất kỳ sự kiện nào dưới nó và điều này tiếp tục cho đến khi chương trình dừng lại. Khi chương trình bị dừng, các sự kiện sẽ chuyển sang tệp định dạng mà con người có thể đọc được, chẳng hạn như tệp JSON. Tệp này có thể được sử dụng để cải thiện tốt hơn các quy trình tự quản.

Mã ví dụ ở trên thiết lập các tham số cho sự kiện, trong trường hợp này là một lượt sử dụng cảm biến IMU. Sau đó chúng tôi xếp sự kiện vào hàng đợi sự kiện. Cuối cùng, chúng tôi cắt bớt sự kiện, về cơ bản là đặt lại sự kiện để chúng tôi có thể sử dụng nó để xếp hàng các sự kiện trong tương lai.

Bước 4: Bộ xử lý sự kiện

Bộ xử lý sự kiện
Bộ xử lý sự kiện
Bộ xử lý sự kiện
Bộ xử lý sự kiện

Các lớp sự kiện lấy tệp có thể đọc được của con người được tạo ra trong lớp người tạo sự kiện và thực hiện bất cứ điều gì mà mỗi sự kiện được xếp hàng đợi yêu cầu nó làm bằng cách gọi các phương thức được nêu trong lớp bộ xử lý sự kiện. Sau đó, lớp xử lý sự kiện sẽ cho rô bốt biết sự kiện nào sẽ phát lại. Cho dù đó là một sự kiện "lái xe về phía trước" đơn giản hay một sự kiện phức tạp với đầy đủ khoảng cách, ngã rẽ và cung đường, bộ xử lý sẽ phát lại bất kỳ sự kiện nào được đưa ra cho nó. Quá trình này rất hữu ích trong quá trình tự trị, vì một nhóm có thể ghi lại các cảm biến và hành động Tele-Op trước để khớp, sau đó chỉ cần phát lại các sự kiện trong chế độ tự trị. Quá trình này được gọi là phát lại bộ nhớ. Điều này cho phép một chương trình tự trị có thể định cấu hình 100% thông qua một tệp duy nhất. Khi người tạo và bộ xử lý sự kiện được thiết lập, một nhóm có thể chỉ cần thay đổi các quy trình tự quản thông qua tệp mà con người có thể đọc được.

Ví dụ trên trước tiên bắt đầu bằng cách kiểm tra tệp JSON cho một sự kiện, sau đó kiểm tra sự kiện đó bằng cách sử dụng câu lệnh trường hợp để xem đó là loại sự kiện nào, trong trường hợp này là lượt sử dụng cảm biến IMU. Một khi nó có thể nói rằng đó là một lượt sử dụng sự kiện IMU, sau đó nó sẽ xử lý sự kiện, thường liên quan đến việc chạy mã mà sự kiện đến từ việc sử dụng các biến từ sự kiện, được chuyển vào để tái tạo sự kiện đã được thực hiện trước đó.

Đề xuất: