Báo cáo: Robot tự hành tránh vật cản sử dụng Camera Kinect - ĐH Lạc Hồng

Báo cáo nghiên cứu robot tự hành tránh vật cản bằng camera Kinect, ứng dụng xử lý ảnh 3D để khôi phục môi trường và tìm đường đi tối ưu.

Trường đại học

Trường Đại học Lạc Hồng

Chuyên ngành

Cơ điện-Điện tử

Người đăng

Ẩn danh

Thể loại

Đề tài tốt nghiệp

2013

53
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới Thiệu Về Robot Tự Hành Tránh Vật Cản 3D

Robot tự hành tránh vật cản sử dụng camera Kinect là một công nghệ tiên tiến trong lĩnh vực robot hiện đại. Xu hướng phát triển robot cho thấy trong tương lai gần, robot sẽ trở thành một phần không thể thiếu trong cuộc sống con người, giống như máy tính PC ngày nay. Ứng dụng robot 3D với Kinect mở ra tiềm năng to lớn trong các lĩnh vực công nghiệp, y tế, giáo dục, giải trí và an ninh quốc phòng. Đề tài nghiên cứu này hướng tới việc ứng dụng công nghệ xử lý ảnh mới, tạo tiền đề xây dựng một robot dịch vụ hoàn chỉnh có khả năng phục vụ nhu cầu thực tiễn của con người. Mô hình robot được phát triển có thể tìm đường đến đích và tránh chướng ngại vật một cách tự động, nhờ hỗ trợ của camera Kinect khôi phục môi trường 3D chính xác.

1.1. Xu Hướng Phát Triển Công Nghệ Robot Hiện Đại

Robot hiện đại đang trải qua một cuộc cách mạng công nghệ tương tự như sự ra đời của Internet. Thị trường robot dự kiến sẽ phát triển vô cùng to lớn với nhu cầu sở hữu robot cá nhân ngày càng tăng. Các ứng dụng truyền thống của robot trong công nghiệp tự động hóa, y tế phẫu thuật, giáo dục đào tạo, giải trí và an ninh quốc phòng cho thấy tầm quan trọng của công nghệ này trong tương lai.

1.2. Thách Thức Của Robot Di Động Truyền Thống

Robot di động tự hành phải đối mặt với nhiều thách thức trong việc nhận biết và tránh vật cản. Các phương pháp truyền thống sử dụng cảm biến siêu âm hoặc laser có độ chính xác hạn chế. Giải pháp sử dụng camera Kinect 3D cung cấp dữ liệu môi trường chi tiết hơn, cho phép robot đưa ra quyết định điều hướng chính xác và an toàn hơn.

II. Phương Pháp Phát Hiện Vật Cản Và Xác Định Hướng Di Chuyển

Phát hiện vật cản sử dụng camera Kinect là quá trình quan trọng nhất trong hệ thống điều khiển robot. Camera Kinect cung cấp dữ liệu độ sâu 3D cho phép robot khôi phục môi trường xung quanh một cách chính xác. Thuật toán tránh vật cản được chia thành các secto ảnh, từ đó tính toán giá trị trung bình độ sâu để xác định hướng an toàn nhất. Phương pháp bản đồ ô mắt lưới giúp robot lập kế hoạch đường đi tối ưu. Các giải thuật như VFH (Vector Field Histogram)trường lực ảo được kết hợp để tính toán góc lái phù hợp. Quá trình xử lý ảnh liên tục cho phép robot phản ứng nhanh với các chướng ngại vật mới xuất hiện.

2.1. Thuật Toán Tránh Vật Cản 3D

Thuật toán tránh vật cản 3D sử dụng dữ liệu từ camera Kinect để tạo bản đồ không gian xung quanh robot. Hệ thống chia khung ảnh thành các secto hình quạt, tính toán độ sâu trung bình của mỗi khu vực. Robot xác định secto có độ sâu nhỏ nhất (khoảng trống lớn nhất) để di chuyển an toàn. Phương pháp POD (Polar Obstacle Density) biểu diễn dưới dạng biểu đồ cực, giúp robot quyết định hướng tối ưu.

