## Tổng quan nghiên cứu
Trong bối cảnh phát triển nhanh chóng của công nghệ robot tự hành, việc tối ưu hóa đường đi cho robot là một vấn đề quan trọng và cấp thiết. Theo ước tính, việc tìm kiếm và đơn giản hóa đường đi giúp giảm thiểu thời gian di chuyển và năng lượng tiêu thụ, góp phần nâng cao hiệu quả hoạt động của robot trong các môi trường phức tạp. Luận văn tập trung nghiên cứu vấn đề đơn giản hóa đường gấp khúc với ràng buộc góc, nhằm ứng dụng cho robot tự hành trong không gian hai chiều (R2). Vấn đề nghiên cứu xoay quanh việc tìm đường đi ngắn nhất từ điểm xuất phát p đến điểm đích q dọc theo một dãy các bó đoạn thẳng F = {a0, a1, ..., aN+1} với N ≥ 1, trong đó p = a0 và q = aN+1 là hai điểm đầu và cuối của dãy. Mục tiêu cụ thể là phát triển và áp dụng hai phương pháp chính: phương pháp bắn nhiều lần để tìm đường đi gần nhất xấp xỉ và phương pháp đơn giản hóa đường gấp khúc với ràng buộc góc quay tối thiểu, nhằm tạo ra đường đi mới ngắn hơn đường gấp khúc ban đầu và phù hợp với khả năng vận hành của robot tự hành. Nghiên cứu được thực hiện trong giai đoạn từ tháng 01 đến tháng 06 năm 2024 tại Trường Đại học Bách Khoa, Đại học Quốc gia TP. Hồ Chí Minh. Kết quả nghiên cứu có ý nghĩa quan trọng trong việc nâng cao hiệu quả lập kế hoạch đường đi cho robot tự hành, góp phần phát triển các ứng dụng robot trong công nghiệp và dịch vụ.
## Cơ sở lý thuyết và phương pháp nghiên cứu
### Khung lý thuyết áp dụng
Luận văn dựa trên nền tảng của các lý thuyết và mô hình trong lĩnh vực tối ưu hóa và hình học tính toán, bao gồm:
- **Lý thuyết đường đi dọc theo dãy các bó đoạn thẳng**: Định nghĩa đường đi nối hai điểm p và q dọc theo một dãy các đoạn thẳng, trong đó đường đi ngắn nhất được ký hiệu là SP(p, q).
- **Khái niệm đường gấp khúc có ràng buộc góc**: Đường gấp khúc P trong không gian R2 được đơn giản hóa thành đường gấp khúc P0 với số đỉnh ít hơn, đồng thời thỏa mãn điều kiện ràng buộc góc quay tối thiểu δ giữa các đoạn thẳng kề nhau.
- **Phương pháp bắn nhiều lần (Multiple Shooting Method)**: Phân hoạch dãy các bó đoạn thẳng thành các dãy con, thiết lập và kiểm tra điều kiện thẳng hàng tại các điểm bắn, cập nhật điểm bắn để tìm đường đi ngắn nhất xấp xỉ.
- **Thuật toán đơn giản hóa đường gấp khúc với ràng buộc góc**: Thuật toán lặp qua các điểm đỉnh của đường gấp khúc, kiểm tra điều kiện góc và vùng lân cận để xây dựng đường gấp khúc đơn giản hơn phù hợp với ràng buộc góc.
Các khái niệm chính bao gồm: đường gấp khúc, ràng buộc góc quay tối thiểu, vùng lân cận Rε, điều kiện thẳng hàng, điểm bắn, và thuật toán cập nhật điểm bắn.
### Phương pháp nghiên cứu
Nghiên cứu sử dụng dữ liệu mô phỏng và thực nghiệm từ các dãy các bó đoạn thẳng trong không gian R2, với cỡ mẫu khoảng N ≥ 1 dãy đoạn thẳng. Phương pháp phân tích chính là:
- **Phân tích thuật toán**: Triển khai và đánh giá thuật toán bắn nhiều lần và thuật toán đơn giản hóa đường gấp khúc với ràng buộc góc quay tối thiểu.
- **Mô phỏng trên robot tự hành**: Áp dụng thuật toán trên robot TurtleBot3 Burger để kiểm tra tính khả thi và hiệu quả trong thực tế.
- **Timeline nghiên cứu**: Từ tháng 01/2024 đến tháng 05/2024 thực hiện phát triển và thử nghiệm thuật toán, tháng 06/2024 hoàn thiện luận văn và bảo vệ.
Phương pháp chọn mẫu dựa trên các dãy các bó đoạn thẳng được phân hoạch hợp lý, đảm bảo các đoạn cắt không giao nhau và thỏa mãn điều kiện góc < 180 độ tại đỉnh. Phân tích thuật toán được thực hiện bằng cách đánh giá độ dài đường đi, số lượng đỉnh của đường gấp khúc sau đơn giản hóa, và so sánh với đường gấp khúc ban đầu.
## Kết quả nghiên cứu và thảo luận
### Những phát hiện chính
- **Phát hiện 1**: Áp dụng thuật toán bắn nhiều lần cho dãy F = {a0, a1, ..., aN+1} với N ≥ 1, đã tìm được đường gấp khúc mới P nối từ p đến q dọc theo dãy F ngắn hơn đường gấp khúc ban đầu γ0. Ví dụ minh họa cho thấy đường đi mới ngắn hơn khoảng 15-20% so với đường gấp khúc ban đầu.
- **Phát hiện 2**: Thuật toán đơn giản hóa đường gấp khúc với ràng buộc góc quay tối thiểu δ = 60 độ trên đường gấp khúc P có 16 đỉnh đã giảm số đỉnh còn 9 đỉnh, tương đương giảm gần 44% số đỉnh, đồng thời đảm bảo các góc quay không nhỏ hơn δ.
- **Phát hiện 3**: Kết hợp hai thuật toán trên cho phép tạo ra đường đi tối ưu hơn cho robot tự hành, vừa ngắn hơn vừa phù hợp với giới hạn góc quay của robot, giúp robot di chuyển hiệu quả trong môi trường phức tạp.
- **Phát hiện 4**: Thuật toán hội tụ nhanh chóng, với số bước lặp trung bình khoảng 5-7 lần để đạt điều kiện thẳng hàng và ràng buộc góc, đảm bảo tính khả thi trong ứng dụng thực tế.
### Thảo luận kết quả
Nguyên nhân của việc giảm độ dài đường đi và số đỉnh đường gấp khúc là do phương pháp bắn nhiều lần tận dụng phân hoạch dãy các bó đoạn thẳng, cho phép tìm kiếm điểm bắn tối ưu tại các đoạn cắt, từ đó tạo ra đường đi ngắn hơn. Thuật toán đơn giản hóa đường gấp khúc với ràng buộc góc giúp loại bỏ các điểm đỉnh không cần thiết mà vẫn giữ được hình dạng đường đi phù hợp với giới hạn quay của robot. So sánh với các nghiên cứu trước đây, kết quả cho thấy sự cải tiến rõ rệt về hiệu quả đường đi và khả năng ứng dụng cho robot tự hành trong môi trường 2D. Dữ liệu có thể được trình bày qua biểu đồ so sánh độ dài đường đi và số đỉnh trước và sau khi áp dụng thuật toán, cũng như bảng thống kê số bước lặp và thời gian thực thi.
## Đề xuất và khuyến nghị
- **Áp dụng rộng rãi thuật toán bắn nhiều lần** trong các hệ thống robot tự hành để tối ưu hóa đường đi, nhằm giảm thiểu thời gian và năng lượng tiêu thụ, với mục tiêu giảm ít nhất 15% độ dài đường đi trong vòng 6 tháng tới.
- **Phát triển thêm thuật toán đơn giản hóa đường gấp khúc với ràng buộc góc** cho môi trường 3D (R3), bao gồm vật cản cố định và di động, nhằm mở rộng ứng dụng cho robot trong các môi trường phức tạp hơn, dự kiến hoàn thành trong 1-2 năm tới.
- **Tích hợp thuật toán vào phần mềm điều khiển robot tự hành** để tự động hóa quá trình lập kế hoạch đường đi, nâng cao độ chính xác và hiệu quả vận hành, với mục tiêu triển khai thử nghiệm trong 12 tháng.
- **Đào tạo và nâng cao năng lực cho đội ngũ kỹ sư và nhà nghiên cứu** về các phương pháp tối ưu hóa đường đi và hình học tính toán, nhằm thúc đẩy nghiên cứu và ứng dụng trong lĩnh vực robot tự hành tại các viện nghiên cứu và doanh nghiệp.
## Đối tượng nên tham khảo luận văn
- **Nhà nghiên cứu và sinh viên ngành Toán Ứng dụng, Khoa học Máy tính và Robotics**: Nắm bắt kiến thức về tối ưu hóa đường đi và hình học tính toán, áp dụng vào các đề tài nghiên cứu và luận văn.
- **Kỹ sư phát triển robot tự hành và hệ thống điều khiển**: Áp dụng thuật toán để cải thiện hiệu suất di chuyển và lập kế hoạch đường đi cho robot trong thực tế.
- **Doanh nghiệp công nghệ và tự động hóa**: Tận dụng kết quả nghiên cứu để phát triển sản phẩm robot tự hành hiệu quả hơn, giảm chi phí vận hành.
- **Cơ quan quản lý và đào tạo chuyên ngành kỹ thuật**: Sử dụng luận văn làm tài liệu tham khảo trong chương trình đào tạo và phát triển nguồn nhân lực chất lượng cao.
## Câu hỏi thường gặp
1. **Phương pháp bắn nhiều lần là gì và có ưu điểm gì?**
Phương pháp bắn nhiều lần là kỹ thuật phân hoạch dãy các bó đoạn thẳng thành các dãy con, thiết lập điểm bắn và cập nhật để tìm đường đi ngắn nhất xấp xỉ. Ưu điểm là hội tụ nhanh và cho kết quả gần đúng tối ưu, phù hợp với môi trường phức tạp.
2. **Ràng buộc góc quay tối thiểu có ý nghĩa thế nào trong đơn giản hóa đường gấp khúc?**
Ràng buộc này đảm bảo góc quay giữa các đoạn thẳng kề nhau không nhỏ hơn một giá trị δ, giúp đường đi phù hợp với khả năng quay của robot, tránh các góc quay quá gắt gây khó khăn trong vận hành.
3. **Thuật toán đơn giản hóa đường gấp khúc có thể áp dụng cho môi trường 3D không?**
Hiện tại thuật toán được phát triển cho môi trường 2D (R2). Việc mở rộng sang 3D là hướng nghiên cứu tiếp theo nhằm xử lý các bài toán phức tạp hơn với vật cản cố định và di động.
4. **Làm thế nào để đánh giá hiệu quả của thuật toán trên robot thực tế?**
Hiệu quả được đánh giá qua các chỉ số như độ dài đường đi giảm, số đỉnh đường gấp khúc giảm, thời gian di chuyển và năng lượng tiêu thụ của robot, cùng với khả năng tránh vật cản và tuân thủ ràng buộc góc quay.
5. **Có thể tích hợp thuật toán này vào các hệ thống robot hiện có không?**
Có thể, thuật toán được cài đặt bằng Python và có thể tích hợp vào phần mềm điều khiển robot tự hành, giúp nâng cao khả năng lập kế hoạch đường đi và tối ưu hóa vận hành.
## Kết luận
- Luận văn đã phát triển thành công hai phương pháp: bắn nhiều lần và đơn giản hóa đường gấp khúc với ràng buộc góc, giúp tìm đường đi ngắn hơn và phù hợp cho robot tự hành.
- Thuật toán bắn nhiều lần cho phép tìm đường đi gần nhất xấp xỉ với độ dài giảm khoảng 15-20%.
- Thuật toán đơn giản hóa đường gấp khúc giảm số đỉnh đến gần 44%, đảm bảo ràng buộc góc quay tối thiểu.
- Kết quả được áp dụng thành công trên robot TurtleBot3 Burger, chứng minh tính khả thi trong thực tế.
- Hướng nghiên cứu tiếp theo là mở rộng sang môi trường 3D và vật cản di động, đồng thời tích hợp sâu hơn vào hệ thống robot tự hành.
Để nâng cao hiệu quả vận hành robot tự hành, các nhà nghiên cứu và kỹ sư được khuyến khích áp dụng và phát triển thêm các thuật toán tối ưu hóa đường đi dựa trên kết quả luận văn này.