Sau khi khởi động hệ thống là quá trình khởi tạo các module ngoại vi UART, TIMER và cấu hình in/out GPIO.
Tiếp đến chương trình rơi vào vòng lập vô hạn, từ (𝑣, 𝜔) tính toán số xung cần thiết và dùng TIMER để cấp xung cho từng động cơ trái phải. Vận tốc (𝑣, 𝜔) được cập nhật với tần số 1Hz.
Ngắt UART đảm nhận vai trò nhận dữ liệu (𝑣, 𝜔) từ Raspberry gửi xuống và dữ liệu điều hướng từ RF 433Mhz.
UART Interrupt
Get (𝑣, 𝜔)
RF 433Mhz
Raspberry UART, TIMER. Initialize
Config GPIO Begin While(1) Calculate pulse Generate pulse by TIMER Motor Step End
CHƯƠNG 4 KẾT QUẢ, ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết quả
4.1.1 Một số bản đồ Robot UV đã xây dựng được:
Phòng trọ:
Một góc môi trường dựng sẵn:
Phòng TTVXL:
Hình 4-2: Bản đồ phòng TT.VXL
Một góc tầng 4 Khoa Công Nghệ:
4.1.2 Điều hướng, dẫn đường tự động dựa trên bản đồ đã xây dựng
Sau khi thiết lập được bản đồ từ môi trường thực tế, ta tiến hành lưu bản đồ và đưa bản đồ vào package navigation để có thể điều hướng, dẫn đường Robot UV tự động.
Hình 4-5: Robot UV tự di chuyển trên map
Hình trên là bản đồ costmap, ta có thể thấy được quỹ đạo Robot UV tự vạch ra (đường cong màu xanh lá) để có thể chuyển qua chướng ngại vật để đến điểm đích.
Vùng màu đen là vùng trống Robot có thể đến được, màu xanh dương là vùng lạm phát có thể tăng giảm vùng này tuỳ theo cấu tạo robot. Để tránh va chạm với các vật thể thì phần đa giác nền (khung chữ nhật xanh lá) của robot sẽ không được chạm các điểm vật cản màu đỏ và phần trung tâm của robot không được vượt qua phần màu xanh.
Robot UV tự di chuyển trong phòng TT.VXL:
4.2 Đánh giá
Đề tài đã đạt được mục tiêu xây dựng được bản đồ từ môi trường thực tế, Robot UV có thể tự định hướng và xác định vị trí hiện tại dựa trên bản đồ đã xây dựng. Đồng thời có thể tự điều hướng di chuyển tránh vật cản đi đến các điểm cần khử khuẩn trên bản đồ theo quỹ đạo mà ta hoạch định.
Tuy nhiên do hạn chế về kiến thức cũng như thời gian nên chưa thể thiết kế Robot UV thành một sản phẩm hoàn thiện mà ở mức độ người dùng có thể sử dụng được. Còn nhiều hạn chế về tính năng cũng như yêu cầu một môi trường không có quá nhiều vật cản trên cao do hạn chế của cảm biến 2D. Các thao tác vận hành Robot UV phải thực hiện trên máy tính laptop chạy hệ điều hành Linux với các dòng lệnh phức tạp không có giao diện cho người dùng.
4.3 Hướng phát triển
Về hướng phát triển trong tương lai. Để Robot UV có thể được ứng dụng rộng rãi trong mọi lĩnh vực của đời sống thì cần phải nghiên cứu, phát triển và hoàn thiện, tích hợp thêm nhiều tính năng như:
- Xây dựng thêm các ROS package để có thể thiết lập một lịch trình diệt khuẩn tự động theo chu trình thời gian.
- Thiết lập giao diện người dùng trên các nền tảng Window, MAC OS, hay các nền tảng smartphone để có thể dễ dàng quản lí, kiểm tra cũng như thay đổi, thiết lập lịch trình cho Robot UV.
- Xây dựng thêm các ROS package để Robot UV có khả năng tự xây dựng bản đồ, không cần con người điều hướng để xây dựng bản đồ ban đầu.
- Tích hợp thêm nhiều cảm biến hỗ trợ Robot UV có thể vận hành tốt nhất. - Tích hợp khả năng dò đường, tự quay về sạc khi đến ngưỡng nguồn yếu. - Phát triển lên Robot UV sử dụng cảm biến Lidar 3D để Robot UV có thể hoạt
động tốt trong môi trường có nhiều vật cản khắc phục những nhược điểm của cảm biến Lidar 2D.
- Thêm các thuật toán gỡ rối khi Robot bị kẹt hoặc vướn vật cản.
Bên cạnh đó từ cơ sở nền của Robot UV tự hành có sẵn, ta có thể cải thiện lại hệ thống và phát triển theo nhiều ứng dụng khác nhau như:
- Thay trụ đèn UV thành bộ xịt dung dịch khử trùng, ta được robot khử trùng bằng dung dịch tự động.
- Ứng dụng phần nền vào việc phát triển xe chở hàng tự hành.
- Ứng dụng vào việc robot giao thức ăn, vật tư y tế trong bệnh viện,…
- Ứng dụng vào việc tạo nên các robot hỗ trợ con người như robot lau nhà, robot hút bụi,….
PHỤ LỤC Tài liệu tham khảo:
[1]. Giáo trình Vi điều khiển MSP430, TS.Lương Vinh Quốc Danh, Ths.Trần Hữu
Danh (2017), NXB Đại học Cần Thơ, Cần Thơ. [2]. Giáo trình Mạch điện tử - Trương Văn Tám.
[3]. Giáo trình Linh kiện điện tử - Trương Văn Tám
[4]. Autonomous car using stereo camera - TriPhanMinh
[5]. ROS, "Robot Operating System," [Online]. Available: http://www.ros.org/is-ros-for-me/.
[6]. R. D. Wiki, "Robot Operating System Wiki," Distributions, [Online]. Available: http://wiki.ros.org/Distributions.
[7]. R. N. Wiki, "Robot Operating System Wiki," Navigation, [Online]. Available: http://wiki.ros.org/navigation/Tutorials/RobotSetup.
[8]. W. C. ROS, "Robot Operating System Wiki," Costmap 2D, [Online]. Available: http://wiki.ros.org/costmap_2d.
[9]. D. A. Wikipedia, "Wikipedia," [Online]. Available:
https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm.
[10].A. Tomović, "Path Planning Algorithms For The Robot Operating System," p. 5.
[11].W. G. p. ROS, "Robot Operating System Wiki," Global planner, [Online]. Available: http://wiki.ros.org/global_planner.
[12].D. F. D. F. Global planner, "The Dynamic Window Approach to Collision Avoidance," pp. 10-12.
Phần mềm thiết kế sử dụng trong luận văn:
- ECAD: Eagle 9.6.2 – Education license - MCAD: Fusion 360 – Education license - IAR Embedded Workbend