Skip to main content

Lập trình dựa trên hành vi

Sơ đồ luồng cho thấy các hành vi phức tạp dựa vào việc sử dụng nhiều hành vi đơn giản như thế nào. Có nhiều nhánh để chứng minh nhiều ví dụ. Một trong những con đường như vậy, từ hành động phức tạp đến hành động đơn giản, như sau: 'Vận hành một phương tiện tự lái' đòi hỏi 'Di chuyển đến một địa điểm cụ thể' đòi hỏi 'Di chuyển về phía trước trong năm giây' đòi hỏi 'Di chuyển bánh xe rô-bốt' đòi hỏi 'Quay động cơ'.
Hành vi phức tạp dựa vào việc sử dụng nhiều hành vi đơn giản.

Độ phức tạp của lập trình

Robot có thể được thiết kế để thực hiện nhiều nhiệm vụ khác nhau. Một số nhiệm vụ này rất đơn giản, như mở cửa tự động. Những thứ khác có thể phức tạp hơn nhiều, như xe tự lái di chuyển trong môi trường đô thị. Bất kể nhiệm vụ có phức tạp đến đâu, bạn cũng có thể chia nhỏ nó thành những nhiệm vụ đơn giản hơn. Những nhiệm vụ này được gọi là hành vi và là nền tảng của lập trình robot.

Hành vi là cách robot hoạt động và có thể có độ phức tạp khác nhau tùy thuộc vào cách robot được chế tạo hoặc lập trình. Một robot di động đơn giản như VEX V5 Speedbot chỉ có hai động cơ, trong khi Clawbot có bốn động cơ, bao gồm hai động cơ bổ sung cho Cánh tay và Móng vuốt. Hành vi của cả hai robot đều liên quan đến việc điều khiển các động cơ đó để đạt được các mục tiêu đã đề ra. Với nhiều thiết kế và lập trình hơn, bạn có thể bắt đầu từ hành vi đơn giản này và thực hiện các hành vi phức tạp hơn.

Dưới đây là danh sách các hành vi của robot tăng dần từ đơn giản đến phức tạp đối với cả Speedbot và Clawbot. Trong ngoặc đơn, bạn có thể thấy những hành vi đơn giản hơn tạo nên từng hành vi.

  • Xoay động cơ được chỉ định cho một cổng nhất định
  • Tiến về phía trước (xoay cả động cơ bên trái và bên phải bằng Hệ thống truyền động)
  • Di chuyển 5 mét (lái về phía trước, sau đó dừng lại)
  • Nắm lấy một vật thể ở xa (di chuyển 2 mét, xoay động cơ càng để nắm lấy nó)
  • Lấy một vật và đặt nó lên kệ cao (cầm một vật ở xa, quay lại, di chuyển 2 mét, sử dụng động cơ cánh tay và móng vuốt để nâng và thả vật)

Bạn có thể thấy cách phân tích bất kỳ hành vi phức tạp nào thành những hành vi đơn giản hơn. Chúng trở thành nền tảng cho mọi nhiệm vụ phức tạp.

Biểu tượng Mẹo của Giáo viên Mẹo dành cho giáo viên

  • Hướng dẫn học sinh chia nhỏ các hành vi phức tạp của robot thành các bước nhỏ hơn, đơn giản hơn. Quá trình này được gọi là phân hủy.

  • Giải thích cho học sinh rằng việc phân tích (chia nhỏ) các hành vi phức tạp thành các nhiệm vụ đơn giản hơn là một phần quan trọng của quá trình lập kế hoạch và lập trình.

  • Cho phép sinh viên thực hiện các dự án tự chủ của mình nếu có đủ thời gian học.

Biểu tượng Mở rộng việc học của bạn Mở rộng việc học của bạn

Để kết nối hoạt động này với tư duy tính toán và phân tích, hãy yêu cầu học sinh lập bản đồ hoặc liệt kê các bước hành vi mà robot sẽ thực hiện để hoàn thành các hoạt động dưới đây:

  • Hoạt động 1: Di chuyển 1 mét và quay trở lại vị trí ban đầu.

  • Hoạt động 2: Lật một chiếc hộp cách robot 60 cm.

  • Hoạt động 3: Nhặt một vật, lắc, di chuyển 30 cm, đặt vật xuống đất và trở về điểm xuất phát.

Biểu tượng thảo luận thúc đẩy Thúc đẩy thảo luận

Học sinh nên chia sẻ các bước ứng xử mà các em đã liệt kê cho các hoạt động trong phần Mở rộng việc học ở trên. Mỗi câu hỏi sau đây có thể được hỏi sau bất kỳ hoặc tất cả các hoạt động.

Q:Mỗi nhóm đã liệt kê những bước hoặc hành vi nào để hoàn thành hoạt động này một cách thành công?
A:Học sinh sẽ cần xem xét độ dài mà robot phải di chuyển cũng như chuyển động và tốc độ của cánh tay, ngoài việc liệt kê các hành vi đơn giản của robot cần thiết để hoàn thành hoạt động hoặc nhiệm vụ (lái về phía trước, lùi, rẽ trái hoặc phải). Học sinh nên tạo danh sách các hành vi sao cho mỗi bước đều được thể hiện rõ ràng.

Q:Điểm giống và khác nhau giữa các giải pháp (danh sách các bước) cho hoạt động này là gì?
A:Học sinh sẽ so sánh dựa trên giải pháp của mình. Biểu đồ Venn có thể là một cách tốt để sắp xếp các bước mà học sinh chia sẻ. Nếu phần lớn học sinh nêu tên một bước cụ thể, hãy thêm bước đó vào tâm nơi các vòng tròn chồng lên nhau. Nếu chỉ có một hoặc một vài học sinh nêu tên một bước cụ thể, hãy thêm bước đó vào một vòng tròn hoặc vòng tròn khác. Khi hoàn thành, các bước ở giữa phải thực sự đơn giản và không thể chia nhỏ hơn nữa trong khi các bước chỉ được liệt kê trong một vòng tròn có thể không đơn giản như mong đợi. Tuy nhiên, mô hình này có thể đảo ngược tùy thuộc vào kinh nghiệm của lớp trong việc chia nhỏ các hành vi phức tạp thành các bước đơn giản nhất.

Q:Có điểm tương đồng nào với các giải pháp thành công không? Nếu có, đó là những giải pháp nào?
A:Các giải pháp thành công nhất là những giải pháp có nhiều chi tiết và cụ thể nhất. Robot được lập trình bằng một ngôn ngữ có các hành vi rất cụ thể được chia thành các thành phần nhỏ nhất. Ví dụ, người ta thường nói một con robot "di chuyển 1 mét và trở về điểm xuất phát" nhưng mô tả cấp cao đó không dễ hiểu khi lập trình. Bạn phải chia nhỏ hơn nữa: tiến về phía trước 1 mét, quay 180 độ và tiến về phía trước 1 mét. Nhưng ngay cả như vậy cũng có thể không đủ chính xác và bạn cần mức độ chi tiết này để sẵn sàng lập trình: đặt tốc độ lái và quay ở mức 40%, lái về phía trước 1 mét, đợi 3 giây, rẽ trái 180 độ, đợi 1 giây và lái về phía trước 1 mét. Chúng ta càng phân tích các hành vi phức tạp để biến chúng thành các hành vi robot có thể lập trình được thì chúng ta càng chuẩn bị tốt hơn để hoàn thành một dự án.