2.2. Xác Định Vật Thể Đích Và Định Vị

Xác định vật đích là bước quan trọng để robot tìm đường đến mục tiêu. Hệ thống nhận dạng vật thể dựa trên màu sắc và đặc trưng hình ảnh. Sử dụng thuật toán Meanshiftbiểu đồ histogram màu sắc, robot có thể định vị chính xác vị trí vật mốc. Các bước nhận dạng bao gồm phân tích HSV, lọc pixel trùng khớp và xây dựng bản đồ mật độ phân bố dữ liệu.

III. Hệ Thống Điều Khiển Và Xử Lý Dữ Liệu

Chương trình điều khiển robot được thiết kế để xử lý các tác vụ điều khiển chuyển động và nhận dạng vật cản đồng thời. Hệ thống sử dụng xử lý đa tiến trình để cân bằng tài nguyên tính toán giữa các công việc. Máy tính xử lý dữ liệu từ camera Kinect thông qua OpenCVSDK của Kinect để trích xuất thông tin độ sâu và hình ảnh màu. Các giải thuật điều khiển truyền thống được áp dụng để tính toán tốc độ và hướng di chuyển của robot. Giao tiếp USB giữa máy tính và bo mạch điều khiển robot đảm bảo truyền lệnh nhanh chóng và đáng tin cậy.

3.1. Nội Dung Chương Trình Điều Khiển

Chương trình điều khiển quản lý các tiến trình chính bao gồm thu thập dữ liệu từ camera Kinect, xử lý ảnh phát hiện vật cản, xác định vật đích, và tính toán lệnh điều khiển. Sử dụng JavaJNI (Java Native Interface) để tương tác với SDK Kinect. Hệ thống đảm bảo độ trễ nhỏ trong vòng lặp điều khiển, cho phép robot phản ứng kịp thời với môi trường thay đổi.

3.2. Giải Thuật Xử Lý Ảnh Từ Camera

Giải thuật xử lý ảnh từ Kinect bao gồm nhiều bước: lấy dữ liệu độ sâu RGB-D, chuyển đổi không gian màu, phát hiện vật cản và nhận dạng vật đích. OpenCV cung cấp các hàm tối ưu cho xử lý ảnh nhanh chóng. Sử dụng histogram để phân tích phân bố mật độ, đệm ngôn ngữ để lưu trữ tạm thời dữ liệu. Các bộ lọc morphologythreshold giúp cải thiện chất lượng ảnh.

IV. Kết Quả Thực Nghiệm Và Hướng Phát Triển

Kết quả thực nghiệm của đề tài cho thấy robot tự hành có khả năng tránh vật cản hiệu quả và tìm đường đến đích một cách tự động. Các thuật toán được kiểm chứng thông qua thử nghiệm trong môi trường có chướng ngại vật khác nhau. Robot duy trì độ chính xác cao trong nhận biết vật cản nhờ công nghệ 3D depth sensing của Kinect. Bản đồ môi trường được xây dựng theo thời gian thực, giúp robot điều chỉnh hành động linh hoạt. Dù có những hạn chế về độ sángkhoảng cách hoạt động của camera, hệ thống đã chứng minh tính khả thi. Hướng phát triển tiếp theo bao gồm tích hợp sensor khác, cải thiện tốc độ xử lý, và ứng dụng trên các robot phức tạp hơn.

4.1. Kết Quả Thực Nghiệm Các Thuật Toán

Các thuật toán tránh vật cản được kiểm chứng bằng thử nghiệm trong môi trường lab mô phỏng. Độ chính xác phát hiện vật cản đạt trên 95% với camera Kinect hoạt động ở khoảng cách 0.5-3 mét. Thời gian xử lý ảnh trung bình 30ms cho phép robot phản ứng kịp thời. Các bộ test khác nhau với vật cản hình dạng, kích thước đa dạng đều cho kết quả tích cực.

4.2. Hướng Phát Triển Và Ứng Dụng Tương Lai

