Thông số kĩ thuật mạch inverter 12VDC

Một phần của tài liệu Robot khử khuẩn bằng tia uv sử dụng cảm biến LIDAR và RASPBERRY (Trang 60)

Để điều khiển được đèn sáng thì cần dung một module relay 5V để điều khiển đèn sáng tắt.

Hình 4.28: Mạch inverter 12VDC lên 220VAC 40W

50 Sử dụng điện áp ni DC 5V

Relay tiêu thụ dịng 80mA Điện thế đóng ngắt tối

đa

AC250V ~ 10A hoặc DC30V ~ 10A Đèn báo báo đóng ngắt trên mỗi relay

Mức tín hiệu kích 0 hoặc 1 qua jumper

Kích thước 1.97 in x 1.02 in x 0.75 in (5.0 cm x 2.6 cm x 1.9 cm)

Khối lượng 17 g

Hình 4.30: Thông số kĩ thuật module relay 5V

4.2 Thiết kế phần mềm

4.2.1 Hệ điều hành robot (ROS)

ROS (Hệ điều hành Robot) là một khung phần mềm mã nguồn mở để phát triển robot. Công chúng biết đến ROS khi ROS 0.4 được phát hành vào ngày 1/1/2009. Mục tiêu chính của ROS là tiêu chuẩn hóa và tái sử dụng phần mềm robot trên toàn cầu và tạo ra một cộng đồng cho các nhà phát triển robot. Hiện tại, ROS chỉ chạy trên Linux. Hệ điều hành và nó hỗ trợ các ngơn ngữ C ++, Python và Lisp. ROS cung cấp các dịch vụ hệ điều hành tiêu chuẩn như trừu tượng hóa phần cứng, điều khiển thiết bị cấp thấp, triển khai chức năng thường được sử dụng, truyền thông báo giữa các quy trình và quản lý gói. Nó dựa trên kiến trúc đồ thị trong đó q trình xử lý diễn ra trong các nút có thể nhận, gửi và ghép kênh cảm biến, điều khiển, trạng thái, lập kế hoạch, bộ truyền động và các thơng báo khác. Nói cách khác, nó kết nối phần cứng với phần mềm để tạo ra một mơi trường lập trình nâng cao để điều khiển phần cứng cấp thấp. Kiến trúc chính của ROS dựa trên các nút và mỗi nút là một quy trình độc lập. Việc sử dụng các nút mang lại một số lợi ích cho hệ thống tổng thể. Trước hết, vì mỗi nút độc lập với nhau, sự cố của một nút khơng có khả năng dẫn đến sự cố toàn bộ hệ thống. Thứ hai, kiến trúc của ROS cũng giúp cải thiện khả năng tái sử dụng của mã. Ví dụ, chúng tơi viết một chương trình A (nút A) cho phép robot đi đến bất cứ đâu nó muốn mà khơng gặp vấn đề gì. Tuy nhiên, chúng ta cần một chương trình B khác (nút B) để xử lý dữ liệu camera để robot có thể nhận biết được mơi trường xung

51

quanh. Trong ROS, giao tiếp được thực hiện bằng cách chuyển các thơng điệp giữa các nút. Nói chung, các nút khơng biết chúng đang giao tiếp với ai. Tất cả các tin nhắn đã gửi được xuất bản cho một topic. Nếu một nút muốn nhận tin nhắn, nó phải đăng ký các topic cụ thể. Có thể có nhiều publishers và nhiều subscribers vào một nút. Nói cách khác, chúng ta có thể nói rằng một chủ đề giống như một kênh quảng bá trong đó một nút có thể truy cập tất cả các thơng điệp. Trong trường hợp có nhiều chủ đề, một nút sẽ bỏ qua tất cả các thông báo từ các chủ đề mà họ không đăng ký.

52

4.2.2 Phần mềm mô phỏng Gazebo

Mô phỏng robot là một công cụ thiết yếu trong hộp công cụ của mọi nhà chế tạo rơ bốt. Trình mơ phỏng được thiết kế tốt giúp cho chúng ta có thể nhanh chóng kiểm tra các thuật tốn, thiết kế rơ bốt, thực hiện kiểm tra hồi quy và đào tạo hệ thống AI bằng cách sử dụng các tình huống thực tế. Gazebo cung cấp khả năng mơ phỏng chính xác và hiệu quả các quần thể robot trong các môi trường phức tạp trong nhà và ngồi trời. Gazebo là một cơng cụ vật lý mạnh mẽ, đồ họa chất lượng cao và các giao diện đồ họa và lập trình thuận tiện.

