Thời đại 4.0, công nghệ ngày càng hiện đại và mọi thứ ngày càng được tự động hóa, để đáp ứng đảm bảo năng suất ngay cả khi thiếu lao động trong công việc. Những thiết bị tự hành cung cấp giải pháp an toàn, hiệu quả, tiết kiệm chi phí với tính năng phát hiện người, vật cản, dừng khẩn cấp, giảm rủi ro trong quá trình làm việc cho cả người lao động và doanh nghiệp.
Mục tiêu của đề tài là thiết kế một robot có thể hoạt động ổn định, nhận diện được vật cản bằng cảm biến siêu âm và đưa ra quyết định di chuyển hợp lí. Việc chế tạo thành công robot này sẽ mở ra một hướng tiếp cận mới góp phần thúc đẩy việc ứng dụng của robot trong đời sống và sản xuất.
Biểu đồ gantt phân chia công việc theo từng giai đoạn
ARDUINO
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các ứng dụng điện tử tương tác với nhau hoặc với môi trường được thuận lợi hơn
Với Arduino bạn có thể ứng dụng vào những mạch đơn giản như mạch cảm biến ánh sáng bật tắt đèn, mạch điều khiển động cơ,... hoặc cao hơn nữa bạn có thể làm những sản phẩm như: máy in 3D, Robot, khinh khí cầu, máy bay không người lái
NGÔN NGỮ LẬP TRÌNH
Ngôn ngữ lập trình của Arduino chính là C/C++, những khác với lập trình trực tiếp với vi điều khiển, lập trình Arduino dễ dàng hơn rất nhiều nhờ vào các bo mạch mở rộng đa dạng
CẢM BIẾN SIÊU ÂM
Cảm biến khoảng cách siêu âm HC-SR04 được sử dụng rất phổ biến để xác định khoảng cách vì RẺ và CHÍNH XÁC. Cảm biến sử dụng sóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ thuộc vào cách lập trình
HỆ THỐNG NHÚNG
Là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao
Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng
NHỮNG THIẾT BỊ CẦN THIẾT
Một trong các chức năng cơ bản mà mỗi robot tự hành phải có là phát hiện và tránh vật cản trong quá trình vận động, đồng thời vẫn thực hiện được các nhiệm vụ hiện tại như di chuyển theo quĩ đạo, bám mục tiêu. Trước mỗi vật cản mà robot phát hiện được, nó đều phải đưa ra quyết định về việc vòng tránh như thế nào. Và nếu gắn nó với những nhiệm vụ cụ thể như dẫn đường, thu thập thông tin trong môi trường,v..v thì nó có thể hoàn thành ở những môi trường độc hại cho con người
Robot tự động tránh vật cản sử dụng cảm biến siêu âm để quan sát khi chuyển động. Các động cơ được kết nối thông qua IC điều khiển động cơ với bộ vi điều khiển. Cảm biến siêu âm được gắn phía trước robot. Bất cứ khi nào robot đang di chuyển, cảm biến siêu âm sẽ truyền sóng siêu âm liên tục từ đầu cảm biến của nó. Bộ vi điều khiển điều khiển động cơ trái, phải, sau, trước dựa trên tín hiệu siêu âm và điều khiển tốc độ của mỗi động cơ điều chế độ rộng xung được sử dụng (PWM).
Quá trình lắp ráp bao gồm việc lắp đặt những bộ phận chính theo một trình tự hợp lí và được thiết kế để thuận tiện cho việc kết nối mạch điện và vận hành
Bước 1:Cố định động cơ và bánh xe vào tấm nhựa acrylic dùng làm thân xe
Bước 2:Kết nối mạch chủ Arduino vào giữa thân xe
Bước 3:Cố định cảm biến siêu âm và động cơ quay servo sau đó đặt ở phía trước thân xe
Bước 4:Lắp đặt khay pin
Các thiết bị được kết nối theo sơ đồ như sau
Sản phẩm hoàn chỉnh
Đầu tiên cần cài đặt thư viện AFMotor, Servo và NewPing (thư viện cho phép điều khiển cảm biến siêu âm hiệu quả hơn)
Bước 1: Thiết lập những giá trị ban đầu của cảm biến, tốc độ động cơ
Bước 2:Thiết lập các chương trình con (các hàm): lookRight, lookLeft, readPing (lấy giá trị từ cảm biến), moveStop, moveForward, moveBackward, turnRight, turnLeft
Bước 3:Thiết lập thuật toán chính
Giải thích sơ lược: Thuật toán này điều khiển robot đi thẳng với tốc độ tăng dần đến tối đa (để đảm bảo chất lượng động cơ). Khi robot cảm biến nhận diện được vật cản ở khoảng cách bé hơn hoặc bằng 20cm, robot sẽ đi lùi 1 khoảng và dừng lại. Lúc này động cơ quay sẽ hoạt động khiến cảm biến xoay sang bên trái và phải rồi lấy giá trị của cả 2 phía, nếu giá trị bên nào nhỏ hơn (nhận diện được vật cản ở gần hơn), robot sẽ xoay sang hướng còn lại và tiếp tục vòng lặp
Code hoàn chỉnh
LINK CODESau thử nghiệm nhóm đã hoàn thiện thiết kế cũng như phần mềm cho robot giúp robot vận hành thành công. Robot có khả năng nhận diện vận cản nhanh chóng và đánh giá được địa hình cho những bước di chuyển tiếp theo