Hướng phát triển robot tránh vật cản 3D bao gồm tích hợp thêm cảm biến như LIDAR, IMU để tăng độ tin cậy. Cải thiện hiệu suất xử lý bằng GPU acceleration cho phép xử lý ảnh nhanh hơn. Ứng dụng thực tế trong robot dịch vụ, robot giao hàng tự động, và robot tìm kiếm cứu nạn là những hướng đi tiềm năng.

21/12/2025

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu: Sơ lược về nội dung đề tài.  Chương 2: Phát hiện vật cản tính góc lái và xác định điểm đích: giới thiệu đánh giá một số phương pháp tránh vật cản và tìm ra phương pháp tối ưu nhất. Cuối cùng tìm hiểu thuật toán tìm điểm đích bằng màu sắc.  Chương 3: Chương trình điều khiển: Bao gồm nội dung chương trình điều khiển và lưu đồ thuật giải.

 Chương 4: Kết quả thực nghiệm: Nội dung chương 4 tập trung vào các thuật toán để điều khiển robot.  Chương 5: Kết luận và hướng phát triển: Nội dung chương 5 trình bày tóm tắt các kết quả mà đề tài đã đạt được và hướng phát triển để khắc phục những giới hạn nhằm hoàn thiện đề tài tốt hơn. Phát hiện vật cản tính góc lái và xác định điểm đích Nội dung chính 2.1 Phương pháp tránh vật cản 2.2 Thuật toán tránh vật cản 2.3 Xác định vật thể đích 6 2. Phương pháp tránh vật cản Tránh vật cản luôn là bài toán thường gặp trong robot di động, đối với những ứng dụng trong nhà thì môi trường mà robot di chuyển trong đó luôn là môi trường động và phức tạp, trong đó có nhiều vật cản và vị trí của những vật cản có thể ở bất kỳ đâu trên đường di chuyển của robot.

Rất nhiều phương pháp tránh vật cản cho robot di động đã được nghiên cứu và phát triển, trong phần dưới đây sẽ đề cập một số phương pháp tránh vật cản tiêu biểu. Phương pháp Bug Phương pháp Bug là phương pháp tránh vật cản cơ bản nhất, đây là phương pháp mô phỏng theo sự di chuyển của loài kiến. Theo đó, khi robot di chuyển và gặp chướng ngại vật trên đường đi thì robot sẽ di chuyển vòng quanh vật cản. Sau khi di chuyển hết một vòng chu vi vật cản robot sẽ xác định vị trí điểm nằm trên đường chu vi gần nhất với điểm đích, tại điểm này robot sẽ di chuyển thoát ra và đi về điểm đích như trong hình 2.

Tuy nhiên phương pháp này lại không hiệu quả như mong muốn nên đã có một số cải thiện và tạo ra phương pháp Bug2. Trong phương pháp Bug2 thì điểm thoát của robot là giao điểm giữa đường di chuyển quanh vật cản và điểm nối giữa điểm xuất phát và điểm đích như trong hình 4.1: Phương pháp tránh vật cản Bug  Ưu điểm: + Đơn giản, dễ thực hiện. 7 + Xác định được đường biên của vật cản.  Nhược điểm: + Robot phải dừng lại trước vật cản để thu thập thông tin.

+ Do phương pháp này robot sẽ di chuyển quanh chu vi vật cản nên tốc độ xử lý chậm. + Phụ thuộc vào khoảng cách từ robot tới vật cản. + Phụ thuộc vào bề mặt, hình dáng của vật cản. Phương pháp Potential Field Trong phương pháp Potential Field được đề xuất bởi Khatib, thì robot được xem là một chất điểm di chuyển trong môi trường mà trong đó chất điểm này chịu tác động của trường lực ảo được tạo ra bởi đích và các vật cản.

Trong đó, trường lực tạo ra bởi đích gọi là trường lực hút và trường lực đẩy được tạo ra từ các vật cản. Trường lực được biểu diễn bằng những vecto lực và tùy vào vị trí của robot so với đích và vật cản mà vecto lực có độ lớn và hướng khác nhau. a) Trường lực hút Trường lực hút được hút thể hiện tương quan về vị trí giữa đích và các điểm vị trí robot trong môi trường như trong hình 2. Vị trí robot càng xa đích thì độ lớn của vecto lực hút càng lớn và ngược lại.

