Hình trên mơ tả sơ đồ của một robot mơ hình NEWT, trong đó có hai bánh xe chủ động sẽ điều khiển robot. Một bộ điều khiển hai động cơ, nhận tín hiệu hồi tiếp từ encoder. Bánh xe được nối với động cơ qua hộp giảm tốc có tỉ số truyền n.
Gọi:
Đồ án liên mơn 4 Nhóm 1 GVHD: Nguyễn Hồng Mai
- Ce là độ phân giải của encoder (tính bằng xung trên vịng).
- n là tỉ số truyền giảm tốc giữa trục động cơ (cũng là trục của encoder) so với trục bánh xe
Từ đây chúng ta có thể tính hệ số chuyển đổi giữa số xung encoder và độ dịch chuyển của bánh xe theo công thức sau:
C = 2 R
C
m
n e
Với số xung NL và NR lần lượt được ghi nhận từ bánh xe bên trái và bánh xe bên phải, chúng ta có thể tính được độ dịch chuyển của mỗi bánh xe tại thời điểm k như sau:
DL,k = Cm NL,k và DR,k = Cm NR,k
Và tính được độ dịch chuyển tương đối của điểm trung tâm (trung điểm đường nối hai bánh xe) và góc xoay của robot theo các công thức sau:
DC ,k = DR,k + DL,k 2 k = DR,k − DL,k
L
Trong đó L là khoảng cách giữa hai bánh xe trong mơ hình NEWT Khi đó hướng tương đối của robot tại thời điểm k+1 sẽ là:
k +1 = k + k +1
Và vị trí tương đối của robot tại thời điểm k+1 sẽ là:
xk +1 = xk + DC,k +1.cosk +1
yk +1 = yk + DC,k +1.sin k +1
Ta sẽ áp dụng các công thức này vào Matlab Simulink để mơ phỏng vị trí của robot.
Như vậy, xem như chúng ta đã giải bài toán động học rất đơn giản cho robot di động mơ hình NEWT. . Đây là phần cơ bản nhất của phương pháp dead reckoning. Tuy nhiên, bởi vì các cơng thức trên dựa vào việc biến đổi tuyến tính các thơng số ghi nhận từ encoder thành độ dịch chuyển của bánh xe, nhưng trong thực tế, khơng bao giờ có sự tuyến tính hồn hảo trong các ứng dụng robot như vậy. Sự khơng tuyến tính sẽ gây ra các sai số. Chúng ta cần nhận diện hai loại sai số và một vài nguyên nhân chính dẫn đến các sai số đó. Có hai loại sai số là sai số ngẫu nhiên và sai số hệ thống.
• Nguyên nhân sai số hệ thống
− Các bánh xe không trịn.
− Các bán kính trung bình của các bánh xe khơng bằng với bán kính bánh xe mà chúng ta dùng để tính tốn.
− Các bánh xe bị lệch trục.
− Khoảng cách hai bánh xe khơng xác định được vì bánh xe ln tiếp xúc với mặt sàn theo một đường thẳng hoặc một mặt phẳng, chứ không phải là tiếp xúc điểm.
− Độ phân giải giới hạn của encoder.
− Tần số lấy mẫu từ encoder (chúng ta không thể đếm encoder liên tục, mà chỉ có thể lấy mẫu ở mỗi thời điểm để tính tốn).
• Ngun nhân sai số ngẫu nhiên
− Mặt sàn không phẳng
− Có những chướng ngại vật bất thường, các cảm biến khác không ghi nhận được, và robot vẫn vượt qua chướng ngại vật đó
− Những sai lệch của bánh xe:
o Sự trượt của bánh xe với mặt sàn
o Gia tốc quá cao và bánh xe chưa đạt đến gia tốc đó trong một khoảng thời gian tính tốn
o Khi xoay quá nhanh, lực quán tính làm trượt bánh xe
o Ngoại lực (tác dụng lên thân robot…)
o Nội lực (những cơ cấu chấp hành động trên robot…)
Trong thực tế, khi robot hoạt động trên một mặt sàn tương đối tốt, phẳng, thì sai số chủ yếu là các sai số hệ thống. Nhưng nếu mặt sàn lồi lõm thì các sai số ngẫu nhiên lại là vấn đề cần được quan tâm.
Đồ án liên mơn 4 Nhóm 1 GVHD: Nguyễn Hồng Mai
Trong đề tài này, chúng ta giả sử khơng quan tâm đến các sai số, bởi vì giải thiết là robot hoạt động trong khơng gian hai chiều, và điều kiện thí nghiệm là mơ phỏng.
3.3 Thuật tốn điều khiển robot tự hành
Ngày nay, xe tự hành hay robot tự hành nằm trong số các lĩnh vực nghiên cứu đang phát triển nhanh và quan trọng nhất của robotics. Các phương tiện tự động giúp đáp ứng việc tăng lưu lượng, mật độ, hiệu quả, an toàn và cảm giác thoải mái khi di chuyển. Nhiều giải pháp xe/robot tự hành đã được triển khai thử nghiệm trên thế giới và ngay tại Việt Nam. Những nỗ lực nghiên cứu vẫn tiếp tục được thực hiện nhằm cải thiện hiệu suất, độ tin cậy và cắt giảm chi phí của xe/robot tự hành.
Một trong những chìa khóa quyết định sự thành cơng xe/robot tự hành nằm ở trình theo dõi đường đi (path tracker). Trên lý thuyết, tồn tại rất nhiều kỹ thuật, với các mức độ phức tạp và tính hiệu quả khác nhau trong một số tình huống cụ thể. Việc lựa chọn trình theo dõi đường đi ảnh hưởng đến hiệu suất về độ chính xác và độ ổn định và sự thoải mái của hành khách. Mục tiêu của bộ điều khiển là đảm bảo xe đi theo một con đường mong muốn bằng cách giảm thiểu sai số giữa xe và đường đi tham chiếu. Đồng thời vận tốc của xe cũng phải ổn định dựa trên đường đi tham chiếu sẽ được định trước bởi thuật tốn về path planning. Có nhiều thuật tốn có thể được sử dụng, nhưng phổ biến nhất có 3 thuật tốn điều khiển phổ biến cho xe tự hành, bao gồm: Pure Pursuit, Stanley và Model Predictive Controller. Đề tài này sẽ giới thiệu thuật toán Pure Pursuit.
3.3.1 Nguyên lý bộ điều khiển sử dụng thuật toán Pure Pursuit
Pure Pursuit Controller không phải là một bộ điều khiển truyền thống, mà hoạt động như một thuật toán theo dõi đường đi. Các đặc tính này được xác định dựa trên các thông số kỹ thuật của xe. Với đầu vào là vị trí, hướng của xe và đường tham chiếu có thể tính tốn vận tốc và góc lái tương ứng.
Pure Pursuit tính tốn góc lái dựa trên thơng tin về vị trí của xe và đường đi mà xe phải bám theo. Vận tốc của xe sẽ tùy thuộc vào đặc tính của từng khu vực (Đường trống, đường đơng dân cư, đường có độ dốc lớn, vật cản trên đường). Sau đó, thuật tốn sẽ di chuyển điểm ở phía trước trên đường đi dựa trên vị trí hiện tại của phương tiện, dần dần cho đến điểm cuối cùng. Hiểu một cách đơn giản, phương tiện liên tục đuổi theo một điểm trước mặt nó. Thuộc tính LookAheadDistance quyết định khoảng cách xác định điểm nhìn về phía trước.