.6 Cánh tay Robot

Một phần của tài liệu Thiết kế hệ thống điều khiển robot thu hoạch dứa dựa trên công nghệ xử lý ảnh (Trang 29)

19

Hình 3.7 Mô hình thiết kế tổng thể bàn tay cắt dứa

(1)-Khớp chuyển động bàn tay; (2)-xilanh khí nén tạo chuyển động và van điện

từ; (3)–động cơ khí nén; 4-lồng đỡ dứa

3.2 Thiết kế phần cứng hệ thống máy thu hoạch dứa tựđộng

Nhiệm vụ: Bốtrí đầu vào ra cho PLC FX3U-64M điều khiển 2 cánh tay Căn cứ vào nhiệm vụ đặt và cấu trúc của hệ thống điều khiển máy thu hoạch dứa tựđộng được trình bày tại 3.1, căn cứ vào các kết quả nghiên cứu và thử nghiệm thực tế, chúng ta tiến hành bố trí và phân bố tín hiệu cho các đầu vào và đầu ra của các PLC trong hệ thống như sau:

PLC FX3U-64M có các chức năng sau: kết nối và trao đổi dữ liệu với máy tính giám sát (PC); điều khiển trực tiếp quá trình di chuyển và thu hoạch của cánh tay máy cắt dứa. Do vậy, căn cứ vào các kết quả tính toán, chúng ta tiến hành bốtrí đầu vào và đầu ra các tín hiệu cho PLC FX3U-64M của cánh tay 1 và cánh tay 2 như Bảng 4.1 đến Bảng 4.4 được thể hiện chi tiết ở phần phụ lục kèm theo.

3.3 Thiết kế mạch nguyên lý cho cấp điều khiển

Dựa vào phân bố đầu vào-ra cho PLC FX3U được trình bày trong các bảng từ Bảng 3.1 đến Bảng 3.4, chúng ta tiến hành thiết kế mạch nguyên lý cho PLC FX3U bao gồm: Bản vẽđầu vào của PLC Mitsubishi FX3U – 64M (1); Hệ thống xi lanh và động cơ khí nén của robot (1); Hệ thống Driver điều khiển và động cơ Stepper (1); Sơ đồ lắp thiết bị và khoan vít; Bản vẽ đầu vào của PLC

20 Mitsubishi FX3U – 64M (2); Hệ thống xi lanh và động cơ khí nén của robot (2); Hệ thống Driver điều khiển và động cơ Stepper (2).

Bản thiết kế trên phần mềm AutoCad được thể hiện chi tiết tại phụ lục kèm theo.

3.4 Xây dựng chương trình phần mềm cho cấp điều khiển máy thu hoạch

dứa tựđộng

3.4.1 Lưu đồ điềukhiển cho điều khiển hai cánh tay

PLC FX3U-64M điều khiển trực tiếp các hành động của máy thu hoạch bao gồm điều khiển các động cơ dịch chuyển cánh tay máy, đóng mở các van khí nén cắt dứa, gửi tín hiệu chụp ảnh để tiến hành phân tích nhận diện,... Các thao tác này được chia làm hai loại gồm:

- Các thao tác được thực hiện theo chương trình Ladder là các hành động điều khiển trực tiếp (điều khiển ON/OFF do người vận hành thông qua hệ thống nút ấn hoặc cần điều khiển) hoặc là các hành động điều khiển không cần tính logic thực hiện tuần tự.

- Các thao tác được thực hiện tuần tự SFC là các thao tác thiết bị hoạt động theo quy luật logic phức tạp mà ở đó có nhiều sự lựa chọn (nhiều nhánh) hoặc nhiều bước mà tại một thời điểm chỉđược phép thực hiện một hành động.

Qua việc bố trí các tín hiệu vào/ra cho PLC (mục 3.2) và phân tích hoạt động của các thiết bị, chúng ta tiến hành xây dựng các lưu đồ điều khiển cho các quá trình do PLC FX3U-64M phụtrách điều khiển như sau:

