intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tóm tắt Luận án Tiến sĩ Kỹ thuật: Nghiên cứu phát triển thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành trong nhà có kể đến tương tác với con người

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:27

6
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tóm tắt Luận án Tiến sĩ Kỹ thuật "Nghiên cứu phát triển thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành trong nhà có kể đến tương tác với con người" được nghiên cứu với mục tiêu: Nghiên cứu và phát triển các thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành; Đề xuất thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành trong nhà, tránh người theo một số ràng buộc có tính xã hội, có dự đoán di chuyển của người. Đảm bảo an toàn và thân thiện với con người; Đề xuất thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành tiếp cận người đang đi, tiếp cận các nhóm người.

Chủ đề:
Lưu

Nội dung Text: Tóm tắt Luận án Tiến sĩ Kỹ thuật: Nghiên cứu phát triển thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành trong nhà có kể đến tương tác với con người

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬT QUÂN SỰ HOÀNG VĂN BẢY NGHIÊN CỨU PHÁT TRIỂN THUẬT TOÁN TỐI ƯU HÓA TÍNH TOÁN QUỸ ĐẠO CHUYỂN ĐỘNG CHO ROBOT TỰ HÀNH TRONG NHÀ CÓ KỂ ĐẾN TƯƠNG TÁC VỚI CON NGƯỜI Ngành: Kỹ thuật điều khiển và Tự động hóa Mã số: 9 52 02 16 TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT HÀ NỘI - 2023
  2. Công trình được hoàn thành tại: HỌC VIỆN KỸ THUẬT QUÂN SỰ Người hướng dẫn khoa học: TS Đỗ Đình Nghĩa PGS.TS Trương Xuân Tùng Phản biện 1: GS.TS Chử Đức Chình Đại học Quốc gia Hà Nội Phản biện 2: GS.TS Lê Hùng Lân Trường Đại học Giao thông Vận tải Phản biện 3: PGS.TS Nguyễn Phạm Thục Anh Đại học Bách khoa Hà Nội Luận án được bảo vệ tại Hội đồng đánh giá luận án tiến sĩ cấp Học viện họp tại: Học viện Kỹ thuật quân sự Vào hồi: ........giờ........ngày........tháng........năm........... Có thể tìm hiểu luận án tại: - Thư viện Học viện Kỹ thuật quân sự - Thư viện Quốc gia Việt Nam
  3. 1 MỞ ĐẦU 1. Tính cấp thiết của đề tài luận án Trong thời đại ngày nay, khoa học và công nghệ có những bước phát triển vượt bậc, cho phép ứng dụng rộng rãi robot tự hành trong nhiều lĩnh vực cuộc sống như y tế, giáo dục, sản xuất và cả quân sự. Khi robot tự hành hoạt động trong môi trường có con người, chúng cần đảm bảo sự an toàn và thân thiện với con người, hướng tới các hành động của robot giống như con người. Khi robot tự hành tiếp cận người, sự thông minh của robot thể hiện ở chỗ chúng hoàn toàn có thể tự tính toán tư thế (vị trí và hướng) tiếp cận người sao cho phù hợp. Hướng nghiên cứu về robot tự hành hoạt động trong môi trường con người vẫn còn đặt ra nhiều thách thức và cần được được quan tâm nghiên cứu nhiều hơn nữa. Chính vì lý do này, nghiên cứu sinh (NCS) đã chọn hướng nghiên cứu của luận án là "Nghiên cứu phát triển thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành trong nhà có kể đến tương tác với con người". 2. Mục tiêu của luận án - Nghiên cứu và phát triển các thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành. - Đề xuất thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành trong nhà, tránh người theo một số ràng buộc có tính xã hội, có dự đoán di chuyển của người. Đảm bảo an toàn và thân thiện với con người. - Đề xuất thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành tiếp cận người đang đi, tiếp cận các nhóm người. - Xây dựng robot hai bánh vi sai, tiến hành thực nghiệm để đánh giá hiệu quả của các thuật toán đã đề xuất. 3. Đối tượng, phạm vi nghiên cứu Đối tượng nghiên cứu Đối tượng nghiên cứu của luận án là hệ thống dẫn đường cho robot tự hành (hai bánh vi sai) tránh người và tiếp cận người. Phạm vi nghiên cứu - Nghiên cứu robot tự hành hai bánh vi sai hoạt động trong nhà. Bỏ qua hiện tượng trượt của bánh xe và coi mặt đường robot di chuyển là bằng phẳng không có dốc lên xuống. - Nghiên cứu phát triển thuật toán tối ưu hóa tính toán đạo chuyển động cho robot tự hành, trong đó có đưa vào các ràng buộc mang tính xã hội. Cách thức xử lý của robot trong một số tình huống khác nhau, hướng tới việc di chuyển của robot giống di chuyển của con người. - Nghiên cứu phát triển thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành tiếp cận người trong môi trường động đồng thời đảm bảo tính an toàn và thân thiện với con người. 4. Nội dung nghiên cứu - Nghiên cứu các thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành. Đảm bảo robot di chuyển thông minh, các hành vi của robot gần giống với con người.
  4. 2 - Nghiên cứu các thuật toán dẫn đường, tránh vật cản, xác định vùng tiếp cận người cho robot tự hành. - Nghiên cứu viết chương trình mô phỏng, xây dựng robot thực. Tiến hành kiểm nghiệm các thuật toán đã đề xuất bằng mô phỏng và trên robot thực. 5. Phương pháp nghiên cứu - Các phương pháp thống kê, phân tích, tổng hợp. - Nghiên cứu lý thuyết. - Kế thừa và phát triển các nghiên cứu trong và ngoài nước. - Phương pháp mô phỏng. - Phương pháp thực nghiệm, kiểm chứng. 6. Ý nghĩa khoa học và thực tiễn Ý nghĩa khoa học - Các kết quả nghiên cứu của luận án là cơ sở khoa học để mở rộng nghiên cứu về robot tự hành hoạt động trong môi trường con người, tự động tránh vật cản, tránh người an toàn thân thiện, tính toán thông minh khi tiếp cận người. - Các kết quả nghiên cứu của luận án có thể ứng dụng để phát triển các thuật toán tính toán quỹ đạo chuyển động, dẫn đường robot tự hành trong môi trường con người. Nội dung lý thuyết có thể đưa vào giảng dạy cho các đối tượng học chuyên ngành điều khiển robot. Ý nghĩa thực tiễn Các kết quả nghiên cứu của luận án có thể ứng dụng thực tế cho robot tự hành hoạt động trong nhà, đáp ứng nhu cầu cuộc sống con người như: robot phục vụ trong các bệnh viện, trong các nhà hàng, trong các kho bãi. Ngoài ra còn có thể sử dụng robot tự hành tiếp cận mục tiêu trong môi trường độc hại và nguy hiểm. 7. Các đóng góp chính - Đề xuất thuật toán STEB thiết kế quỹ đạo chuyển động cho robot tự hành tránh người có tính đến một số ràng buộc mang tính xã hội (bài báo số 1, 3). - Đề xuất thuật toán TDTEB thiết kế quỹ đạo chuyển động cho robot tự hành trong đó có dự đoán hướng di chuyển của người, dự đoán nguy cơ xảy ra va chạm với người xét trong một số tình huống cụ thể (bài báo số 2, 3). - Đề xuất thuật toán GTEB thiết kế quỹ đạo chuyển động cho robot tự hành tiếp cận các nhóm người hoặc một người đang đi (bài báo số 4, 5, 6). 8. Bố cục của luận án Luận án gồm phần mở đầu, ba chương, mục lục, các công trình công bố, tài liệu tham khảo và phụ lục. Chương 1: Tổng quan về tính toán quỹ đạo cho robot tự hành Chương 2: Thiết kế quỹ đạo chuyển động cho robot tự hành tránh người và tiếp cận người trong môi trường động Chương 3: Mô phỏng và thực nghiệm các thuật toán Chương 1 TỔNG QUAN VỀ TÍNH TOÁN QUỸ ĐẠO CHO ROBOT TỰ HÀNH 1.1. Giới thiệu chung về robot tự hành Robot tự hành là loại robot thực hiện các nhiệm vụ với mức độ tự chủ cao, sự can thiệp của con người đến hoạt động của nó là không có hoặc rất ít [21].
  5. 3 1.2. Hệ thống dẫn đường robot tự hành Hình 1.1 là sơ đồ khối hệ thống dẫn đường robot tự hành. Định vị và Bản đồ toàn cục Lập kế hoạch đường đi xây dựng bản đồ và tránh vật cản Mô hình môi trường Đường đi Bản đồ cục bộ xử lý thông tin Lấy thông tin Thực hiện kế hoạch Thu thập và chuyển động Điều khiển Lệnh điều Dữ liệu thô khiển Cảm biến Hành động Môi trường thực Hình 1.1: Sơ đồ khối hệ thống dẫn đường robot tự hành. Chức năng và nhiệm vụ từng khối như sau: 1.2.1. Thu thập và xử lý thông tin Một trong những nhiệm vụ quan trọng của bất kỳ hệ thống tự động nào là thu thập thông tin về môi trường. Với robot tự hành, việc thu thập thông tin môi trường xung quanh bằng cách sử dụng các cảm biến hoặc dữ liệu thu về từ bản thân robot qua encoder, sau đó lấy ra thông tin có ích. Các cảm biến hay được sử dụng trên robot tự hành như laser, camera. 1.2.2. Định vị và xây dựng bản đồ Để di chuyển trong môi trường, robot cần biết chúng đang ở đâu trong môi trường đó. Định vị là quá trình xác định vị trí và hướng của robot ở thời điểm hiện tại dựa trên các thông tin về trạng thái bắt đầu, các trạng thái trước đó của robot. Do đó, để robot có thể tự động di chuyển trong môi trường, quá trình định vị rất quan trọng và không thể thiếu. 1.2.3. Lập kế hoạch đường đi Lập kế hoạch đường đi cho robot tự hành thường được chia thành hai loại: lập kế hoạch đường đi toàn cục và lập kế hoạch đường đi cục bộ [7]. • Lập kế hoạch đường đi toàn cục Lập kế hoạch đường đi toàn cục là quá trình xác định đường đi của robot từ điểm đầu tới đích cho trước dựa trên bản đồ đã được nạp sẵn vào robot. Có nhiều thuật toán lập kế hoạch đường đi toàn cục như: thuật toán A* [8], [9], thuật toán D* [10]. Đây là những thuật toán đã được lập trình thành các module và hoàn toàn có thể cài vào hệ điều hành robot (ROS) để sử dụng. Thuật toán A* được lựa chọn để lập kế hoạch đường đi toàn cục vì nó đơn giản, linh hoạt và phổ biến. • Lập kế hoạch đường đi cục bộ Có nhiều thuật toán khác nhau sử dụng để lập kế hoạch đường đi cục bộ cho robot tự hành như: PF [11], [12], RRT [13], TEB [16]. Mỗi thuật toán sẽ có những ưu điểm và nhược điểm riêng. Với PF và RRT thời gian tính toán nhanh, tuy nhiên dễ rơi vào bẫy cực trị địa phương. Vị trí bẫy xảy ra khi robot di chuyển vào
  6. 4 "điểm chết" được tạo ra do hình dạng của vật cản. Robot không thoát ra được khỏi quỹ đạo tối ưu cục bộ. Trong khuôn khổ luận án sẽ trình bày thuật toán TEB [16], nội dung này sẽ được trình bày ở phần 1.3.5. Đây là thuật toán phổ biến, hay được các nhà nghiên cứu sử dụng [16], [14], [17], [15], [19]. Mã nguồn lập trình thực hiện thuật toán TEB có sẵn tại [20], có thể dễ dàng cài vào hệ điều hành ROS để sử dụng. 1.2.4. Điều khiển chuyển động Sau khi tạo ra quỹ đạo chuyển động cho robot, các lệnh điều khiển sẽ được lấy ra để điều khiển chuyển động của các bánh xe robot. 1.3. Cơ sở lý thuyết thiết yếu phục vụ tính toán quỹ đạo cho robot tự hành tương tác với con người Nội dung này nhằm mục đích đưa ra một số cơ sở lý thuyết phục vụ cho robot tự hành di chuyển tránh người và tiếp cận người trong xã hội. 1.3.1. Hệ quy chiếu cho robot Để xác định tư thế của robot, chúng cần được đặt trong hệ quy chiếu. 1.3.2. Thu thập và nhận biết thông tin về hành vi của con người trong xã hội Hành vi của con người rất phức tạp, nó không chỉ là các cử động về mặt vật lý mà còn bao gồm các tín hiệu về mặt xã hội [32]. Theo [33] để lấy các hành vi trong xã hội của người thường qua bốn bước: thu thập dữ liệu, phát hiện người, lấy các tín hiệu về hành vi, nhận biết hành vi. Quá trình này được thực hiện như trên sơ đồ Hình 1.2. Hình 1.2: Sơ đồ quá trình lấy các hành vi trong xã hội của người [33]. 1.3.3. Vùng tương tác có tính xã hội động Vùng tương tác có tính xã hội động DSZ (Dynamic Social Zone) được dùng để tính toán vùng không gian an toàn của một người hoặc một nhóm người trong xã hội [25]. Theo [25], vùng DSZ được hình thành dựa trên các thông tin về: không gian cá nhân, trạng thái người và các hành vi trong xã hội của người như đã trình bày ở 1.3.2. Trong đó, trạng thái người bao gồm vị trí, hướng di chuyển, vận tốc, tư thế tay, vùng nhìn thấy. Để kết hợp các thông tin này, nghiên cứu [25] đã sử dụng hàm Gaussian 2D như minh họa trên Hình 1.3. Trong đó Hình 1.3 (a) minh họa
  7. 5 Hình 1.3: Minh họa vùng DSZ: (a) Ảnh chụp ba người đang đứng, (b) Hình chiếu đứng phân bố Gaussian 2D của ba người, (c) Hình chiếu ngang phân bố Gaussian 2D của ba người [26]. ảnh chụp ba người đang đứng tương ứng được ký hiệu là p1 , p2 , p3 , Hình 1.3 (b) và (c) thể hiện biểu đồ tương ứng là hình chiếu đứng và hình chiếu ngang của hàm Gaussian 2D với người p1 và nhóm hai người p2 , p3 . 1.3.4. Xác định tư thế khi robot tiếp cận người Vùng tiếp cận của robot tự hành với người phải thỏa mãn các điều kiện: nằm bên ngoài vùng DSZ và trong vùng nhìn thấy của người [26]. Dựa vào vùng tiếp cận để tính tư thế tiếp cận của robot với người. Vùng tiếp cận và tư thế tiếp cận người được minh họa trên Hình 1.4. Vùng tiếp cận Tư thế tiếp cận Vùng tiếp cận Tư thế tiếp cận (a) (b) Hình 1.4: Minh họa vùng tiếp cận và tư thế tiếp cận người: (a) Vùng tiếp cận và tư thế tiếp cận một người, (b) Vùng tiếp cận và tư thế tiếp cận nhóm ba người [26].
  8. 6 1.3.5. Tính toán quỹ đạo chuyển động cho robot tự hành sử dụng thuật toán TEB Thuật toán TEB (Timed Elastic Band) [14] được sử dụng để tạo ra quỹ đạo điều khiển robot bằng cách làm biến dạng đường đi toàn cục ban đầu, có xem xét đến các ràng buộc về: động học, vận tốc, gia tốc, tránh vật cản. Theo [14] thuật toán TEB được biểu diễn là một dãy N các tư thế của robot Q = {sk } với k = 1, 2, ..., N. Trong đó sk = [xk , yr , θr ]T là tư thế thứ k của r k k robot, [xk , yr ] và [θr ] tương ứng là vị trí và hướng của robot ở tư thế thứ k. r k k Hình 1.5: Mô tả ba tư thế liên tiếp của robot trong bản đồ toàn cục. Gọi ∆Tk là khoảng thời gian robot di chuyển giữa hai tư thế liên tiếp là sk và sk+1 . Khi đó ta sẽ có một dãy gồm N -1 khoảng thời gian. Đặt τ = {∆Tk } với k = 1, 2, ..., N -1. Gọi ∆Tmax là giới hạn trên của ∆Tk , với 0 ≤ ∆Tk ≤ ∆Tmax . Khi đó thuật toán TEB được biểu diễn như sau: B = (Q, τ ) = [s1 , ∆T1 , s2 , ∆T2 , ..., sN −1 , ∆TN −1 , sN ]T (1.1) Yêu cầu chi phí của hàm tối tưu theo thuật toán TEB đảm bảo tìm được đường đi nhanh nhất thay vì ngắn nhất khi robot di chuyển từ điểm bắt đầu tới đích. Do đó cần phải đảm bảo tổng thời gian robot di chuyển nhỏ nhất, chi phí hàm mục tiêu sẽ là: N −1 ∗ 2 V (B) = min ∆Tk (1.2) B k=1 Hơn nữa quỹ đạo chuyển động cho robot cần phải thỏa mãn các ràng buộc về: động học non-holonomic, vận tốc, gia tốc, tránh vật cản. Sau đây sẽ phân tích chi tiết các ràng buộc này. • Ràng buộc động học non-holonomic Ràng buộc động học non-holonomic là ràng buộc đạo hàm không tích phân được, ý nghĩa vật lý của nó được thể hiện rằng vị trí của robot không thể tìm được trực tiếp từ góc quay của các bánh. Ràng buộc động học non-holonomic được giải thích về mặt hình học cho di chuyển của robot hai bánh vi sai như trên Hình 1.6. Hai tư thế sk và sk+1 cần phải nằm trên một cung có độ cong không đổi. Nếu gọi βk là góc hợp bởi vị trí tại tư thế sk và hướng dk,k+1 , βk+1 là góc hợp bởi vị trí tại tư thế sk+1 và hướng
  9. 7 Hình 1.6: Giải thích về mặt hình học ràng buộc động học non-holonomic [16]. dk,k+1 . Khi đó, điều kiện để thỏa mãn ràng buộc động học non-holonomic là: βk = βk+1 (1.3) Gọi θk và θk+1 là góc hướng của robot tại tư thế sk và sk+1 , điều kiện 1.3 tương đương với tích có hướng sau: cos θk cos θk+1 sin θk × dk,k+1 = dk,k+1 × sin θk+1 (1.4) 0 0 cos θk cos θk+1 ⇐⇒ sin θk × dk,k+1 + sin θk+1 × dk,k+1 = 0 (1.5) 0 0 Từ đây ta rút ra hàm ràng buộc động học non-honolomic là: cos θk cos θk+1 hk (sk+1 , sk ) = sin θk + sin θk+1 × dk,k+1 (1.6) 0 0 • Ràng buộc vận tốc và gia tốc Từ 1.2 ta thấy rằng ∆Tk → 0, ∀k đồng nghĩa với vk → ∞. Gọi vk và ωk tương ứng là vận tốc dài và vận tốc góc của robot ở tư thế sk . Để đơn giản ta bỏ qua hàm dấu của vận tốc, hai giá trị vk và ωk được tính như sau: vk = ∆Tk −1 ||[xk+1 − xk , yk+1 − yk ]T || (1.7) ωk = ∆Tk −1 (θk+1 − θk ) (1.8) Gọi vmax và ωmax là giá trị lớn nhất của vận tốc dài và vận tốc góc, ràng buộc về vận tốc được thể hiện qua công thức sau [16]: ν k (sk+1 , sk , ∆Tk ) = [vmax − |vk |, ωmax − |ωk |]T ≥ 0 (1.9) Gọi ak và ωk tương ứng là gia tốc và gia tốc góc của robot, ta hoàn toàn có ˙ thể tính được: 2(vk+1 − vk ) ak = (1.10) ∆Tk + ∆Tk+1 Ràng buộc về gia tốc được thể hiện qua công thức sau: αk (sk+2 , sk+1 , sk , ∆Tk+1 , ∆Tk ) = [amax − |ak |, ωmax − |ωk |]T ≥ 0 ˙ ˙ (1.11) Trong đó amax và ωmax là giá trị lớn nhất của gia tốc và gia tốc góc. ˙ • Ràng buộc tránh vật cản Vật cản được mô hình hóa bởi miền kết nối O. Nếu có j vật cản sẽ có j miền Ol với l=1,2,...,j . Đặt ρ(sk , O) : R2 × S 1 × O → R là khoảng cách từ tư thế sk
  10. 8 đến vật cản O, ρmin là khoảng cách tối thiểu giữa trạng thái sk tới tất cả các vật cản. Ràng buộc duy trì khoảng cách tổi thiểu ρmin để robot tránh vật cản là: ok (sk ) = [ρ(sk , O1 ), ρ(sk , O2 ), .., ρ(sk , Oj )]T − [ρmin , ρmin , ..., ρmin ]T ≥ 0 (1.12) Với mỗi vật cản, ta có điểm ξl ∈ Ol , ∀l = 1, 2, .., N là vị trí đại diện cho vật cản trong miền Ol . Khi robot di chuyển cần tránh sang hai bên của vật cản (bên phải hoặc trái). Trước khi tạo quỹ đạo chuyển động cho robot, các đường đồ thị hình học được tạo ra có xem xét tới tất cả hoán vị của các cặp điểm bên phải và trái của vật cản [16]. Gọi ss , sg tương ứng là tư thế bắt đầu và tư thế đích của robot. Ký hiệu ξl đại diện cho vị trí thứ l của vật cản. Khi đó các đường đồ thị được tạo ra sẽ đi qua các điểm nằm ở hai bên vật cản. Như trên Hình 1.7 cặp điểm v1 và v2 ở hai bên vật cản ξ1 , cặp điểm v3 và v4 ở hai bên vật cản ξ2 . V1 V2 V3 V4 Hình 1.7: Đồ thị đường đi khi xem xét cặp điểm hai bên vật cản. • Xây dựng hàm mục tiêu thuật toán TEB Bài toán tối ưu có ràng buộc theo phương trình 1.2 được đưa về dạng bài toán tối ưu không ràng buộc, được thể hiện thông qua hàm phạt bậc hai [22]. Gọi hàm phạt bậc hai với các ràng buộc về: động học non-holonomic phương trình (1.6), ràng buộc vận tốc phương trình (1.9), ràng buộc gia tốc phương trình (1.11), ràng buộc tránh vật cản phương trình (1.12), tương ứng được ký hiệu là χ(hk , σh ), χ(ν k , σν ), χ(αk , σα ), χ(ok , σo ). Khi đó hàm mục tiêu của thuật toán TEB được đưa về dạng hàm đa mục tiêu có trọng số và được biểu diễn như sau [16]: N −1 2 V (B) = [ ∆Tk + χ(hk , σh ) + χ(ν k , σν ) k=1 + χ(αk , σα ) + χ(ok , σo )] + χ(αN , σα ) (1.13) Trong đó các giá trị σh , σν , σα , σo tương ứng là các trọng số vô hướng được dùng để điều chỉnh các ràng buộc về: động học non-holonomic, vận tốc, gia tốc, tránh vật cản. Tối ưu hàm mục tiêu (1.13) sẽ là: B∗ = arg min V (B) (1.14) B Trong dó B∗ là tập các quỹ đạo thu được sau khi tối ưu hàm mục tiêu (1.13). Có nhiều phương pháp để giải bài toán tối ưu theo hàm mục tiêu (1.13). Phương pháp LM (Levenberg Marquardt) phù hợp để giải bài toán tối ưu hóa bình phương
  11. 9 nhỏ nhất, dó đó được chọn để giải bài toán tối ưu cho hàm mục tiêu (1.13), quá trình giải được trình bày tại [24]. Nhược điểm của thuật toán TEB [14] là quỹ đạo cho robot dễ bị mắc kẹt vào quỹ đạo tối ưu cục bộ như minh họa trên Hình 1.8. Hình 1.8: Quỹ đạo theo thuật toán TEB [14] bị mắc kẹt vào quỹ đạo tối ưu cục bộ khi có người đi cắt ngang. Để khắc phục nhược điểm này, các tác giả đã mở rộng thuật toán TEB sang tối ưu quỹ đạo song song [16], [17] như thể hiện trên Hình 1.9. Từ sơ đồ Hình 1.9 có thể phân tích ngắn gọn như sau: ban đầu một tập các đường đồ thị được tạo ra từ tư thế ss tới tư thế đích sg . Các đường này được lọc bằng thuật toán tìm kiếm theo độ sâu (DFS) sau đó loại bỏ các đường nằm trong cùng lớp tương đồng ta được một dãy mới là tập các đường hình học sau khi lọc. Các đường hình học này tiếp tục được khởi tạo thành tập các quỹ đạo R = {τ1 , τ2 , ..., τM }, sau đó được tối ưu song song. Cuối cùng sẽ chọn ra quỹ đạo có chi phí nhỏ nhất dùng để điều khiển chuyển động cho robot. Hình 1.9: Thuật toán TEB [14] được tối ưu song song [17]. Nghiên cứu [16], [17] chỉ ra rằng, tối ưu hàm mục tiêu theo thuật toán TEB [14] được chuyển thành tối ưu hàm sau: ˆ∗ B = arg min Vc (B∗ ) p (1.15) B∗ ∈{B∗ ,B∗ ,...,B∗ } p 1 2 M Thuật toán 1 trình bày các bước tối ưu thuật toán TEB theo [16], [17]. Đầu vào bao gồm: tư thế hiện tại của robot sr , tư thế xuất phát ss , tư thế đích sg và tập các vật cản O, đầu ra là lệnh điều khiểu ur = [υr , ωr ]T . Cụ thể quá trình này diễn ra theo ba bước sau: Bước 1: Khởi tạo quỹ đạo (các dòng từ 2 đến 6). Bước 2: Tối ưu quỹ đạo (các dòng từ 7 đến 11). Bước 3: Chọn quỹ đạo có chi phí nhỏ nhất (các dòng 12, 13).
  12. 10 Thuật toán 1: TEB đầu vào: tư thế hiện tại của robot sr , tư thế xuất phát ss , tư thế đích sg , tập các vật cản O. đầu ra : lệnh điều khiển ur 1 bắt đầu  2 G ← createGraph(sr , ss , sg , O);   D ← depthFirstSearch(G);  3   4 H ← computeH-Signature(D, G); Bước 1 R ← removeRedundantPath(D, H, G);  5    6 T ← initializeTrajectories(R, G);  For (quỹ đạo Bp ∈ T) do  7   8 V ← objectiveFunction(); ▷ Công thức (1.13)    ∗ 9 Bp ← Optimizer(Bp , O, V); ▷ Công thức (1.14) Bước 2 B∗ ← storeLocalOptimalTrajectory(B∗ );  10 p     11 end for Vc ← newObjectiveFunction();  12 ˆ ∗ ← Optimizer(B∗ , O, Vc ); ▷ Công thức (1.15)  13 B Bước 3 T  14 Trả về ur = [υr , ωr ] ; 1.3.6. Các chỉ số đánh giá mức độ an toàn thân thiện khi robot tự hành gần người Chỉ số HCSI bao gồm chỉ số SII (Social Individual Index) và chỉ số SGI (Social Group Index) tương ứng để đo mức độ an toàn về mặt vật lý và an toàn về mặt tâm lý của một người và một nhóm người. 1.4. Tình hình nghiên cứu trong và ngoài nước 1.4.1. Tình hình nghiên cứu ngoài nước Trong phạm vi nghiên cứu của luận án, các nghiên cứu ngoài nước được tập trung theo hai hướng sau: Hướng nghiên cứu thứ nhất: robot tự hành tránh người an toàn và thân thiện, theo các ràng buộc có tính xã hội. Hướng nghiên cứu thứ hai: robot tự hành tiếp cận một người, nhóm người trong môi trường động: Các tác giả T.Kruse và cộng sự [35] hướng tới sử dụng robot để dẫn đường cho con người. Tính xã hội của robot thể hiện ở chỗ, quá trình di chuyển của nó cần phải giữ khoảng cách thích hợp đủ xa để không làm người được dẫn đường khó chịu nhưng cũng đủ gần để không tốn thêm đường đi. Nhóm tác giả K.Vishnu và cộng sự [50] đã đề xuất hệ thống dẫn đường robot tự hành tiếp cận một nhóm người, tuy nhiên robot chỉ có thể tiếp cận một nhóm hai người trong khi không thể tránh người khác trong môi trường chúng di chuyển, không đảm bảo tính an toàn và thân thiện với con người. Nhóm tác giả X.Truong và cộng sự [53] đã đưa ra thuật toán giúp robot tự hành có thể tiếp cận nhóm ba người, có tính đến sự di chuyển của các vật cản xung quanh. Tuy nhiên, nghiên cứu mới chỉ dừng lại với các thí nghiệm mô phỏng đồng thời robot chưa có khả năng chọn lại vị trí tiếp cận khác khi không thể tới vị trí đã tính toán trước đó. Các nghiên cứu [26], [64] cũng đã đề xuất thuật toán để ước lượng vị trí và hướng tiếp cận của robot với một người hoặc một nhóm người. Họ đã xây dựng hệ thống lập kế hoạch đường đi và tránh vật cản để dẫn đường robot đến vị trí và
  13. 11 hướng tiếp cận đã được tính toán. Tuy nhiên, robot tự hành không có khả năng tự động chuyển sang tư thế tiếp cận khác khi không thể đến tư thế tiếp cận đã tính toán trước đó. 1.4.2. Tình hình nghiên cứu trong nước Có rất ít các nghiên cứu trong nước về robot tự hành tương tác với người, tiếp cận người đảm bảo tính xã hội. Kết luận sau khi phân tích các nghiên cứu trong và ngoài nước: Các nghiên cứu trong và ngoài nước chưa đề cập đến các vấn đề sau: - Chưa nghiên cứu về robot tự hành tránh và vượt một nhóm người đang đi theo các ràng buộc có tính xã hội như: vượt nhóm người đang đi cùng chiều phía bên trái, tránh nhóm người đang đi ngược chiều phía bên phải, không đi vào giữa nhóm người, đồng thời robot cần đảm bảo tính an toàn và thân thiện với người. - Chưa có nghiên cứu kết hợp đồng thời dự báo hướng di chuyển của người, đánh giá khả năng va chạm với người, chọn điểm dừng tạm thời cho robot để tránh va chạm với người trong một số tình huống đặc biệt trong nhà. - Mặc dù đã có các nghiên cứu về robot tự hành tiếp cận người nhưng mới chỉ dừng lại ở việc chọn điểm tiếp cận tĩnh, chưa thể chuyển sang vị trí và hướng tiếp cận khác khi không đến được đích trước đó đã chọn. 1.5. Kết luận chương 1 Nội dung chương 1 đã trình bày tổng quan về robot tự hành. Để phục vụ cho việc nghiên cứu đề xuất và đánh giá các thuật toán, chương 1 có đưa vào một số cơ sở lý thuyết thiết yếu phục vụ tính toán quỹ đạo cho robot tự hành tương tác với người. Trong đó phân tích chi tiết thuật toán TEB giúp thiết kế quỹ đạo cho robot, là cơ sở để đề xuất các thuật toán ở chương 2. Chương 2 THIẾT KẾ QUỸ ĐẠO CHUYỂN ĐỘNG CHO ROBOT TỰ HÀNH TRÁNH NGƯỜI VÀ TIẾP CẬN NGƯỜI TRONG MÔI TRƯỜNG ĐỘNG 2.1. Đặt vấn đề Chương này sẽ đề xuất một số thuật toán giúp thiết kế quỹ đạo chuyển động cho robot tự hành hoạt động trong nhà có tương tác với con người. 2.2. Mô tả bài toán Dưới đây sẽ trình bày một số bài toán, làm minh họa điển hình cho các tình huống khi robot tự hành tránh người, tiếp cận người. Bài toán 1: Robot tránh người có tính đến các ràng buộc mang tính xã hội. Yg Yg Quỹ đạo cần chọn Hướng người 1 Người đi 1 Robot Người đi Robot 𝑣 𝑝1 vr v p Hướng người Đích vr * Hướng người 2 Đích Người đi 2 𝑣 𝑝2 Xg Quỹ đạo cần chọn Xg Og Og (a) (b) Hình 2.1: Minh họa robot tránh người: (a) Robot vượt một người đi cùng chiều phía bên trái, (b) Robot tránh hai người đi ngược chiều phía bên phải. Như minh họa trên Hình 2.1 (a) robot cần vượt bên trái một người đang đi
  14. 12 cùng chiều. Hình 2.1 (b) robot cần tránh hai người đi ngược chiều về phía bên phải. Khi vượt và tránh người cần đảm bảo tính an toàn và thân thiện với người. Bài toán 2: Robot tránh người có dự đoán hướng di chuyển của người và đánh giá nguy cơ xảy ra va chạm. Hình 2.2 minh họa robot tránh người khi đi qua cửa hẹp. Yg Robot Cửa hẹp Người đi vr Hướng robot Hướng người v p Đích Xg Og (a) Hình 2.2: Minh họa robot tránh người khi đi qua cửa hẹp. Khi robot qua cửa hẹp sẽ có hai lựa chọn: Lựa chọn thứ nhất: robot sẽ chọn một điểm dừng tạm thời gọi là đích phụ chờ người đi qua trước sau đó đi tiếp. Lựa chọn thứ hai: robot tiếp tục đi mà không cần dừng lại để chờ người qua cửa. Bài toán 3: Robot tiếp cận người hoặc nhóm người trong môi trường động. Hình 2.3 minh họa ảnh chụp tình huống robot tiếp cận người và mô tả vị trí của người, vị trí robot và hướng tiếp cận. Trong lúc tiếp cận nhóm người robot cần tránh người đi xung quanh. Tư thế tiếp cận 1 Người đứng Robot Hướng robot vr Người đứng Tư thế Hướng người tiếp cận 3 Tư thế vp tiếp cận 2 Người đứng Người đi (a) (b) Hình 2.3: Minh họa robot tiếp cận nhóm người: (a) Ảnh chụp tình huống, (b) Mô tả vị trí của người, vị trí robot và hướng tiếp cận. Khi robot tiếp cận người, chúng cần xác định tư thế tiếp cận, sau đó lập quỹ đạo để đi tới tư thế tiếp cận đã chọn. Khi tư thế tiếp cận đã chọn không thể tới, robot hoàn toàn có thể chọn tư thế tiếp cận khác. Sau đây sẽ đề xuất các thuật toán để thực hiện ba bài toán đã nêu. 2.3. Thuật toán STEB 2.3.1. Xây dựng thuật toán STEB Sơ đồ khối thực hiện thuật toán STEB như Hình 2.4. V(B*p ) Ràng buộc có tính xã hội Quỹ đạo theo P thuật toán Thuật toán TEB B1 , B* , ..., B* * O 2 M STEB được tối ưu Chọn quỹ đạo S s ,S g ˆ B* song song Hình 2.4: Sơ đồ khối thực hiện thuật toán STEB.
  15. 13 Thực hiện thuật toán STEB theo thuật toán 2 gồm hai giai đoạn: Giai đoạn một sẽ thực hiện tối ưu quỹ đạo theo thuật toán TEB như đã trình bày ở 1.3.5 (từ dòng 2 đến dòng 12). Giai đoạn hai là đưa vào các ràng buộc có tính xã hội thông qua giá trị ∆V(B∗ ) (dòng 13). Quỹ đạo theo thuật toán STEB phụ thuộc p vào chi phí hàm tối ưu theo công thức (1.13) và giá trị ∆V(B∗ ). p Thuật toán 2: STEB đầu vào: trạng thái robot sr , tư thế đích sg , tập hợp vật cản O, tập hợp người P, tập hợp tương tác SI, ∆V(B∗ ) p đầu ra : lệnh điều khiển ur 1 bắt đầu 2 G ← createGraph(sr , sg , O, P, SI); 3 D ← depthFirstSearch(G); 4 H ← computeH-Signature(D, G); 5 R ← removeRedundantPath(D, H, G); 6 T ← initializeTrajectories(R, G); 7 for (quỹ đạo Bp ∈ T) do 8 V(Bp ) ← objectiveFunction(); ▷ Công thức (1.13) 9 B∗ ← Optimizer(Bp , O, P, SI, V(Bp )); ▷ Công thức (1.14) p 10 B ← storeLocalOptimalTrajectory(B∗ ); ∗ p 11 end for 12 Vc (B∗ ) ← newObjectiveFunction(); p 13 ˜ Vc (B∗ ) = Vc (B∗ ) + ∆V(B∗ ); p p p 14 ˆ∗ ˜ B ← Optimizer(B∗ , O, P, SI, Vc (B∗ )); ▷ Công thức (1.15) p T 15 Trả về ur = [υr , ωr ] ; Giá trị ∆V(B∗ ) được tính toán theo thuật toán 3 theo ba bước: Bước 1 xác p định vị trí và hướng hiện tại của người hoặc nhóm người đang đi. Bước 2 tính độ chênh lệch góc giữa hướng từ robot đến đích và hướng di chuyển của người. Bước 3 tính toán khoảng cách dprg từ vị trí pc tới đường nối vị trí robot và vị trí đích. Thuật toán 3: Tính ∆V(B∗ ) p đầu vào: Trạng thái robot sr = [xr , yr , θr , vr , ωr ]T , tư thế đích sg = [xg , yg , θg ]T , tập hợp người P, trạng thái người thứ ith là si = [xi , yp , θp , vp ]T , tập các tương tác SI, p p i i i trạng thái thứ ith của tương tác si = [xi , yt , θt , vt , rt ]T , t t i i i i ∗ δmin , σpteb , σprg , ∆θl , Bp đầu ra : ∆V(B∗ ) p 1 bắt đầu 2 if (có tương tác) then  pc = [xi , yt ]; θc = θt ; i i  3 t    i rt  v= √ [−(yg − yr ), (xg − xr )];  4   (xg −xr )2 +(yg −yr )2    else  5   i i i 6 pc = [xp , yp ]; θc = θp ; Bước 1 v = [0, 0];  7    ′ δmin v =√  8 2 +(y −y )2 [−(yg − yr ), (xg − xr )];   (xg −xr ) g r    ′ v1 = pc − (v + v );  9    ′ 10 v2 = pc + (v + v );
  16. 14 Giá trị (σpteb tanh(dpteb )) tác động chính tới kết quả của việc chọn quỹ đạo tối ưu cho robot, đảm bảo khi robot di chuyển theo quỹ đạo này sẽ tuân theo các ràng buộc mang tính xã hội. Trường hợp khi vật cản di chuyển ra xa đường từ robot đến đích, giá trị (1 − tanh(σprg dprg )) sẽ đưa chi phí theo thuật toán STEB trở về gần giống với chi phí theo thuật toán TEB. Các công trình công bố liên quan tới thuật toán STEB được xuất bản tại các bài báo số 1, 3. 2.3.2. Tích hợp thuật toán STEB vào hệ thống dẫn đường robot. 2.4. Thuật toán TDTEB 2.4.1. Xây dựng thuật toán TDTEB Khi qua các vị trí đặc biệt trong nhà như qua cửa hẹp, qua điểm giao cắt, tiềm ẩn nguy cơ dẫn tới va chạm với người, robot sẽ tính toán một vị trí để dừng lại tạm thời (gọi là đích phụ) chờ cho người đi qua. Thuật toán 4: Tính đích phụ ssg đầu vào: Trạng thái robot sr = [xr , yr , θr , vr , ωr ]T , tư thế đích sg , tập hợp người P, trạng thái người pi là si = [xi , yp , θp , vp ]T , vị trí tâm cửa pd = [xd , yd ], khoảng p p i i i cách tới điểm có nguy cơ va chạm r0 , khoảng cách từ đích phụ tới tâm cửa δd . đầu ra : tư thế đích phụ ssg 1 begin 2 khởi tạo biến a1 , b1 , c1 , a2 , b2 , c2 , d0 , 3 xsg , ysg ;  4 if (Robot đi qua cửa phòng) then  5 xsg = xd − δd ; TH 1 ysg = yd ;  6 7 else  đặt M (xg , (xg − xi )tanθp + yp ); i i  8 p    i a1 = yg − yr ; a2 = yM − yp ;  9    i b1 = x r − x g ; b2 = x p − x M ;  10    i i  11 c 1 = a1 x r − b 1 y r ; c 2 = a2 x p − b 2 y p ;    12 d 0 = a1 b 2 − a2 b 1 ; TH 2 if d0 == 0 then  13    14 xsg = xg ; ysg = yg ;     15 else    i  16 xsg = (b2 c1 − b1 c2 )/d0 − r0 /sinθp ;     17 ysg = (a1 c2 − a2 c1 )/d0 ; 18 Trả về ssg = [xsg , ysg , θr ]T ;
  17. 15 Khi thấy nguy cơ xảy ra va chạm với người không còn, robot sẽ tiếp tục di chuyển tới điểm cần đến. Việc tính toán vị trí đích phụ được mô tả theo thuật toán 4. Vị trí đích phụ ssg sau khi tính được sẽ làm đầu vào của thuật toán 5. Thuật toán 5: TDTEB đầu vào: Trạng thái robot sr , tư thế đích sg , vị trí đích phụ ssg , tập hợp vật cản O, tập hợp người P, trạng thái người pi si = [xi , yp , θp , vp ]T , vùng không an toàn p p i i i ∆h , hệ số đích δrg đầu ra : Lệnh điều khiển ur 1 begin 2 khởi tạo biến f lag = f alse;  3 if |sr − ssg |2 < δrg then    f lag = true;  4   5 if pi ∈ ∆h then TH1 T  6 Trả về ur = [0, 0] ;     7 else  ∗ 8 B ← createTEB(sr , sg , O, P);  9 else   if f lag == true then  10   ∗ 11 B ← createTEB(sr , sg , O, P); TH2 else  12   B∗ ← createTEB(sr , ssg , O, P);   13 14 [υr , ωr ]T = extractVelocityControlCommand(B∗ ) 15 Trả về ur = [υr , ωr ]T ; Thuật toán 5 thực hiện theo hai trường hợp: Trường hợp một (TH1): khoảng cách từ robot tới đích phụ nhỏ hơn hệ số δrg . Lúc này có thể coi robot đã đạt tới đích phụ. Nếu vị trí của người nằm trong vùng không an toàn ∆h thì robot sẽ dừng lại chờ cho tới khi nào người đi ra khỏi vùng không an toàn, sau đó robot sẽ đi tiếp (dòng 6). Nếu vị trí người không nằm trong vùng ∆h , robot sẽ tiếp tục di chuyển tới đích mong muốn (dòng 8). Trường hợp hai (TH2): khoảng cách từ robot tới đích phụ lớn hơn hoặc bằng hệ số δrg . Có hai khả năng là robot chưa tới đích phụ hoặc robot đã đi qua đích phụ. Nếu robot đã qua đích phụ nó sẽ tiếp tục đi tới đích mong muốn (dòng 11). Trường hợp khác nếu robot chưa tới đích phụ, nó sẽ đi tới đích phụ trước (dòng 13). Các công trình công bố liên quan tới thuật toán TDTEB được xuất bản tại các bài báo số 2, 3. 2.4.2. Tích hợp thuật toán TDTEB vào hệ thống dẫn đường robot. 2.5. Thuật toán GTEB 2.5.1. Xây dựng thuật toán GTEB Mục đích hướng đến việc robot tự hành hoàn toàn có thể làm chủ việc tính toán để chọn hoặc chuyển tư thế tiếp cận người. Sơ đồ khối Hình 2.5 minh họa việc thực hiện thuật toán GTEB. Từ sơ đồ khối Hình 2.5 ta thấy rằng, thông tin về người hoặc nhóm người được đại diện bởi tập P. Thông tin này sẽ được mô hình hóa thành không gian xung quanh người hoặc nhóm người gọi đó là vùng tương tác có tính xã hội động (DSZ) như đã trình bày ở 1.3.3.
  18. 16 P Tạo vùng tương tác Ước lượng vị trí và có tính xã hội động hướng tiếp cận (DSZ) Sg Quỹ đạo theo thuật toán O Thuật toán TEB B1 , B* ,..., B* * 2 M GTEB Sr được tối ưu Chọn quỹ đạo song song ˆ B* Hình 2.5: Sơ đồ khối thực hiện thuật toán GTEB. Toàn bộ thông tin về người, tư thế tiếp cận được đưa vào thuật toán TEB để tính toán quỹ đạo chuyển động cho robot. Thuật toán GTEB được thực hiện theo lưu đồ thuật toán 6. Thuật toán 6: GTEB đầu vào: trạng thái robot sr , tập hợp vật cản O, tập hợp người P đầu ra : lệnh điều khiển ur 1 begin  2 DSZ ← dynamicSocialZone(P);    Sg ← estimateApproachingPose(O, P, DSZ);  3   4 for si ∈ Sg do g Bước 1 G ← createGraph(sr , si , O, DSZ);  5 g     6 end for  D ← depthFirstSearch(G);  7  H ← computeH-Signature(D, G);  8    R ← removeRedundantPath(D, H, G);  9    T ← initializeTrajectories(R, G);  10    11 for Bp ∈ T do     12 V ← ObjectiveFunction();    13 B∗ ← Optimizer(Bp , O, DSZ, V);▷ Công thức (1.14) p Bước 2 B∗ ← storeLocalOptimalTrajectory(B∗ );  14 p     15 end for    Vc ← newObjectiveFunction();  16    ˆ∗  B ← Optimizer(B∗ , O, DSZ, Vc );▷ Công thức (1.15)  17   ˆ∗   [υr , ωr ] ← extractVelocityCommand(B );  18  19 Trả về ur ← [υr , ωr ]T ; Thuật toán 6 thực hiện theo hai bước: Bước 1: Tính toán vùng tương tác có tính xã hội động và tư thế tiếp cận. Xác định vùng tương tác có tính xã hội động của người DSZ (dòng 2), ước lượng các tư thế tiếp cận người Sg (dòng 3). Từ vị trí hiện tại của robot và các tư thế đích, một chuỗi các đường đồ thị được tạo ra (các dòng 4 đến 6). Thay vì coi người như những vật cản thông thường, không gian cá nhân được đưa vào tính toán, được đại diện bởi vùng DSZ (các dòng 5, 13 và 17). Bước 2: Thực hiện tối ưu theo thuật toán TEB. Sau khi thự hiện bước 1, chuỗi các đường đồ thị tạo ra sẽ được tối ưu hóa theo thuật toán TEB. Quỹ đạo tối ưu theo thuật toán GTEB có tính đến vùng DSZ. Các công trình công bố liên quan tới thuật toán GTEB được xuất bản tại các bài báo số 4, 5, 6.
  19. 17 2.5.2. Tích hợp thuật toán GTEB vào hệ thống dẫn đường robot. 2.6. Kết luận chương 2 Trong chương 2 đã đề xuất ba thuật toán tối ưu hóa tính toán quỹ đạo chuyển động cho robot tự hành, cụ thể là: Thuật toán STEB: giúp robot tự hành có khả năng tránh người hay một nhóm người theo các ràng buộc có tính xã hội, đảm bảo an toàn và thân thiện cho con người khi có robot di chuyển xung quanh. Thuật toán TDTEB: cho phép robot tự hành có thể dự đoán hướng đi của người và đánh giá khả năng xảy ra va chạm với người, xét trong một số tình huống cụ thể, robot tránh người khi: qua cửa hẹp, qua điểm giao cắt trong nhà, khi người đi cắt ngang hướng đi của robot. Thuật toán GTEB: cho phép robot tự hành có khả năng tiếp cận một nhóm người hay một người đang đi, tự động chọn lại tư thế tiếp cận khác khi không thể tới tư thế đã tính trước đó. Nội dung tiếp theo sẽ mô phỏng và thực nghiệm trên robot hai bánh vi sai để kiểm nghiện các thuật toán này. Chương 3 MÔ PHỎNG VÀ THỰC NGHIỆM CÁC THUẬT TOÁN 3.1. Chuẩn bị mô phỏng và thực nghiệm 3.1.1. Công cụ phần mềm Máy tính đặt trên robot được cài sẵn hệ điều hành (HĐH) Ubuntu 18.04 và HĐH robot (ROS) [65]. Các gói phần mềm dùng để mô phỏng và thực nghiệm các thuật toán STEB, TDTEB, GTEB được viết bằng ngôn ngữ lập trình C/C++ và Python. Gói phần mềm hiển thị trực quan 3D RViz (ROS Visualization) được cài đặt để quan sát trạng thái của người, robot và quỹ đạo tương ứng. Một số phần mềm khác được cài đặt như: gói phần mềm thực hiện thuật toán TEB [20], thư viện OpenCV [78], thư viện đám mây điểm (PCL) [80] để hỗ trợ việc thực thi các thuật toán. 3.1.2. Xây dựng robot hai bánh vi sai Để thực nghiệm các thuật toán STEB, TDTEB, GTEB, luận án tiến hành thiết kế hoàn chỉnh robot hai bánh vi sai gồm ba bộ phận chính: bộ phận cảm biến, bộ phận xử lý trung tâm là máy tính, bộ phận điều khiển cơ cấu chấp hành. Sơ đồ phần cứng thiết kế robot hai bánh vi sai được trình bày trên Hình 3.1. Hình 3.1: Sơ đồ khối phần cứng robot hai bánh vi sai. Hoạt động của robot hai bánh vi sai dựa trên sơ đồ khối phần cứng 3.1 có thể
  20. 18 trình bày ngắn gọn như sau: Sau khi thu thập thông tin từ môi trường xung quanh thông qua các cảm biến Kinect và laser Rplidar, dữ liệu từ hệ thống cảm biến được gửi về máy tính qua cáp tín hiệu. Từ dữ liệu thu được sẽ lấy ra thông tin về hành vi của con người trong xã hội, các hành vi đó được đại diện tập hợp người là P, tập hợp tương tác là SI. Dữ liệu này được sử dụng làm đầu vào các thuật toán STEB, TDTEB, GTEB. Bước tiếp theo, các thuật toán sẽ tín toán quỹ đạo để điều khiển robot. Từ quỹ đạo điều khiển, ta sẽ tính được vận tốc dài của hai bánh xe robot. Vận tốc hai bánh sẽ được đưa xuống mạch điều khiển động cơ MSD-AH [75], mạch này đã được cài đặt thuật toán điều khiển PID, các tham số của bộ điều khiển PID được điều chỉnh tự động bằng phần mềm [75]. 3.1.3. Kịch bản mô phỏng và thực nghiệm Dưới đây sẽ mô tả một số tình huống điển hình khi robot tự hành tương tác với người trong kịch bản mô phỏng và thực nghiệm: Tình huống 1: Robot vượt và tránh người sử dụng thuật toán STEB Quỹ đạo STEB Robot Đích Robot vr Người đi vr Người đi Đích Quỹ đạo STEB (a) (b) Hình 3.2: Minh họa tình huống robot cần vượt và tránh người: (a) Robot vượt một người đi cùng chiều, (b) Robot tránh một người đi ngược chiều. Tình huống 2: Robot tránh người khi qua cửa hẹp sử dụng thuật toán TDTEB Robot Cửa hẹp Người đi Đích phụ Đích 𝑣𝑟 Hướng robot Hướng người v p (a) Hình 3.3: Minh họa tình huống robot cần tránh người khi qua cửa hẹp. Tình huống 3: Robot tiếp cận một nhóm người đang đứng sử dụng thuật toán GTEB Tư thế tiếp cận 1 Người đứng Robot vr Người đi Người đứng Tư thế tiếp cận 3 Tư thế Người đứng Quỹ đạo GTEB tiếp cận 2 Hình 3.4: Minh họa tình huống robot cần tiếp cận một nhóm người đang đứng.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2