DỰ ÁN PHÁT TRIỂN

ROBOT TỰ HÀNH TRÁNH VẬT CẢN

GIỚI THIỆU

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.

LỘ TRÌNH THỰC HIỆN

Biểu đồ gantt phân chia công việc theo từng giai đoạn

NHỮNG THIẾT BỊ VÀ KHÁI NIỆM CẦN LƯU Ý

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

ROBOT TỰ HÀNH TRÁNH VẬT CẢN

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

ARDUINO UNO R3

Motor driver shield

Bánh xe và động cơ

Động cơ quay servo

Cảm biến siêu âm

Pin + khay

Nhựa acrylic

NGUYÊN LÍ HOẠT ĐỘNG

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

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

TIẾN HÀNH LẬP TRÌ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 CODE

KẾT QUẢ

Sau 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