3.4.2 Các thiết bị điều khiển theo chương trình logic viết trên Ladder

a) Lưu đồ điều khiển hoạt động chụp ảnh gửi lên PC phân tích

Quy trình vận hành quá trình chụp gửi ảnh được thực hiện tuần tựnhư sau: nhấn nút Start (X4 = 1) để chụp ảnh và PLC gửi tín hiệu lên PC.

21

Hình 3.8 Chu trình hoạt động thao tác chụp ảnh gửi lên PC phân tích

1-Nút ấn Start;

2-Cần gạt chọn chế độ thu hoạch cả dứa xanh dứa chín;

3-Cần gạt chọn chế độ thu hoạch chỉ dứa chín;

4, 6- Cần gạt chọn chế độ cắt thấp của cánh tay 1 và 2;

22 Từ quy trình vận hành trên chúng ta có lưu đồ thuật toán điều khiển dưới đây:

Hình 3.9 Lưu đồ hoạt động điều khiển chụp ảnh gửi lên PC phân tích

b) Lưu đồ điều khiển hoạt động hạ cánh tay xuống cắt dứa

Quy trình vận hành quá trình thu hoạch được thực hiện tuần tựnhư sau: sau khi cánh tay dịch chuyển đến vị trí của quả dứa, Y11 được bật để mở van khí nén đẩy cánh tay xuống chiều cao mong muốn (giả sử cần gạt điều khiển bật X14), Y14 sẽ tác động van cưa khí để mở, đồng thời bàn tay gắp dứa cũng sẽ được đóng lại bởi bit Y12 được bật lên 1. Sau khi hết thời gian cài đặt chờ cắt dứa, bit Y14 sẽđược off để tắt động cơ khí nén, cánh tay máy sẽđược nâng lên. Khi cảm biến báo xi lanh đã được thu hồi hết, X7 được bật lại để chuyển sang quá trình

23 cấp xung cho động cơ dịch chuyển tay máy về vị trí gốc. Khi trở về vị trí ban đầu, hai cảm biến hành trình trục X và Y là X000 và X003 được bật, bit Y012 sẽ được tắt để mở bàn tay gắp, thả dứa vào giỏ.

Từ quy trình vận hành trên chúng ta có lưu đồ thuật toán điều khiển dưới đây:

Hình 3.10 Lưu đồ điều khiển hoạt động hạ cánh tay xuống cắt dứa

3.4.3 Các thiết bị điều khiển theo chương trình viết trên SFC

SFC là sự cụ thể hóa của giản đồ điều khiển Grafcet có tính đến các yếu tố kỹ thuật và chức năng điều khiển thực tế, nó được chuẩn hóa theo chuẩn IEC 61131-3. SFC không được gọi là một ngôn ngữ lập trình mà là một phương pháp

24 mô tả và tổ chức các chương trình điều khiển. Tuy nhiên, trong thực tế SFC có chức năng ngang hàng với các ngôn ngữ lập trình điều khiển như LAD, FBD, do vậy trong nhiên cứu này chúng ta có thể coi SFC là một ngôn ngữ lập trình. Dựa theo hướng dẫn lập trình của hãng Mitsubishi chúng ta tiến hành xây dựng lưu đồ tuần tự sau:

a) Phân tích chu trình hoạt động của máy cắt dứa

Chu trình hoạt động của hệ thống thu hoạch dứa tự động tuân thủ theo quy luật logic được mô tảnhư sau:

- Đầu tiên gạt cần điều khiển lựa chọn chế độ thu hoạch dứa (thu hoạch cả dứa xanh và dứa chín hoặc chỉ thu hoạch dứa chín), tiếp theo gạt cần điều khiển lựa chọn độ sâu được hạ của cánh tay máy (để cắt trên cao hoặc cắt dưới thấp, tùy thuộc và giống dứa được thu hoạch).