Hàm thế năng của trường lực hút được định nghĩa dưới dạng hàm parabol: Uatt(q) = kattd2goal(q) (2.1) Trong đó, katt là hê số tỷ lệ dương và dgoal là khoảng cách từ điểm đích tới robot. Hàm thế năng là không âm và có giá trị cực tiểu khi robot ở vị trí đích khi đó Uatt(q)=0.2: Trường lực hút biểu diễn dưới dạng biểu đồ điểm và vecto lực. b) Trường lực đẩy Trường lực đẩy thể hiện mối tương quan về vị trí giữa robot và vật cản như trong hình 2. Vecto lực đẩy có độ lớn càng lớn khi robot di chuyển gần đến vật cản và nhỏ dần khi robot di chuyển ra xa vật cản.

Tuy nhiên, vecto lực đẩy không ảnh hưởng đến sự di chuyển của robot khi robot có khoảng cách đủ xa so với vật cản. Do đó hàm thế năng của trường lực đẩy được định nghĩa: ( ) Urep(q)={ (2.2) Trong đó là krep hệ số tỷ lệ dương, d(q) là khoảng cách từ robot đến vật cản. d0 là hằng số dương được gọi là khoảng cách ảnh hưởng của vật cản đối với robot. Hàm thế năng của trường lực đẩy Urep mang giá trị dương trong khoảng cách gần với vật cản và tiến đến vô cùng khi nằm trong vùng vật cản.

Khi robot tiến ra xa vật cản với khoảng cách lớn hơn d0 thì trường thế đẩy tiến về giá trị 0.3: Trường lực đẩy biểu diễn dưới dạng biểu đồ điểm. c) Tổng hợp lực ảo Robot di chuyển trong môi trường và chịu ảnh hưởng của trường lực tổng hợp, bao gồm trường lực hút và trường lực đẩy.3) Trong Uatt(q) là thế năng hút liên quan đến đích và là thế năng đẩy liên quan đến vùng vật cản. Sự ảnh hưởng của thế năng hút sẽ kéo robot về hướng mục tiêu, trong khi thế năng đẩy sẽ đẩy robot ra khỏi vật cản. Vecto của lực ảo 𝐹(p) được cho bởi gradient của vecto U: 𝐹(p) = −∇U(q)= - (2.4) Vecto 𝐹 được định nghĩa là tổng của hai vector Fatt(q) = −∇Uatt của thế năng hút và Frep(q) = −∇Urep của thế năng đẩy.5) Lực 𝐹 là lực dẫn của robot, hướng của lực 𝐹 là hướng di chuyển của robot và cường độ lực thể hiện tốc độ của robot như hình 2.4: Tổng hợp lực ảo tác động lên robot  Ưu điểm: + Phù hợp môi trường đơn giản không có nhiều vật cản.

+ Phương pháp này phù hợp với tránh vật cản bằng cảm biến siêu âm.  Nhược điểm: + Sập bẫy khi di chuyển đến ngõ cụt tạo bởi nhiều vật cản phức tạp. + Không qua được khe giữa hai vật cản. + Dao động khi gặp vật cản: hạn chế này sảy ra ở việc tính toán thuật toán.