Quá trình phát triển Gazebo bắt đầu vào mùa thu năm 2002 tại Đại học Nam California. Những người sáng tạo ban đầu là Tiến sĩ Andrew Howard và học trị của ơng Nate Koenig. Khái niệm mơ phỏng độ trung thực cao xuất phát từ nhu cầu mô phỏng robot trong mơi trường ngồi trời với nhiều điều kiện khác nhau. Là một mô phỏng bổ sung cho Stage, cái tên Gazebo đã được chọn làm cấu trúc gần nhất với outdoor stage. Cái tên này đã bị mắc kẹt mặc dù thực tế là hầu hết người dùng Gazebo đều mô phỏng môi trường trong nhà. Trong những năm qua, Nate tiếp tục phát triển Gazebo trong khi hồn thành chương trình Tiến sĩ. Năm 2009, John Hsu, kỹ sư nghiên cứu cấp cao tại Willow, đã tích hợp ROS và PR2 vào Gazebo, từ đó trở thành một trong những cơng cụ chính được sử dụng trong cộng đồng ROS. Vài năm sau vào mùa xuân năm 2011, Willow Garage bắt đầu hỗ trợ tài chính cho sự phát triển của

53

Gazebo. Vào năm 2012, Open Source Robotics Foundation (OSRF) tách ra khỏi Willow Garage và trở thành người quản lý dự án Gazebo. Sau nỗ lực phát triển đáng kể của một nhóm các cá nhân tài năng, OSRF đã sử dụng Gazebo để chạy Thử thách người máy ảo, một thành phần trong Thử thách người máy DARPA, vào tháng 7 năm 2013. OSRF tiếp tục phát triển Gazebo với sự hỗ trợ từ một cộng đồng đa dạng và năng động.

4.2.3 Phần mềm tạo lập bản đồ Rviz

Trong quá trình điều khiển robot, việc hiển thị các trạng thái khác nhau của robot như trạng thái chuyển động, trạng thái lực của cánh tay robot,... là rất cần thiết. Phần mềm RViz do ROS cung cấp có thể hiển thị nhiều dữ liệu khác nhau và nó cũng cung cấp thêm các chương trình phát triển thứ cấp giúp cho việc cá nhân hóa robot.

Sau khi nhận được dữ liệu quét được từ cảm biến Lidar, thông qua SLAM, bản đồ về mơi trường xung quanh của robot có thể được hiển thị dưới dạng 2D trên Rviz. Hình bên dưới hiển thị bản đồ được tạo lập sau khi robot di chuyển và quét các vật thể có trong mơi trường.

54

4.2.4 Phần mềm định vị trong nhà Dashboard

Hình 4.35: Bản đồ đã được hình thành trên Rviz

55

Hệ thống định vị trong nhà – IPS xác định vị trí của robot trên bản đồ đã được xây dựng. Hệ thống này sử dụng các beacon siêu âm cố định tại một số vị trí trong phịng và tạo thành một mạng lưới liên lạc vô tuyến trong dải tần chưa đăng ký sử dụng với thiết bị nào khác. Vị trí của robot được xác định dựa trên độ trễ tín hiệu của một beacon thu sóng gắn trên robot tới các beacon siêu âm cố định. Vị trí các beacon trong hệ thống IPS trên bản đồ của phòng truyền thống. Bản đồ đã xây dựng được đưa vào Dashboard (Hình 4.22), một cơng cụ xử lý các cấu hình cho IPS trong nhà, điều chỉnh vị trí cố định của các beacon trên Dashboard sao cho khớp với vị trí đặt thực tế ngồi mơi trường. Hệ thống IPS sẽ được đồng bộ với bản đồ của căn phòng sẽ sử dụng, kết quả trả về tọa độ chính xác của Beacon đặt trên robot ở trong phịng. Vị trí của một thiết bị (beacon) di động được lắp đặt trên robot được tính tốn dựa trên độ trễ lan truyền của tín hiệu siêu âm tới một tập hợp các thiết bị (beacon) siêu âm tĩnh.

4.2.5 Phần mềm tạo đường đi cho robot

Sau khi đã xây dựng được bản đồ của mô trường, ta sẽ sử dụng chính bản đồ đấy để thực hiện thao tác dẫn đường cho robot ngay trên RViz. Với các chức năng đã được tích hợp sẵn ở Rviz, ta có thể dễ dàng điều khiển robot đến vị trí mong muốn.

56

Ở hình trên, đi mũi tên là vị trí cuối của robot, đầu mũi tên chỉ hướng quay của robot. Đường đi của robot được tính tốn và vẽ ra ngay trên bản đồ.

4.2.6 Giao tiếp giữa Raspberry và Arduino

Sự chuyển động của robot dựa vào các tham số như hình bên dưới

Hình 4.38: Các tham số cần thiết cho điều khiển robot

Trong đó:

Vector Linear: vec-tơ mô tả sự tịnh tiến của robot trong hệ tọa độ Oxyz Vector Angular: vec-tơ mơ tả góc quay của robot trong hệ tọa độ Oxyz