- Khi cảm biến đầu trục X và cảm biến đầu trục Y được bật (tức là 2 cánh tay đang ở vị trí gốc), ấn Start để chụp ảnh (X4=1), gửi lên máy tính để nhận diện, tính toán tọa độ rồi gửi xuống từng cánh tay.

- Tọa độ nhận vềđược chuyển thành số xung cấp cho Driver, điều khiển cánh tay di chuyển đến chính xác vị trí quả dứa. Bit M8029 được bật lên 1 sau khi động cơ chạy hết số xung, chuyển sang thao tác cắt dứa. Van khí nén được mở để đẩy cánh tay đi xuống độ cao đã được đặt bằng cần điều khiển, trên thân xi lanh có các cảm biến báo vị trí cánh tay được hạđểđóng van khí. Sau đó, 2 van khí kế tiếp được mở là van cấp động cơ khí nén và van cấp khi xi lanh đóng bàn gắp dứa.

- Sau khi cắt xong, cánh tay máy được thu lên, khi cảm biến trên cùng báo xi lanh đã thu về hết PLC sẽ cấp xung đảo ngược chiều quay của động cơ Stepper, điều khiển cho cánh tay về vị trí gốc. Chờ 1s để ổn định tay máy rồi xóa hết dữ liệu trong thanh ghi để quay về S0, nhận tọa độ khác và tiếp tục một chu trình cắt khác.

- Nút Reset: ở bất kì thời điểm nào của lưu đồ SFC, khi nút Reset được ấn (X6 = 1) sẽ ngừng mọi hoạt động hiện tại, thu cánh tay về hết trong xi lanh, Driver cấp xung ngược điều khiển cho 2 cánh tay trở về vị trí gốc, xóa thanh ghi và chờ ở S0 cho đến khi nút ấn Start (X4 =1) để bắt đầu một quy trình mới hoàn toàn.

b) Lưu đồ điều khiển hoạt động máy cắt dứa

Lưu đồ điều khiển SFC được xây dựng tuân thủ theo quy ước của nhà sản xuất PLC (hãng Mitsubishi). Các ký hiệu khối chức năng S là các ký hiệu mặc định với dòng PLC FX của hãng, mỗi một chu trình bắt buộc phải dùng các ký hiệu khối chức năng S khác nhau để chương trình không bị hiểu nhầm, đảm bảo tại một thời điểm chỉ có một khối S được hoạt động.

Các chương trình điều khiển chứa trong các khối chức năng S được trình bày chi tiết (có chú thích) tại mục 3.5.

Lưu đồ điều khiển của PLC 2 điều khiển cánh tay máy bên trái tương tự như lưu đồ của PLC 1 điều khiển cánh tay bên phải. Điểm khác biệt: lưu đồ PLC 2

25 không có nhánh thứ 3 vì thao tác gửi tín hiệu chụp ảnh và tín hiệu cần gạt điều khiển lựa chọn chếđộ thu hoạch dứa do PLC 1 đảm nhiệm.

26

Hình 3.12 Lưu đồ điều khiển hoạt động cánh tay 2 cắt dứa

3.5 Chương trình điều khiển viết cho PLC cánh tay 1

3.5.1 Chương trình điều khiển viết bằng ngôn ngữ Ladder

Chương trình điều khiển viết cho chương trình chính bằng dưới dạng Lader trên phần mềm GX- Deverlop được thể hiện chi tiết tại phụ lục kèm theo.

27

3.5.2 Chương trình điều khiển viết bằng SFC

Chương trình điều khiển được viết dạng Lader trên phần mềm GX- Deverlop được thể hiện chi tiết tại phụ lục kèm theo.

3.6 Chương trình điều khiển viết cho PLC cánh tay 2

3.6.1 Chương trình điều khiển viết bằng ngôn ngữ Ladder

Chương trình điều khiển viết cho chương trình chính bằng dưới dạng Lader trên phần mềm GX- Deverlop được thể hiện chi tiết tại phụ lục kèm theo.

