Đang tải... (xem toàn văn)
KHOA: KỸ THUẬT& KHOA HỌC MÁY TÍNHĐỒ ÁN GIỮA KÌ
MÔN: ROBOTICS VÀ ỨNG DỤNG
ĐỀ TÀI:
ROBOT GẮP CHAI NƯỚC TRONG SẢN XUẤT GIẢNG VIÊN: CHUNG TẤN LÂM
SINH VIÊN: NGUYỄN HIẾU KHA
Trang 23 Mục tiêu nghiên cứu 2
4 Đối tượng và phạm vi nghiên cứu 3
5 Phương pháp nghiên cứu 3
2.1 Giới thiệu về Python 5
2.2 Ưu điểm của Python trong lập trình robot 5
III.PHÂN TÍCH CÁCH DÙNG ROBODK 6
1 Mô hình hóa bàn xoay 1 trục 6
2 Xác định tham chiếu của bàn xoay bằng cách tạo một hệ tọa độ mới: 7
3 Khai báo mô hình 3D Dobot CR10 8
4 Tạo chương trình 11
4.1 Lệnh Set Reference Frame 12
4.2 Lệnh Set Tool Frame 13
Trang 34.14 Thiết lập tham số cho việc sinh chương trình 24
IV.GIẢI THÍCH CHƯƠNG TRÌNH 26
V.KẾT LUẬN 41
TÀI LIỆU THAM KHẢO 42
Trang 4Hình 5: Điều chỉnh cơ chế của KR150_R3300_K_prime 10
Hình 6: Thêm lệnh cho chương trình 11
Hình 7: Báo lỗi điểm kì dị 12
Hình 8: Chuyển Linear Move sang Joint Move 12
Hình 9: Đặt hệ tọa độ tham chiếu 13
Hình 19: Lệnh sự kiện Detach object 20
Hình 20: RUN chương trình mô phỏng 21
Hình 21: Chọn chạy chương trình tại lệnh chuyển động 21
Hình 22: Sinh chương trình cho bộ điều khiển robot cụ thể từng hãng 22
Hình 23: Truyền chương trình xuống robot 23
Hình 24: Chọn một Post Processor cho một robot cụ thể 24
Trang 5Hình 26: Các tùy chọn để chuyển đổi chuyển động 26
Hình 27: Các tùy chọn giới hạn chương trình 27
Hình 28: Khung tham chiếu World 28
Hình 29: Đối tượng floor 29
Hình 30: Đối tượng bệ đỡ 29
Hình 31: Đối tượng chai nước 30
Hình 32: Khung tham chiếu Conveyor In Base 30
Hình 33: Chai nước trên băng tải 31
Hình 43: Gripper RobotiQ 85 Closed 35
Hình 44: Event Instruction cho Pick_Bottle 35
Hình 45: Event Instruction cho Drop_Bottle 36
Hình 46: Chương trình Get_Bottle_In 36
Hình 47: MoveJ của App_Pick 37
Hình 48: MoveL của Pick 37
Hình 49: Program Call Instruction của Pick_Bottle 38
Hình 50: Chương trình: Replace_Object 38
Hình 51: Event Instruction của Replace_Object 38
Hình 52: Chương trình python băng tải 39
Trang 6LỜI MỞ ĐẦU
Trong thời đại công nghệ ngày nay, lĩnh vực robotics không chỉ là một lĩnh vực nghiên cứu mà còn trở thành một trong những phần quan trọng của cuộc sống hàng ngày Việc ứng dụng robotics trong nhiều lĩnh vực công nghiệp và dịch vụ đang đem lại những tiện ích và hiệu quả vượt bậc Trong báo cáo này, em sẽ tập trung vào một ứng dụng cụ thể của robotics, đó là việc sử dụng phần mềm RoboDK để thiết kế và điều khiển một robot gắp thả vật.
Robot gắp thả vật là một ứng dụng quan trọng trong ngành sản xuất và đóng gói Việc tự động hóa quy trình sản xuất không chỉ giảm thiểu sự phụ thuộc vào lao động nhân công mà còn tăng cường hiệu suất và chất lượng sản phẩm Bằng cách sử dụng phần mềm RoboDK, chúng tôi đã có thể tạo ra một mô hình robot và mô phỏng quy trình sản xuất một cách chính xác và hiệu quả.
Trong báo cáo này, em sẽ trình bày quá trình thiết kế và triển khai một hệ thống robot gắp thả sử dụng phần mềm RoboDK Em sẽ trình bày chi tiết về các bước cần thiết để tạo ra một mô hình robot, lập trình các chuyển động và kiểm tra tính khả thi của hệ thống Cuối cùng, em sẽ đánh giá hiệu suất của hệ thống và những lợi ích mà việc sử dụng robotics mang lại cho quy trình sản xuất.
Hy vọng rằng báo cáo này sẽ cung cấp cho độc giả cái nhìn tổng quan và chi tiết về ứng dụng của robotics trong việc tự động hóa quy trình sản xuất Em mong rằng thông tin trong báo cáo sẽ giúp đẩy mạnh sự phát triển của ngành công nghiệp robotics và ứng dụng của nó trong các lĩnh vực khác nhau
Trang 7LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc đến giảng viên Chung Tấn Lâm đã tận tình hướng dẫn và truyền đạt kiến thức cho em trong suốt quá trình thực hiện bài báo cáo Nhờ sự hướng dẫn tận tâm và những lời khuyên quý báu của thầy, em đã hoàn thành được bài báo cáo một cách tốt nhất Em cũng xin cảm ơn các bạn sinh viên trong lớp đã luôn nhiệt tình hỗ trợ và giúp đỡ em trong quá trình nghiên cứu và hoàn thành bài báo cáo Em đã cố gắng hết sức để hoàn thành bài báo cáo này một cách khoa học, logic và đầy đủ thông tin Tuy nhiên, do trình độ và kiến thức còn hạn chế, nên bài báo cáo có thể còn thiếu sót một số vấn đề Em xin chân thành tiếp thu mọi ý kiến đóng góp của Ban Giám khảo để hoàn thiện bài báo cáo của mình hơn nữa.
Trang 8I CHƯƠNG 1: TỔNG QUAN
1 Lý do chọn đề tài
Trong bối cảnh của cuộc cách mạng công nghiệp 4.0, sự tiến bộ trong lĩnh vực robot và tự động hóa đang định hình lại cách chúng ta sản xuất, từ việc tăng cường hiệu suất đến việc tối ưu hóa chi phí và quản lý rủi ro Cùng với sự phát triển của công nghệ, sự đa dạng và linh hoạt trong việc ứng dụng robot trong môi trường sản xuất cũng đang được nâng cao, mở ra nhiều cơ hội mới và thách thức trong việc tối ưu hóa quy trình sản xuất Trong bối cảnh này, sự xuất hiện của các hệ thống robot gắp thả vật đã trở thành một trong những lựa chọn quan trọng trong việc tự động hóa quy trình sản xuất Các hệ thống này không chỉ giúp tăng cường hiệu suất và chính xác trong quy trình làm việc mà còn giảm thiểu sự can thiệp của con người vào môi trường làm việc, đặc biệt là trong những môi trường nguy hiểm hoặc đòi hỏi độ chính xác cao.
Trong nghiên cứu này, chúng tôi tập trung vào việc nghiên cứu và ứng dụng một hệ thống robot gắp thả vật được tích hợp trong phần mềm RoboDK RoboDK không chỉ là một công cụ mạnh mẽ cho việc mô phỏng và lập trình robot mà còn cung cấp một môi trường linh hoạt và dễ sử dụng cho việc tích hợp robot vào quy trình sản
xuất.Chúng tôi sẽ phân tích cách mà con robot gắp thả vật có thể được sử dụng trong các ứng dụng sản xuất cụ thể Chúng tôi cũng sẽ đánh giá những ưu điểm và hạn chế của việc sử dụng robot trong các tình huống thực tế, cũng như đề xuất các giải pháp để tối ưu hóa hiệu suất và tích hợp robot vào quy trình sản xuất hiện tại.
Với sự tiện ích và linh hoạt của RoboDK và tính năng gắp thả vật của robot, chúng tôi hy vọng rằng nghiên cứu này sẽ cung cấp một cái nhìn tổng quan và sâu sắc về việc áp dụng công nghệ robot trong ngành sản xuất, đồng thời góp phần vào sự phát triển của ngành công nghiệp tự động hóa trong tương lai.
2 Lịch sử lĩnh vực sản xuất bằng robot
Sự phát triển của robot trong lĩnh vực sản xuất bắt đầu từ những năm đầu của thế kỷ 20, khi các robot công nghiệp đầu tiên được giới thiệu vào các quy trình sản xuất công nghiệp Ban đầu, các robot này thường chỉ có khả năng thực hiện các tác vụ cụ thể và có ít tính linh hoạt Tuy nhiên, qua các giai đoạn tiến hóa công nghệ, robot công nghiệp đã trở nên linh hoạt hơn và có khả năng thích ứng với nhiều ứng dụng khác nhau.
Trong những năm gần đây, xu hướng sử dụng robot gắp thả vật trong môi trường sản xuất đã trở nên phổ biến hơn Các công ty sản xuất đang nhìn nhận giá trị của robot gắp thả vật trong việc tăng cường hiệu suất và linh hoạt trong quy trình sản xuất Thay vì sử dụng các hệ thống cố định, robot gắp thả vật có khả năng thích ứng với các vật phẩm có hình dạng và kích thước khác nhau, tạo ra sự linh hoạt đáng kể trong quy
Trang 9Một yếu tố quan trọng đằng sau sự phát triển của robot trong sản xuất là sự tiến bộ trong phần mềm mô phỏng và lập trình robot Các phần mềm như RoboDK đã mang lại một cách tiếp cận mới cho việc tích hợp và lập trình robot trong môi trường sản xuất RoboDK cung cấp một môi trường mô phỏng 3D và giao diện lập trình trực quan, giúp người dùng dễ dàng mô phỏng, lập trình và tích hợp robot vào các quy trình sản xuất hiện tại một cách linh hoạt và hiệu quả.
3 Mục tiêu nghiên cứu
Mục tiêu chính của nghiên cứu này là nghiên cứu và phân tích cách mà một con robot gắp thả vật được tích hợp trong phần mềm RoboDK có thể được ứng dụng trong môi trường sản xuất Nghiên cứu này không chỉ giúp chúng tôi hiểu rõ hơn về khả năng và tiềm năng của con robot gắp thả vật trong môi trường sản xuất mà còn cung cấp thông tin quan trọng cho các doanh nghiệp muốn áp dụng công nghệ robot vào quy trình sản xuất của họ Bằng cách tìm hiểu và đánh giá sâu sắc về việc sử dụng robot gắp thả vật, chúng tôi hy vọng có thể đưa ra các khuyến nghị và giải pháp cụ thể để tối ưu hóa quy trình sản xuất và nâng cao hiệu suất của doanh nghiệp.
4 Đối tượng và phạm vi nghiên cứu
Đối tượng của nghiên cứu này là con robot gắp thả vật được tích hợp trong phần mềm RoboDK, cũng như các ứng dụng của nó trong môi trường sản xuất Chúng tôi sẽ tập trung vào việc nghiên cứu và đánh giá khả năng linh hoạt, tính ứng dụng và tiềm năng của con robot này trong quy trình sản xuất.
5 Phương pháp nghiên cứu
Chúng tôi sẽ sử dụng phần mềm RoboDK để xây dựng một mô hình mô phỏng 3D của con robot gắp thả vật và các môi trường sản xuất tương ứng Mô hình sẽ được thiết kế để phản ánh môi trường sản xuất thực tế cũng như các nhiệm vụ cụ thể mà robot sẽ thực hiện.
6 Động lực nghiên cứu
Việc lựa chọn nghiên cứu về con robot gắp thả vật trong môi trường sản xuất bắt nguồn từ nhận thức về sự quan trọng của tự động hóa và robot hóa trong ngành công nghiệp hiện đại Trong khi các công nghệ robot truyền thống thường được sử dụng cho các ứng dụng cụ thể, như lắp ráp dây chuyền sản xuất, robot gắp thả vật mở ra một lĩnh vực mới với tiềm năng linh hoạt và đa dạng ứng dụng.
Mục tiêu của chúng tôi là tìm hiểu sâu hơn về tính linh hoạt và tính ứng dụng của con robot gắp thả vật trong môi trường sản xuất Chúng tôi tin rằng việc hiểu rõ về khả năng và hạn chế của robot này sẽ giúp cải thiện quy trình sản xuất, tăng cường hiệu suất và giảm thiểu chi phí cho các doanh nghiệp.
Trang 10II. CƠ SỞ LÝ THUYẾT
1 RoboDK
1.1 Khái quát về RoboDK
Robodk là phần mềm mô phỏng robot 3D mạnh mẽ được phát triển bởi Mattar Robotics, có trụ sở chính tại Quebec, Canada Nó được sử dụng rộng rãi trong các ngành công nghiệp tự động hóa, sản xuất, giáo dục và nghiên cứu để mô phỏng và lập trình robot Robodk cung cấp giao diện trực quan, dễ sử dụng, cho phép người dùng tạo mô hình robot, môi trường làm việc, thiết lập các tác vụ và mô phỏng chuyển động robot một cách chính xác.
Hình 1: Phần mềm RoboDK 1.2 Lịch sử hình thành và phát triển
RoboDK được phát triển bởi công ty RoboDK Inc., được thành lập vào năm 2015 tại Quebec, Canada Từ khi ra mắt, RoboDK đã trải qua nhiều phiên bản cập nhật, đem lại những cải tiến đáng kể về tính năng và hiệu suất Sứ mệnh của RoboDK là đơn giản hóa và tối ưu hóa quá trình tích hợp robot vào dây chuyền sản xuất, giúp các doanh nghiệp tiết kiệm thời gian và chi phí.
1.3 Các tính năng chính của RoboDK
Mô hình robot 3D chính xác: Robodk cung cấp thư viện mô hình robot rộng lớn với dữ liệu kinematics chính xác, cho phép người dùng mô phỏng các robot thương mại phổ biến.
Môi trường làm việc 3D linh hoạt: Người dùng có thể tạo môi trường làm việc 3D chi tiết bao gồm các vật thể, đường dẫn, cảm biến và các thành phần khác để mô phỏng các tình huống thực tế.
Lập trình robot trực quan: Robodk cung cấp giao diện lập trình kéo thả trực quan cho phép người dùng tạo các chương trình robot phức tạp mà không cần kiến thức lập trình chuyên sâu.
Trang 11Mô phỏng chuyển động robot chính xác: Robodk sử dụng thuật toán mô phỏng tiên tiến để mô phỏng chuyển động robot một cách chính xác, giúp người dùng xác định và khắc phục các vấn đề tiềm ẩn trước khi triển khai robot thực tế.
Phân tích và tối ưu hóa chuyển động: Robodk cung cấp các công cụ phân tích và tối ưu hóa chuyển động giúp người dùng cải thiện hiệu suất và độ chính xác của các chuyển động robot.
Hỗ trợ nhiều ngôn ngữ lập trình: Robodk hỗ trợ nhiều ngôn ngữ lập trình phổ biến như Python, C++, C#, VB.NET, v.v., cho phép người dùng tạo các chương trình robot tùy chỉnh theo nhu cầu cụ thể của họ.
1.4 Các ứng dụng chính của RoboDK
Lập trình robot gắp thả: Robodk được sử dụng rộng rãi để lập trình robot gắp thả trong các ngành công nghiệp sản xuất, bao gồm lắp ráp, đóng gói, xử lý vật liệu, Mô phỏng hàn robot: Robodk được sử dụng để mô phỏng các quy trình hàn robot, giúp người dùng tối ưu hóa đường dẫn hàn và đảm bảo chất lượng mối hàn.
Mô phỏng gia công robot: Robodk được sử dụng để mô phỏng các quy trình gia công robot, bao gồm phay, tiện, mài, v.v., giúp người dùng cải thiện độ chính xác và hiệu quả gia công.
Đào tạo robot: Robodk được sử dụng để đào tạo kỹ thuật viên robot và người vận hành, giúp họ hiểu rõ hơn về cách vận hành robot và lập trình các tác vụ robot.
Nghiên cứu và phát triển robot: Robodk được sử dụng trong nghiên cứu và phát triển robot để thử nghiệm các thuật toán điều khiển robot mới và phát triển các ứng dụng robot mới.
2 Python
2.1 Giới thiệu về Python
Python là ngôn ngữ lập trình bậc cao được tạo bởi Guido van Rossum vào những năm 1990 Nó được biết đến với cú pháp đơn giản, dễ đọc, dễ học và dễ sử dụng, khiến nó trở thành lựa chọn phổ biến cho nhiều ứng dụng khác nhau, bao gồm cả lập trình robot.
Trang 12Hình 2: Ngôn ngữ lập trình python 2.2 Ưu điểm của Python trong lập trình robot
Dễ học và sử dụng: Python có cú pháp đơn giản và trực quan, giúp người mới bắt đầu dễ dàng tiếp cận và học lập trình.
Mã nguồn ngắn gọn: Python sử dụng ít mã hơn so với các ngôn ngữ lập trình khác để hoàn thành cùng một nhiệm vụ, giúp cho các chương trình robot trở nên dễ đọc và dễ bảo trì hơn.
Thư viện phong phú: Python sở hữu một cộng đồng nhà phát triển lớn và có sẵn nhiều thư viện cho các tác vụ khác nhau, bao gồm xử lý hình ảnh, học máy, điều khiển robot.
Khả năng mở rộng: Python có thể được mở rộng bằng cách sử dụng các module và thư viện bên ngoài, cho phép người dùng tùy chỉnh ngôn ngữ cho các nhu cầu cụ thể của họ.
Cộng đồng lớn: Python có một cộng đồng nhà phát triển lớn và tích cực, luôn sẵn sàng hỗ trợ và chia sẻ kiến thức với nhau.
III PHÂN TÍCH CÁCH DÙNG ROBODK
1 Mô hình hóa bàn xoay 1 trục
Bàn xoay thường dùng cho các ứng dụng robot gia công Thực hiện các bước sau để tạo một bàn xoay:
1 Load các mô hình 3D của bàn xoay: kéo thả các mô hình 3D vào cửa sổ RoboDK (như tập tin STL, STEP hay IGES).
Quan trọng: Mỗi phần chuyển động của bàn xoay nên là một đối tượng tách biệt trong trong RobotDK Ta có thể chia nhỏ một đối tượng thành các đối tượng con bằng cách
Trang 13click phải chuộc vào đối tượng đó và chọn Split Ta cũng có thể nhóm (group) chúng trở lại bằng cách chọn nhiều đối tượng và chọn Merge.
Quan trọng: để đơn giản việc tạo bàn xoay ta nên gán một hệ tọa độ tham chiếu với trục Z (trục màu xanh dương) cùng với trục chuyển động xoay.
Hình 3: Xây dựng và điều chỉnh cơ chế robot 2 Chọn Utilities➔Model Mechanism or Robot.
3 Chọn 1 trục xoay.
4 Nếu ta nhìn vào hình, nó cho ta thấy nền và tấm trên được định vị với nhau positioned Trong trường hợp trục quay, cơ cấu đó sẽ quay xung quanh trục Z của Hệ tọa độ nền Fb (Frame Base).
5 Đặt tên cơ cấu là TurnTable.
2 Xác định tham chiếu của bàn xoay bằng cách tạo một hệ tọa độ mới: 1 Tạo hệ tọa độ tham chiếu và chọn F2 đặt tên nó là Frame Base 2 Hiệu chỉnh vị trí của hệ tọa độ đó bằng cách mở Frame Panel 3 Chọn Tools và sau đó chọn Measurement.
4 Đo vị trí của bề mặt bằng cách kích chuộc vào cơ cấu; Ta có thể thấy sai lệch giữa điểm gốc (Origin) và tâm (center) Ta có thể copy các giá trị này và past vào như hình bên dưới.
Vị trí tham chiếu bây giờ phù hợp với tham chiếu như trong hình Hệ tọa độ tham chiếu và tên mục đối tượng được populated tự động Nếu việc chọn tự động không đúng ta có thể cập nhật cho đúng.
Trang 14Ta có thể cập nhật các giới hạn khớp, ví dụ ta muốn xoay +/-20 vòng ta nhập vào +/-7200 độ Ta cũng có thể thay đổi giới hạn khớp sau bằng cách click chuộc vào các nhãn giới hạn trong panel robot.
3 Khai báo mô hình 3D Dobot CR10 Các bước để thu thập thông tin về robot:
1 Đầu tiên, ta cần mô hình 3D (như tập tin STEP hay IGES).
2 Ta cũng cần datasheet của robot hay sổ tay kỹ thuật robot (robot manual) Thực hiện các bước sau để mở cửa sổ mô hình robot:
3 Chọn Utilities➔Model Mechanism or Robot.
4 Dưới mục Robot Type, chọn 6 Axis Collaborative Robot Chen các tập tin 3D vào RoboDK bằng cách làm theo các bước sau: -Kéo thả robot vào RoboDK hay chọn select file và sau đó open.
Lưu ý: Một vài tập tin STEP không có màu sắc khi chen vào; ví dụ, nếu ta chen một robot KUKA, thì màu của nó là màu cam, không phải màu xám Trong trường hợp này, ta có
thể thay đổi màu của robot bằng cách chọn Tools➔Change Color Ta có thể đơn giản là
gở bỏ màu bằng cách click vào mỗi thành phần của robot và chọn Remove.
-Thực hiện các bước sau để chia nhỏ một object thành các thành phần khác nhau và ta có thể xử lý từng phần riêng biệt:
-Nếu tập tin CAD mà bạn download ở dạng một object đơn, ta có thể rã nhóm (ungroup) object (tập tin STEP) bằng cách click phải chuộc lên bất kỳ object nào và chọn Split Object.
Trang 15Hình 4: KR150_R3300_K_prime
-Ta có thể nhóm lại (regroup) để tạo các thành phần khác nhau của robot Thực hiện các bước sau để nhập thông tin động học của robot trong RoboDK: -Đặt tên cho robot vào mục Robot Name.
-Nếu các thành phần của robot theo thứ tự đúng, khi đó tất cả các mô hình 3D được gộp lại đúng Mặc khác, ta có thể liên kết bằng tay từng object tạo thành một khớp robot đúng.
-Điều thông tin kích thước của robot bằng cách mở data sheet.
-Trên bản vẽ 3D của data sheet, ta sẽ tìm được tất cả giá trị cần tìm Điền các giá trị đó vào RoboDK.
-Khi hài lòng với kết quả động học của robot, chọn Update.
Trang 16Hình 5: Điều chỉnh cơ chế của KR150_R3300_K_prime
Note: dùng bảng đều khiển robot để quay từng khớp Use để bảo đảm số liệu động học nhập chính xác
Synchronize Additional Axes
Ta có thể đồng bộ một cánh tay robot với các trục ngoài Các trục ngoài có thể đơn giản là một bộ định vị hay cũng có thể được đồng bộ với cùng bộ điều khiển robot Khi được đồng bộ với bộ điều khiển, robot và các trục ngoài có thể di chuyển cùng lúc trong khi vẫn giữ được các chuyển động thẳng chính xác tương đối với một hệ tọa độ.
Note: không phải tất cả bộ điều khiển robot đều hỗ trợ đồng bộ chuyển động giữa robot và trục ngoài, trong trường hợp đó ta không nên đồng bộ mà có thể dùng trục ngoài như là bộ định vị
Click phải chuộc vào Dobot CR10 và chọn Visible Object Reference Robot thẳng đứng
phù hợp với hình tham khảo trong cửa sổ Robot Builder Thêm một hệ tọa độ tham chiếu vào Station
Đặt tên là Frame Robot và ta có thể kéo thả robot vào hệ tọa độ này
Trang 174 Tạo chương trình
Việc mô phỏng có thể được thực hiện bằng cách thêm một chuỗi lệnh trong một chương trình Mỗi lệnh đại diện cho mã cụ thể cho một bộ điều khiển cụ thể, tuy nhiên, RoboDK cung cấp giao diện người dùng đồ họa (GUI) để xây dựng các chương trình robot dễ dàng hơn không cần phải viết từng mã lệnh trực tiếp
Để tạo một chương trình mới trên RoboDK:
-Chọn Program➔ Add Program hoặc chọn trên thanh công cụ.-Chọn Tools➔Rename item… (F2) để đổi tên chương trình.
Việc này sẽ tạo một chương trình mới và cho phép thêm các lệnh mới bằng cách nhấp
chuột phải vào chương trình hoặc chọn từ menu Program.
Hình 6: Thêm lệnh cho chương trình Lệnh Linear Move
Chọn Program➔ Move Linear Instruction để thêm một lệnh chuyển động thẳng hay
chọn nút trên thanh công cụ.
Chuyển khớp và chuyển động thẳng có cùng hành vi chuyển động nên có thề chuyển đổi qua lại với nhau.
Quan trọng: Yêu cầu giữ chuyển động đầu tiên của chương trình là một chuyển động khớp dùng Joint Target Việc này sẽ thiết lập được cấu hình đúng như mong muốn ngay từ chuyển động đầu tiên và đảm bảo robot thật di chuyển giống với mô phỏng.
Trái với chuyển động khớp, chuyển động thẳng là có tính đến các điểm kỳ dị của robot và giới hạn trục quay Ví dụ, robot 6 trục không thể vượt qua một điểm kỳ dị bằng một chuyển động thẳng Hình bên dưới là một ví dụ về báo lỗi điểm kỳ dị.
Trang 18Hình 7: Báo lỗi điểm kì dị
Nếu chuyển động thẳng không thực sự cần thiết, ta bấm chuột phải vào lệnh MoveL và chọn sang Joint Move Hay cách khác là Target, TCP (Tool Center Point) hay là vị trí của hệ tọa độ tham chiếu, phải được hiệu chỉnh để tránh điểm kỳ dị đó
Hình 8: Chuyển Linear Move sang Joint Move 4.1 Lệnh Set Reference Frame
Chọn Program➔ Set Reference Frame Instruction để đặt một hệ tọa độ
tham chiếu xác định Tác vụ này sẽ cập nhật hệ tọa độ hiện hành trên bộ điều khiển cho các lệnh chuyển động theo sau và thay đổi hệ tọa độ tham chiếu đang dùng (Active) của robot trong RoboDK cho mục đích mô phỏng Việc chọn này sẽ tạo ra các lệnh chuyển động đến các Target xác định (Target trong hệ Decart) đối với tập hợp hệ tọa độ tham chiếu trước đó.
Hệ tọa độ tham chiếu không cố định tên còn được gọi là Work Object (robot ABB), UFRAME (robot Fanuc), FRAME (đối với robot Motoman) hoặc $BASE (đối với robot KUKA).
Trang 19Hình 9: Đặt hệ tọa độ tham chiếu 4.2 Lệnh Set Tool Frame
Chọn Program➔ Set Tool Frame Instruction để sử dụng một hệ tọa độ công
cụ xác định (TCP - Tool Center Point) Lệnh này sẽ cập nhật lại hệ tọa độ công cụ hiện hành trong chương trình cho các lệnh chuyển động theo sau và thay đổi hệ tọa độ công cụ đang dùng (Active) của robot trong RoboDK cho mục đích mô
phỏng. Có nghĩa là các lệnh chuyển động đến các Target xác định sẽ được thi hành dùng hệ tọa độ dụng cụ mới được cập nhận.
Hệ tọa độ công cụ không cố định tên còn được gọi là ToolData (robot ABB), UTOOL (robot Fanuc), TOOL (đối với robot Motoman) hoặc $TOOL (robot KUKA).
Hình 10: Đặt hệ tọa độ công cụ.
Trang 204.3 Lệnh Circular Move
Chọn Program➔ Move Circular Instruction để thêm một chuyển động cung
tròn, hay chọn nút tương ứng trên thanh công cụ.
Ngoài hai Target được chọn trước khi thêm lệnh, lệnh này sẽ không tạo ra Target mới Ta cần thêm hai Target riêng biệt nữa và liên kết chúng từ lệnh di chuyển cung tròn, như trong hình ảnh bên dưới.
Đường cong là một cung tạo từ điểm robot đang dừng, đi qua điểm đầu tiên điểm cong đầu tiên (Target Linked 1) và kết thúc tại điểm cuối (Target Link 2) Quan trọng: không thể thực hiện 1 vòng tròn chỉ với một lệnh cung tròn Một vòng tròn phải được chia thành 2 chuyển động cung tròn tách biệt
Hình 11: Lệnh Circular Move 4.4 Lệnh Set Speed
Chọn Program➔ Set Speed Instruction để thêm một lệnh thay đổi vận tốc và/
hoặc gia tốc Ta có thể chỉ định vận tốc và gia tốc trong không gian khớp và trong không gian Cartesian.
Kích hoạt áp đặt vận tốc và gia tốc xác định trong chương trình Vận tốc của robot thay đổi khi lệnh được thi hành Vận tốc của robot cũng có thể thay đổi trên
menu parameters: double click vào robot, chọn paramters
Không phải tất cả các bộ điều khiển robot đều hỗ trợ thiết lập gia tốc chính xác Quan trọng: thiết lập tốc độ phù hợp là rất quan trọng để tính toán chính xác thời gian chương trình (circle time) Xem thêm phần circle time.
Trang 21Hình 12: Cài đặt vận tốc 4.5 Lệnh Pause
Chọn Program➔ Pause Instruction để thêm một lệnh tạm dừng việc thực thi
chương trình trong một khoảng thời gian đến khi người vận hành muốn tiếp tục chương trình
Hình 13: Lệnh tạm dừng
Lưu ý: nhập giá trị -1 để tạm dừng chương trình đến khi người vận hành muốn tiếp tục
chương trình Khi đó, lệnh được đặt tên tự động là Stop.
Quan trọng: trong mô phỏng, 5 giây tạm dừng sẽ mất 1 giây để mô phỏng đối với tỷ lệ
mô phỏng mặc định là 5 Xem thêm phần Simulation.
4.6 Lệnh Program call
Chọn Program➔ Program Call Instruction để gọi đến một chương trình con
từ chương trình hiện hành
Mặc định, đây là việc ngắt chương trình chính để gọi một chương trình con xác
định Tuy nhiên, ta có thể dùng tính năng Insert Code để nhập lệnh tại vị trí của
Trang 22lệnh này thay cho việc gọi chương trình con Nó có thể tiện đối với một ứng dụng cụ thể và một bộ điều khiển cụ thể.
Mẹo: nhập nhiều dòng để tự động thiết lập nhiều lệnh gọi chương trình trên 1 hàng.
Hình 14: Cài đặt gọi chương trình con
Chuyển từ Program Call sang Start Thread để kích hoạt việc gọi một chương trình con mà không ngắt chương trình chính Trong trường hợp này, bộ điều khiển sẽ bắt đầu một Thread mới Tùy chọn này chỉ dùng được cho một số bộ điều khiển nào đó và chỉ làm việc đối với các tác vụ đặc thù.
4.7 Lệnh Set/Wait IO
Chọn Program➔ Set or Wait I/O Instruction để kích hoạt các cổng ra Digital
Output (DO).
Mặc định, lệnh này tùy chọn là Set Digital Output Lệnh này cũng có thể chờ cho cổng Digital Input
IO Name có thể là một con số hoặc giá trị text nếu nó là tên của một biến (var) IO Value có thể là một con số (0 cho False và 1 cho True) hoặc một giá trị text nếu
nó là tên của một trạng thái (state).
Tùy chọn Wait for Digital Input để dừng thi hành chương trình chính chờ đến
khi một cổng digital input thay đổi trạng thái của nó Hơn nữa, một số bộ điều
khiển robot có tính năng timeout delay để đưa ra một cảnh báo lỗi nếu thời gian chờ vượt quá giá trị timeout đã xác định Check vào tùy chọn Timeout (ms) để kích
hoạt tính năng này
Trang 23Hình 15: Thiết lập I/O
Hình 16: Thiết lập Timeout (ms)
Mẹo: khi thực hành, chẳng hạn nếu bobot có gắn phần cứng chuyên dùng như bộ kẹp (gripper) hay trục phay (spindle), để kích hoạt các phần cứng này dùng cổng Digital Output, sau đó chờ cổng Digital Input (DI) để chuyển trạng thái.
Sự thay đổi trạng thái mô phỏng của các DI và DO sẽ tạo mới các biến
station Để kiểm tra trạng thái của các biến này, nhấp chuột phải vào station và
chọn Station Parameters Ta cũng có thể đọc hoặc hiệu chỉnh các biến này thông
qua API.
4.8 Lệnh Set Rounding value
Chọn Program➔ Set Rounding Instruction để thay đổi độ chính xác
làm tròn Độ chính xác làm tròn được sử dụng để làm mịn các cạnh giữa các chuyển động liên tiếp nhau Thay đổi này có hiệu lực từ thời điểm lệnh này được thực hiện trong một chương trình (giống như với tất cả các lệnh khác), nên thường lệnh này được đặt ở đầu chương trình