Sau khi cảm biến Lidar quét và đưa dữ liệu về, Raspberry sẽ phân tích và đưa ra các giá trị cụ thể cho các biến x,y,z. Sau đó các giá trị này được gửi về Arduino để điều khiển động cơ hoạt động.

57

4.3 Mô phỏng hoạt động của robot

4.3.1 Mô phỏng robot và môi trường trên phần mềm Gazebo

Hình 4.27 là một căn phịng được mơ phỏng trên Gazebo. Có thể thấy rằng, đây là một phần mềm có mức độ đồ họa cao, có các template sẵn phục vụ tối đa cho việc mơ phỏng robot. Ngồi ra, ở Gazebo cịn có các chức năng mơ phỏng thời tiết, ánh sáng mặt trời, gió thổi,...

Một mơ hình robot cũng đã được thêm vào

Hình 4.40: Robot trong môi trường mô phỏng Hình 4.39: Mô phỏng trên Gazebo

58

4.3.2 Mơ phỏng q trình tạo lập bản đồ của robot

Tồn bộ quá trình tạo lập bản đồ được hiển thị trên Rviz. Ở hình 5.6, có thể thấy một phần của căn phòng robot đã quét là phần màu trắng và các phần chưa được quét là phần màu xanh.

Hình 4.41: Mơ hình robot mơ phỏng

59

Khi robot di chuyển thì vùng được quét được mở rộng dần.

Sau khi robot đã di chuyển hết mọi vị trí của mơi trường, ta sẽ thu được một bản đồ hồn thiện của mơi trường đó.

Hình 4.44: Bản đồ của môi trường thu được Hình 4.43: Bản đồ dần đưc hình thành

60

Khi so sánh giữa môi trường mơ phỏng và bản đồ được tạo lập, ta có thể thấy bản đồ thể hiện khá chi tiết các vật thể có trong phịng dưới dạng 2D.

4.3.3 Mơ phỏng điều khiển robot trên Rviz

Sau khi bản đồ được tạo lập, ta sẽ có thể thực hiện thao tác điều khiển robot ngay trên Rviz.

Hình 4.45: Môi trường mô phỏng

61

Tuy nhiên lúc này, vị trí robot trong Rviz chưa đúng với vị trí thực của robot.

Nhờ vào phần mềm định vị Dashboard, ta có thể biết được vị trí của robot. Khi đấy, ta tiến hành set-up vị trí của robot ngay trên Rviz bằng nút mũi tên xanh “2D Pose Estimate” trên thanh cơng cụ.

Hình 4.47: Vị trí thực của robot

62

Sau đó, ta có thể điều khiển robot đến mọi vị trí trên bản đồ bằng nút mũi tên đỏ “2D Nav Goal” trên thanh công cụ. Robot sẽ di chuyển đến vị trí mong muốn thơng qua qng đường ngắn nhất, và quãng đường cũng được vẽ ra trong q trình di chuyển này. Đi của mũi tên đỏ là vị trí của robot, cịn hướng của mũi tên chỉ hướng quay của robot.

Robot đang trên đường đi đến vị trí được chỉ định

Hình 4.49: Điều khiển robot đến vị trí chỉ định

63

Robot đã đến đích và quay theo hướng của mũi tên

Có thể đối chiếu với robot trong Gazebo.

Hình 4.51: Robot đã đến đích

64

CHƯƠNG 5

THI CƠNG SẢN PHẨM, MƠ HÌNH

5.1 Hệ thống tạo lập bản đồ và đường đi cho robot

Có thể thấy đây là một hệ thống có cấu tạo và kết nối rất đơn giản. Ở hình dưới, ta có thể thấy có thể kết nối trực tiếp với Arduino để điều khiển động cơ.

Hình 5.2: Kết nối với Arduino

65

CHƯƠNG 6

ĐÁNH GIÁ KẾT QUẢ, KẾT LUẬN

Robot được mô phỏng trên các phần mềm cho kết quả hoạt động tốt, ổn định, đáp ứng được các yêu cầu đặt ra ban đầu cho đề tài. Tuy khơng có mơ hình nhưng đề tài cũng đã hồn thành cơ bản khối lượng cơng việc đề ra. Riêng phần định vị IPS, vì lý do dịch bệnh nên khơng thể mua được linh kiện để tiến hành lắp đặt và mô phỏng. Tuy nhiên, với việc mơ phỏng thành cơng q trình tạo lập bản đồ cũng như tạo đường đi cho robot, đề tài đã cơ bản đạt được những yêu cầu được đặt ra ban đầu.

Hệ thống định vị và dẫn đường được tích hợp trên robot là một hệ thống mang tính ưu việt, có thể ứng dụng vào nhiều lĩnh vực tùy vào chức năng của robot. Khi so sánh với các robot hoạt động dựa trên nguyên tắc cơ bản của robot tự động tránh vật cản hoặc điều khiển thông qua các mơ-đun điều khiển thì robot được áp dụng hệ thống này sẽ có các điểm vượt trội như sau:

