NỘI DUNG THỰC HIỆN: Tìm hiểu lí thuyết, nguyên lí hoạt động bộ điều khiển lập trình Q26UDVCPU, bộ điều khiển chuyển động Q172DSCPU, module ngõ ra QY42P, động cơ servo, các driver MR-J3,
TỔNG QUAN
Đặt vấn đề
Với khoa học công nghệ tiên tiến hiện nay, lĩnh vực kĩ thuật về robot đã không còn mới lạ với chúng ta Hầu hết mọi lĩnh vực trong đời sống đều đã, đang và sẽ có sự góp mặt của robot
Mục tiêu ứng dụng kỹ thuật robot trong công nghiệp nhằm nâng cao năng suất dây chuyền công nghệ cũng như chất lượng, đồng thời cải thiện điều kiện lao động Sự cạnh tranh là vấn đề luôn luôn dienx ra trong công nghiệp vì vậy vấn đề đặt ra là làm sao để có thể sản xuất, vận hành nhanh và chính xác Trong khi đó robot có thể đáp ứng tất cả nhu cầu trên Vì vậy, robot công nghiệp là một phần không thể thiếu trong những hệ thống sản xuất
Hình 1.1 Ứng dụng cánh tay robot trong công nghiệp
Việc sử dụng cánh tay robot có vai trò quan trọng trong việc giảm thiểu thời gian làm việc, gia tăng năng suất cũng như chất lượng sản phẩm
Hiện nay có rất nhiều cánh tay robot, sử dụng cho nhiều mục đích khác nhau (vẽ, khoan, phân loại sản phẩm…) Ở đề tài tốt nghiệp này, nhóm đã chọn robot SCARA để thực hiện việc nghiên cứu
2 Hình 1.2 Robot Scara hãng YAMAHA
Mục tiêu nghiên cứu
Nghiên cứu tập trung vào quá trình gắp vật được vận chuyển bởi băng tải một chiều Robot sẽ tiếp cận vật thể tại khu vực làm việc, tiến hành gắp và phân loại chúng vào vị trí chỉ định trên băng tải Quá trình phân loại dựa trên đặc điểm của từng vật thể, bao gồm vật thấp (ví dụ: hộp pate) và vật cao (ví dụ: hộp cá).
Chế độ tự động: Thực hiện phân loại từng vật trong phạm vi hoạt động của robot và robot sẽ xếp vật đó vào vị trí chứa tương ứng dựa vào hình dạng của vật.
Nội dung nghiên cứu
Chương 1: Tổng quan Ở chương này đưa ra các vấn đề, lý do chọn đề tài, đưa ra mục tiêu nghiên cứu cũng như giới hạn đề tài
Chương 2: Cơ sở lý thuyết
Trình bày lý thuyết về PLC, giới thiệu các dòng Q PLC, Servo Driver, ngôn ngữ lập trình SFC, thị giác máy tính
Chương 3: Thiết kế và thi công hệ thống
Chương 4 của bài báo trình bày các bước thi công phần cơ, phần điện, sơ đồ đấu nối, giới thiệu thiết bị sử dụng Ngoài ra, phương pháp tính toán động học, thuật toán gắp vật và giải thuật điều khiển robot gắp tự động cũng được trình bày chi tiết.
Kiểm chứng động học của Robot, giới thiệu giao diện điều khiển và chế độ điều khiển
Chương 5: Kết luận và hướng phát triển Đánh giá kết quả sau khi thực hiện đồ án, đưa ra những vấn đề còn tồn đọng và hướng phát triển Robot.
Giới hạn đề tài
Gắp vật bằng nam châm điện nên chỉ gắp vật làm từ kim loại
Robot chỉ đang hoạt động trong môi trường lí tưởng, ít nhiễu, chưa đem vào môi trường công nghiệp để sử dụng
CƠ SỞ LÝ THUYẾT
Tổng quan về PLC
PLC (Bộ điều khiển logic lập trình) là thiết bị điều khiển cho phép linh hoạt thực hiện thuật toán điều khiển logic thông qua ngôn ngữ lập trình Sử dụng bộ nhớ lập trình, PLC có khả năng lưu trữ chương trình và đáp ứng yêu cầu điều khiển PLC hoạt động như một máy tính chuyên dụng cho môi trường công nghiệp, đảm bảo độ tin cậy cao.
Cấu tạo: PLC được cấu tạo bao gồm các thành phần chính như bộ xử lý trung tâm (CPU), khối ngõ vào (Module input, Analog input), khối ngõ ra (Module output, Analog output)
Hình 2.1 Cấu trúc cơ bản của PLC
Bộ xử lý (CPU: Central Processing Unit)
Là bộ não của PLC, quyết định tốc độ xử lý cũng như khả năng điều khiển chuyên biệt của PLC Là nơi đọc các tín hiệu từ ngõ vào đồng thời xử lý cũng như xuất tín hiệu ra ngõ ra
Khối ngõ vào (Module Input): gồm hai loại: ngõ vào số DI (Digital Input) và ngõ vào tương tự AI (Analog Input)
Ngõ vào DI kết nối với các thiết bị tạo ra tín hiệu dạng xung như: nút nhấn, công tắc hành trình, cảm biến tiệm cận…
Ngõ vào AI kết nối với các thiết bị tạo ra tín hiệu liên tục như: cảm biến nhiệt độ, khoảng cách, độ ẩm
Khối ra (Module Output): gồm hai loại: ngõ ra số DO (Digital Output) và ngõ ra tương tự AO (Analog Output)
Ngõ ra DO kết nối với các cơ cấu chấp hành điều khiển theo quy tắc On/Off như: đèn báo, chuông, van điện…
Ngõ ra AO kết nối với các cơ cấu chấp hành cần tín hiệu điều khiển liên tục: biến tần, van tuyến tính…
Hình 2.2 Cấu trúc cơ bản của một hệ thống PLC
2.1.2 Đặc điểm của PLC Ưu điểm: PLC có rất nhiều ưu điểm nổi bật so với các mạch điều khiển dạng tiếp điểm truyền thống, cụ thể là:
6 Khả năng điều khiển chương trình linh hoạt Muốn thay đổi yêu cầu hoạt động, đối tượng điều khiển chỉ cần thay đổi chương trình bằng việc lập trình
Tích hợp sẵn Timer, Counter bên trong, bên cạnh đó PLC còn hỗ trợ thêm các khối hàm có chức năng chuyên dụng: bộ phát xung tốc độ cao, bộ đếm tốc độ cao, bộ điều khiển PID…
PLC có thể thay thế toàn bộ mạch điều khiển truyền thống sử dụng dây dẫn
Cấu trúc PLC dạng Module nên cho phép dễ dàng thay thế, mở rộng đầu vào/ra, mở rộng chức năng khác Người dùng có thể lựa chọn các loại Module tùy theo yêu cầu mà người dùng mong muốn để tiết kiệm về chi phí
Giao tiếp được với các thiết bị thông minh khác như: máy tính, nối mạng truyền thông với các thiết bị khác
Khả năng chống nhiễu tốt trong môi trường công nghiệp, tuổi thọ cao
Nhược điểm lớn nhất của PLC là giá thành cao hơn so với mạch điều khiển tiếp điểm truyền thống, khiến PLC khó tiếp cận các hệ thống đơn giản và không đòi hỏi nhiều chức năng điều khiển, khó khăn trong việc cạnh tranh với mạch điều khiển tiếp điểm truyền thống Ngoài ra, để điều khiển PLC, cần có kiến thức cơ bản về lập trình PLC.
Tổng quan PLC dòng Q của Mitsubishi
2.2.1 Giới thiệu các sản phầm thuộc Q-Series:
Phát triển lên từ dòng sản phẩm trước đó họ AnSH, họ Q PLC Mitsubishi cho phép người dùng phối hợp và lựa chọn sự kết hợp tốt nhất giữa CPU, công cụ truyền tin, module điều khiển chuyên biệt và I/O trên cùng một nền tảng Điều
7 này cho phép người dùng cấu hình hệ thống theo những gì mình cần, khi nào mình cần, nơi mình cần triển khai Có thể phối hợp PLC CPU (cơ bản & nâng cao), Motion CPU, Process Controllers và ngay cả PC vào trong một hệ thống duy nhất lên đến 4 CPU khác nhau Điều này tạo cho người sử dụng sự chọn lựa hướng điều khiển, ngôn ngữ lập trình – tất cả cùng chung trên một nền tảng duy nhất
Tên thiết bị Mô tả Mẫu CPU
Các tính năng, phương pháp, thiết bị cho lập trình
Mã CPU ứng dụng tổng quát
Các tính năng, phương pháp, thiết bị cho lập trình
Mẫu QCPU cơ bản/ hiệu năng cao/ điều khiển quy trình/ dự phòng
Thông tin cho cấu hình hệ thống đa CPU (cấu hình hệ thống, thông số I/O, liên kết thiết bị vào/ra và tính năng thiết bị thông minh
Mẫu QCPU cơ bản/ hiệu năng cao/ điều khiển quy trình/ ứng dụng tổng quan
Cấu hình hệ thống dự phòng, tính năng, kết nối với các thiết bị bên ngoài và xử lý sự cố
Tính năng liên kết thông qua cổng Ethernet gắn trong
Mã CPU ứng dụng tổng quát Bảng 2.1 Một số bộ điều khiển dòng Q series
8 Hình 2.3 Các module và CPU dòng Q series
Các loại Module nguồn và thẻ nhớ:
Module Đầu vào Đầu ra
Bảng 2.2 Một số bộ nguồn cung cấp cho CPU
9 Hình 2.4 Các loại module nguồn và thẻ nhớ
16 QX10 QX40,QX40-S1 QX70 QX80
QX82-S1 Bảng 2.3 Một số loại module ngõ vào
10 Hình 2.5 Sơ đồ mạch điện ngõ ra của PLC
PLC dòng có thành phần chính là một bộ nhớ chương trình RAM bên trong (có thể mở rộng thêm một số bộ nhớ ngoài EPROM) Một bộ vi xử lý có cổng giao tiếp dùng cho việc ghép nối với PLC, các modul vào/ra
PLC hoạt động theo nguyên lý xử lý tín hiệu từ các thiết bị ngoại vi thông qua module đầu vào đến CPU Sau khi xử lý tín hiệu đầu vào, CPU đưa tín hiệu điều khiển qua module đầu ra đến với các thiết bị được điều khiển Quá trình này bao gồm đọc tín hiệu đầu vào, thực hiện chương trình, truyền thông nội bộ, tự kiểm tra lỗi, gửi cập nhật tín hiệu đầu ra, tạo thành một vòng quét hoàn chỉnh (Scan Cycle) diễn ra trong thời gian ngắn (1ms-100ms) tùy thuộc vào tốc độ xử lý của PLC, độ dài chương trình và tốc độ giao tiếp với thiết bị ngoại vi.
Mỗi vòng quét được bắt đầu bằng việc đọc cách tín hiệu đầu vào, sau đó việc thực hiện chương trình Việc thực hiện chương trình sẽ được thực hiện lệnh
11 đầu tiên (trên cùng) đến lệnh kết thúc Tiếp đến là thực hiện truyền thông nội
Tổng quan về động cơ AC Servo
2.3.1 Giới thiệu về AC Servo
Là một loại máy móc chuyên dụng, được sử dụng để cung cấp cơ năng cho một số thiết bị Một trong các bộ phận không thể thiếu để giúp động cơ Servo hoạt động chính xác đó là Driver Servo, nó cung cấp cho động cơ Servo lượng lực cần thiết cho các thiết bị máy móc khi vận hành
Hình 2.6 Động cơ Servo AC
2.3.2 Phân loại động cơ Servo Động cơ servo thông thường dựa trên dòng điện mà phân thành 2 loại: Động cơ DC Servo: nguồn cấp cho động cơ là nguồn điện 1 chiều, được thiết kế để ứng dụng vào những hệ thống sử dụng dòng điện nhỏ hơn Nó được phân thành hai loại: động cơ DC servo 1 chiều có chổi than và không có chổi than Động cơ DC servo thường có thế mạnh về điều khiển tốc độ với khả năng duy trì tốc độ cao một cách cực kì ổn định kiểm soát bởi bộ điều khiển PWM tích hợp Động cơ AC Servo: là loại motor xoay chạy bằng dòng điện xoay chiều 3 pha Nó hoạt động dựa trên nguyên lý nam châm vĩnh cửu Hệ thống encoder hồi tiếp giúp điều khiển và cảnh báo vị trí của rotor để trình tự dòng điện cấp qua các cuộn dây một cách chính xác So với DC servo, quán tính của rôto rất thấp, hệ thống điều khiển phức tạp, và dòng điện, tần số và pha của stato được điều
12 phối bởi driver để đạt được vị trí mong muốn Tốc độ quay của AC servo có thể đạt tới 6000 vòng / phút hoặc cao hơn trong servo chuyên dụng Đối với hãng Mitsubishi, động cơ AC Servo của hãng sẽ phân theo ứng dụng của động cơ và sẽ được phân biệt dựa vào Seri kí hiệu Động cơ quán tính trung bình (Series HF): Độ chính xác của máy quán tính cao sẽ được đảm bảo Thích hợp cho các máy yêu cầu tăng tốc nhanh chóng Động cơ quán tính thấp (Series HF-KP): Phù hợp với một trục phụ trợ đòi hỏi phải định vị tốc độ cao
2.3.3 Cấu tạo động cơ Servo
Về mặt cấu tạo, động cơ servo AC được tạo nên từ 3 thành phần:
Bộ điều khiển: bao gồm các bộ phận như màn hình, nút bấm, các thiết bị tiếp nhận và phát đi thông tin Chúng có chức năng tiếp nhận các thông tin về tốc độ, vị trí, momen được truyền Sau đó hiển thị kết quả lên màn hình
Bộ khuếch đại Servo: có chức năng tiếp nhận thông tin dưới dạng code từ bộ mã hoá Sau đó chúng sẽ di chuyển về bộ điều khiển để hiển thị trên màn hình
Thiết bị dò và dẫn điện: được tạo nên từ hai thành phần chính là động cơ và bộ mã hoá sản phẩm Trong đó, động cơ được cấu tạo từ Rotor và Stator Với cuộn dây dẫn thứ cấp được làm từ chất liệu đồng hoặc nhôm Ngoài ra nam châm, phanh điện từ hoạt động theo ứng dụng của hiện tượng vận hành từ nam châm vĩnh cửu
2.3.4 Chức năng Động cơ servo nhỏ nhưng rất quan trọng để sử dụng các ứng dụng yêu cầu điều khiển vị trí chính xác
AC Servo có khả năng thực hiện ba loại điều khiển: điều khiển vị trí, điều khiển tốc độ, điều khiển momen Điều khiển vị trí: AC Servo có khả năng điều khiển vị trí chính xác đến từng micromet mà mắt người không thể phát hiện được Điều khiền tốc độ: điều khiển tốc độ được sử dụng cho các thiết bị được biết đến như máy xi mạ quay được sử dụng để sản xuất mạch bán dẫn…
13 Điều khiển momen: momen là lực dùng để xoay các trục được sử dụng như máy in công nghiệp
2.3.5 Ưu điểm và nhược điểm động cơ AC Servo Ưu điểm: Điều khiển tốc độ chính xác, điều khiển trơn tru trên toàn bộ vùng tốc độ Hầu như không dao động
Hiệu suất cao hơn 90%, ít nhiệt, điều khiển tốc độ cao, điều khiển vị trí chính xác cao (tuỳ thuộc vào độ chính xác của bộ mã hoá) Mô men xoắn, quán tính thấp, tiếng ồn thấp, không có bàn chải mặc, bảo trì miễn phí
Nhược điểm: Điều khiển tương đối phức tạp, các thông số ổ đĩa cần phải điều chỉnh các thông số PID để xác định nhu cầu kết nối nhiều hơn.
Encoder
Encoder (Rotary Encoder) là một bộ cảm biến chuyển động cơ học tạo ra tín hiệu analog hoặc tín hiệu kĩ thuật số (digital) đáp ứng với chuyển động Loại thiết bị cơ điện này có khả năng biến đổi chuyển động (chuyển động tịnh tiến, chuyển động quay của trục,…) thành tín hiệu đầu ra số hoặc xung
Encoder được sử dụng chủ yếu để phát hiện vị trí, hướng di chuyển, tốc độ,…của động cơ bằng cách đếm số vòng mà trục quay được
Encoder thường phân thành hai loại: encoder tuyệt đối (Adsolute encoder) và encoder tương đối (Incremental encoder)
Encoder tuyệt đối: có khả năng phản hồi tín hiệu về chính xác vị trí của chúng mà người sử dụng không cần thêm bước xử lí nào Sử dụng đĩa theo mã nhị phân hoặc mã Gray, đĩa mã hoá ở Encoder được chế tạo trong suốt, chia mặt đĩa thành các góc đều nhau cùng các đường tròn đồng tâm
Encoder tương đối: loại thiết bị này phát ra tín hiệu tăng dần hoặc theo chu kỳ Đĩa mã hoá bao gồm một dãy băng tạo xung, thường được chia thành nhiều lỗ bằng nhau và được cách đều nhau Chất liệu có thể là trong suốt để
14 giúp ánh sáng chiếu qua Chỉ có 1,2 hoặc tối đa 3 vòng lỗ, và thường có thêm một lỗ định vị
2.4.3 Bộ điều khiển động cơ servo
Bộ điều khiển (servo driver) là một phần trong hệ thống servo có nhiệm vụ nhận tín hiệu lệnh điều khiển xung/analog từ PLC và truyền lệnh đến động cơ servo để điều khiển động cơ servo hoạt động theo lệnh, đồng thời nhận tín hiệu phản hồi liên tục về vị trí và tốc độ hiện tại của động cơ servo từ encoder
Khi nhận được xung điều khiển, bộ điều khiển sẽ tính toán để phát xung PWM cho động cơ chạy, trong quá trình chạy vị trí và tốc độ luôn được phản hồi về bộ điều khiển thông qua encoder Bộ điều khiển dựa vào các tín hiệu gửi về và so sánh tính toán ra độ lệch và tiếp tục điều chỉnh xung xuất ra giúp động cơ đạt được vị trí mong muốn với tốc độ đặt Cảm biến dòng luôn phản hồi dòng điện tiêu thụ trên động cơ, thực chất là tải thực tế, từ đó có thể tính toán ra được tải thực tế và hiệu chỉnh dòng ra cho phù hợp với giá trị đặt
AC servo driver phân loại theo phương thức điều khiển:
Phương pháp điều khiển bằng xung: PLC sẽ phát xung tốc độ cao cho servo driver và động cơ sẽ chạy đúng số xung và tần số xung do PLC phát ra
15 Hình 2.7 Một số loại driver Mitsubishi
Phương pháp này áp dụng cho các bài toán điều khiển ít trục servo
Phương pháp dùng mạng truyền thông SSCNET: ở phương pháp này các tín hiệu điều khiển từ PLC cho driver đều được thực hiện qua mạng truyền thông với module điều khiển servo Các thông số của hệ thống đều được đọc về PLC, do vậy việc giám sát sẽ dễ dàng hơn Các hãng khác nhau sẽ có hệ thống khác nhau, áp dụng cho bài toán nhiều trục servo Mặc dù có nhiều động cơ servo đòi hỏi một drive cụ thể cho thương hiệu động cơ hoặc kiểu động cơ cụ thể Tuy nhiên, nhiều Driver hiện nay có thể tương thích với một loạt các động cơ khác nhau
Dòng Servo thế hệ mới MR-J4 với công nghệ đứng đầu thế giới, tính năng chống rung chuyên dụng cho máy móc và autotuning thời gian thực làm cho việc chuyển động đạt được độ chính xác cao nhất, thời gian đáp ứng nhanh và dễ dàng lắp đặt Để đáp ứng nhu cầu và ứng dụng điều khiển, Servo MR-J4 có hai dạng: Dòng MR-J4-A phù hợp với những điều khiển về tốc độ, momen xoắn, vị trí
16 Dòng MR-J4-B chuyền dùng trong điều khiển nhiều trục chuyển động nội suy
2.4.4 Phương pháp điều khiển vị trí động cơ servo
Thiết lập bộ truyền động:
Number of pulses per rotation (Số xung trên mỗi vòng quay): Số xung cần cấp để động cơ có thể hoàn thành được một vòng quay Số xung này phụ thuộc vào số xung cố định trên Encoder và hộp số đang gắn trực tiếp vào động cơ đó
Movement amount per roration (Khoảng di chuyển trên mỗi vòng quay): cài đặt khoảng di chuyển mà cơ cấu cơ khí liên kết với trục động cơ như vít me, linear, bàn xoay…
Pulse output mode (Chế độ phát xung): cài đặt phương pháp truyền tín hiệu xung lệnh và hướng quay cho phù hợp với bộ điều khiển servo được kết nối
Pulse/sign (xung/tín hiệu)
Số vòng quay cũng như tốc độ quay phụ thuộc vào tín hiệu xung
Tín hiệu thuận nghịch độc lập với xung lệnh để điều khiển hướng quay
CW/CCW (clockwise/ counter clock wise)
Việc quay thuận nghịch không phải cố định mà thường quy ước theo chiều kim đồng hồ
Có thể điều khiển chiều quay của servo thông qua 2 ngõ nhận xung Khi ngõ A nhận xung thì động cơ quay theo chiều kim đồng hồ, khi ngõ
B nhận xung thì động cơ quay ngược chiều kim đồng hồ
Việc ngõ nào quay theo chiều nào có thể cài đặt trong parameter hoặc truyền lệnh từ bộ điều khiển xuống driver servo
Hướng quay điều khiển bởi độ lệch pha giữa hai ngõ phát xung
Quay thuận khi pha B trễ hơn so với A một góc
Quay nghịch khi pha A trễ hơn so với pha B một góc 90 độ
Bảng 2.4 Chế độ điều khiển Servo AC
The output signal logic can be configured to operate in either positive logic mode, where a high level is interpreted as a command, or negative logic mode, where a low level is interpreted as a command This flexibility allows the device to be easily integrated into various applications with different logic conventions.
Rotation direction setting (Thiết lập hướng quay): chiều quay thuận nghịch của động cơ servo thực tế là không có mặc định Hướng ngay được chỉ định theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ Chính vì thế ta
18 phải thiết lập hướng quay cho bộ điều khiển servo bằng cách cài đặt động cơ quay theo chiều mà giá trị vị trí báo về là dương nghĩa là quay thuận và ngược lại là quay nghịch.
Mô hình hoá và tính toán phương trình động học cho robot scara
Phương trình động học là bài toán xây dựng phương trình mô tả sự thay đổi hướng và vị trí của khâu tác động cuối trong không gian làm việc theo giá trị biến khớp Để xây dựng phương trình động học, ta sử dụng quy tắc Denavit – Hartenberg viết tắt là D-H Lập phương trình động học gồm các bước sau: Bước 1: Đặt các hệ trục toạ độ lên các khớp
Bước 2: Xác định các thông số và lập bảng D-H
Bước 3: Tính toán các ma trận biến đổi toạ độ thuần nhất giữa các hệ trục toạ độ
Bước 4: Xây dụng phương trình động học
2.5.1 Đặt hệ trục toạ độ cho robot
Robot thực chất là một chuỗi các khâu và các khớp nối tiếp nhau Đối với Scara robot, trục 1 và trục 2 là khớp xoay, trục 3 là khớp trượt (tịnh tiến) Để đặt hệ trục toạ độ cho robot cần tuân theo một số quy tắc:
1 Đánh số thứ tự từ 0 dến n (n là số khâu robot) Đáy thường là khâu thứ 0
2 Khâu thứ i được gắn với liên kết thứ i
3 Đặt trục 𝑧 được trọn dọc theo trục khớp i
4 Trục 𝑥 được chọn theo đường vuông góc chung của trục 𝑧 và 𝑧
5 Khâu thứ 0 thường được chọn chung với khâu thứ 1 khi biến khớp đầu bằng 0
6 Khâu thứ n được chọn tự do, đảm bảo càng nhiều số liên kết càng tốt.
19 Hình 2.8 Đặt hệ trục tọa độ cho robot scara
2.5.2 Lập bảng DH (Denavit – Hartenberg)
Sau khi đặt hệ trục toạ độ cho robot theo các quy tắc nêu trên Ta tiến hành xây dựng bảng D-H và xác định các thông số: i 𝛼 𝜎 𝑑 𝜃
𝛼 : khoảng cách từ trục 𝑧 đến trục zi đo dọc theo trục 𝑥
𝜎 : góc lệch từ trục 𝑧 đến trục zi đo dọc theo trục 𝑥
𝑑: khoảng cách từ trục 𝑥 đến trục xi đo dọc theo trục 𝑧 x2 d3 z0, z1 z2 z3 x0 x1 l1 l2 x3
𝜃: góc quay từ trục 𝑥 đến trục xi đo dọc theo trục 𝑧
𝑙 : khoảng cách gốc toạ độ và trục 1 với trục 2
𝑙 : khoảng cách trục 2 với trục 3
2.5.3 Xây dựng phương trình động học cho robot
Sử dụng phương pháp đại số để tính toán động học thuận cho robot scara
Ta có, công thức tổng quát của ma trận chuyển vị thuần nhất:
𝑇: ma trận chuyển vị thuần nhất, biểu diễn hướng và vị trí của khâu 𝑖 so với khâu 𝑖 − 1
𝜃: góc quay quanh trục z của khâu 𝑖 so với khâu 𝑖 − 1
𝛼 : góc quay quanh trục x cảu khâu 𝑖 so với khâu 𝑖 − 1
Còn được viết dưới dạng:
𝑐𝑎 𝑑 là ma trận tịnh tiến Thay thế các thông số trong bảng D-H vào công thức tổng quát (2.1), ta được các ma trận chuyển vị
Ma trận chuyển đổi giữa khớp 0 và 1:
Ma trận chuyển đổi giữa khớp 1 và 2:
Ma trận chuyển đổi giữa khớp 2 và 3:
Ma trận chuyển vị từ hệ trục số 0 đến hệ trục số 3:
Toạ độ vị trí điểm đầu cuối:
Tính toán động học nghịch nhằm xác định các giá trị không gian khớp robot từ các ví trí toạ độ điểm trong không gian xyz Phương trình động học nghịch có 2 phương pháp để tính là đại số và hình học Trong đề tài này sử dụng phương pháp đại số
Quy ước chiều chuyển động của vật như hình Nếu quay theo chiều dương, góc sẽ tăng dần từ 0.00000 đến 359.99999 ngược lại sẽ giảm từ 359.99999 về 0.00000 khi chọn đơn vị điều khiển là “độ” trong quy ước của bộ điều khiển chuyển động Q172DSCPU
Từ công thức, ta có
Từ công thức (2.8), ta có:
Từ công thức (2.11), ta có:
Sau khi tính toán, ta có được 2 bộ nghiệm tương ứng với mỗi cấu hình của robot:
2𝑙 𝑙 2.5.4 Mô phỏng và kiểm chứng kết quả tính toán trên Matlab
Kiểm chứng tính toán động học nghịch
24 Hình 2.9 Động học nghịch trên Matlab Đầu vào là vị trí toạ độ điểm đầu cuối muốn robot di chuyển đến Sau khi tính toán, ta có kết quả 2 bộ nghiệm là góc quay của các khớp robot như trên
25 Hình 2.10 Kiểm chứng động học nghịch trên Matlab
Lấy kết quả 2 bộ nghiệm vừa tính toán thế ngược lại động học thuận, ta thấy kết quả cho ra gần đúng với vị trí nhập ban đầu với sai số rất ít
Hình 2.11 Cấu hình robot trên Matlab
26 Cấu hình robot tương ứng với kết quả tính toán
Hình 2.12 Động học nghịch trên Matlab
27 Hình 2.13 Kiểm chứng kết quả động học nghịch trên Matlab Cách kiểm chứng tương đương ở vị trí 1, kết quả tính toán gần chính xác với sai số rất ít
28 Hình 2.14 Cấu hình robot trên Matlab
Nhận xét: Qua việc kiểm chứng cho thấy tính toán động học cho robot là đáng tin cậy Đồng thời qua việc mô phỏng cấu hình, ta có thể thấy cả 2 bộ nghiệm đều đáp ứng khá tốt và không bị giới hạn vật lý Do cấu hình của robot scara đơn giản, linh hoạt cho nên không có sự khác biệt quá nhiều giữa 2 bộ nghiệm Do đó có thể lựa chọn cả 2 bộ nghiệm vào tính toán tuỳ theo yêu cầu đặt ra
2.5.5 Không gian làm việc của robot
Không gian làm việc là phạm vi mà rô-bốt có thể di chuyển mà không va chạm vào nhau Phạm vi này phụ thuộc vào cấu tạo cơ học và chiều dài của các thanh liên kết Mỗi loại rô-bốt có không gian làm việc khác nhau, tùy theo mục đích sử dụng mà người ta bố trí rô-bốt và các thiết bị phù hợp Dưới đây là bản giới hạn các khớp và không gian làm việc của rô-bốt Scara YK600XG YAMAHA do hãng cung cấp.
Góc xoay (độ) Min Max
Bảng 2.5 Không gian làm việc theo cơ khí
Giới hạn không gian làm việc của Robot sau khi được hiệu chỉnh cho phù hợp với đề tài và được cài đặt trong phần mềm điều khiển như sau:
Góc xoay (độ) Upper Limit Lower Limit
Bảng 2.6 Giới hạn các khớp của robot.
Công nghệ thị giác máy tính
2.6.1 Giới thiệu về thị giác máy
Thị giác máy (Computer Vision) là một lĩnh vực nghiên cứu và ứng dụng trong lĩnh vực trí tuệ nhân tạo (AI) tập trung vào khả năng của máy tính để hiểu và giải quyết các vấn đề liên quan đến hình ảnh và video Mục tiêu của thị giác máy là giúp máy tính nhìn và hiểu thế giới xung quanh chúng ta như con người
Thị giác máy sử dụng một loạt các kỹ thuật và thuật toán để nhận diện, phân loại và phân tích các đối tượng và thông tin trong hình ảnh hoặc video Điều này có thể bao gồm nhận dạng khuôn mặt, nhận dạng đối tượng, phát hiện và theo dõi vật thể, phân tích biểu cảm khuôn mặt, đo lường và nhận dạng vật thể, và nhiều ứng dụng khác
Các công nghệ thị giác máy sử dụng cả lý thuyết và thực hành từ nhiều lĩnh vực như xử lý hình ảnh, trí tuệ nhân tạo, thống kê, và học máy Các phương pháp và công cụ phổ biến trong thị giác máy bao gồm mạng nơ-ron convolutional (CNN), học sâu (deep learning), phân loại hình ảnh, phân đoạn hình ảnh, và rất nhiều thuật toán khác
Thị giác máy đã được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như ô tô tự lái, y tế, an ninh, nhận dạng khuôn mặt, xử lý hình ảnh, và nhiều ứng
Với sự phát triển của công nghệ và sức mạnh tính toán ngày càng tăng, thị giác máy đang ở giai đoạn phát triển mạnh mẽ và sở hữu tiềm năng to lớn cho tương lai.
2.6.2 Định nghĩa và vai trò của ảnh
Trong công nghệ thị giác máy tính, ảnh được xem là một nguồn dữ liệu quan trọng và chủ yếu để phân tích và xử lý Đây là một dạng dữ liệu hình ảnh tĩnh được biểu diễn dưới dạng ma trận điểm ảnh, trong đó mỗi điểm ảnh đại diện cho một mức độ ánh sáng tại một vị trí cụ thể trên ảnh Ảnh là nguồn dữ liệu quan trọng trong công nghệ thị giác máy tính và đóng vai trò quan trọng trong việc phân tích, nhận dạng và hiểu thông tin hình ảnh, từ đó đưa ra quyết định và hành động dựa trên dữ liệu hình ảnh đó
Vai trò của ảnh trong công nghệ thị giác máy tính là cung cấp thông tin hình ảnh cho các thuật toán và mô hình máy tính để phân tích, nhận dạng và hiểu nội dung của ảnh Các nhiệm vụ thị giác máy tính có thể bao gồm:
- Phát hiện và nhận dạng đối tượng: Ảnh được sử dụng để phát hiện và nhận dạng các đối tượng và vật thể trong hình ảnh, bao gồm khuôn mặt, xe, đồ vật, con người và nhiều loại đối tượng khác
- Phân đoạn hình ảnh: Ảnh được sử dụng để phân đoạn các vùng và đối tượng khác nhau trong hình ảnh, giúp máy tính hiểu cấu trúc và vị trí của các thành phần trong ảnh
- Phân loại hình ảnh: Ảnh được sử dụng để phân loại hoặc gán nhãn cho các hình ảnh theo các danh mục hoặc thuộc tính cụ thể, chẳng hạn như phân loại các loại động vật, loại cây cối, hay đánh giá tình trạng của một bức ảnh như bình thường hay có bất thường
2.6.3 Các thuật toán xử lý ảnh ứng dụng trong hệ thống
2.6.3.1 Mô hình thị giác máy tính YOLO (You Only Look Once) Giới thiệu
Loạt mô hình YOLO đã trở nên nổi tiếng trong lĩnh vực thị giác máy tính những năm gần đây Sự nổi tiếng của YOLO là do độ chính xác đáng kể của nó trong khi vẫn duy trì kích thước mô hình tương đối nhỏ Các mô hình YOLO có thể được đào tạo trên một GPU duy nhất, giúp nhiều nhà phát triển có thể tiếp cận mô hình này Những người thực hành học máy có thể triển khai nó với chi phí thấp trên phần cứng hoặc trên đám mây
31 YOLO đã được cộng đồng thị giác máy tính phát triển không ngừng kể từ lần ra mắt đầu tiên vào năm 2015 bởi Joseph Redmond Trong những ngày đầu (phiên bản 1-4), YOLO được duy trì bằng mã C trong một khung học sâu tùy chỉnh do Redmond viết có tên là Darknet Phiên bản YOLOv5 sau khi được Ultralytics ra mắt đã nhanh chóng được sử dụng rộng rãi nhờ cấu trúc linh hoạt của nó Trong hai năm qua, nhiều mô hình đã phân nhánh từ YOLOv5, bao gồm Scaled-YOLOv4, YOLOR và YOLOv7 Các mô hình khác đã xuất hiện trên khắp thế giới từ những phiên bản ban đầu của riêng chúng, chẳng hạn như YOLOX và YOLOv6 Đồng thời, mỗi mô hình YOLO đã mang đến các kỹ thuật mới để tiếp tục nâng cao độ chính xác và hiệu quả của mô hình
YOLOv8 là mô hình YOLO tiên tiến nhất có thể được sử dụng cho các tác vụ phát hiện đối tượng và phân loại hình ảnh YOLOv8 được phát triển bởi Ultralytics, cũng chính là nhóm đã tạo ra mô hình YOLOv5 đã đạt được những thành công nhất định trước đây YOLOv8 bao gồm nhiều thay đổi và cải tiến về kiến trúc và trải nghiệm người dùng so với YOLOv5
YOLOv8 đang tiếp tục được phát triển một cách tích cực bởi vì Ultralytics
Cách YOLO hoạt động Đầu vào của mô hình là một ảnh, mô hình sẽ nhận dạng ảnh đó có đối tượng nào hay không, sau đó sẽ xác định tọa độ của đối tượng trong bức ảnh ẢNh đầu vào được chia thành thành S ×S ô thường thì sẽ là 3×3, 7×7, 9×9 việc chia ô này có ảnh hưởng tới việc mô hình phát hiện đối tượng, mình xin trình bày ở phần sau
32 Với Input là 1 ảnh, đầu ra mô hình là một ma trận 3 chiều có kích thước S×S×(5×N+M) với số lượng tham số mỗi ô là (5×N+M) với N và M lần lượt là số lượng Box và Class mà mỗi ô cần dự đoán Ví dụ với hình ảnh trên chia thành 7×7 ô, mỗi ô cần dự đóan 2 bounding box và 3 object : con chó, ô tô, xe đạp thì output là 7×7×13, mỗi ô sẽ có 13 tham số, kết quả trả về (7×7×2) bounding box Chúng ta sẽ cùng giải thích con số (5×N+M) được tính như thế nào
Truyền thông giao tiếp MC-Protocol
2.7.1 Tổng quan về giao tiếp Ethernet
- OSI: là mô hình tham chiếu kết nối hệ thống mở Mô hình này được tạo nên nhờ vào nguyên lý phân tầng, giải thích về kỹ thuật kết nối giữa các máy tính và thiết lập giao thức mạng giữa các máy tính đó Mô hình OSI còn được gọi là mô hình bảy tầng
- Mô hình OSI: chia giao tiếp mạng thành 7 tầng Từ tầng 1 đến tầng 4 là là những lớp thuộc cấp thấp, nó thực hiện nhiệm vụ di chuyển dữ liệu Từ tầng
5 đến tầng 7 là lớp thuộc cấp cao, thực hiện nhiệm vụ đặc thù và chuyển tiếp dữ liệu
- Ưu điểm của OSI: phân thành nhiều tầng nhỏ và đơn giản hơn, chuẩn hóa các thành phần mạng để phát triển dễ dàng hơn, chuẩn hóa giao diện giữa các tầng, dữ liệu được truyền nhanh chóng và dễ dàng hơn
48 Hình 2 19: Giao tiếp mạng 7 tầng của OSI
- Mô hình TCP/IP: có sự kết hợp giữa các giao thức riêng biệt Nhiệm vụ của mỗi giao thức là giúp máy tính có thể kết nối, truyền thông tin qua lại với nhau TCP là giao thức điều khiển truyền nhận còn Internet Protoco (IP) là giao thức liên mạng TCP/IP gồm 4 tầng đó là tầng ứng dụng, tầng mạng, tầng giao vận và tầng vật lý Trong đó FTP, HTTP, HTTPS là ba giao thức được dùng nhiều nhất của TCP/IP FTP là giao thức giúp cho máy tính có thể gửi dữ liệu không giới hạn đến một hay nhiều máy tính khác HTTP có chức năng truyền dữ liệu không an toàn giữa người dùng web và máy chủ web HTTPS là giao thức được dùng để truyền dữ liệu an toàn giữa người dùng web và máy chủ web
Hình 2 20: Các giao thức phổ biến nhất của mô hình TCP/IP
- Ưu điểm của TCP/IP :
+ Không chịu sự kiểm soát của tổ chức nào
49 + TCP/IP có khả năng tương thích với các mạng, hệ điều hành và phần cứng máy tính
+ TCP/IP có khả năng khả năng định tuyến, mở rộng và nhận định được đường dẫn tốt nhất thông qua mạng
- Khái niệm: Đây chính là điểm cuối end-point tại liên kết truyền thông 2 chiều (two-way communication) và biểu diễn kết nối giữa Server – Client Những lớp Socket hiện đang ràng buộc với 1 cổng port (thể hiện là 1 con số cụ thể) để những tầng TCP (hay TCP Layer) hoàn toàn có thể định danh được ứng dụng mà dữ liệu gửi đến
- Cơ chế hoạt động: chức năng của socket chính là kết nối giữa server và client thông qua UDP, TCP/IP để có thể truyền cũng như nhận nhẫn dữ liệu thông qua internet
- TCP (Transmission Control Protocol) là một giao thức mạng dùng trong truyền dữ liệu qua một mạng khác, được nhận xét là khá quan trọng Một giao thức trong phạm vi mạng bao gồm những quy tắc và thứ tự quản lý quá trình truyền dữ liệu sao cho người dùng trên toàn cầu dù ở đâu, trên nền tảng gì, phần mềm nào đều được phép thao tác theo cùng một phương thức tương tự nhau thì được gọi là TCP TCP thường liên kết với giao thức Internet (IP) tạo thành một đôi được gọi là TCP/IP IP có nhiệm vụ gán địa chỉ thực hiện đưa những gói tin từ nguồn đến đích, còn TCP xác thực tính tin cậy của truyền dẫn
Hình 2 21: TCP (Transmission Control Protocol)
TCP hoạt động bằng cách dán nhãn các gói dữ liệu theo thứ tự đánh số Ngoài ra, TCP chịu trách nhiệm đảm bảo dữ liệu đến đích trong thời gian quy định và tuân thủ các thông số kỹ thuật cụ thể Khi nhận được các gói tin, thiết bị gửi sẽ được thông báo bằng các gói được xác định là xác nhận.
- Các ứng dụng của TCP:
+ TCP hỗ trợ người dùng cài đặt và tùy chỉnh kết nối giữa các loại máy tính không giống nhau
+ Vận hành riêng biệt với hệ điều hành
+ Hỗ trợ linh hoạt cho nhiều giao thức định tuyến
+ TCP hỗ trợ kết nối Internet giữa các tổ chức
+ TCP hoạt động riêng biệt và độc lập
+ TCP còn được dùng vào việc tùy chỉnh kết nối giữa hai máy tính với nhau
- UDP (User Datagram Protocol): được định nghĩa là giao thức dữ liệu người dùng, đây là giao thức giao tiếp thay thế cho giao thức mạng truyền dữ liệu TCP (Transmission Control Protocol), UDP được áp dụng vào việc tùy chỉnh, cài đặt những kết nối có độ trễ thấp và không chịu lỗi giữa các ứng dụng ở môi trường internet
Hình 2 22: UDP (User Datagram Protocol) 2.7.2 Tổng quan về truyền thông giao tiếp MC-Protocol
- MC-Protocol là một giao thức truyền thông dùng trong ngành công nghiệp để liên kết và truyền thông giữa các thiết bị tự động hóa Nó được phát
51 triển bởi Mitsubishi Electric và được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp của họ
- MC-Protocol cho phép các thiết bị tự động hóa như bộ điều khiển logic (PLC), màn hình cảm ứng và các thiết bị khác trong một hệ thống làm việc chung và truyền thông với nhau Giao thức này cho phép truyền dữ liệu trong thời gian thực và hỗ trợ việc kiểm soát và giám sát các thiết bị từ xa
- Có hai phiên bản chính của MC-Protocol là MC-Protocol và MC- Protocol Ethernet MC-Protocol truyền thông qua kết nối serial như RS-232C hoặc RS-422/485, trong khi MC-Protocol Ethernet sử dụng mạng Ethernet để truyền thông
Giao thức MC-Protocol sử dụng cấu trúc dữ liệu theo định dạng ASCII và gán địa chỉ duy nhất cho mỗi thiết bị trong hệ thống Nhờ đó, thiết bị có thể trao đổi dữ liệu với nhau MC-Protocol cung cấp lệnh và phản hồi để thực hiện đọc/ghi dữ liệu, kiểm soát thiết bị, thu thập dữ liệu từ các thiết bị khác.
Giao thức MC ứng dụng rộng rãi trong ngành sản xuất, điều khiển tự động hóa Nó có vai trò kết nối linh hoạt, hiệu quả giữa các thiết bị trong hệ thống tự động.
Quá trình truyền nhận dữ liệu với MC-Protocol thông qua frame 3E (Extended) bao gồm các bước sau:
+ Đặt địa chỉ của thiết bị đích: Địa chỉ của thiết bị mà bạn muốn truyền dữ liệu tới được chỉ định trong frame
Để giao tiếp với thiết bị IoT thông qua giao thức Modbus TCP, bạn cần:- Xác định mã chức năng (Function Code): Chọn mã chức năng phù hợp với hoạt động mong muốn như đọc dữ liệu, ghi dữ liệu, kiểm soát thiết bị, v.v.- Xác định các thông số khác: Tùy thuộc vào mã chức năng, bạn có thể cần xác định các thông số bổ sung như địa chỉ bắt đầu, số lượng dữ liệu, v.v.
+ Tạo frame dữ liệu dạng 3E: Frame 3E là một frame dạng ASCII được mã hóa dưới dạng chuỗi ký tự
52 + Đưa dữ liệu vào frame: Chèn các thông tin cần thiết như địa chỉ thiết bị, mã chức năng và các thông số liên quan vào frame dữ liệu
Khung dữ liệu được chuyển đổi sang dạng tín hiệu để truyền thông qua giao thức truyền thông được sử dụng, ví dụ như RS-232C, RS-422/485, Ethernet.
+ Truyền tín hiệu: Tín hiệu truyền chứa frame dữ liệu được gửi từ thiết bị gửi đến thiết bị đích
- Nhận và xử lý frame:
+ Nhận tín hiệu truyền: Thiết bị đích nhận tín hiệu truyền chứa frame dữ liệu
Ngôn ngữ lập trình Motion SFC
Ngôn ngữ lập trình Motion SFC (Sequential Function Chart) là một ngôn ngữ được sử dụng trong lĩnh vực điều khiển và lập trình hệ thống tự động hóa
Nó được sử dụng để mô hình hóa và điều khiển các quá trình chuyển động, đảm bảo hoạt động mượt mà và chính xác của các thiết bị tự động
Motion SFC được phát triển dựa trên các khái niệm của chuẩn IEC 61131-3, cung cấp một giao diện đồ họa để mô hình hóa các chương trình điều khiển Nó thường được sử dụng để lập trình các hệ thống điều khiển chuyển động phức tạp, chẳng hạn như robot công nghiệp, máy gia công, hệ thống vận chuyển tự động, và các ứng dụng tự động hóa khác
Dựa vào cấu trúc chương trình thông thường sẽ phân ra làm hai cấu trúc chính đó là: Chương trình tuần tự (CPU PLC) và chương trình chuyển động SFC (Motion CPU) Các chương trình CPU chuyển động được tạo ra trong SFC Chuyển động của định dạng sơ đồ Việc điểu khiển chuyển động của các động cơ servo được thực hiện sử dụng các chương trình servo chế độ thực xác định bởi các bước điều khiển chuyển động trong chương trình SFC Chuyển động Các động cơ servo ảo trong một chương trình hệ thống cơ khí được điều khiển sử dụng các chương trình servo chế độ ảo xác định bởi các bước điều khiển chuyển động để cho phép điều khiển đồng bộ chế độ ảo Bằng cách thiết lập các tham số điều khiển đồng bộ và bắt đầu điều khiển đồng bộ cho mỗi trục đầu ra, điều khiển đồng bộ nâng cao được thực hiện đồng bộ với trục đầu vào (trục đầu vào servo, trục phát sinh lệnh, trục bộ mã hóa đồng bộ)
Hình 2 23: Cấu trúc chương trình ở PLC 2.8.2 Cơ cấu chương trình SFC chuyển động
Một chương trình SFC bao gồm ba thành phần chính đó là:
- Các bước (steps): Một step biểu diễn một trạng thái trong đó hoạt động của một khối chương trình với các tín hiệu ngõ vào và ngõ ra được xác định theo các hoạt động liên kết các bước Một bước có thể được kích hoạt hoặc không được kích hoạt Trạng thái của hoạt động trong chương trình thay đổi phụ thuộc vào trạng thái của các bước
- Các sự chuyển tiếp (transitions) : Quá trình chuyển tiếp là thành phần cơ bản của một khối, sau khi PLC thực hiện xong các lệnh trong phần tác động gắn với bước, PLC sẽ thực hiện một sự chuyển tiếp rồi mới thực hiện bước kế tiếp Một chuyển tiếp có thể lấy từ các tín hiệu ngõ vào có sự thay đổi, kết quả của tác động bước kế trước hay kết quả của một phép so sánh
- Các tác động (actions): một actions có thể được lập trình bằng ngôn ngữ lập trình
Hình 2 24: Cấu trúc chương trình SFC
Cụ thể, khi chương trình SFC được bắt đầu, chương trình sẽ chạy bước trên cùng đầu tiên (bước kiểm tra điều kiện khởi động) Chương trình cứ thực hiện bước đầu cho tới khi điều kiện 1 được thoả mãn Khi điều kiện 1 được thỏa mãn, hoạt động của các bước đầu sẽ bị dừng lại, và chương trình sẽ thực hiện bước tiếp theo Hoạt động của chương trình SFC tiếp tục từ bước này qua bước khác theo cách như trên cho tới khi bước kết thúc END được thực hiện
55 2.8.3 Biểu tượng điều khiển của SFC
Việc điều khiển trình tự quy trình hoặc chuyển tiếp được biểu diễn bởi việc nối các phần với nhau bằng các đường nối trong chương trình motion SFC
Các thành phần của SFC được hiển thị như sau:
Bảng biểu tượng chương trình motion SFC
THIẾT KẾ, THI CÔNG HỆ THỐNG
Thiết kế phần cứng
Hệ thống robot scara được thiết kế gồm 2 phần: phần cơ khí và phần điện Để hệ thống hoạt động một cách chính xác và ổn định cần đảm bảo phần cơ khí được thiết kế chắc chắn, phần đế cho robot phải cứng cáp, có khối lượng nhất định chịu được tải trọng và lực khi vận hành robot tránh rung lắc, phần điện được thiết kế gọn gàng, thẩm mĩ, khoa học để dàng bảo trì sửa chữa
Dựa vào không gian làm việc của robot cũng như yêu cầu bài toán, các thiết bị gồm robot scara, khu đặt vật phẩm được bố trí như sau:
Hình 3.1 Mô phỏng 3D hệ thống trên Solidworks
58 Hình 3.2 Mô phỏng 3D hệ thống trên Solidworks
Hình 3.3 Mô phỏng 3D hệ thống trên Solidworks
59 Hình 3.4 Hình ảnh bố trí thực tế hệ thống.
Thiết bị phần cứng
3.2.1 Robot Scara YK600XG hãng YAMAHA
Hình 3.5 Kích thước mặt cắt trên robot scara YK600XG YAMAHA
60 Hình 3.6 Kích thước mặt cắt ngang robot scara YK600XG YAMAHA
Robot scara nhóm sử dụng gồm bộ khung có sẵn từ hãng YAMAHA với các trục được thay thế bằng động cơ servo AC của hãng Mitsubishi Phần cơ được xây dựng chắc chắn, ổn định sẽ là nền tảng để phát huy ưu điểm về tốc độ của robot scara
3.2.2 Mặt giá đỡ Để chịu được tải trọng nặng của robot, tủ điện cũng như các thiết bị khác, đảm bảo được tính chắc chắn khi vận hành robot, hạn chế tối đa rung lắc Nhóm sử dụng một tấm nhôm kích thước 143.5x70.5x1 cm làm phần đế bắt cho robot, băng tải và khu đặt vật phẩm Các thiết bị được bắt bu lông một cách chắc chắn
Hình 3.7 Tấm nhôm kích thước 143.5x70.5x1 cm.
Thiết kế bộ điều khiển
Bộ điều khiển chính Q26UDVCPU Mitsubishi
Q26UDVCPU là PLC dòng Q được xem là bộ điều khiển lập trình mạnh mẽ nhất của hãng Misubishi tại thời điểm hiện tại Với kích thước nhỏ gọi, dễ dàng lắp đặt, tốc độ xử lý nhanh chóng, tích hợp các kỹ thuật tiên tiến nhất Là dòng có hiệu năng cao, PLC dòng Q phù hợp với các ứng dụng điều khiển cao cấp, điều khiển chuyển động đồng bộ phức tạp Do đó, trong bài toán Robot Scara gắp vật chuyện động trên bàn xoay thì Q26UDVCPU là sự lựa chọn hợp lý Đặc điểm Hình ảnh
Số I/O tối đa có thể mở rộng 8192
Bộ nhớ chương trình 260 KB
Tốc độ xử lý 1.9ns – 200ns
RS232, USB, Ethernet Bảng 3.1 Thông số Q26UDVCPU
Bộ điều khiển chuyển động Q172DSCPU Để điều khiển 4 trục Robot Scara một cách chính xác, phát huy được ưu điểm tốc độ cao của nó và đồng bộ chuyển động với bàn xoay thì bộ điều khiển
62 chuyển động Q172DSCPU là sự lựa chọn tối ưu với khả năng điều khiển đồng thời lên đến 16 trục, nhỏ gọn dễ dàng lắp đặt Đặc điểm Hình ảnh
Số trục tối đa điều khiển 16 Điểm định vị 3200
Công suất chương trình servo 40K
Bộ nhớ chương trình 16k bước
Cổng kết nối USB, SSCNET
Module ngõ ra QY42P là thành phần không thể thiếu để điều khiển các cơ cấu chấp hành như nam châm, đèn, rơ le trong các đồ án tự động hóa, trong bài viết này chúng ta sẽ tìm hiểu cụ thể về module QY42P khi dùng để điều khiển nam châm điện.
Thời gian chuyển trạng thái 1ms
Led hiển thị Từ 0 đến F
Bảng 3.3 Thông số module ngõ ra QY42P
64 3.3.2.2 Driver điều khiển động cơ servo
Driver MR-J4W2-22B Đặc điểm Hình ảnh
Cấp nguồn mạch chính Điện áp 3 pha hoặc 1 pha
Cấp nguồn mạch điều khiển Điện áp 3 pha hoặc 1 pha
Ngõ ra Điện áp 3 pha 170 VAC
1,5 A Bảng 3.4 Thông số driver MR-J4W2-22B
65 Driver MR-J3W-44B Để động cơ Servo hoạt động ổn định, không bị quá tải thì không thể thiếu bộ driver đi kèm Tuỳ theo công suất của động cơ mà lựa chọn loại driver phù hợp Trong đề tài sử dụng loại Driver các dòng MR-J3, MR-J4 với các thông số thoả mãn yêu cầu Đặc điểm Hình ảnh
Ngõ vào Điện áp 3 pha hoặc 1 pha
Ngõ ra Điện áp 3 pha 170 VAC
Base Q38DB Đặc điểm Hình ảnh
Tên thiết bị Main base Q38DB
Số lượng khe cắm 8 slot
Bảng 3.6 Thông số Base Q38DB
66 3.3.2.3 Động cơ servo AC Động cơ Servo mã HF-KP053 Đặc điểm Hình ảnh
Tên thiết bị HF-KP053 Điện áp cấp 200 VAC
Tốc độ vòng quay 3000-6000 vòng/phút
Encoder 18 bit Độ phân giải 262144 xung/vòng
Cấp độ bảo vệ IP65
Bảng 3.7 Thông số servo HF-KP053 Động cơ Servo mã HG-MR43BJ Đặc điểm Hình ảnh
Tên thiết bị HG-MR43BJ Điện áp cấp 200 VAC
Tốc độ vòng quay 3000 vòng/phút
Encoder 22 bit Độ phân giải 4194304 xung/vòng
Cấp độ bảo vệ IP65
67 Bảng 3.8 Thông số động cơ servo HG-MR43BJ Động cơ Servo mã HF-KP23G7 Đặc điểm Hình ảnh
Tên thiết bị HF-KP23G7 Điện áp cấp 100 VAC, 200
Tốc độ vòng quay 3000–4500 vòng/phút
Encoder 18 bit Độ phân giải 262144 xung/vòng
Cấp độ bảo vệ IP44
Bảng 3.9 Thông số servo HF-KP23G7 Động cơ Servo mã HG-KR23 Đặc điểm Hình ảnh
Tên thiết bị HG-KR23 Điện áp cấp 200 VAC
Tốc độ vòng quay 3000 vòng/phút
Encoder 22 bit Độ phân giải 4194304 xung/vòng
Cấp độ bảo vệ IP65
68 Bảng 3.10 Thông số servo HG-KR23
Bộ nguồn Q61P Đặc điểm Hình ảnh
Tên thiết bị Module nguồn
Q61P Điện áp ngõ vào 100-240 VAC
Lực hút 8 kg Đường kính ngoài 25 mm
Bảng 3 11 Thông số bộ nguồn Q61P
Bộ nguồn KACON 30W 24V DC Đặc điểm Hình ảnh
Tên thiết bị Nguồn KACON
30W Điện áp ngõ vào 110/220 VAC Điện áp ngõ ra 24 VDC
Nam châm điện ELE-P25/20 24V Đặc điểm Hình ảnh
Tên thiết bị Nam châm ELE-
Lực hút 8 kg Đường kính ngoài 25 mm
Bảng 3.13 Thông số nam châm điện
MCB 2P Đặc điểm Hình ảnh
Tên thiết bị CP-30BA
Bảng 3.15 Thông số CP-30BA-5A Đặc điểm Hình ảnh
Tên thiết bị CP32FM
Bảng 3.16 Thông số CP32FM
Máy ảnh độ sâu Intel® RealSense ™ Dòng D400 sử dụng tầm nhìn âm thanh nổi để tính toán độ sâu D435 là một máy ảnh độ sâu hỗ trợ USB và bao gồm một cặp cảm biến độ sâu, cảm biến RGB và máy chiếu hồng ngoại Đó là lý tưởng để các nhà sản xuất và nhà phát triển thêm khả năng cảm nhận chiều sâu vào nguyên mẫu của họ
Bộ xử lý tầm nhìn mạnh mẽ sử dụng công nghệ quy trình 28 nanomet (nm) và hỗ trợ lên đến 5 làn giao diện máy ảnh MIPI nối tiếp 2 làn để tính toán hình ảnh có độ sâu thời gian thực và tăng tốc đầu ra
Thuật toán độ sâu âm thanh nổi tiên tiến mới để nhận biết độ sâu chính xác
Một bộ cảm biến hình ảnh cho phép ghi lại sự chênh lệch giữa các hình ảnh có độ phân giải lên đến 1280 x 720
Hỗ trợ cho Intel® RealSense ™ SDK 2.0 đa nền tảng, mã nguồn mở
Bộ xử lý tín hiệu hình ảnh màu chuyên dụng để điều chỉnh hình ảnh và chia tỷ lệ dữ liệu màu
71 Máy chiếu hồng ngoại chủ động để chiếu sáng các vật thể để nâng cao dữ liệu độ sâu
Máy ảnh độ sâu Intel® RealSense ™ D435 được thiết kế để phù hợp nhất với nguyên mẫu của bạn Với màn trập hình ảnh toàn cầu và trường nhìn rộng (85,2 ° x 58 ° x 94 °), Máy ảnh chiều sâu Intel® RealSense ™ D435 cung cấp khả năng nhận biết độ sâu chính xác khi đối tượng đang chuyển động hoặc thiết bị đang chuyển động và nó bao phủ nhiều diện tích hơn, giảm thiểu “ điểm mù"
Tên thiết bị Depth Camera Intel
D435 Công nghệ độ sâu Active Stereoscopic
Tầm hoạt động ~.3m - 3m Độ Phân Giải Độ Sâu và FPS 1280 X 720 Độ Sâu Trường Nhìn 85.2 x 58
Kích thước 90 mm x 25 mm x 25 mm
Loại hệ thống giao diện USB 3.0 Type C
Bảng 3.17 Thông số Depth Camera D435
72 3.3.3 Sơ đồ nối dây thiết bị
Hình 3.8 Sơ đồ nối dây tổng quát thiết bị
Hình 3.9 Sơ đồ kết nối bộ điều khiển với các driver dùng mạng
73 Hình 3.10 Sơ đồ nối dây hệ thống.
Thiết kế phần mềm, giải thuật điều khiển
3.4.1 Mô tả yêu cầu hệ thống:
Vật thể được đặt trên băng chuyền và đưa đến khu vực làm việc của robot Camera 3D quan sát vật thể, xác định hình dạng và chiều cao, sau đó truyền thông số về CPU để xử lý Robot nhận được vị trí và thực hiện thao tác gắp vật Vật thể được đưa đến vị trí quy ước theo loại và chiều cao của nó Sau khi hoàn thành việc gắp vật, robot trở lại vị trí chờ và đợi vật tiếp theo được đặt trên băng chuyền.
Trong bài toán này, robot có chế độ tự động gắp vật:
Chế độ tự động: Khi bắt đầu hệ thống, robot sẽ di chuyển từ vị trí home đến vị trí chờ , sau đó băng tải chạy để đưa vật vào khu vực làm việc của robot
74 Khi vật di chuyển đến điểm được set trước thì camera 3D sẽ trả về thông số xyz Sau đó robot sẽ đến gắp vật mang về vị trí phân loại tương ứng
Hình 3.11 Lưu đồ giải thuật chế độ tự động
3.4.2 Điều khiển tốc độ từng trục robot
Sau khi có được quỹ đạo di chuyển phù hợp với môi trường làm việc của robot, ta tiến hành tính toán vận tốc di chuyển của từng khớp robot cho từng quỹ đạo
Để điều khiển tốc độ từng khớp của robot đồng thời, PLC Motion sử dụng ba phương pháp điều khiển nội suy:
Nội suy theo vector tốc độ: dựa vào tốc độ cho trước, bộ điều khiển Motion CPU sẽ tính toán tốc độ từng trục tỉ lệ với quãng đường dịch chuyển của chúng, đảm bảo rằng các trục sẽ bắt đầu và kết thúc đồng thời
Nội suy theo trục có quãng đường di chuyển lớn nhất: Motion CPU sẽ tính toán để tìm ra trục có quảng đường di chuyển dài nhất và thời gian dịch chuyển của trục để làm dữ liệu từ đó suy ra vận tốc các trục còn lại dựa trên quảng đường di chuyển độc lập của chúng Đảm bảo cho các trục bắt đầu và kết thúc đồng thời
Nội suy theo trục được chọn làm trục tham chiếu: ta sẽ chọn trước tốc độ và trục làm tham chiếu Bộ điều khiển CPU Motion sẽ tính toán thời gian chuyển động của trục tham chiếu để làm dữ liệu sau đó suy ra vận tốc của các trục còn lại dựa trên quãng đường di chuyển độc lập của chúng, đảm bảo cho các trục bắt đầu và kết thúc đồng thời
Ta có phương trình chuyển động:
Bỏ qua thời gian tăng tốc giảm tốc ta được công thức vận tốc như sau:
𝜃 : góc xoay dự đoán của khớp robot
𝜃 : góc xoay dự đoán của khớp robot
𝑡 : thời gian khớp robot di chuyển
76 Để bắt kịp tốc độ của bàn xoay khi đang di chuyển ta cần biết vận tốc ω của bàn xoay Từ đó suy ra được thời gian di chuyển của bàn xoay khi bàn xoay di chuyển một góc 𝜃
Thời gian robot di chuyển sẽ bằng với thời gian mà bàn xoay di chuyển một góc 𝜃
VẬN HÀNH HỆ THỐNG
Kiểm chứng tính toán động học
4.1.1 Kiểm chứng động học thuận
Tiến hành chạy robot scara với các cấu hình góc đặc biệt để kiểm chứng tính đúng đắn của phương trình động học
Hình 4.1 Cấu hình robot tại các góc 𝜃 = 270 ° , 𝜃 = 90 ° , 𝑑 = 0
Hình 4.2 Cấu hình robot tại các góc 𝜃 = 0 ° , 𝜃 = 270 ° , 𝑑 = 0 Trường hợp 3: 𝜃 = 315 ° , 𝜃 = 45 ° , 𝑑 = 0
Hình 4.3 Cấu hình robot tại các góc 𝜃 = 315 ° , 𝜃 = 45 ° , 𝑑 = 0
Để đảm bảo độ chính xác của phương trình động học nghịch được sử dụng trong điều khiển robot, cần kiểm tra sai số mô phỏng so với thực tế Sử dụng phần mềm Matlab để mô phỏng, sau đó thực hiện động học nghịch trên robot thực tế Cuối cùng, so sánh các giá trị góc khớp thu được từ Matlab với các giá trị góc trả về từ cảm biến encoder của động cơ.
Nhận xét: Sai số giữa mô phỏng từ Matlab và Encoder trả về cho sai số rất nhỏ
4.1.3.1 Chế độ điều khiển thủ công (Manual) Để vận hành chế độ Manual, sau khi nhấn On servo, nhấn chọn chế độ Manual Ở chế độ Manual gồm các chức năng sau:
Chế độ Jog: Điều khiển robot quay thuận nghịch theo tốc độ cố định để xác định toạ độ theo mong muốn
Chế độ Home: Cài đặt lại giá trị ban đầu cho robot
Chế độ Động học thuận: Nhập góc từng khớp, robot sẽ di chuyển theo góc mong muốn
Chế độ Động học nghịch: Nhập toạ độ điểm (x, y, z), robot sẽ di chuyển đến điểm đã nhập
4.1.3.2 Chế độ điều khiển tự động (Auto) Để vận hành chế độ Auto, sau khi nhấn On servo, nhấn chọn chế độ Auto Ở chế độ Auto gồm:
Chế độ tự động: Nhập tốc độ cho robot, nhấn Start băng tải hoạt động, đồng thời robot sẽ đến vị trí chờ Khi đặt vật lên băng tải, vật được băng tải đưa tới vị trí cần gắp Khi camera phát hiện vật tại vị trí cần gắp, robot sẽ tiến hành gắp đưa vật về khu đặt vật cố định.
Giao diện điều khiển
Nhóm sử dụng giao diện SoftGOT2000, là giao diện hiển thị trên thiết bị giám sát, sử dụng phầm mềm tiên tiến hơn so với thiết bị điều khiển HMI nên giao diện trực quan hơn, có hình ảnh để nhận diện
4.2.2.1 Màn hình giới thiệu và đăng nhập Ở màn hình này, giới thiệu một số thông tin cơ bản, tên đề tài, họ tên giảng viên, sinh viên Để điều khiển hệ thống, nhấn nút LOGIN và nhập mật khẩu
81 Hình 4.5 Màn hình giới thiệu và đăng nhập
Hình 4.6 Màn hình đăng nhập hệ thống
4.2.2.2 Màn hình Home Đây là trang đầu tiên dùng để On, Off servo, reset lỗi, chọn chế độ, có thể chọ ngôn ngữ tiếng anh hoặc tiếng việt, có phần hiển thị ngày, giờ, lỗi, có hệ thống đèn báo tình trạng
Jog từng trục theo tốc độ đã đặt; có thể chọn hướng di chuyển của trục tại cột Jog, chiều dương là ngược chiều kim đồng hồ Khi tới vị trí mong muốn, người dùng nhấn nút Home ở từng trục để đặt lại vị trí Home cho trục đó.
83 Hình 4.8 Màn hình Jog Operation
Màn hình điều khiển cho phép người dùng thiết lập vị trí mong muốn cho robot bằng chế độ vị trí tuyệt đối hoặc điều khiển động học thuận tiện Tốc độ được nhập trong cột Set Speed để khởi động chế độ Forward Robot di chuyển theo góc đã nhập và tính toán tọa độ của điểm đầu cuối.
Hình 4.9 Màn hình Forward Kinematic
Màn hình sử dụng cho việc kiểm tra động học nghịch bằng cách nhập các toạ độ x,y,z hệ thống sẽ tính ra các giá trị góc Để chạy đến toạ độ đó, người dùng nhập tốc độ ở cột Set Speed sau đó nhấn Inverse Sau khi chạy xong kiểm tra giá trị cột Current Angle có bằng cột Inverse Angle không, nếu bằng thì robot đã chạy đúng vị trí
Hình 4.10 Màn hình Inverse Kinematic
4.2.2.6 Màn hình chế độ tự động
Màn hình Auto dùng để vận hành và giám sát chế độ tự động Để vận hành, nhập tốc độ ở ô Speed Robot sau đó nhấn Start, đèn màu xanh sẽ sáng báo hiệu hoạt động, muốn dừng hệ thống nhấn nút Stop Ngoài ra, ở đây nhóm có cho hiển thị vị trí vật trên băng tải