Chương 1. Phương pháp nghiên cứu Đồ án này nhóm tác giả sẽ sử dụng cảm biến lidar để quét bản đồ và định hướng cho robot, các dữ liệu của cảm biến sẽ được sử dụng để phục vụ cho việc điều khiển xe tự hành. Do tính chất di chuyển của mô hình nên toàn bộ dữ liệu của robot sẽ được gửi qua wifi. Nội dung đề tài Phần còn lại của đề tài có nội dung như sau: Chương 2 Cơ sở lý thuyết: Nội dung chương 2 sẽ trình bày về chọn cấu hình tay máy phù hợp để thiết kế cho hệ thống, trình bày cách nhận dạng màu sắc của vật thể.
Chương 3 Động học và động lực học robot: Trình bày về tính toán động học, động lực học của robot Scara, sau đó mô phỏng và điều khiển trên phần mềm matlab Simulink. Chương 4 Thiết kế phần cứng: Dựa trên phần cứng tay máy đã lựa chọn ở chương 2, chương này nhóm tác giả sẽ thiết kế phần cứng trên phần mềm solidwork và lựa chọn thiết bị phần cứng cho hệ thống. Chương 5 Thiết kế phần mềm: Chương này sẽ trình bày về thiết kế phần mềm và lưu đồ điều khiển cho mô hình. Chương 6 và chương 7: Lần lượt trình bày về kết quả đã đạt được về phần cứng, phần mềm, những vấn đề đã giải quyết được và hướng phát triển, cải tiến của mô hình.
3 Luan van Chương 2. Cơ Sở Lý Thuyết Chương 2. Lựa chọn cấu hình robot Với xu hướng tự động hóa công nghiệp như ngày nay thì robot đang ngày càng trở nên quen thuộc trong các nhà máy, đặc biệt các lĩnh vực có tính chất công việc nguy hiểm đối với con người và có tính lặp đi lặp lại. Có thể kể một số công việc như khiêng vác vật nặng, phân loại sản phẩm, hỗ trợ sản xuất.
Chính vì sự đa dạng trong công việc và lĩnh vực nên mỗi công việc sẽ có kiểu robot phù hợp cho tính chất công việc đó. Robot công nghiệp trên thị trường hiện nay rất đa dạng về kích thước mẫu mã và chủng loại, nhưng điển hình có thể kể đến một số loại như sau: - Robot Descartes: Là một loại robot rất phổ biến với hầu hết các ứng dụng trong công nghiệp. Robot này hoạt động theo chuyển động tịnh tiến các trục xyz và có thiết kế cứng, vì thiết kế cứng của robot này nên tải trọng làm việc của robot khá cao. Ưu điểm của loại robot này là dễ lập trình robot có không gian làm việc rộng và dễ dàng tùy chỉnh, độ chính xác của robot khá cao, phù hợp với công việc phân loại.
Nhược điểm của loại robot này là lắp ráp khá phức tạp. 1: Descartes robot - Scara robot: Là một phiên bản hoàn thiện hơn của robot descartes, scara cũng có chuyển động theo phương xyz nhưng có cả chuyển động quay. Scara thường được sử dụng trong các ứng dụng tương tự như như robot Descartes, những công việc với không gian làm việc nhỏ yêu cầu độ chính xác và tốc độ. Scara thường linh hoạt hơn và ít cồng kềnh hơn robot descartes.
Nhược điểm của Scara robot là khó mở rộng không gian làm việc của robot trong khi với robot descartes thì việc này khá dễ dàng, chính vì yếu tố này mà robot Descartes phổ biến hơn trong công nghiệp. 4 Luan van Chương 2. Cơ Sở Lý Thuyết Hình 2. 2: Scara robot - Cánh tay robot: Là loại robot được sử dụng rất nhiều trong lĩnh vực sản xuất, phù hợp với các công việc đòi hỏi khuân vác vật nặng, nguy hiểm với con người.
Cánh tay robot được thiết kế dựa trên cánh tay thật của con người với nhiều khớp xoay nối tiếp nhau (thường là 6 hoặc 4 khớp). Vì được cấu tạo từ nhiều khớp nối tiếp nhau nên cánh tay robot phù hợp với hầu hết các loại công việc ở các lĩnh vực khác nhau từ đơn giản đến phức tạp. Nhược điểm của loại robot này là giá thành rất cao, lập trình và vận hành tương đối khó, đối với những ứng dụng cần khuân vác hoặc nâng vật nặng thì đòi hỏi phải có một cánh tay đủ lớn điều đó dẫn đến lấn chiếm không gian làm việc. 3: Robot 6 trục của FANUC 5 Luan van Chương 2.
Cơ Sở Lý Thuyết - Robot song song: Được cấu tạo từ các khớp song song với nhau và tải trọng làm việc của robot khá nhỏ, nên loại robot này thường được ứng dụng trong các lĩnh vực không yêu cầu khuân vác nặng và yêu cầu độ chính xác cao như điện tử, y tế … Ưu điểm của loại robot này là tốc độ và độ chính xác cao. Nhược điểm là tải trọng làm việc của robot khá thấp. Xử lý ảnh Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là ảnh. Đây là một phân ngành khoa học mới rất phát triển trong những năm gần đây.
Xử lý ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh. Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích cho cuộc sống của con người. Ngày nay xử lý ảnh đã được áp dụng rất rộng rãi trong đời sống như: nhận dạng biển số xe, nhận dạng khuôn mặt, nhận dạng chữ viết, xử lý ảnh thiên văn, ảnh y tế,. Khái niệm xử lý ảnh Con người thu nhận thông tin qua các giác quan trong đó thị giác đóng vai trò rất quan trọng.
Ngày nay với sự phát triển của khoa học kĩ thuật và robot xử ảnh lý ảnh đã phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống. Xử lý ảnh đóng vai trò quan trọng trong tương tác người- máy. Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” hoặc một kết luận từ những thông tin trong ảnh đầu vào.
6 Luan van Chương 2. Các vấn đề trong xử lý ảnh Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật. Mỗi phần tử trong ma trận được gọi là một phần tử ảnh.
Cấu tạo của ảnh là tập hợp các điểm ảnh được mô tả như hình Hình 2. 5: Cấu tạo của ảnh Mức xám của điểm ảnh là cường độ sáng được gán bằng giá trị nguyên tương ứng với thang đo độ xám. Thang đo độ xám phụ thuộc vào số bit để biểu diễn màu của điểm ảnh. Đối với ảnh nhị phân dùng 1 bit để biểu diễn màu => [0,1] là thang đo độ xám (0: đen, 1: trắng), ảnh xám thang đo độ xám là [0,255] => (0: đen, 255: trắng) Không gian màu là một mô hình toán học dùng để mô tả các màu sắc trong thực tế được biểu diễn dưới dạng số học.
Trên thực tế có rất nhiều không gian màu khác nhau được mô hình để sử dụng vào những mục đích khác nhau. Chúng ta sẽ tìm hiểu qua về hai không gian màu cơ bản hay được nhắc tới và ứng dụng nhiều, đó là hệ không gian màu RGB, HSV. 6: Không gian màu RGB RGB là không gian màu được sử dụng rộng rãi nhất hiện nay trong đồ họa máy tính và nhiều thiết bị kỹ thuật số khác. Với ba màu gốc trong mô hình ánh sáng bổ sung, khá gần với cách mắt người tổng hợp màu sắc.
Ánh sáng đỏ (R), xanh lá (G) và xanh dương (B) được tổ hợp với nhau theo nhiều phương thức khác nhau để có thể tạo thành tất cả các màu 7 Luan van Chương 2. Cơ Sở Lý Thuyết sắc. Đây cũng là không gian màu mặc định trong OpenCV, tuy nhiên OpenCV đảo hai kênh Red và Blue lại, trở thành BGR. Trong mô hình 24 bits (2^24 = 16777216 màu), mỗi kênh màu sẽ sử dụng 8 bits để biểu diễn, tức giá trị R, G, B sẽ nằm trong đoạn từ 0 đến 255.
Bộ ba màu này sẽ biểu diễn cho từng điểm ảnh, mỗi số biểu diễn cho cường độ của một màu. 7: Không gian màu HSV Không gian màu HSV (còn gọi là HSB) là một cách tự nhiên hơn để mô tả màu sắc, dựa trên 3 số liệu: H = Hue: vùng màu, S = Saturation: độ bảo hòa, V = value: giá trị cường độ sáng. Trong OpenCV, H có giá trị trong khoảng [0,179] (thực tế là 0-360), S và V có giá trị trong khoảng [0,255] 2. Thư viện OpenCV OpenCV (Open Computer Vision) là thư viện mã nguồn mở hàng đầu trong lĩnh vực thị giác máy tính, xử lý ảnh và máy học.
Nó được phát hành năm 1999 theo giấy phép BSD (một nhóm các giấy phép phần mềm miễn phí cho phép), do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại. Hỗ trợ các ngôn ngữ lập trình C++, C, Python, Java và các hệ điều hành Windows, Linux, MacOS, iOS và Android. OpenCV được viết trên ngôn ngữ C/C++ vì vậy nó có tốc độ tính toán rất nhanh, tập trung nhiều vào các ứng dụng thời gian thực. Ứng dụng phổ biến trong nhận dạng và xử lý hình ảnh, kiểm tra và giám sát tự động, Robot và xe tự hành, phân tích hình ảnh y tế, thực tế ảo.
8 Luan van Chương 2. Cơ Sở Lý Thuyết Hình 2. 8: Logo OpenCV Một số tính năng nổi bật có trong thư viện OpenCV bao gồm: bộ công cụ hỗ trợ xử lý ảnh 2D và 3D; nhận diện khuôn mặt; nhận diện đối tượng; nhận diện cử chỉ; nhận dạng chuyển động, hành vi của đối tượng; tương tác giữa người và máy tính; điều khiển Robot; hỗ trợ công nghệ thực tế ảo. Một số hàm chức năng của OpenCV: • Hàm cơ bản: − Hàm đọc tín hiệu từ camera.
− Hàm đọc ảnh − Hàm hiển thị ảnh − Hàm ghi ảnh − Hàm xem thông tin ảnh. − Các hàm căn chỉnh ảnh: crop ảnh, resize ảnh, quay ảnh, lật ảnh, … • Hàm biến đổi xử lý ảnh: − Chuyển ảnh màu sang ảnh xám. − Chuyển ảnh màu, xám sang ảnh nhị phân. − Các biến đổi với bộ lọc: Blur, Gaussian Filter, Median Filter, Box Filter, … − Các phép dò biên: Sobel, Canny.
9 Luan van Chương 3. Động Học Và Động Lực Học Robot Chương 3. Động Học Và Động Lực Học Robot 3. Tính toán động học tay máy 3.