Quỹ đạo robot di chuyển vị trí Luật điều khiển PD cho vận tốc góc [2]: vneed = vmax nếu như vneed > vmax Trong quá trình di chuyển đến vị trí, nếu góc sai số quá lớn, robot không thể di
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
FOG
BÁO CÁO TỔNG KẾT KẾT QUẢ
ĐỀ TÀI KHCN CẤP TRƯỜNG
Tên đề tài:
NGHIÊN CỨU THIẾT KẾ CHIẾN THUẬT
CHO NHÓM ROBOT ĐÁ BANH
Mã số đề tài: T-CK-2013-07
Thời gian thực hiện: 5/2013 – 5/2014
Chủ nhiệm đề tài: Trần Việt Hồng
Thành phố Hồ Chí Minh – Tháng 6/2014
Trang 2MỤC LỤC
Mục lục 1
I Giới thiệu 2
II Các kết quả đã đạt được 2
III Các kết quả mới, nổi bật 15
IV Kết luận và kiến nghị 20
V Tài liệu tham khảo 21
VI Báo cáo kinh phí đã chi 22
Trang 3Fira Simurosot là một phần mềm mô phỏng cho các Micro-robot trong giải Mirosot do hiệp hội FIRA tổ chức [11], phần mềm đưa ra một môi trường bóng đá giả lập cho các robot với các chuyển động, va chạm chính xác gần giống với thực tế Simurosot cung cấp một hệ thống thị giác với các dữ liệu theo thời gian thực, và hệ thống liên lạc tới các robot, do đó sự nghiên cứu này chỉ tập trung vào phát triển giải thuật cho các robot Hơn thế nữa các giải thuật này đều có thể dễ dàng áp dụng trong môi trường bóng đá thật [2,6] Các giải thuật sẽ phải viết giải thuật dưới dạng ngôn ngữ C++ hoặc Lingo, Simurosot sẽ làm nhiệm vụ như một sever kết nối với các giải thuật của mỗi đội để mô phỏng một trận đấu thực tế Kích thước robot sử dụng trong giải này được FIRA quy định 7.5 x 7.5 x 7.5 cm và số lượng robot tham gia giải là 5 robot cho mỗi đội [12]
II Các kết quả đã đạt được
2.1 Mô hình hóa động học cho robot
Phương trình động học của robot [5] :
θθ
ωθ
Trang 4Vận tốc các bánh vô lăng của robot :
Hình 1 Vị trí robot trong tọa độ
Hình 2 Hệ tọa độ sân bóng của Simurosot [12]
Trang 52.2 Các bước tiến hành
2.2.1 Quỹ đạo di chuyển đến một vị trí mới
Di chuyển là hành vi không thể thiếu của Robot trong suốt quá trình trận đấu diễn ra Xét vị trí của Robot trong mặt phẳng tọa độ:
Hình 3 Quỹ đạo robot di chuyển vị trí Luật điều khiển PD cho vận tốc góc [2]:
vneed = vmax nếu như vneed > vmax
Trong quá trình di chuyển đến vị trí, nếu góc sai số quá lớn, robot không thể di chuyển nhanh được, do đó với thuật toán Fuzzy logic giúp robot đưa ra vận tốc hợp lý khi di chuyển góc và điều này cũng giúp vận tốc vô lăng robot không vượt quá vận tốc giới
hạn vmax:
If is Large then is 0
If is Zero then is vmax
Trang 6Hình 4 Giá trị mờ của sai số góc
Hình 5 Giá trị mờ của vận tốc v
Vận tốc dài cần thiết cuối cùng phải điều khiển : vfinal = min(vneed,vfuzzy)
Áp dụng luật điều khiển PD cho vận tốc dài [1]:
Trang 7Hình 6 Quỹ đạo Uni-Vector
Việc điều khiển Robot đến vị trí bóng và sút theo hướng cho trước được thực hiện thành công nếu: và
Hình 7 Quỹ đạo sút bóng
Để xây dựng quỹ đạo Uni-Vector, nghiên cứu này đưa ra góc β mục tiêu mà robot cần
đạt được tại mỗi vị trí :
Thuật toán Fuzzy cho kD được sử dụng như sau [4]:
If is Far then is VerySmall
Trang 8If is Medium then is Small
If is Near then is Average
If is Close then is Large
Hình 8 Mối quan hệ mờ của khoảng cách D
Hình 9 Mối quan hệ mờ của hệ số kD
Trang 9Hình 10 Mối quan hệ mờ của
Hình 11 Mối quan hệ mờ của Tọa độ góc mới mà Robot cần đạt được từ vị trí hiện tại :
Trang 10Hình 12 Vị trí tương quan khi gặp vật cản
Các bước tiến hành giải thuật tránh vật cản [3,7]:
Bước 1: Xét
Bước 2: Góc né tránh vật cản an toàn khi robot cách vật cản một khoảng cách D :
Với = 1 nếu > 0 và = -1 nếu < 0
Nghiên cứu này xây dựng bộ luật Fuzzy logic cho như sau [3]:
Trang 11Hình 14 Mối quan hệ mờ của
2.2.4 Xây dựng chiến thuật đội hình tấn công cho các Robot
Vị trí bóng trên sân được sử dụng như một tập các tình huống tấn công-phòng thủ, bằng cách chia sân bóng thành các khu vực khác nhau và nhiệm vụ phân công trong các Robot trong mỗi khu vực này cũng khác nhau [10]
Dựa trên sự quan sát hình ảnh thi đấu thực nghiệm từ các đội thi đấu bóng đá, và những thực tế bóng đá thực của con người, nghiên cứu đưa ra các giải pháp giải quyết cho mỗi tình huống [10]:
- Chia sân bóng thành 31 trường hợp để mô tả các trạng thái bóng thường phải đối mặt với các robot đối thủ
- Xây dựng đội hình sắp xếp vị trí các robot ứng với 31 vị trí tấn công phòng thủ
cơ bản Các vị trí này được đưa ra để giảm thiểu sự sai sót logic khi các robot tự
xử lý tình huống Sự sắp xếp vị trí này để tăng khả năng phối hợp khi tấn công, giảm sự xung đột va chạm và tránh sự hỗn loạn khi các robot phòng thủ trên sân nhà
Trang 12Hình 15 Sự phân chia khu vực sân bóng
- Xây dựng các nhiệm vụ cho các robot dựa trên các di chuyển cơ bản của robot và tình huống bóng đưa trong 31 khu vực này [2,10]:
• Bound Defense – phòng ngự biên ở 4 khu vực biên
• Push ball Defense – Chặn bóng, sút bóng ra khỏi các khu vực biên
• Bound push ball – Sút bóng vào goal đối phương từ vị trí biên
• Parallel Defense – Phòng ngự song song với các robot khác
• Attack – Tấn công và sút bóng ở mọi tư thế
• Assitant – Hỗ trợ dự phòng cho robot tấn công
• Clearball – Sút bóng ra khỏi khu vực penalty đội nhà
• Home Defense – Phòng ngự trung tâm
• Left Wing Attack – Chạy cánh và tấn công từ cánh trái
• Right Wing Attack – Chạy cánh và tấn công từ cánh phải
• GoalkeeperAction – Nhiệm vụ dành riêng cho thủ môn
2.2.5 Chiến thuật tấn công và phân công nhiệm vụ cho các robot di chuyển theo đội hình
Để các robot làm nhiệm vụ hợp lý nghiên cứu này sử dụng thuật toán AHP để đưa ra sự lựa chọn robot trong mỗi trường hợp
Mô hình AHP được chia làm ba lớp [8,10] :
- Mục tiêu (Goal): lựa chọn robot cho nhiệm vụ i ở mục 2.2.4
- Tiêu chí quyết định (Criterion) : Tiêu chí để đưa ra quyết định chọn robot
Trang 13của nhiệm vụ i
- Giải pháp thay thế (Alternative): Sự lựa chọn robot hợp lý cho nhiệm vụ i
này
Các tiêu chí sử dụng trong nghiên cứu này:
- Robot tấn công là robot có vị trí thuận lợi để sút bóng, có ba tiêu chí đưa ra
để quyết định lựa chọn Robot Attack đó là :
+ : góc tạo bới Robot-bóng-mục tiêu
+ : khoảng cách từ Robot tới bóng
+ : Giá trị sai lệch giữa hướng của Robot và hướng di chuyển tiếp theo do phương pháp Uni-vector đưa ra cho Robot
Trang 14Hình 16 Tiêu chí lựa chọn robot tấn công
- Các robot làm nhiệm vụ di chuyển khác: và
Hình 17 Tiêu chí lựa chọn robot di chuyển
Cách tính toán thuật toán AHP cho các robot [8,10]:
Bước 1: Xây dựng ma trận so sánh cặp của các Robot ứng với 3 tiêu chí là B k với
k(1-3) :
Với : giá trị so sánh của Robot i với Robot j ứng với tiêu chí k, các giá trị này được
lấy từ bảng sau [10]:
Trang 15Bước 2: Tính toán các vector riêng T k 4x1 của ma trận B k 4x4 :
- Giá trị hàng thứ i của T k bằng tổng các giá trị hàng i của B k
- Tối giản các giá trị hàng i của T k sao cho tổng các giá trị cột của chúng bằng 1.Bước 3: Kiểm tra tính chắc chắn khi đưa ra quyết định bằng cách tính ma trận giá trị riêng :
Với chỉ số CI (consistency index) , CR ( consistency ratio ), RI (random consistency index ) được định nghĩa như sau:
RI được các chuyên gia đưa ra để đánh giá khi lựa chọn [10] :
Theo thuật toán AHP đưa ra vector riêng T k được đánh giá tin cậy tốt nếu tỉ số nhất quán CR < 0.1 [8,10]
Nếu CR>0.1 ở ma trận T k thì giải pháp là bình phương ma trận B k và quay lại bước 1 cho đến khi CR<0.1 [8,10]
Ma trận trọng số của các robot với :
T(4x3)= [T 1 T 2 T 3]
Ma trận trọng số giữa các tiêu chí với nhau A(3x1) có thể trực tiếp đưa ra hoặc xây
dựng dựa trên thuật toán AHP khi không chắc chắn về các giá trị
Ma trận trọng số của tất cả các robot ứng với nhiệm vụ tấn công :
W=A T T
Trong quá trình tính toán sẽ có những robot có trọng số AHP bằng nhau do sự đồng hạng bằng nhau Nếu đó là trọng số lớn nhất thì giải thuật sẽ thêm một trọng số cho
Trang 16robot nếu trước đó nó đã làm nhiệm vụ này
Các nhiệm vụ được sắp xếp theo thứ tự ưu tiên cần thiết, khi một robot được lựa chọn
ở nhiệm vụ i thì ở nhiệm vụ i+1 nó sẽ bị loại khỏi danh sách lựa chọn [10]
III Các kết quả mới, nổi bật
Các kỹ năng di chuyển của robot được nghiên cứu này sử dụng tham gia thi đấu trong
mô phỏng:
- Spin : Chuyển động tròn quanh một bán kính cho trước
- TurnToAngle : Xoay robot một góc cho trước
- TurntToTarget : Xoay robot hướng về target
- Move2point: Robot di chuyển đến một vị trí cho trước
- Shoot2point : Robot sút bóng đến mục tiêu
- DynamicShooting : Robot sút đệm bóng vào goal đối phương khi bóng đi ngang qua giao điểm giữa Robot và Goal
- ObstacleAvoidance : Robot tránh vật cản khi đang di chuyển hoặc sút bóng
Các hàm phụ trợ trong công việc tính toán và ước lượng:
- Predicball : tính toán vận tốc bóng , hướng bóng, vị trí bóng có thể trong chu kỳ tiếp theo dựa trên 6 giá trị tọa độ bóng được lưu giữ lại [9]
- AHP_Algorithm : tính toán trọng số AHP cho các robot ứng với các nhiệm vụ
- Fuzzy4Phi: Đưa ra quỹ đạo góc β cho robot sút bóng
- GetBallAreaNo : trả về các giá trị nguyên từ 1-31 tùy theo vị trí bóng
- RoleAgissnment : Phân chia công việc cho các robot dựa trên trọng số AHP
- Tất cả các hàm tọa độ tính toán hình học như công thức tính góc, khoảng cách, giao điểm giữa các điểm và các đường thẳng với nhau
Các kết quả ví dụ đạt được khi mô phỏng quỹ đạo sút bóng ở nhiều tư thế khác nhau:
Trang 170 50 100 150 200 0
20 40 60 80 100 120 140 160 180
Ket qua mo phong quy dao sut cua Robot
Ket qua mo phong quy dao sut cua Robot
Trang 18Nghiên cứu tiến hành kiểm tra độ chính xác khi sút bóng vào goal với kết quả đạt được như sau:
Các kết quả ví dụ khi mô phỏng sút bóng có né tránh chướng ngại vật:
0 20 40 60 80 100 120 140 160 180
Ket qua mo phong quy dao sut cua Robot
Trang 19Hình 20 Vị trí thử nghiệm phương pháp né tránh vật cản
Với các thông số kết quả như sau:
Khoảng giữa các robot cản (cm) ~25 ~35 ~40
Trang 20Hình 21 Vị trí thử nghiệm phương pháp AHP
Nhiệm vụ thứ tự ưu tiên trong khu vực này là:
- Lựa chọn robot sút bóng
- Lựa chọn robot chạy cánh phải
- Lựa chọn robot chạy cánh trái
- Lựa chọn robot hậu vệ
Các thông số ban đầu của robot và sự tính toán trọng số của AHP:
Trang 21Theo thuật toán AHP : thứ tự lựa chọn các robot sẽ là : Robot 1 tấn công, Robot 2 hậu
vệ, Robot 3 chạy cánh trái, Robot 4 chạy cánh phải
Do sự khó khăn trong việc tìm kiếm các giải thuật để đối chiếu, do những giải thuật này không được công bố rộng rãi, nghiên cứu này thực hiện thi đấu thực nghiệm với 2 giải thuật mẫu cơ bản của giải Simurosot
Các kết quả mô phỏng trận đấu do nghiên cứu tiến hành:
Trận Số trận thi đấu Số trận thắng của
IV Kết luận và kiến nghị
Qua các kết quả mô phỏng cho thấy giải thuật đã có một sự gắn kết giữa các robot, điều khiển chúng theo những công việc đã định sẵn và đáp ứng được một phần nào đó trong xây dựng chiến thuật tấn công cho robot Các chiến thuật đưa ra trong trò chơi này đều
có thể áp dụng được cho các giải thi đấu thực tế, tuy nhiên sẽ có những tùy chỉnh cho việc áp dụng vào việc điều khiển đội hình trong thực tế Mục tiêu cuối cùng của robot bóng đá đó là chiến thắng, các giải thuật đưa ra luôn phải lựa chọn giữa sự chính xác
và tốc độ trong điều khiển và các cách sắp xếp điều khiển đội hình một cách hợp lý
Trang 22Trong nghiên cứu tiếp theo sẽ đưa ra giải thuật né tránh chướng ngại vật mới khi robot
di chuyển phải đối mặt với nhiều robot cản, né tránh 4 cạnh biên và đưa thêm tiêu chí chướng ngại vật vào giải thuật AHP để đánh giá sự lựa chọn đúng đắn robot hơn
V Tài liệu tham khảo
[1] Sanjiban Choudhury, ”Application of Reinforcement Learning in Robot Soccer”,
in Control Systems Engineering, Indian Institute Of Technology Kharagpur,
2011
[2] J Gómez and W Sotomonte, “Comparing Multi-Agent Strategies In A Simulated Robot-Soccer Environment : The Uncol Team”, Universidad Nacional de Colombia
[3] C Wong et al, “A Method for Obstacle Avoidance and Shooting Action of the
Robot Soccer”, Tamkang University 2001
[4] PhD Elmer A Maravillas et al,”Fira Mirosot Robot Soccer System Using Fuzzy Logic Algorithms”, in Robot Soccer ,Vladan Papi, 2010
[5] Dong-Han Kim et al, “Vector Field based Path Planning and Petri-net based Role
Selection Mechanism with Q-learning for the Soccer Robot System”, in
Intelligent Automation and Soft Computing, Korea Advanced Institute of Science
and Technology, 2000
[6] PhD Yang TW, “Dynamic Model and Shooting Algorithm on Simurosot”, in 2nd International Conference on Autonomous Robots and Agents, Palmerston North,
New Zealand , 2004
[7] A.H Pratomo “Position and Obstacle Avoidance Algorithm in Robot Soccer”, in
Journal of Computer Science 6, University Kebangsaan Malaysia, 2010
[8] J.A Alonso, “Consistency In The Analytic Hierarchy Process : A New
Approach”, in International Journal of Uncertainty Fuzziness and Based Systems, Vol 14, No 4, World Scientific Publishing Company, 2006
Knowledge-[9] Sh Hao-bin et al, “The Study Of The Prediction Model In The Simurosot”,
Northwestern Polytechnical University, China
[10] J Yuandong, “The Role Assignment in Robot Soccer”, in Robot Soccer, Vladan
Papi, 2010
[11] Simurosotsoftware: http://www.fira.net/?mid=simurosot
[12] FIRA official website http://www.fira.net
Trang 23VI Báo cáo kinh phí đã chi
Khoản 1 Công lao động (khoa học, phổ thông)
Nghiên cứu luật và xây dựng nền tảng chiến thuật cơ bản
Thiết kế chiến thuật cho đội hình robot đá banh 3.000.000
Mô phỏng và thực nghiệm chiến thuật đá banh trên nền Simurosot 3.000.000
Kiểm tra, hoàn thiện 3.000.000
Viết Báo cáo tổng kết khoa học kỹ thuật đề tài 6.000.000
Tp.HCM, ngày 26 tháng 06 năm 2014 Tp.HCM, ngày tháng năm 2014
Trần Việt Hồng