3.6.2 Chương trình điều khiển viết bằng SFC

Chương trình điều khiển được viết dạng Lader trên phần mềm GX- Deverlop được thể hiện chi tiết tại phụ lục kèm theo.

3.7 Xây dựng phần mềm giao diện cho cấp điều khiển giám sát Robot thu

hoạch dứa

Trong phần trước chúng ta đã xây dựng cấu trúc hệ thống giám sát và điều khiển cho Robot thu hoạch dứa, bắt đầu từ mục 4.8 chúng ta đã xây dựng chương trình phần mềm điều khiển và giám sát dữ liệu cho 2 PLC FX2N-128MT. Để có thể giám sát được quá trình thu hoạch, các dữ liệu phải được trao đổi thường xuyên giữa PLC và máy tính theo cấu trúc truyền thông RS-485. Để thực hiện được việc truyền dữ liệu, chương này chúng ta sẽ tiến hành xây dựng cấu trúc truyền thông giữa máy tính (PC) và PLC và giao diện hiển thị của hệ thống giám sát. Chúng ta sử dụng ngôn ngữ lập trình Python cùng các thư viện hỗ trợ như Tkinter và Pyserial để tiến hành xây dựng cấu trúc truyền dữ liệu, các bước xây dựng hệ thống giám sát gồm:

3.7.1 Lưu đồ điều khiển cho cấp giám sát

Cấp giám sát sẽ có 2 nhiệm vụ chính:

- Phát hiện quả dứa từ hình ảnh của Camera và gửi tọa độ chính xác đến PLC ( Thực hiện trong chương trình chính)

- Cập nhật và hiển thị giao diện HMI cho người giám sát Chu trình hoạt động của cấp giám sát:

Khi bật phần mềm HMI dành cho Robot thu hoạch dứa, giao diện HMI sẽ được hiển thị bao gồm: nửa màn hình bên trái hiển thị hình ảnh thực tế từ Camera, nửa màn hình bên phải sẽ hiển thị các quả dứa được phát hiện sau khi chạy chương trình chính. Để khởi động chương trình chính, người giám sát sẽ bấm nút “BẮT ĐẦU”. Trong chương trình chính, máy tính sẽ thiết lập kết nối với PLC, xây dựng mô hình nhận diện dứa, thực hiện các bước chụp ảnh, nhận diện dứa, gửi tọa độ dứa xuống PLC theo 1 trình tự nhất định sẽđược nói rõ hơn trong mục 3.8.1.

Từ chu trình hoạt động trên ta có lưu đồ thuật toán cho cấp giám sát của Robot thu hoạch dứa như sau:

28

Hình 3.13 Lưu đồ điều khiển cho cấp giám sát

3.7.2 Xây dựng giao diện HMI

a) Lưu đồ điều khiển giao diện HMI

Chu trình hoạt động của giao diện HMI: Cứ 0.005 s, giao diện HMI sẽ cập nhật hình ảnh ở khung hình bên trái bằng 1 khung ảnh lấy về từ Camera. Trong quá trình này, chương trình sẽ kiểm tra nếu như chương trình chính đã chụp ảnh và nhận diện được các quả dứa thì hình ảnh có các quả dứa đã được khoanh vuông sẽđược đưa vào khung hình bên phải.

Từ chu trình hoạt động trên, ta có lưu đồ thuật toán cho giao diện HMI như sau:

29

Hình 3.14 Lưu đồ điều khiển giao diện HMI

b) Cài đặt các thư viện giao diện HMI liên quan

Để xây dựng giao diện giám sát HMI ( Human Machine Interface) trên nền tảng Python có rất nhiều các thư viện hỗ trợ như Tkinter, Kivy, PyQT, wxPython...vv. Nhóm nghiên cứu đã quyết định sử dụng thư viện Tkinter vì các tính năng thân thiện, dễ sử dụng với người dùng, hỗ trợ nhiều các chức năng phức tạp như vẽ biểu đồ, thiết kế hình họa...vv.

