- Những vùng khoanh màu xanh là khu vực được tạo ra để xác định đối tượng trong trạngthái cố định gốc ban đầu.- Những vùng khoanh màu đỏ là vùng mà đối tượng được xác định theo thời gian
Trang 1TÂN PHÁT
Địa chỉ: Số 168 – Phan Trọng Tuệ - Thanh Trì – Hà Nội Điện thoại: 04.3685.7776/ Fax: 04 3685.7775 Website: www.tpa.com.vn - Email: tpa@tpa.com.vn
HƯỚNG DẪN LẬP TRÌNH
NATIONAL INSTRUMENT SMART CAMERA
Trang 21 Cài đặt phần mềm sử dụng NI-ISC-1780
- Phần mềm kết nối máy tính với camera NI-MAX: Vào địa chỉ
NI-DAQmx phiên bản mới nhất
- Phần mềm xử lý ảnh NI Vision Buider AI 201x: Vào địa chỉ
http://www.ni.com/en-
- Key cài đặt phần mềm NI Vision Buider : H21M19054
- Key cài đặt phần mềm Vision Acquisition : H21M18613
2 Kết nối NI-ISC-1780 Camera với máy tính
- Mở và chạy phần mềm NI MAX
- Các bước thực hiện theo thứ tự như hình dưới:
Trang 3LẬP TRÌNH NATIONAL INSTRUMENT SMART CAMERA
Chú ý:
- Địa chỉ IP mặc định của camera sẽ ở là 169.254.xx.xxx, do đó tùy thuộc vào cài đặt IP của
mạng nội bộ làm việc, ta sẽ tạo IP tương ứng cho camera
- Trường hợp ở phần “Remote System” không thấy xuất hiện ID của camera thì cần phải
kiểm tra lại driver đã cài đặt đúng và đủ hay chưa
3 Hướng dẫn xử lý ảnh trên phần mềm NI Vision Buider AI 2018
Đây là phần hướng dẫn cài đặt, xử lý ảnh và lấy dữ liệu camera cho trạm bàn xoay-robot lắp
ráp bóng đèn Để biết chuyên sâu hơn về thủ thuật xử lý ảnh, cần xem thêm tài liệu hướngdẫn của hãng sản xuất theo địa chỉ:http://www.ni.com/pdf/manuals/373379h.pdf
3.1 Kết nối camera với phần mềm
- Mở và chạy phần mềm NI Vision Buider AI 2018
- Kết nối camera với phần mềm theo các bước như hình dưới
Trang 5LẬP TRÌNH NATIONAL INSTRUMENT SMART CAMERA
Chú ý:
- Địa chỉ IP nhập vào là địa chỉ IP đã được cài đặt ở bước 2
- Việc thay đổi giá trị cổng (Port) sẽ rất hạn chế vì nó phụ thuộc vào cài đặt của nhà sảnxuất, đối với NI-ISC-1780 thì có giá trị là 503
3.3 Chương trình xử lý ảnh đui đèn
Đây là giao diện của chương trình xử lý ảnh trên phần mềm NI Vision Buider AI 2018
Trang 6- Những vùng khoanh màu xanh là khu vực được tạo ra để xác định đối tượng trong trạngthái cố định gốc ban đầu.
- Những vùng khoanh màu đỏ là vùng mà đối tượng được xác định theo thời gian thực, dựatheo sự thay đổi của toàn bộ vật thế theo tâm của nó
- Ở phần “Inspect”, các bước thực hiện có màu xanh và xuất hiện chữ “PASS” chứng tỏ kết quả phát hiện đối tượng thành công, còn nếu là màu đỏ và có chữ “FAIL” thì sẽ không có
đối tượng nào được phát hiện
Dưới đây là các bước thực hiện trong chương trình xử lý ảnh:
Trang 7LẬP TRÌNH NATIONAL INSTRUMENT SMART CAMERA
Read and Write I/O
Bước này nhằm mục đích tạo ra tín hiệu xung để Robot có thể kết nối trực tiếp và lấy dữ liệu
từ camera thông qua lệnh “Trigger” Việc cài đặt tín hiệu đọc, ghi; cổng giao tiếp hay nội
dụng thực hiện lệnh tùy thuộc vào quá trình cài đặt của hệ thống PLC và Robot
Tạo tín hiệu Trigger cho camera
Trang 8 Hiệu chỉnh camera
Bước này là rất quan trọng để tìm ra gốc tọa độ thực của bàn xoay, từ đó gốc làm việc của
robot sẽ được xác định Việc hiệu chuẩn không chính xác thì sẽ ảnh hưởng lớn đến hiệu quảlàm việc của cả dây chuyền lắp ráp
Các bước thực hiện theo như hình dưới
- Bước 1
- Bước 2
Giao diện để thay đổi các thông số của quá trình hiệu chỉnh, bao gồm các nội dung trong ô
khoanh đỏ
Trang 9LẬP TRÌNH NATIONAL INSTRUMENT SMART CAMERA
- Bước 3: Thay đổi ảnh “check board”
Yêu cầu phải có ít nhất 1 ảnh được chọn để thực hiện các bước hiệu chỉnh tiếp theo Ảnh
sau khi chọn sẽ được khoanh vùng màu đỏ Ta kích chuột vào tab “Next” để chuyển sang
bước tiếp theo
Trang 10- Bước 4: Xác định khoảng cách thực
Ta xác định 2 điểm (kích chọn tâm của 2 đường tròn), khoảng cách tâm giữa 2 hình tròn là
10 mm Nếu chọn các điểm thuộc tâm các hình tròn cách nhau 1, 2, 3, … hình tròn khác thìkhoảng cách thực sẽ là 10, 20, 30, … mm Nên chọn điểm làm gốc nằm trong vùng chính
giữa trường nhìn của camera Tạo điểm xong ta kích vào tab “Next” để thực hiện bước tiếp
theo
- Bước 5: Tính độ méo ảnh của camera
Ta kích vào tab “Next” để thực hiện bước tiếp theo.
Trang 11LẬP TRÌNH NATIONAL INSTRUMENT SMART CAMERA
- Bước 6: Yêu cầu phải có ít nhất 1 ảnh được chọn để thực hiện các bước hiệu chỉnh tiếp
theo Ảnh sau khi chọn sẽ được khoanh vùng màu đỏ Ta kích chuột vào tab “Next” để
chuyển sang bước tiếp theo
Trang 12- Bước 7: Trích xuất vùng lưới điểm để hiệu chỉnh
Trước tiên ta thực hiện khoanh vùng lưới điểm, có các chế độ khoanh vùng khác nhau, ở đây
ta chọn chế độ hình chữ nhật với đường viền bao màu xanh lá cây Các thông số được thiếtlập như trong hình, có thể thay đổi tùy thuộc vào từng điều kiện thực tế để xây dựng được
ảnh có độ sắc nét cao nhằm giảm sai số cho quá trình hiệu chỉnh camera
Sau khi thiết lập xong, ta kích vào tab “Next” để thực hiện bước tiếp theo.
Trang 14 Acquire Images
Đây là bước chụp ảnh từ camera, ta có thể tùy chỉnh các thông số ở các “Tool box” để thu
được bức ảnh có chất lượng tốt nhất Ngoài ra bước này cũng thực hiện đồng thời quá trình
hiệu chỉnh camera, nhằm xác định tọa độ gốc làm việc Bước này để thu nhận ảnh của đối
Trang 16 Match Pattern
Sau khi hiệu chỉnh camera và chuyển định dạng ảnh sang “Grayscale”, ta dùng công cụ
“Match Pattern” để khoanh vùng vị trí đối tượng mà ta muốn phát hiện Để có được
vùng làm việc tối ưu thì cần phải thiết đặt các thông số hợp lý tùy thuộc vào từng đối
tượng và điều kiện làm việc
Set Coordinate System
Trang 17LẬP TRÌNH NATIONAL INSTRUMENT SMART CAMERA
hiệu chỉnh trước đó Ở đây ta dùng công cụ “Set Coordinate System” để thực hiện điều
đó
Count Pixels
Sử dụng công cụ này để phát hiện những đối tượng nhỏ trên vật hoặc chất lượng thunhận ảnh kém (có thể do độ phân giải camera, ánh sáng, nhiễu,…) dựa trên kích thước
điểm ảnh Các thông số sẽ được điều chỉnh dựa theo đối tượng và điều kiện làm việc cụ
thể Trong trường hợp này, chân pin (khoanh tròn màu đỏ) là đối tượng như vậy, chúng
được che phủ bởi những điểm ảnh màu xanh
Find Circular Edges
Với những đối tượng hiển thị trên ảnh được xem như là đường tròn thì sử dụng công cụ
“Find Circular Edges” để có thể phát hiện chúng một cách hiệu quả Các bước thực hiện
khá đơn giản, việc di chuyển bằng tay và xác định kích thước vùng khoanh tròn màuxanh để định tâm đường tròn cần phát hiện là yếu tố quan trọng Ở đây sẽ có 2 đường
tròn màu xanh đồng tâm có đường kính khác nhau và kích thước đối tượng cần phát hiện
sẽ dựa vào độ chênh bán kính của 2 đường tròn này với 2 hướng “Outside to Inside hoặc
Inside to Outside”.
Trang 18 Logical Calculator
Trang 19LẬP TRÌNH NATIONAL INSTRUMENT SMART CAMERA
Mục đích thực hiện bước này là để xác định dữ liệu nhận được từ camera có đúng và đủnhững thông tin cần gửi ra cho robot làm việc hay không Nếu một trong số các dữ liệukhông nhận được, tương đương với việc sẽ có một đối tượng không được phát hiện
Robot sẽ thực hiện thao tác khi nhận gói dữ liệu được xác định tín hiệu “TRUE”(khác 0)
và ngược lại sẽ không làm việc khi tín hiệu gửi ra là “FALSE”(bằng 0) Các giá trị trong
gói dữ liệu của camera sẽ được “Insert” vào ô “Expression”
Trang 20 TCP I/O
Đây là bước cuối cùng để gửi dữ liệu từ camera tới robot Các bước thực hiện theo thứ
tự được đánh số trong hình vẽ Chú ý, ở bước 7 và 8 thì cần phải thiết đặt phù hợp với
chương trình dữ liệu của robot
Chú ý:
- Mỗi lẩn vào lấy dữ liệu thì robot cần kết nối với camera
- Sau khi robot lấy dữ liệu xong thì cần đóng socket (ngắt kết nối camera) để robotkhác vào lấy dữ liệu
3.3 Chương trình robot lấy dữ liệu
Chương trình robot universal
Trang 21' dong socket camera '
Chương trình robot ABB
PERS num nAng_Z:=-0.824;
PERS num nCount_Vision:=7;
PERS num nNG_Count:=5;
Trang 22PERS num nOK_Count:=3;
PERS num nTilting_Angle:=6;
PERS bool value_camera:=TRUE;
PERS bool bVision:=FALSE;
TASK PERS num length:=0;
TASK PERS num Angle:=0;
TASK PERS num Vit1_x:=0;
TASK PERS num Vit1_y:=0;
TASK PERS num Vit2_x:=0;
TASK PERS num Vit2_y:=0;
TASK PERS num Nsign:=0;
PERS bool Vision_data_OQC_OK:=FALSE;
PERS string AngleData:=" ";
PERS string X1_Data:=" ";
PERS string Y1_Data:=" ";
PERS string X2_Data:=" ";
PERS string Y2_Data:=" ";
pers string sign:="0";
VAR bool bOKANGLE:=TRUE;
VAR bool bResult:=TRUE;
PERS bool bVisionTest:=TRUE;
PERS bool bVisionStart:=TRUE;
Trang 23LẬP TRÌNH NATIONAL INSTRUMENT SMART CAMERA
PROC rConnectVison() ! chuong trinh ket noi camera
var num found:=0;
var num length:=0;
IF length>= 40 AND length<=50 THEN
AngleData:=StrPart(stReceived,2,8); ! chuoi goc xoay
X1_Data:=StrPart(stReceived,11,8); ! chuoi toa do X vit 1
Y1_Data:=StrPart(stReceived,20,8); ! chuoi toa do Y vit 1
X2_Data:=StrPart(stReceived,29,8); ! chuoi toa do X vit 1
Y2_Data:=StrPart(stReceived,38,8); ! chuoi toa do Y vit 2
WaitTime 0.1;
SocketClose ComChannel; ! dong socket
Trang 24WaitTime 0.1;
bOKANGLE:=StrToVal(X1_Data,Vit1_x); ! chuyen toa do X vit 1 thanh sobOKANGLE:=StrToVal(Y1_Data,Vit1_y); ! chuyen toa do Y vit 1 thanh sobOKANGLE:=StrToVal(X2_Data,Vit2_x); ! chuyen toa do X vit 2 thanh sobOKANGLE:=StrToVal(Y2_Data,Vit2_y); ! chuyen toa do Y vit 2 thanh soELSE