Header Ads

  • Breaking News

    Phương pháp lập trình Robot Python: Tự động hóa hỗn hợp (Máy trạng thái hành vi)

    Phương pháp lập trình Robot Python: Tự động hóa hỗn hợp (Máy trạng thái hành vi)

    Cho đến nay, chúng tôi đã mô tả hai hành vi - đi đến mục tiêu và tránh chướng ngại vật - riêng biệt. Cả hai đều thực hiện chức năng của mình một cách đáng ngưỡng mộ, nhưng để đạt được mục tiêu thành công trong một môi trường đầy rẫy những trở ngại, chúng ta cần kết hợp chúng.
    Giải pháp mà chúng tôi sẽ phát triển nằm ở một loại máy móc có tên gọi cực kỳ tuyệt vời là ô tô hybrid . Một máy tự động hỗn hợp được lập trình với một số hành vi hoặc chế độ khác nhau, cũng như một máy trạng thái giám sát. Máy trạng thái giám sát chuyển từ chế độ này sang chế độ khác theo thời gian rời rạc (khi đạt được mục tiêu hoặc môi trường đột ngột thay đổi quá nhiều), trong khi mỗi hành vi sử dụng cảm biến và bánh xe để phản ứng liên tục với những thay đổi của môi trường. Giải pháp này được gọi là hybrid bởi vì nó phát triển theo kiểu rời rạc và liên tục.
    Khuôn khổ rô bốt Python của chúng tôi triển khai máy trạng thái trong tệp supervisor_state_machine.py.
    Được trang bị với hai hành vi hữu ích của chúng tôi, một logic đơn giản tự gợi ý: Khi không phát hiện thấy chướng ngại vật nào, hãy sử dụng hành vi đi đến mục tiêu. Khi phát hiện chướng ngại vật, hãy chuyển sang hành vi tránh chướng ngại vật cho đến khi không còn phát hiện chướng ngại vật nữa.
    Tuy nhiên, hóa ra logic này sẽ tạo ra rất nhiều vấn đề. Những gì hệ thống này sẽ làm khi nó gặp chướng ngại vật là quay lưng lại với nó, sau đó ngay khi nó đã rời khỏi nó, hãy quay lại ngay và chạy vào nó một lần nữa. Kết quả là một vòng lặp chuyển đổi nhanh chóng vô tận khiến robot trở nên vô dụng. Trong trường hợp xấu nhất, robot có thể chuyển đổi giữa các hành vi với mỗi lần lặp lại của vòng điều khiển — một trạng thái được gọi là điều kiện Zeno .
    Có nhiều giải pháp cho vấn đề này và những độc giả đang tìm kiếm kiến ​​thức sâu hơn nên kiểm tra, ví dụ: kiến trúc phần mềm DAMN .
    Những gì chúng ta cần cho robot mô phỏng đơn giản của mình là một giải pháp dễ dàng hơn: Thêm một hành vi chuyên biệt với nhiệm vụ đi vòng qua chướng ngại vật và đến được phía bên kia.
    Robot này đang tránh chướng ngại vật thành công trong trình mô phỏng robot Python.

    Không có nhận xét nào

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728