Tkinter là một gói trong Python có chứa module TK hỗ trợ cho việc lập trình GUI. TK ban đầu được viết cho ngôn ngữTcl. Sau đó Tkinter được viết ra để sử dụng Tk bằng trình thông dịch Tcl trên nền Python.

Đểcài đặt thư viện Tkinter trên hệ điều hành LINUX, người dùng sẽ mở cửa sổ Command và nhập câu lệnh sau:

30

c) Thiết lập các nút nhấn và màn hình hiển thị

Thiết lập 1 cửa sổ giao diện HMI sử dụng thư viện Tkinter gồm các bước sau:

Khai báo thư viện ta sử dụng câu lệnh: Import tkinter

Khởi tạo1 cửa sổ chính cần có 2 phương thức sau:

Tk (screenName=None, baseName=None, className=’Tk’, useTk=1) Câu lệnh m = tkinter.Tk() sẽ tạo ra 1 cửa sổ và m chính là tên của cửa sổđó

Mainloop()

Phương thức này được sử dụng khi cửa sổ của bạn đã có đầy đủ các thành phần và sẵn sàng chạy. Mainloop() là 1 vòng lặp vô hạn để chạy cửa sổ đó, nó sẽ chờ các sự kiện có thể xảy ra trong quá trình hoạt động đến khi cửa sổđó được đóng lại.

Câu lệnh m.mainloop()

Khởi tạo các thành phần trong cửa sổ chính:

Các thành phần cơ bản trong thư viện Tkinter bao gồm:Button (nút nhấn ), Canvas (tấm nền), Entry(nhập số liệu), Label(nhãn dán)…

w = Button(master, option = value) w = Entry(master, option = value) w = Label(master, option = value)

Master chính là phần chứa các thành phần này, Master có thể là cửa sổ chính hoặc 1 tấm nền (Canvas)…vv

Mỗi thành phần cơ bản trên đều có các thông số và thuộc tính có thể can thiệp được như vịtrí, kích thước.

31

3.8 Xây dựng chương trình chính

3.8.1 Lưu đồ điều khiển chương trình chính

Chu trình hoạt động của chương trình chính: Máy tính sẽ khởi tạo truyền thông giữa máy tính và 2 PLC, xây dựng mô hình từ các file xử lý ảnh đã được huấn luyện từ trước. Tiếp theo, máy tính sẽ đợi nhận được tín hiệu chụp ảnh được gửi lên từ PLC ( đảm bảo Robot thu hoạch dứa đã vào đúng vị trí và sẵn sàng cho việc thu hoạch). Sau khi nhận được tín hiệu này, máy tính sẽ chụp ảnh từCamera đưa vào xử lý. Từcác mô hình đã xây dựng từtrước, các thuật toán sẽ tự động nhận diện và phát hiện các quả dứa trong bức ảnh đó. Tọa độ các quả dứa trên ảnh sau đó sẽ được quy đổi thành tọa độ quả dứa so với vị trí của Camera và tọa độ của quả dứa so với vị trí gốc của 2 cánh tay máy. Tuy nhiên, máy tính sẽchưa gửi ngay tọa độ này xuống PLC mà sẽ chờ đợi tín hiệu báo sẵn sàng cắt được gửi lên từ PLC. Việc này đảm bảo rằng vị trí quả dứa thứ 2 sẽ chỉ được gửi khi quả dứa thứ nhất đã được thu hoạch xong. Việc gửi tọa độ này sẽ diễn ra cho tới khi tất cả các tọa độđã được gửi đi. Quá trình chụp ảnh và làm lại các bước trên sẽ được thực hiện một lần nữa(một cách tự động) để đảm bảo có thể thu hoạch được các quả dứa đã bị che khuất bởi khóm dứa ở trước nó. Sau

Một phần của tài liệu Thiết kế hệ thống điều khiển robot thu hoạch dứa dựa trên công nghệ xử lý ảnh (Trang 29)

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

(108 trang)