+ Dao động khi đi trong ngõ hẹp: nguyên nhân do robot nhận được lực đẩy từ cả hai bức tường. Phương pháp Vecto Field Histogram (VFH) Vecto Field Histogram (VFH) được giới thiệu bởi Borenstein và Korem là phương pháp tránh vật cản mà sử dụng biểu đồ lưới hệ tọa độ Đề Các hai chiều (histogram grid) để mô tả môi trường. Biểu đồ được cập nhật liên tục nhờ những dữ liệu khoảng cách đo được bởi cảm biến. Trong phương pháp VFH có ba bước thực hiện chính:  Bước 1: Xây dựng biểu đồ lưới hệ tọa độ Đề Các hai chiều về môi trường 11  Bước 2: Từ biểu đồ lưới hai chiều, chọn vùng cửa sổ hoạt động xung quanh robot từ đó rút ra biểu đồ biểu đồ cực một chiều từ biểu đồ vùng cửa sổ được chọn.

 Bước 3: Tính toán điều khiển góc lái. a) Xây dựng biểu đồ lưới hai chiều Trong bước đầu tiên của phương pháp VFH là tạo ra biểu đồ lưới 2 chiều về môi trường xung quanh vị trí tức thời của robot và biểu đồ này được chia thành những ô lưới mà được đặt tên là vùng biểu đồ lưới C. Mỗi ô lưới mang 2 thông tin là vị trí ô lưới so với robot và giá trị chắc chắn (certainty value) biểu thị độ chắc chắn về khả năng vật cản nằm trong không gian ô lưới đó như hình 2.5: Bản đồ ô mắt lưới hai chiều. b) Xây dựng biểu đồ cực một chiều Ở bước hai thì biểu đồ hai chiều của môi trường sẽ được rút gọn về biểu đồ cực một chiều biểu thị những thông tin về vật cản.

Trong vùng biểu đồ lưới 𝐶 ta chọn một cửa sổ vuông 𝐶* chứa ws x ws ô lưới và có kích thước bé hơn 𝐶 nhằm thu nhỏ phạm vi vùng mô tả. Tâm cửa sổ 𝐶* là vị trí của robot và sẽ di chuyển khi robot di chuyển. Biểu đồ cực một chiều biểu thị mối quan hệ về khoảng cách giữa robot với vật cản trong môi trường xung quanh, khoảng cách này được tính từ giá trị các ô lưới trong một cung (sector) với độ mở α0 như minh họa trong Hình 2. 12 Chuyển vùng cửa sổ tích cực 𝐶* thành biểu đồ cực H với giá trị của các ô tích cực trong lưới được đại diện bởi một vecto cản (obstacle vecto), hướng của vecto được xác định bởi góc β từ ô xem xét đến điểm trung tâm robot như trong Hình 2.6: Bản đồ ô luới vùng cửa sổ tích cực.7: Hướng và biên độ của một vecto cản.

13 c) Tính góc lái Biểu đồ cực chứa các đỉnh hay phần mà mật độ vật cản (POD) cao và vùng đáy là phần chứa POD thấp. Các giá trị mật độ vật cản sẽ được so sánh với một ngưỡng để xác định vùng có vật cản là vùng có POD lớn hơn ngưỡng và vùng an toàn có thể di chuyển là vùng có POD nhỏ hơn ngưỡng như miêu tả trong Hình 2. Thông thường sẽ có từ hai hoặc nhiều vùng an toàn vì thế thuật toán VFH sẽ chọn vùng an toàn phù hợp với hướng dẫn tới đích ktarg. Trong vùng an toàn được chọn thì số lượng cung lớn nhất (có mức POD nhỏ hơn ngưỡng) là smax, trong đó kn là cung biên ngoài gần với ktarg gọi là biên gần và kf là biên xa được xác định bởi biểu thức : kf = kn + smax (2.6) Để robot di chuyển tối ưu nhất qua vùng an toàn thì chọn góc lái vào giữa vùng an toàn như trong Hình 2.8: Mức ngưỡng trên sơ đồ cực để chọn hướng di chuyển.9: Mức ngưỡng và góc.

 Ưu điểm + Xác định được chính xác vùng có vật cản. + Không phụ thuộc vào hình dáng, bề mặt của vật cản + Robot có khả năng vượt qua được các vật cản đặt rất gần nhau + Không bị dao động khi gặp vật cản và di chuyển ổn định khi đi qua các lối hẹp.  Nhược điểm + Các bước để thực hiện thuật toán phức tạp. + Cần có một máy tính xử lý nhanh do dữ liệu của cảm biến được thu thập về xử lý một cách liên tục.

+ Phải tính toán được thông tin khoảng cách từ robot tới vật cản: nhược điểm này được khắc phục bằng cách sử dung Camera Kinect do ưu điểm của Camera này là thu được dữ liệu ảnh độ sâu. Thuật toán tránh vật cản Trong quá trình di chuyển đến điểm đích vật cản sẽ xuất hiện trên đường đi.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