Skip to main content

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

Sơ đồ minh họa một loạt các hành vi của robot từ đơn giản (bên phải) đến phức tạp (bên trái). Từ đơn giản nhất đến phức tạp nhất là các hành vi 'quay động cơ' để di chuyển cánh tay robot, đóng/mở càng robot, di chuyển bánh xe robot, lấy đồ vật, di chuyển về phía trước trong 5 giây, xoay robot 90 độ, di chuyển đến vị trí và nhặt đồ vật, phân phối thuốc trong toàn bệnh viện và vận hành xe tự lái là phức tạp nhất.

Sơ đồ minh họa quá trình tiến triển từ nhiệm vụ đơn giản đến phức tạp trong ngành robot. Biểu đồ bắt đầu ở bên trái với hình bầu dục màu xanh có nhãn Động cơ quay, phân nhánh thành bốn đường dẫn đến hình chữ nhật màu xanh: Di chuyển cánh tay robot, Mở/Đóng móng robot, Di chuyển bánh xe robot và Chờ một khoảng thời gian. Những hình chữ nhật màu xanh này tượng trưng cho những nhiệm vụ đơn giản. Luồng tiếp tục về bên phải, hiển thị các hành động phức tạp hơn trong các hình chữ nhật màu tím, chẳng hạn như Lấy vật thể, Di chuyển về phía trước trong 5 giây, Xoay robot 90 độ và Di chuyển đến vị trí và nhặt vật thể. Những hành động này liên quan đến các nhiệm vụ phức tạp nhất trong các hình chữ nhật màu đỏ ở phía bên phải, được dán nhãn là Cung cấp thuốc trong toàn bệnh viện và Vận hành xe tự lái. Toàn bộ sơ đồ được gạch chân bằng một mũi tên chuyển màu, với Đơn giản ở bên trái màu xanh lam và Phức tạp ở bên phải màu đỏ, biểu thị mức độ phức tạp tăng dần của các tác vụ khi bạn di chuyển trên sơ đồ

Độ 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.