MỤC LỤC
Việc lựa chọn một ngưỡng phù hợp là yếu tố quan trọng để làm nhị phân hóa ảnh và ảnh hưởng đến hiệu suất của việc phát hiện mã QR, và ZXing sử dụng một phương pháp kết hợp trung bình khối địa phương cho nó. Trong quỏ trỡnh phỏt hiện, một mẫu đen-trắng-đen-trắng-đen với tỉ lệ tương ứng là 1:1:3:1:1, tương ứng với một phần ngang của mẫu tìm kiếm, sẽ được so khớp để nhanh chóng xác định sự tồn tại của mã QR. Sau khi mẫu hóa pixel trung tâm của mỗi mô-đun để thu thập thông tin về toàn bộ mô-đun, cuối cùng, một ma trận được tạo thành sau khi tất cả các mô-đun đã được mẫu hóa.
ZXing, còn được gọi là zebra crossing, là một thư viện xử lý hình ảnh mã vạch đa định dạng 1D/2D mã nguồn mở được thực hiện bằng ngôn ngữ Java, với các phiên bản dành cho các ngôn ngữ khác. Thư viện ZXing có khả năng xử lý và giải mã nhiều loại mã vạch khác nhau, làm cho nó trở thành một công cụ hữu ích cho việc nhận dạng và xử lý thông tin từ các hình ảnh mã vạch. • Tiền xử lý hình ảnh: Hình ảnh được chuyển đổi thành ảnh xám và được điều chỉnh kích thước sao cho một mô-đun duy nhất tương đương với một pixel trên màn hình, nhằm tạo ra một tiêu chuẩn làm cho quá trình phát hiện dễ dàng hơn.
• Phát hiện mã QR: Thư viện phân tích ma trận bit để tìm các mẫu mã QR, chẳng hạn như các mẫu căn chỉnh và các mẫu tìm kiếm, sau đó trích xuất thông tin về định dạng và phiên bản. • Giải mã mã QR: Thư viện giải mã mã QR bằng cách đọc dữ liệu được mã hóa và chuyển đổi thành thông tin ban đầu, áp dụng sửa lỗi để phát hiện lỗi và sửa chúng nếu có thể.
Sau khi Robot đã gắp vật và nhận tín hiệu sau khi xử lý ảnh, nó sẽ di chuyển đến vị trí đã được thiết lập trước để thả vật. 14 HAND Key Chuyển chế độ Bàn tay máy, cho phép thao tác đóng mở bàn tay máy khi cấp khí nén 15 CHARACTER Chuyển phím chữ / số khi viết chương trình. • Nội suy từng khớp (Joint Interpolation) là quá trình điều khiển nội suy cho từng khớp riêng lẻ, bắt đầu chuyển động và hoàn thành đến điểm đích cùng một thời gian từ điểm bắt đầu đến điểm cuối.
• Nội suy tuyến tính (Linear Interpolation) là quá trình điều khiển nội suy, đảm bảo rằng đường quỹ đạo chuyển động từ điểm đầu đến điểm cuối là một đoạn thẳng. • Nội suy cung tròn (Circular Interpolation) là quá trình khi khâu tác động cuối của Robot di chuyển theo một cung tròn. Trong trường hợp vị trí hiện tại khác điểm bắt đầu thực hiện nội suy cung tròn, khâu tác động cuối của Robot sẽ tự động di chuyển đến điểm bắt đầu nội suy theo đường thẳng và sau đó bắt đầu thực hiện chương trình nội suy.
Tạo một chương trình điều khiển chuyển động Robot bằng R33TB Cần gắp vật tại điểm 1 và thả vào điểm 2 như hình minh họa. Người dùng và người vận hành có thể điều khiển chuyển động của Robot, hoạt động của các công cụ gắp tại khâu tác động cuối và thay đổi tốc độ chuyển động của Robot cũng như giá trị tăng giảm tốc bằng cách gửi dữ liệu vào các bộ nhớ đệm đã được định sẵn chức năng. Trong chức năng Sequencer Direct, vị trí phải được biểu diễn dưới dạng tọa độ Descartes, tức là vị trí của khâu tác động cuối so với vị trí gốc của Robot.
Output Đầu ra tác động khi có lỗi xảy ra - Việc thực hiện chức năng Sequencer Direct, cần có các thanh ghi đệm chứa thông tin về câu lệnh chuyển động, cùng các thanh ghi chứa thông tin báo trạng thái của chuyển động đó. Chương trình này thực hiện lệnh nội suy khớp để di chuyển cánh tay Robot đến vị trí 1 (vị trí này đã được Teaching trước đó trong bộ điều khiển CR800). Trong quá trình này, hình ảnh được sử dụng làm đầu vào và kết quả đầu ra là văn bản chứa nội dung của các chữ viết, ký tự xuất hiện trong hình ảnh đó.
PLC sẽ tiếp nhận tín hiệu và thực hiện điều khiển Robot để gắp chữ cái theo yêu cầu, và đặt chúng vào vị trí đã được định vị trước đó. Chương trình điều khiển băng tải: Sử dụng để điều khiển các trạng thái chạy/dừng của băng tải nhằm phối hợp với các trạng thái di chuyển của Robot. Chương trình điều khiển băng tải: Sử dụng để điều khiển các trạng thái chạy/dừng của băng tải nhằm phối hợp với các trạng thái di chuyển của Robot.
Chương trình điều khiển Robot được sử dụng để điều khiển các trạng thái hoạt động của Robot, bao gồm di chuyển đến từng vị trí mong muốn đã được cài đặt trong bộ điều khiển. Mô hình này cung cấp một cách có cấu trúc và tổ chức để thiết kế và xây dựng các ứng dụng, giúp tách biệt các mối quan tâm về dữ liệu, trình bày và tương tác người dùng.
(dành cho các ứng dụng WPF) để xác định các thành phần trực quan và bố cục. Nó xử lý đầu vào của người dùng nhận được từ View, tương tác với Model để truy xuất hoặc cập nhật dữ liệu và cập nhật View tương ứng. Trong C#, các Controller được triển khai dưới dạng các lớp xử lý luồng logic của ứng dụng và giao tiếp giữa Model và View.
Với trang web báo cáo kết quả của nhóm, tôi đã thực hiện tạo ra một cơ sở dữ liệu. Từ đó, tôi đã tạo "DataReportModel" để truy xuất dữ liệu từ cơ sở dữ liệu đó và phục vụ cho việc hiển thị trên View. Tiếp theo, mở phần mềm Visual Studio Code lên để chạy giao diện điều khiển hệ thống.
✓ Để bật tín hiệu cấp quyền điều khiển Robot cho PLC, nhấn nút IOENA trên bảng điều khiển, chuyển sang chế độ Auto và nhấn nút SERVO on. ✓ Khi vật đi qua cảm biến, băng tải sẽ dừng lại để Camera chụp, lưu và xử lý ảnh. Đồng thời khi đó, Robot sẽ di chuyển đến vị trí chờ hút vật.
✓ Khi băng tải đưa vật đến vị trí hút, Robot sẽ thực hiện hút vật và di chuyển đến 1 trong các vị trí đã được cài đặt sẵn theo kết quả của quá trình xử lý ảnh. ✓ Sau đó, Robot di chuyển về vị trí chờ, kết thúc một chu trình chuyển động.
• Hệ thống Robot đã vận hành ổn định và thực hiện được mục tiêu đặt ra ban đầu của đồ án là nhận diện QR Code và hút thả chính xác vị trí của vật. Tuy nhiên, khi hoạt động ở tốc độ cao, hệ thống có xuất hiện hiện tượng rung lắc, do đó cần lựa chọn tốc độ phù hợp khi vận hành. • Ngoài ra, hệ thống Camera nhận diện vẫn còn hạn chế khi hoạt động trong điều kiện ánh sáng yếu, khi đó sẽ luôn trả về kết quả nhận diện QR Code là.