Vũ Đức Lung Học viên thực hiện : Thái Quốc Thắng Đồng Nai, tháng 11 năm 2013 TÌM HIỂU VÀ XÂY DỰNG PHẦN MỀM HỖ TRỢ BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÁNH VẬT CẢN CHO XE TỰ HÀNH TRONG KHÔ
Trang 1Giáo viên hướng dẫn : TS Vũ Đức Lung Học viên thực hiện : Thái Quốc Thắng
Đồng Nai, tháng 11 năm 2013
TÌM HIỂU VÀ XÂY DỰNG PHẦN MỀM HỖ
TRỢ BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÁNH VẬT CẢN CHO XE TỰ HÀNH TRONG KHÔNG GIAN 2D
ĐỀ TÀI:
TRƯỜNG ĐẠI HỌC LẠC HỒNG CNTT - CAO HỌC KHÓA 3
1
Trang 2 NỘI DUNG TRÌNH BÀY
1 Giới thiệu bài toán
2 Mục tiêu
3 Giải pháp cho bài toán
4 Hiện thực và đánh giá kết quả
5 Kết luận và hướng phát triển
2
Trang 31 Giới thiệu bài toán:
3
Trang 41 Giới thiệu bài toán:
- Xe tự hành không có khả năng tránh vật cản trên đường đi Vì xe tự hành không tự động tìm cho mình được một đường đi
- Khi di chuyển, xe tự hành có khả năng di chuyển ra khỏi đường đi Do đó, xe tự hành có thể sẽ không di chuyển về đúng điểm đích
- Xe tự hành không có khả năng ghi nhận lại hình ảnh quan sát được trên đường đi, để làm
dữ liệu thông tin phát triển sau này
4
Trang 5- Xây dựng hệ thống camera để truyền hình ảnh ghi nhận được về máy tính điều khiển và kết quả sẽ được kiểm thử trên một xe tự hành thật
5
Trang 63 Giải pháp cho bài toán:
1 Tìm hiểu bài toán path planning
2 Tìm hiểu đường đi ngắn nhất dùng visibilty graph
(độ phức tạp O(n2logn)) kết hợp giải thuật
6
Trang 73 Giải pháp cho bài toán
3.1 Tìm hiểu bài toán path planning:
- Path planning là một bài toán tìm đường đi, được áp dụng nhiều trong các lĩnh vực như sinh tin học, CAD/CAM, layout, xử lý ảnh,…
và đặc biệt rất nhiều trong lĩnh vực robot
7
- Bài toán đặt ra là tìm ra đường đi tốt nhất theo một tiêu chuẩn tối ưu nào đó, sao cho đối tượng di chuyển từ điểm bắt đầu đến điểm đích trên đường đi này mà không va vào các vật cản trong môi trường hai hoặc nhiều chiều
Trang 83 Giải pháp cho bài toán
3.2 Đường đi ngắn nhất trong visibilty graph:
Cho một tập S là các đa giác rời nhau…
S, với điều kiện E vis = {uv u, v V(S), u thấy v}
…và V(S) là đỉnh của tập S
P goal
Trong đó: S * = S ∪ {P start , P goal }
Hệ quả: Đường đi ngắn nhất giữa P start và P goal tương
ứng với một đường đi trong G ngắn nhất vis (S *)
8
Trang 93 Giải pháp cho bài toán
3.2 Đường đi ngắn nhất trong visibilty graph:
Giải thuật tìm đường đi ngắn nhất:
ShortestPath(S, P start , P goal )
Đầu vào: Một tập S của các đa giác rời nhau, 2
điểm P start và P goal trong không gian tự do Đầu ra: Đường đi ngắn nhất giữa hai điểm P start và
P goal
1 G vis VisibilityGraph (𝑆 ∪ {P start , P goal})
2 Gán mỗi cung (v,w) trong G vis một trọng số bằng chính chiều dài của đoạn 𝑣𝑤
3 Sử dụng giải thuật Dijkstra để tính đường đi ngắn
Trang 103 Giải pháp cho bài toán
3.3 Sử dụng giải thuật Dijkstra để tìm đường đi:
Giải thuật Dijkstra:
B1 : Khởi tạo: Đặt k v := false vV; d v = ∞, vV{a}, d a := 0
B2 : Chọn vV sao cho k v = false và d v = min{d ttV, k t = false}
Nếu d v = ∞ thì kết thúc, không tồn tại đường đi từ a đến b
B3 : Đánh dấu đỉnh v, gán k v := true
B4: Nếu v = b, kết thúc và d b chính là độ dài đường đi ngắn
nhất đi từ a đến b
Ngược lại nếu v ≠ b thì chuyển sang B5
B5 : Với mỗi đỉnh u kề với v mà k u = false, kiểm tra
Nếu d u > d v + w(v,u) thì d u := d v + w(v,u)
Ghi nhớ đỉnh v: p u := v Quay lại bước B2
10
Độ phức tạp của giải thuật O(n 2)
Trang 114 Khối chức năng điều khiển xe tự hành
Trang 124 Khối chức năng điều khiển xe tự hành
4.1 Chức năng xác định vị trí hiện tại của xe:
Màn hình giao diện chính của khối chức năng xác định vị trí hiện tại của xe:
Trang 134 Khối chức năng điều khiển xe tự hành
4.2 Chức năng bám đường đi chính xác:
PID là một bộ điều khiển vi tích phân tỷ lệ (Proportional Integral Derivative – PID) là một cơ chế phản hồi vòng điều khiển Bộ điều khiển PID bao gồm 3 thông số riêng biệt, đôi khi nó còn được gọi là điều khiển
ba khâu Viết tắt P, I và D:
- “P” : Khâu giá trị tỷ lệ (Proportional);
- “I” : Khâu tích phân (Integral);
- “D” : Khâu vi phân (Derivative)
4.2.1 Lý thuyết bộ điều khiển PID:
13
Trang 144 Khối chức năng điều khiển xe tự hành
4.2 Chức năng bám đường đi chính xác:
4.2.1 Lý thuyết bộ điều khiển PID:
P out : Thừa số tỷ lệ của đầu ra
K p : Độ lợi tỷ lệ, một thông số điều chỉnh
e : Sai số
t : Thời gian hiện tại hay thời gian tức thời
14
Trang 154 Khối chức năng điều khiển xe tự hành
4.2 Chức năng bám đường đi chính xác:
4.2.1 Lý thuyết bộ điều khiển PID:
Khâu tỷ lệ “I”:
Làm tăng tốc chuyển động của quá trình tới điểm đặt và khử số dư sai số ổn định với một tỷ lệ chỉ phụ thuộc vào bộ điều khiển Được cho bởi:
I out = K i 𝑒 𝜏 𝑑𝜏0𝑡
Trong đó:
I out : Thừa số tích phân của đầu ra
K i : Độ lợi tích phân, một thông số điều chỉnh
e : Sai số
t : Thời gian hiện tại hay thời gian tức thời
𝜏 : Một biến tích phân trung gian 15
Trang 164 Khối chức năng điều khiển xe tự hành
4.2 Chức năng bám đường đi chính xác:
4.2.1 Lý thuyết bộ điều khiển PID:
Khâu tỷ lệ “D”:
Làm giảm biên độ vọt lố được tạo ra bởi thành phần tích phân và tăng cường độ ổn định của bộ điều khiển hỗn hợp Thừa số vi phân được cho bởi:
D out = K d 𝑑
𝑑𝑡 e(t) Trong đó:
D out : Thừa số vi phân của đầu ra
K i : Độ lợi vi phân, một thông số điều chỉnh
e : Sai số
t : Thời gian hiện tại hay thời gian tức thời 16
Trang 174 Khối chức năng điều khiển xe tự hành
4.2 Chức năng bám đường đi chính xác:
4.2.1 Lý thuyết bộ điều khiển PID:
Tổng chập của ba tác động này dùng để điều chỉnh
quá trình thông qua một phần tử điều khiển Cho u(t)
là đầu ra của bộ điều khiển, biểu thức cuối cùng của giải thuật PID là:
u(t) = MV(t) = K p e(t) + K i 𝑒 𝜏 𝑑𝜏0𝑡 + K d 𝑑
𝑑𝑡 e(t) Trong đó các thông số điều chỉnh:
K p : Độ lợi tỉ lệ
K i : Độ lợi tích phân
K d : Độ lợi vi phân
17
Trang 184 Khối chức năng điều khiển xe tự hành
4.2 Chức năng bám đường đi chính xác:
4.2.2 Xây dựng chức năng bám đường:
và tiểu đường đi P i kết nối tập các điểm từ w i đến
Khi đó, vị trí hiện tại được cho x t
Cho n i là vector để theo dõi lỗi
và hàm theo dõi lỗi sẽ là:
18
Trang 194 Khối chức năng điều khiển xe tự hành
4.2 Chức năng bám đường đi chính xác:
4.2.2 Xây dựng chức năng bám đường:
Bộ điều khiển được hiện thực dựa trên vòng lặp đóng
sử dụng điều khiển P trong bộ điều khiển PID:
Trang 205 Chức năng ghi và truyền hình ảnh:
Trong quá trình di chuyển xe tự hành sử dụng một Camera IP giao tiếp qua thiết bị Wireless và kết nối máy tính điều khiển thông qua thiết bị Access Point để truyền hình ảnh quan sát được về cho máy tính điều khiển
Thiết lập kết nối không dây giữa các thiết bị thông qua thông qua Access Point:
20
Kết nối Camera và máy tính
vào AP1
Trang 216 Hiện thực và đánh giá kết quả:
6.1 Hiện thực:
21
Trang 226 Hiện thực và đánh giá kết quả:
6.2 Đánh giá kết quả:
• Nghiên cứu và hệ thống hóa lý thuyết tìm đường đi ngắn nhất tránh vật cản cho xe tự hành dùng visibility graph với độ phức tạp
O(n2logn);
22
• Tìm hiểu và xây dựng khối chức năng di chuyển bám theo đường đi một cách chính xác, dựa khâu tỷ lệ “P” trong bộ điều khiển PID kết hợp
hệ thống camera và bộ thư viện EmguCV
• Xây dựng khối chức năng truyền hình ảnh quan sát được trên đường đi từ camera về cho máy tính điều khiển
Trang 237 Hướng phát triển của đề tài:
• Phát triển hệ thống phù hợp với môi trường thực tế;
23
• Phát triển bài toán tìm đường lên 3D;
• Xe tự hành có khả tránh vật cản bất ngờ xuất hiện;
• Ứng dụng thực tế cho xe tự hành với khoảng cách xa hơn và cần chuyển từ giao tiếp Bluetooth lên các mạng không dây tầm xa hơn
Trang 24Xin chân thành cảm ơn quí Thầy Cô và các bạn đã quan tâm theo dõi !!!