Robot tự động có tính năn diệt khuẩn bằng tia UV
Robot diệt khuẩn tự động là robot có khả năng tự di chuyển theo một quỹ đạo được xác định trước
hoặc chưa biết trước và được thực hiện một công việc được giao. Robot có thể hoạt động ở nhiều
môi trường khác nhau. Đây là một hướng đi có tính ứng dụng rất lớn trong lĩnh vực y tế cũng như là
trong việc tìm kiếm một môi trường trong sạch. Một trong những yếu tố quan trọng của robot có thể
tự giải quyết các vấn đề nằm ngoài dự tính như phát hiện và tránh vật cản. Để robot có thể tự định
hướng và xác định vị trí hiện tại, ta cần phải tạo ra một bản đồ từ môi trường thực tế mà robot sẽ
hoạt động, việc này ta gọi là mapping. Từ bản đồ của môi trường hoạt động, ta cần phải xác định
vị trí, và hướng của robot trong bản đồ, việc này gọi là localization. Chúng ta sẽ lập kế hoạch điều
khiển robot đi theo đúng quỹ đạo nào đó dựa trên mapping và localization việc này gọi là pathplanning. Nghiên cứu này tập trung vào mô hình hóa và phát triển robot tự hành hoàn toàn tự động
dựa trên bài toán Simultaneous Localization and Mapping (SLAM).
Từ khóa: Python, Hệ điều hành Robot (ROS), Open-CV, SLAM, PID, Kalman, IMU, Camera 3D
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Tóm tắt nội dung tài liệu: Robot tự động có tính năn diệt khuẩn bằng tia UV
90 ROBOT TỰ ĐỘNG CÓ TÍNH NĂN DIỆT KHUẨN BẰNG TIA UV Lê Quyết Chiến Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP. Hồ Chí Minh GVHD: ThS. Nguyễn Anh Tú, ThS. Nguyễn Hoàng Tiến TÓM TẮT Robot diệt khuẩn tự động là robot có khả năng tự di chuyển theo một quỹ đạo được xác định trước hoặc chưa biết trước và được thực hiện một công việc được giao. Robot có thể hoạt động ở nhiều môi trường khác nhau. Đây là một hướng đi có tính ứng dụng rất lớn trong lĩnh vực y tế cũng như là trong việc tìm kiếm một môi trường trong sạch. Một trong những yếu tố quan trọng của robot có thể tự giải quyết các vấn đề nằm ngoài dự tính như phát hiện và tránh vật cản. Để robot có thể tự định hướng và xác định vị trí hiện tại, ta cần phải tạo ra một bản đồ từ môi trường thực tế mà robot sẽ hoạt động, việc này ta gọi là mapping. Từ bản đồ của môi trường hoạt động, ta cần phải xác định vị trí, và hướng của robot trong bản đồ, việc này gọi là localization. Chúng ta sẽ lập kế hoạch điều khiển robot đi theo đúng quỹ đạo nào đó dựa trên mapping và localization việc này gọi là path- planning. Nghiên cứu này tập trung vào mô hình hóa và phát triển robot tự hành hoàn toàn tự động dựa trên bài toán Simultaneous Localization and Mapping (SLAM). Từ khóa: Python, Hệ điều hành Robot (ROS), Open-CV, SLAM, PID, Kalman, IMU, Camera 3D. 1 GI I THIỆU CHUNG Mong muốn hiện tại của nhiều người là làm sao để tránh tiếp xúc quá nhiều trong môi trường vi khuẩn nhiều, và tránh được các hóa chất diệt khuẩn. Việc tạo ra một robot diệt khuẩn có tính năng tự vận hành là nhu cầu cấp thiết. Robot có tính năng tạo bản đồ và xác đinh vị trí, tự tìm đường đi từ vị trí hiện tại đến vị trí mong muốn, tự động tự tìm vị trí sạc, người dùng quan sát và can thiệp vào quá trình làm việc của robot thông qua ứng dụng trên di động, có thể điều khiển được robot trong không gian mới. Robot được xây dựng dựa trên các module lắp ghép, nên có thể thay đổi công năng một cách dễ dàng. Ngoài việc sử dụng cho diệt khuẩn thì robot còn có thể tháo rời module phát tia UV và thay thế các module khác để thực hiện các công việc khác như vận chuyển hàng hóa, giao thức ăn, vệ sinh mặt sàn, 2 NHỮNG CÔNG VIỆC LIÊN QUAN Hiện tại trong nước có nhiều loại robot diệt khuẩn đã được chế tạo thành công. Trong thời gian diễn ra dịch Covid-19 một số đơn vị như Đại học Sư phạm Kỹ thuật (Đại học Đà Nẵng), Đại học Tôn Đức Thắng, Đại học Bách khoa Hà Nội,... đã chế tạo thành công robot điều khiển từ xa để diệt vi khuẩn trong môi trường nhiễm khuẩn cao như bệnh viện, khu cách ly. 91 Trên thế giới đã có nhiều robot diệt khuẩn có khả năng tự hành được tạo ra với công xuất lớn, tính thẩm mỹ cao và độ bền tốt. Tuy nhiên các loại robot này có giá thành rất cao. Tháng 3/2020 ở Hong Kong chế tạo thành công Sterilization robot dùng để diệt khuẩn ở các khu sân bay, robot có khả năng quay 360 độ và diệt vi khuẩn 99,99%. Năm 2014 nhóm OCTOPUS ROBOTS đã cho ra đời robot Octopus Biosafety, robot có khả năng ghi nhớ không gian làm việc và lặp lại hành trình và phun xịt thuốc diệt khuẩn. 3 GI I THIỆU KỸ THUẬT 3.1 ROS (Robot Operating System) Robot Operating System – ROS là hệ điều hành mã nguồn mở dành cho robot, là một framework được dùng rộng rãi trong lĩnh vực robotic với nhiều ưu điểm. Nó tạo ra một nền tảng phần mềm có thể hoạt động trên rất nhiều robot khác nhau mà không cần sự thay đổi quá nhiều trong chương trình phần mềm. ROS là môi trường cho phép các module giao tiếp với nhau một cách độc lập. Nó cho phép các module này liên kết với nhau một cách dễ dàng thông qua các topic, message và service. Mỗi module trong một môi trường ROS được gọi là 1 node của chương trình. Các node trong hệ thống được điều phối và quản lý thông qua một node điều khiển gọi là node master. Việc sử dụng ROS sẽ giúp cho việc nâng cấp và bảo trì một cách dễ dàng hơn. Một robot cần phải có những node như sau: a. Navigation Stack [1] Navigation Stack dùng để lấy các thông tin từ các cảm biến như Lidar, IMU, Encoder, điểm cần di chuyển tới, từ các thông tin trên chương trình sẽ ra quyết định điều khiển robot như vận tốc bánh xe, góc bánh lái. Hình 3.1. Mô hình Navigation stack trong ROS b. Costmap[3] Từ dữ liệu trả về của các cảm biến như Lidar, IMU, I , chúng ta sẽ xác định được các vật cản hoặc vùng mà robot sẽ không di chuyển qua được và sẽ được costmap sử dụng để đánh dấu các vật 92 cản hoặc loại bỏ các vật cản trong costmap. Costmap cập nhật thông tin của vật cản trên dữ liệu từ bản đồ đã được xây dựng trước đó và nếu các vật thể được lưu trữ thông tin ở dạng ba chiều thì được chuyển thành hai chiều khi đặt vào costmap. c. Thuật toán Dijkstra's cho Global Planner [6] Để robot đến được vị trí mong muốn, ta phải tìm ra một đường đi từ điểm bắt đầu đến điểm kết thúc. Tuy nhiên có rất nhiều đường đi, để tối ưu hóa cho đường đi, ta cần phải lựa chọn đường đi ngắn nhất giữa hai điểm ấy. Với yêu cầu này, chúng ta sẽ sử dụng thuật toán Dijkstra's để tìm được đường đi ngắn nhất. Thuật toán Dijkstra là một trong những thuật toán cơ bản dùng để tìm đường đi ngắn nhất từ một điểm tới một điểm nào đó, và mở rộng ra là tìm đường đi ngắn nhất từ 1 điểm tới mọi điểm còn lại của đồ thị, với điều kiện các trọng số của đồ thị đó không âm. Quá trình thực hiện thuật toán Dijkstra sẽ diễn ra như sau: – Chọn một điểm bất kỳ chưa được duyệt và có đường đi ngắn nhất từ điểm gốc tới nó là nhỏ nhất. – Từ điểm đó, loang đường đi ra tất cả các đỉnh kề cận, và cập nhật lại đường đi ngắn nhất tới các đỉnh đó nếu đường đi mới tối ưu hơn. – Nếu còn điểm chưa được duyệt (hoặc chưa tìm được điểm đích, tùy yêu cầu đề bài), trở lại bước 1. d. Thuật toán Dynamic Window Approach (DWA)[4] Chúng ta sử dụng thuật toán DWA để tìm ra giá trị vận tốc để điều khiển robot tốt nhất nhằm mục đích điều khiển nó đến đích dựa trên global planner đã hoạch định từ trước. Thuật toán này gồm hai bước chính là cắt giảm không gian tìm kiếm của vận tốc và tìm được vận tốc tối ưu trong không gian tìm kiếm đó. Các vận tốc có thể điều khiển được trong không gian tìm kiếm được cắt giảm theo 3 bước: – Quỹ đạo tròn: Thuật toán DWA chỉ xét đến quỹ đạo là hình tròn (đường cong) được xác định duy nhất bởi một cặp vận tốc thẳng và vận tốc xoay (𝑣, 𝜔). – Vận tốc cho phép: Nhằm tạo ra một quỹ đạo an toàn cho robot để tránh vật cản. Một cặp vận tốc (𝑣, 𝜔) được cho phép là khi robot có thể dừng trước vật cản gần nhất mà không có sự va chạm trên đường cong tương ứng với vận tốc đó. – Vận tốc cho phép được định nghĩa như sau: , | 2. , . 2. , .' 'b b V v u v dist v u v dist v trong đó: là chuỗi các giá trị vận tốc (𝑣, 𝜔) cho phép robot dừng trước vật cản mà không có sự va chạm. 𝑑𝑖𝑠𝑡 (𝑣, 𝜔) là khoảng cách nhỏ nhất mà robot dừng trước vật cản để không có sự va chạm. 93 𝑣 𝜔 là gia tốc của vận tốc thẳng và vận tốc xoay tối đa nếu robot di chuyển sẽ gây va chạm với vật cản. e. Thuật toán PID [2] Trong quá trình điều khiển robot nhiều yếu tố tác động làm cho quá trình điều khiển của chúng ta bị sai lệnh như quán tính của xe, độ dốc mặt đường, năng lượng của xe,... để hạn chế sự biến động đó chúng ta kết hợp thuật toán PID vào quá trình điều khiển. PID là sự kết hợp của 3 bộ điều khiển: tỷ lệ, tích phân và vi phân, có khả năng điều chỉnh sai số thấp nhất có thể, tăng tốc độ đáp ứng, giảm độ vọt lố, hạn chế sự dao động. Giải thuật tính toán bộ điều khiển PID bao gồm 3 thông số riêng biệt, do đó đôi khi nó còn được gọi là điều khiển ba khâu: các giá trị tỷ lệ, tích phân và đạo hàm, viết tắt là P, I, và D. Giá trị tỷ lệ xác định tác động của sai số hiện tại, giá trị tích phân xác định tác động của tổng các sai số quá khứ, và giá trị vi phân xác định tác động của tốc độ biến đổi sai số. Tổng chập của ba tác động này dùng để điều chỉnh quá trình thông qua một phần tử điều khiển như vị trí của van điều khiển hay bộ nguồn của phần tử gia nhiệt. Nhờ vậy, những giá trị này có thể làm sáng tỏ về quan hệ thời gian: P phụ thuộc vào sai số hiện tại, I phụ thuộc vào tích lũy các sai số quá khứ, và D dự đoán các sai số tương lai, dựa vào tốc độ thay đổi hiện tại. Sơ đồ khối của bộ điều khiển PID Đồ thị PV theo thời gian, ba giá trị Kp (Ki và Kd là hằng số) 3.2 Tia UV [5] UV là một dạng ánh sáng mà mắt thường không thể nhìn thấy được. Nó là phần phổ điện từ giữa tia X và ánh sáng quang phổ. Mặt trời có thể phát ra ánh sáng cực tím, nhưng hầu hết chúng đều được hấp thụ bởi tầng Ozon. Điều đặc biệt của đèn tia cực tím diệt khuẩn là chúng có phạm vi bước sóng từ 200 đến 300 nanomet, phạm vi bước sóng này có khả năng diệt vi khuẩn, vi rút và các vi sinh vật trong nước. Khả năng diệt khuẩn này biến đèn UV tia cực tím trở nên: – Thân thiện với môi trường. – Không cần phải sử dụng hóa chất. – Hiệu quả cao trong việc khử trùng, diệt khuẩn. – Hiệu quả trong nước bị nhiễm khuẩn. 94 Ánh sáng của đèn tia cực tím UV phá hủy các Axit Nucleic khiến cho vi sinh vật không thể phát triển. Năng lượng tia cực tím có bước sóng ngắn kết hợp với năng lượng cao sẽ được hấp thụ bởi RNA và DNA của tế bào. Sự hấp thụ năng lượng tia cực tím sẽ hình thành các liên kết giữa các Nucleotide lân cận, tạo ra các liên kết đôi. Tại vị trí ánh sáng quang phổ biến mất, các Dimerization sẽ hình hành, đặc biệt là Thymine. 4 QUÁ TRÌNH THỰC HIỆN 4.1 Dữ liệu đầu vào Dữ liệu đầu vào của hệ thống gồm: Môi trường thực tế mà robot sẽ làm việc, vị trí hiện tại của robot và các vị trí mà robot sẽ phải tự động di chuyển đến, tương ứng với những vị trì đó là những tác vụ cần thực hiện. Hình 4.1. Ảnh môi trường thực tế mà robot sẽ hoạt động 4.2 Đặt vấn đề Robot phải tự động xác định hướng di chuyển, vật cản cố định, cũng như vật cản di động. 4.3 Cách giải quyết vấn đề Lập bản đồ môi trường hoạt động dựa trên môi trường hoạt động thực tế. Để lập bản đồ môi trường hoạt động cho robot thì ta cần điều khiển robot chạy quanh khu vực hoạt động thực tế ở chế độ thủ công, cảm biến laser Lidar sẽ quét trong suốt quá trình chạy. Hoặc chúng ta cũng có thể vẽ bản đồ dựa trên số đo thực tế. Sau khi xây dựng hoàn thành bản đồ thì cần thực hiện khoanh vùng hoạt động cho robot và xác định các vị trí trạm để robot di chuyển đến và các công việc cần thực hiện. Khi robot hoạt động nó phát hiện các vật cản nhờ cảm biến Lidar các vật cản này sẽ được cập nhật trên bản đồ, thuật toán Dijkstra's được sử dụng khi robot phát hiện ra vật cản mới. Khi đã có hướng đi chúng ta sẽ áp dụng Thuật toán Dynamic Window Approach để xác định được vận tốc và góc xoay sao cho di chuyển không bị va chạm vào vật cản. 5 KẾT QUẢ Sau quá trình xây dựng mô hình và thiết lập môi trường trên hệ điều hành ROS trên robot, xây dựng các các node cần thiết trong hệ thống: 95 5.1 Node thu thập từ cảm biến lidar Hình 5.1. Dữ liệu thu được từ cảm biến Lidar 5.2 Quá trình lập bản đồ Để có một bản đồ cung cấp cho robot di chuyển thì chúng ta nên phải tạo bản đồ từ môi trường thực tế từ cảm biến lidar, việc này sẽ cho kết quả chính xác hơn. Hình 5.2. Bản đồ được tạo ra từ cảm biến laser. 5.3 Node tìm đường đi Node thực hiện xác định đường đi ngắn nhất trên bản đồ. Hình 5.3. Đường đi của robot 96 6 KẾT LUẬN VÀ Ư NG PHÁT TRIỂN Đề tài đã xây dựng được một robot có khả năng di chuyển tự động theo một quỹ đạo đã được lập kế hoạch trước, trong quá trình di chuyển robot sẽ phát ra tia cực tím UV với bước sóng từ 200 đến 300 nanomet, phạm vi bước sóng này có khả năng diệt vi khuẩn, vi rút và các vi sinh vật trong nước. Các thuật toán áp dụng trong đề tài để thu thập dữ liệu cho sai số tương đối nhỏ, có thể chấp nhận được để xây dựng bản đồ. Robot còn hạn chế trong môi trường nhiều vật cản và các vật cản di chuyển với tốc độ cao thì robot sẽ rất mất nhiều thời gian để tính toán tìm đường. Để tăng tính ổn định trong môi trường nhiễu loạn vật cản, ta có thể áp dụng Machine learning trong công việc dự đoán và tìm đường đi. TÀI LIỆU THAM KHẢO [1] Zahari Taha1, and JessnorArif Mat Jizat, ‚ Comparison of Two Approaches for Collision Avoidance of an Automated Guided Vehicle Using Monocular ision‛, Applied Mechanics and Materials Vol. 145 (2012) pp 547-551Online available since 2011/Dec/08 at www.scientific.net© (2012) Trans Tech Publications, Switzerlanddoi:10.4028/www.scientific.net/AMM.145.547 [2] Liang, Y.-L.(et al) (2009). ‚Controlling fuel annealer using computational verb PID controllers‛. Proceedings of the 3rd international conference on Anti-Counterfeiting, security, and identification in communication (IEEE): 417–420. [3] Nilsson, N,J: Printciples of Artificical Intelligence. Tioga Publishing Company, Palo Alto (1980). [4] Fox, D.; Burgard, W.; Thrun, S. (1997). "The dynamic window approach to collision avoidance". IEEE Robotics & Automation Magazine. 4. [5] UV spectrometry group edited by B. J Clark.T.Frost and M.a.Resell (1993). [6] Dilcher, K. ‚Some q-Serues Identities Related to Divisor Functions.‛ Disc. Math. 145, 83-3,1995.
File đính kèm:
- robot_tu_dong_co_tinh_nan_diet_khuan_bang_tia_uv.pdf