• Dễ dàng thao tác, điều khiển

• Có thể điều khiển robot khi khơng nhìn thấy robot

• Tạo lập được bản đồ mơi trường

• Có thể điều khiển robot đến mọi vị trí trên bản đồ với qng đường ngắn nhất

• Có thể được sử dụng cho nhiều loại robot với nhiều mục đích khác nhau. Tuy nhiên, xét về mặt khách quan, đề tài còn tồn đọng một vài nhược điểm như sau:

• Chưa có mơ hình để kiểm nghiệm trong điều kiện thực tế

• Trong mơi trường có nhiều vật cản chuyển động thì robot sẽ gặp khó khăn để định vị cũng như di chuyển

Để khắc phục những nhược điểm cũng như cải tiến thêm cho robot, nhóm đã đề ra những hướng phát triển như sau:

66

• Gắn thêm Encoder cho động cơ để xác định vị trí, tọa độ của robot một cách chính xác nhất

• Sử dụng bộ lọc Kalman nhận tính hiệu từ các cảm biến để chống nhiễu Về mặt ứng dụng trong cuộc sống, robot khử khuẩn bằng tia UV hồn tồn có thể thay thế được con người trong các trường hợp cần khử khuẩn cho môi trường nhiều mầm bệnh. Hệ thống định vị và dẫn đường khi được tích hợp vào các robot tự hành sử dụng trong nhiều lĩnh vực khác nhau như AVG robot trong vận chuyển hàng hóa, robot hướng dẫn viên,... Đối với các loại robot này, việc tích hợp thêm hệ thống định vị và dẫn đường này tuy chỉ chiếm một phần nhỏ chi phí nhưng những lợi ích và hiệu quả mà nó mang lại là rất lớn và thiết thực.

67

TÀI LIỆU THAM KHẢO

(1) http://wiki.ros.org/

(2) K. Curran, E. Furey, T. Lunney, J. Santos, D. Woods, and A. McCaughey, “An evaluation of indoor location determination technologies,” Journal of Location Based Services, vol. 5, no. 2. pp. 61– 78, Jun. 2011, doi: 10.1080/17489725.2011.562927.

(3) https://www.gislounge.com/robotic-mapping-simultaneous- localization-and-mapping-slam/

(4) https://en.wikipedia.org/wiki/Robot_navigation.

(5) N. D. Richards, M. Sharma, D. G. Ward. A hybrid (2004), A*/automaton approach to on-line path planning with obstacle avoidance, In Proceedings of AIAA 1st Intelli- gent Systems Technical Conference, Chicago, Illinois, USA, pp. 20-22

(6) Indoor Robot Positioning Using an Enhanced Trilateration Algorithm Pablo Cotera, Miguel Velazquez, David Cruz, Luis Medina, Manuel Bandala*

(7) Ting-Kai Wang Quan Dang Pei-Yuan Pan (2010), Path Planning Approach in Unknown Environment, International Journal of Automation and Computing, 7(3), pp 310-316

(8) https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ (9) Báo điện tử tin tức và công nghệ, UVC vơ hiệu hóa các loại vi khuẩn,

cơng thức cách tính lựa chọn cơng suất đèn UV-C, 2017.

(10) Nhóm nghiên cứu TRT, “Robot diệt khuẩn bằng tia cực tím (UV)- UV Robot”, Đề tài nghiên cứ, trường ĐHSPKT, Tp. Đà Nẵng, 05/2020 (11) Arduino.vn, “Module Relay - Cách sử dụng rơ le và những ứng dụng

hay của nó”, 2020.

(12) Vietmachine.com.vn, “Điều khiển động cơ Arduino DC – L298N | PWM | Mạch Cầu H”, 09/01/2019.

68

PHỤ LỤC

Chương trình điều khiển trên Arduino:

//Khai báo chân tín hiệu motor A int enA = 8;

int in1 = 7; int in2 = 6;

//Khai báo chân tín hiệu cho motor B int in3 = 5; int in4 = 4; int enB = 3; int i; void setup() { pinMode(enA, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(enB, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); } void chaymotor() { for (i = 0; i <= 255; i++) { digitalWrite(in3, HIGH); digitalWrite(in1, HIGH); digitalWrite(in4, LOW); digitalWrite(in2, LOW); analogWrite(enB, i); analogWrite(enA, i);

69 delay(10);

}// Tăng tốc động cơ từ Min >> Max

Một phần của tài liệu Robot khử khuẩn bằng tia uv sử dụng cảm biến LIDAR và RASPBERRY (Trang 60)

Tải bản đầy đủ (PDF)

(80 trang)