Đề tài “Lập trình Robot 3 bánhdi chuyển theo ngƣời sử dụng cảm biến Kinect” hoạt động dựa trên sự điều khiển của hệ điều hành ROS. Cụ thể, sử dụng cảm biến Kinect để theo dõi và xác định toạ độ đầu ngƣời rồi gửi về hệ thống, máy tính đóng vai trò trung tâm sử dụng hệ điều hành ROS để xử lý toạ độ gửi về và chuyển thành toạ độ thực sau đó tính toán ra các giá trị vận tốc và góc quay rồi gửi xuống bộ điều khiển Arduino. Ở đây, Arduino tiếp tục sử dụng hệ điều hành ROS cho Arduino để nhận dữ liệu vận tốc và góc quay vừa đƣợc máy tính gửi xuống rồi xử lý xuất dữ liệu ra cho bộ điều khiển công suất điều khiển cho Robot di chuyển theo con ngƣời. Trong quá trình di chuyển Encoder đọc giá trị về cho Arduino xử lý và gửi ngƣợc lại về máy tính trung tâm điều khiển để điều chỉnh tốc độ và góc quay cho phù hợp. Quá trình đƣợc thực hiện liên tục trong suốt quá trình di chuyển của con ngƣời.
48 Begin Khởi tạo hệ thống Cho phép môi trƣờng ROS hoạt động Node camera kiểm tra có ngƣời
In ra thông báo
Đọc tọa độ head
Gọi node chuyển đổi về hệ tọa độ thực
Gọi node tính Linear_kinect và
Angular_kinect
Gọi node tính V_left và V_right
1
1
Kiểm tra giao tiếp giữa Arduino và máy tính In ra thông báo Gửi V_left và V_right xuống Arduino Xuất PWM V_left và V_right cho động cơ
Ngắt timer 0.1s đếm xung Encoder
Tính toán sai lệch e = tốc độ đặt - tốc độ hiện tại PID cân chỉnh V_left và V_right End Đ S Đ S
Hình 4.8: Lưu đồ giải thuật điều khiển của hệ thống.