MỤC LỤC
- Đề xuất các thuật toán bản đồ hóa môi trường và định vị đồng thời cho robot tự hành di chuyển đa hướng kết hợp với các giải thuật điều hướng cục bộ nhằm xây dựng hệ thống nhận thức cho robot hoạt động trong địa hình chưa biết trước có vật cản tĩnh và động. - Đề xuất các thuật toán điều khiển thông minh, điều khiển thích nghi phi tuyến trên nền tảng hệ điều hành ROS (Robot Operating System) thực hiện bài toán điều hướng chuyển động và bám quỹ đạo cho FWOMR nhằm thông minh hóa, linh hoạt hóa quá trình di chuyển, tiếp cận mục tiêu của robot và có khả năng tránh vật cản tĩnh và động.
Các kết quả nghiên cứu được mô phỏng và kiểm nghiệm thực tế trên phạm vi địa hình phẳng có bố trí vật cản tĩnh và động của tòa nhà. - Các kết quả nghiên cứu (mô phỏng và thực nghiệm) giới hạn trong môi trường địa hình phẳng của tòa nhà, giả thiết các nhiễu tác động vào bánh xe không biết trước và kết cấu vật lý robot là lý tưởng (trọng tâm robot có tính chất điểm và là tâm của đường tròn ngoại tiếp bốn bánh xe).
- Phương pháp chuyên gia: Sử dụng phương pháp nghiên cứu chuyên gia bằng cách tham gia các hội thảo khoa học nhằm trao đổi các kinh nghiệm, thu thập các ý kiến đóng góp của các chuyên gia và tích cực trao đổi với các chuyên gia nước ngoài, những nơi có nhiều kinh nghiệm trong việc phát triển các lĩnh vực về trí tuệ nhân tạo và robot. - Phương pháp mô hình hóa, mô phỏng: Nghiên cứu và sử dụng các mô hình toán học cho robot, mô phỏng và kiểm chứng các thiết kế, thuật toán xử lý số liệu, thuật toán điều khiển, xử lý và nhận dạng ảnh trên Matlab, Gazebo, Rviz và lập trình dựa trên các ngôn ngữ C, Python.
Việc mô hình hóa robot tự hành di chuyển đa hướng có thể áp dụng các mô hình động học với các hệ trục tọa độ Đề-các Oxy, dựa trên các phương trình cân bằng lực theo các định luật Newton hoặc dựa trên phương trình động lực học Euler- Lagrange để xây dựng mô hình động lực học và các phương trình cân bằng lực động năng và thế năng của mỗi loại OMR [45], [43] và [82]. Thông thường, việc xây dựng mô hình động học thường dựa trên đặc điểm cấu trúc (Sự khác nhau ở kết cấu cơ khí, hệ truyền động của robot như sử dụng cấu trúc bánh xe, các loại động cơ truyền động, bánh răng, bánh xích .v.v.) cũng như sử dụng các phương pháp lý thuyết mô phỏng, thực nghiệm, hoặc mô phỏng kiểm chứng và thực nghiệm trên robot thực tế [65, 66] có thể kể đến mô hình động học được tính toán bằng phương pháp các ma trận chuyển hệ trục toạ độ của robot so với hệ trục tọa độ cố định [41], [54] và [84].
Hệ thống điều hướng cho robot nhận thông tin về bản đồ hoá môi trường, vị trí của robot và vật cản cho hệ thống, khi đó hệ thống điều hướng sẽ có nhiệm vụ lập quỹ đạo chuyển động cho robot hướng tới vị trí đích sao cho robot có thể vừa di chuyển tới đích vừa có thể tránh được vật cản xuất hiện trên đường đi. Các nghiên cứu tập trung vào các phương pháp như điều khiển trượt SMC (Sliding Mode Control) hay còn gọi là điều khiển có cấu trúc thay đổi VSS (Variable Structure System), hàm điều khiển Lyapunov, hệ logic mờ hoặc mạng nơ- ron nhân tạo và một số phương pháp phát triển theo hướng điều khiển thích nghi theo mô hình mẫu [55], [87].
Gần đây, các phương pháp điều khiển thích nghi được sử dụng nhiều hơn để tổng hợp bộ điều khiển cho OMR để giải quyết vấn đề bất định của mô hình và nhiễu tác động vào hệ thống. Bộ điều khiển PID là bộ điều khiển thông dụng thích hợp với các đối tượng biến đổi chậm nên trong trường hợp áp dụng cho bài toán điều khiển chuyển động trong môi trường có vật cản tĩnh và động sẽ không đảm bảo chất lượng điều khiển.
SMC thích hợp với các hệ phi tuyến truyền thẳng có bậc tương đối ≥ 2 , làm việc trong môi trường có nhiễu tác động không biết trược và bị chặn. (1.27) Với giả thiết τd là thành phần nhiễu bất định, bị chặn và nằm trong khả năng kháng nhiễu (bù bất định) của SMC nên thành phần nhiễu sẽ không xuất hiện trong bộ điều khiển trượt.
Bộ điều khiển trượt (1.32) được thiết kế tính ổn định bền vững khi hệ thống tồn tại sai lệch mô hình và có nhiễu tác động. Bộ lọc thông thấp vừa có tác dụng lọc nhiễu tần số cao nội sinh vừa cung cấp thông tin về đạo hàm tín hiệu điều khiển ảo.
Bộ điều khiển MPC có thể được xây dựng như một quy trình tối ưu hóa lặp đi lặp lại thông qua việc đo lường hoặc ước tính các biến kiểm soát hiện tại ở mỗi bước để cho ra tín hiệu điều khiển trong tương lai. Tín hiệu từ khối điều hướng cục bộ được đưa vào khối MPC nhằm tạo ra một hàm mục tiêu được tối ưu hóa để có thể được một đầu vào điều khiển tối ưu, sau đó tiến hành thực hiện lặp lại quá trình tính toán trực tuyến của một chức năng được tối ưu hóa nhằm xác định tín hiệu điều khiển cho robot trong quỹ đạo di chuyển cục bộ đến mục tiêu đặt trước.
- Giao diện lập trình ứng dụng API (Application Programming Interface): Khi phát triển chương trình sử dụng ROS, ROS được thiết kế để chỉ cần gọi API và chèn nó dễ dàng vào những mã đang được sử dụng. Sử dụng các API đã nghiên cứu và phát triển cho robot sẽ giúp rút ngắn quá trình nghiên cứu, ứng dụng và cũng là mục tiêu cuối cùng của ROS [102].
Những đặc điểm này của ROS đã cho phép người dùng thiết lập một môi trường có thể hợp tác phát triển phần mềm cho robot ở mức toàn cầu. Tuy nhiên, mặc dù có rất nhiều thành phần trong một gói nhưng có hai thành phần quan trọng nhất là src_folder chứa toàn bộ mã và Cmake.txt là nơi khai báo những thư viện cần thiết để thực thi mã [61].
Trên cơ sở nghiên cứu các thuật toán trên nền tảng hệ điều hành ROS làm nền tảng cho luận án tìm hiểu cách thức hoạt động của robot trên phần mềm mô phỏng và trực quan hoá kết quả bằng thực nghiệm trong môi trường thực tế. Để có thể thực hiện mô phỏng mô hình robot cũng như giám sát các hoạt động của robot một cách trực quan nhất thường dùng các công cụ hỗ trợ, trong đó Gazebo và Rviz là hai công cụ rất mạnh mẽ [89].
Từ các nghiên cứu trên có thể nhận thấy việc bản đồ hóa môi trường và xác định vị trí chính xác của robot dựa trên các thuật toán ước lượng theo tham số cảm biến và quá trình lấy mẫu vì vậy việc bản đồ hóa chính xác sẽ giúp cho việc định vị chính xác vị trí của robot trong bản đồ khi tồn tại các vật cản tĩnh (thường phát sinh các nhiễu ngoại xung quanh vật cản) còn gặp sai lệch do nhiễu đo và nhiễu quá trình. Công thức xây dựng thuật toán MPC rất linh hoạt và bao gồm nhiều cách hiện thực hóa phổ biến bao gồm dạng hàm bậc hai miền dự báo giảm dần và các mục tiêu tối ưu về thời gian của miền dự báo thu hẹp với khả năng có thể tùy chỉnh cao và dễ dàng mở rộng với tích hợp trên nền tảng ứng dụng hệ điều hành robot (ROS).
Công bố của tác giả tập trung vào đi sâu phân tích giải quyết bài toán phát hiện và tránh vật cản trên cơ sở xử lý thông tin đầu vào của đối tượng (bao gồm cả con người), các đóng góp mới của công tình tập trung vào các thuật toán điều hướng, công trình chưa đề cập đến việc điều khiển bám quỹ đạo sau khi đã xây dựng các quỹ đạo, cũng như việc khép kín kết hợp giữa xây dựng quỹ đạo, điều hướng với điều khiển bám quỹ đạo cho robot. Nghiên cứu của tác giả Nguyễn Thị Lan Anh [11] đề xuất 3 thuật toán lập kế hoạch cục bộ mới trong hệ thống lập kế hoạch chuyển động cho robot di động tự động trong môi trường động bao gồm phương pháp tiếp cận cửa sổ động nâng cao (EDWA), phương pháp dải đàn hồi thời gian chủ động (PTEB) và dải đàn hồi thời gian mở rộng (ETEB) nhằm tăng khả năng chủ động tránh các chướng ngại vật động và điều hướng an toàn đến mục tiêu nhất định.
(2.1) Do mẫu số chỉ phụ thuộc vào giá trị đo (tổng được thực hiện trên tất cả các giá trị có thể của trạng thái), một cách tiếp cận trực quan để ước tính có thể được thực hiện bằng cách lấy cực đại phân bố hậu nghiệm, ví dụ, bằng cách lấy cực đại số phân tử của phương trình (2.1). Một phương pháp khác được gọi là hàm ước lượng sai số trung bình bình phương tối thiểu MMSE (Minimum Mean Square Error), nghĩa là giảm thiểu khoảng cách Euclide giữa trạng thái thật và ước tính sau khi quan sát đã được thực hiện.
Một số vấn đề trong thực tế triển khai thuật toán SLAM như xử lý dữ liệu đo lường, loại bỏ triển khai 2D EKF-SLAM cho phép đo độ lệch cho robot di động có bánh xe đa hướng, trích xuất các điểm mốc từ dữ liệu đo, lọc trước các điểm mốc đã trích xuất và liên kết dữ liệu trong các điểm mốc được quan sát trong quá trình vận hành hệ thống SLAM dựa trên EKF[25], [95]. Việc triển khai đồng thời và có hệ thống hoạt động SLAM bằng cách sử dụng robot tự hành làm dữ liệu nền tảng, được thực hiện trong các tình huống khác nhau xung quanh môi trường khảo sát cho thấy rằng SLAM dựa trên EKF tạo ra đáng kể ma trận hiệp phương sai nhỏ hơn, đường đi trơn tru hơn và độ chính xác cao hơn trong ước tính vị trí của robot so với tính toán trước đó.
FT R F là dạng mở rộng ma trận hiệp phương sai đến các chiều của ma trận trạng thái. Sử dụng chuỗi Taylor bậc nhất mở rộng để tuyến tính hoá xấp xỉ hàm.
Hàm h(yt ,i) được xấp xỉ bằng chuỗi Taylor bậc nhất mở rộng:. ) chỉ phụ thuộc vào 2 trạng thái của véc tơ trạng thái, là vị trí robot qt và vị trí của điểm mốc thứ i là mi. Tiếp đến vị trí mong muốn được tính toán từ tư thế và các biến đo lường tại điểm mốc:. y lần lượt là giá trị kỳ vọng mong muốn của điểm mốc mi theo phương Ox và Oy. lần lượt là giá trị kỳ vọng mong muốn của vị trí robot theo các phương. Một trong những vấn đề gây ra sự phức tạp trong việc tính toán với các kỹ thuật SLAM là các phép đo tới các điểm mốc chưa thể nhận dạng được đâu là điểm mốc đã nhận ra được, điểm mốc chưa nhận ra được và điểm mốc nào liên quan đến phép đo đang thực hiện. Do đó một phương pháp được sử dụng trong bước đo lường là liên kết các phép đo và tính toán giá trị có khả năng. Trong trường hợp định vị robot, với mỗi phép đo mới ta sẽ tiến hành các vòng lặp với mỗi điểm mốc đã biết để tính toán khả năng liên kết phép đo này với các điểm mốc đó. Tiếp đến, chọn ra điểm mốc có khả năng cao nhất để liên kết với phép đo đang thực hiện. khả năng liên kết trên giá trị ngưỡng đặt trước, ta sẽ liên kết phép đo hiện tại với điểm mốc đó. nếu khả năng liên kết có giá trị dưới ngưỡng thì giá trị đo này sẽ được sử dụng để tạo ra một điểm mốc mới. Trong thuật toán EKF-SLAM, giá trị khoảng cách Mahalanobis sẽ được sử dụng để liên kết giá trị đo lường với điểm mốc đã biết hoặc tạo điểm mốc mới tuỳ vào việc so sánh các khoảng cách này với giá trị ngưỡng chọn trước . Mỗi giá trị của các vật cản sẽ được tính toán bằng hàm mật độ xác suất sau đó sẽ lưu trữ lại vào vector trạng thái. Tiếp đến, ở bước correction, mỗi khi có tín hiệu đo lường mới, phân bố mới tương ứng sẽ được tính và so sánh với giá trị đã lưu trữ bởi công thức tính khỏang cách phân bố Mahalanobis. Khoảng cách này sau đó được so sánh với giá trị ngưỡng. từ đó chọn lọc ra giá trị đủ tốt để sể dụng cho bước chỉnh sửa. Giá trị ban đầu được khởi tạo và sau đó được hiệu chỉnh để đạt được chất lượng mong muốn. Nếu giá trị ngưỡng được lựa chọn quá nhỏ thì dẫn tới có khả năng thuật toán sẽ không hội tụ. Ngược lại nếu lựa chọn quá lớn thì chất lượng sẽ không được đảm bảo. Khoảng cách Mahalanobis được tính:. Với i là phép đo lường thực hiện tới điểm mốc thứ i và zˆk. là giá trị đo lường mong muốn của các điểm mốc đã xác định,. 1 với N +1 là giá trị đánh dấu để tạo điểm mốc mới nếu phép đo liên kết trả về nó là giá trị không nằm trong giá trị ngưỡng. k là ma trận hiệp phương sai được cập nhật theo phép đo. Khoảng cách k sẽ được sử dụng để so sánh với giá trị ngưỡng để từ đó quyết định xem giá trị đo lường này sẽ được liên kết với điểm mốc nào, hay tạo giá trị điểm mốc mới nếu khoảng cách này lớn hơn ngưỡng. Giải thuật EKF-SLAM. Giải sử tại thời điểm t , các giá trị sau đã biết:. Giá trị kỳ vọng của trạng thái vị trí robot và điểm. Số điểm mốc đã xác định Nt-1 Các bước giải thuật được thực hiện như sau:. Cập nhật giá trị số. Tính toán giá trị kỳ vọng mong muốn cho bước dự đoán. Tính toán ma trận hiệp phương sai mong muốn của bước dự đoán. Kết thúc bước dự đoán. Tăng số lượng các điểm mốc thêm 1 để thêm vị trí chứa điểm mốc mới nếu được tạo. Giá trị điểm mốc thứ N +1 là giá trị điểm mốc mới. cách từ vị trí robot đến các điểm mốc đã biết và. Tính các giá trị khoảng cách Mahalanobis. zˆk ) giữa tín. Quá trình đánh giá thu nhận tín hiệu bản đồ được tiến hành mô phỏng trên Matlab, từ đó sử dụng trên phần mềm Gazebo giả lập môi trường hoạt động nhằm đánh giá hoạt động của robot như trong môi trường thực, sau cùng tiến hành trực quan hóa trên phần mềm Rviz trong môi trường thực tế nhằm đánh giá chất lượng và sai lệch của thuật toán EKF-SLAM.
Việc này có thể tùy chọn và được cấu hình thêm khi robot di chuyển ở các khu vực có các vách kính trong suốt (khó khăn sử dụng cảm biến Lidar) và từ đó hệ thống được bản đồ hóa phục vụ các tác vụ điều hướng, lập quỹ đạo di chuyển [89]. Sau khi di chuyển đến các vị trí đủ để thu thập dữ liệu cho việc bản đồ hoá toàn bộ môi trường, dữ liệu bản đồ này có thể được lưu lại để tái sử dụng trong những lần kế tiếp mà không cần phải tiến hành bản đồ hoá lại môi trường.
Hệ thống điều hướng cho robot phải đảm bảo được nó có thể di chuyển tự động và an toàn trong môi trường thực tế, tránh các vật cản động cũng như vật cản tĩnh của môi trường trong suốt quá trình di chuyển đồng thời phải bám sát quỹ đạo từ vị trí gốc đến vị trí đích trong môi trường. Vùng bản đồ costmap được chọn là một vùng hình vuông với robot ở vị trí trung tâm với kích thước của hình vuông được chọn sao cho đảm bảo được rằng robot có thể phát hiện được vật cản từ khoảng cách an toàn mà ở đó hệ thống điều hướng cho robot có thể thực hiện được việc tính toán quỹ đạo phù hợp giúp robot tránh được vật cản đó.
Việc tính toán ra quỹ đạo cho robot phụ thuộc vào các thuật toán điều hướng áp dụng cho robot, các thuật toán được phát triển để đảm bảo robot có thể di chuyển tự động cũng như tìm ra đường đi tốt nhất để có thể tránh được các vật cản. Phương pháp lập kế hoạch di chuyển toàn cục sẽ tính toán ra quỹ đạo ngắn nhất cho robot từ vị trí hiện tại tới vị trí đích trong khi đảm bảo robot có thể tránh được vật cản cố định trong bản đồ.
Dựa vào việc nhận thức về môi trường và đường đi của robot, các hàm mục tiêu được hình thành và liên kết với nhau, việc tối ưu các hàm mục tiêu sẽ hình thành nên quỹ đạo đường đi tốt nhất cho robot đồng thời có thể tránh các vật cản tĩnh và động trong suốt quá trình di chuyển. MPC dựa trên ngăn xếp điều hướng đề xuất thực thi dựa trên nền tảng hệ điều hành ROS cho FWOMR được thiết kế hoàn toàn trực quan để hoạt động tương tự như hệ thống thực tế và được đặt trong môi trường mô phỏng bằng phần mềm Gazebo, giám sát trực quan trên Rviz với nhiều loại vật cản.
Tại mỗi thời điểm lấy mẫu, bộ điều khiển NMPC thu được các phép đo đầu vào và đầu ra hiện tại của robot, trạng thái hiện tại của robot và mô hình robot để tính toán trình tự điều khiển tối ưu trong tương lai trên một miền dự báo xác định nhằm tối ưu hóa hàm mục tiêu đồng thời thỏa mãn các ràng buộc của hệ thống. Xét mô hình robot được mô tả như phương trình động học (1.3) và phương trình động lực học (1.16), để giải quyết bài toán điều khiển bám quỹ đạo với hàm mục tiêu được mô tả bởi phương trình (3.22).
Sai lệch theo phương y thể hiện từ giây thứ 3 do sai lệch về hướng robot và trạng thái ban đầu nên từ khoảng 1 giây đầu robot gặp sai lệch khoảng -0.1 m, sau đó xảy ra quá trình quá độ khiến quỹ đạo di chuyển của robot trong khoảng 3 giây với biên độ cực đại 0,5 m (N=10) và 0,8m (N=5) với miền thời gian lớn sẽ có quá trình quá độ ngắn hơn cho thấy chất lượng bám quỹ đạo của cả 2 miền thời gian cơ bản giống nhau. Trong phần này, để đánh giá chất lượng các bộ điều khiển dựa trên sai lệch bám giữa thuật toán điều khiển MPC với các thuật toán SMC và DSC (tham khảo tại mục 2.2, Chương 2, công trình công bố [1]), tiến hành thiết lập điều kiện ràng buộc tín hiệu điều khiển cho bởi công thức (3.46).
Trong Chương 3, luận án tiến hành thiết kế hệ điều hướng cho robot trên cơ sở xây dựng thuật toán Lập kế hoạch di chuyển toàn cục A, từ đó xây dựng thuật toán TEB nhằm điều hướng quỹ đạo cục bộ tránh vật cản động cho FWOMR với yêu cầu đáp ứng nhanh khi tránh vật cản, giảm thời gian quá độ khi robot di chuyển ở quỹ đạo cục bộ nhưng vẫn bám theo đường quỹ đạo toàn cục. Với mô hình hệ thống cho FWOMR sử dụng thuật toán nhận thức môi trường dựa trên thuật toán EKF-SLAM ở Chương 2, các thuật toán điều hướng toàn cục và cục bộ cho robot kết hợp thuật toán điều khiển bám quỹ đạo được xây dựng trong Chương 3, từ đó luận án tiến hành thực nghiệm robot trong môi trường thực tế nhằm kiểm chứng cơ sở lý thuyết đã đề xuất.
Để thiết lập một hệ thống bản địa hóa cho robot di chuyển ở chế độ 2D, cần thực hiện cách tiếp cận đưa vào một bản đồ dựa trên tín hiệu quét laser, chuyển đổi thông báo và kết quả đầu ra là các ước tính. Bằng cách nhận thông tin bao gồm vận tốc và vị trí của robot để tạo đường dẫn cục bộ, ROS sử dụng phép biến đổi tọa độ (tf) mô tả Oxyz tọa độ của cảm biến từ phép đo độ dời vị trí của robot.
Với tham số lớp đã chọn làm tăng khoảng an toàn đến vật cản vì vậy robot di chuyển với bán kính lớn dẫn đến lệch xa khỏi quỹ đạo toàn cục, tăng thời gian và tính hiệu quả khi di chuyển đến đích (Hình 4.6). Môi trường thực tế được dùng thử nghiệm với các kịch bản là địa hình sảnh chính của tòa nhà (hình 4.8a) với kích thước 6 mét x 8 mét và dãy hành lang chung (hình 4.8b) trong phạm vi 12 mét x 2,4 mét có đoạn rẽ gấp khúc qua cửa lối đi chính.
Việc tránh vật cản phát sinh trong quá trình di chuyển phụ thuộc vào quỹ đạo của robot, khi xuất hiện vật cản trên đường di chuyển, robot sẽ chuyển sang quỹ đạo cục bộ nhằm tính toán thông số trên gói Gmapping để lựa chọn lệnh vận tốc và hướng nhằm thay đổi quỹ đạo di chuyển tránh vật cản phù hợp. Quỹ đạo cục bộ (đường màu đỏ) phát sinh khi robot gặp vật cản và điều hướng di chuyển tránh vật cản với khoảng cách an toàn 0,5 mét (Hình 4.17a). Sơ đồ bố trí vật cản thực nghiệm. Robot di chuyển tránh vật cản tĩnh a) Quan sát trên Rviz; b) Trong thực tế.
Giả thiết tốc độ vật cản động bằng tốc độ di chuyển trung bình của người trưởng thành (khoảng 5 km/giờ), các kịch bản xây dựng khi robot di chuyển cho thấy hiệu suất tốt khi cho robot đi theo đường đi được tạo bởi quỹ đạo toàn cục và tránh các vật cản động không biết trước theo quỹ đạo cục bộ (Hình 4.20). Tuy nhiên, khi gặp vật cản động tại cửa chính robot sẽ tính toán quỹ đạo cục bộ mới, việc xử lý tính quỹ đạo mới làm robot dừng lại khoảng 2,5 giây, sau đó tiếp tục di chuyển theo quỹ đạo cục bộ mới (Hình 4.21a và Hình 4.21b). Robot di chuyển theo quỹ đạo mới. a) Quan sát robot trên Rviz; b) Quan sát robot trong thực tế.