Professional Documents
Culture Documents
Hoanchinhgiuakirobodk
Hoanchinhgiuakirobodk
ĐỒ ÁN GIỮA KÌ
MÔN: ROBOTICS VÀ ỨNG DỤNG
ĐỀ TÀI:
ROBOT GẮP CHAI NƯỚC TRONG SẢN XUẤT
1
MỤC LỤC
MỤC LỤC..............................................................................................................................i
DANH MỤC HÌNH ẢNH...................................................................................................iv
LỜI MỞ ĐẦU......................................................................................................................vi
LỜI CẢM ƠN.....................................................................................................................vii
I. CHƯƠNG 1: TỔNG QUAN.....................................................................................8
1. Lý do chọn đề tài..................................................................................................................8
2. Lịch sử lĩnh vực sản xuất bằng robot....................................................................................2
3. 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
6. Động lực nghiên cứu.............................................................................................................3
II. CƠ SỞ LÝ THUYẾT................................................................................................3
1. RoboDK................................................................................................................................3
1.1. Khái quát về RoboDK.............................................................................................3
1.2. Lịch sử hình thành và phát triển..............................................................................4
1.3. Các tính năng chính của RoboDK...........................................................................4
1.4. Các ứng dụng chính của RoboDK...........................................................................4
2. Python...................................................................................................................................5
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
4.3. Lệnh Circular Move...............................................................................................13
4.4. Lệnh Set Speed......................................................................................................14
4.5. Lệnh Pause.............................................................................................................15
4.6. Lệnh Program call.................................................................................................15
4.7. Lệnh Set/Wait IO...................................................................................................16
4.8. Lệnh Set Rounding value......................................................................................17
2
4.9. Simulation event....................................................................................................19
4.10. Simulation program...............................................................................................20
4.11. Generate program..................................................................................................22
4.12. Truyền Chương Trình (Transfer program)............................................................22
4.13. Chọn Post Processor..............................................................................................23
4.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
3
DANH MỤC HÌNH ẢNH
Hình 1: Phần mềm RoboDK...............................................................................................4
Hình 2: Ngôn ngữ lập trình python....................................................................................5
Hình 3: Xây dựng và điều chỉnh cơ chế robot...................................................................7
Hình 4: KR150_R3300_K_prime........................................................................................9
Hì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 10: Đặt hệ tọa độ công cụ.........................................................................................13
Hình 11: Lệnh Circular Move...........................................................................................14
Hình 12: Cài đặt vận tốc....................................................................................................15
Hình 13: Lệnh tạm dừng...................................................................................................15
Hình 14: Cài đặt gọi chương trình con.............................................................................16
Hình 15: Thiết lập I/O........................................................................................................17
Hình 16: Thiết lập Timeout (ms)......................................................................................17
Hình 17: Đặt giá trị làm tròn.............................................................................................18
Hình 18: Cửa sổ Program events......................................................................................18
Hình 19: Lệnh sự kiện........................................................................................................19
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
Hình 25: Các tùy chọn cho việc sinh chương trình.........................................................25
4
Hì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 34: Mục tiêu App_Pick.............................................................................................31
Hình 35: Mục tiêu Pick......................................................................................................31
Hình 36: Mục tiêu Retrack_Pick......................................................................................32
Hình 37: Khung tham chiếu băng tải...............................................................................32
Hình 38: Mục tiêu App_Drop...........................................................................................33
Hình 39: Mục tiêu Drop.....................................................................................................33
Hình 40: Mục tiêu Retract_Drop......................................................................................34
Hình 41: Chương trình Home...........................................................................................34
Hình 42: Chương trình Pick_Bottle.................................................................................34
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
Hình 53: Chương trình Put_Bottle_Out..........................................................................39
Hình 54: Chương trình Put_Bottle_Out..........................................................................40
Hình 55: Chương trình PickAndDrop.............................................................................40
Hình 56: Program Call Instruction của PickAndScan...................................................41
Hình 57: Chương trình Init...............................................................................................41
Hình 58: Chương trình MainProgram.............................................................................42
5
LỜ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
6
LỜ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.
7
I. 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.
9
II. 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.
10
Mô 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.
11
Hì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.
12
click 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.
13
Ta 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.
14
Hì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.
15
Hì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
16
4. 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.
17
Hì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ị đó.
18
Hì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).
19
4.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.
20
Hì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.
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
21
lệ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.
22
Hình 15: Thiết lập I/O
23
Nếu không có lệnh làm tròn, robot sẽ có tốc độ 0 khi kết thúc mỗi chuyển động
(trừ khi chuyển động tiếp theo tiếp tuyến với chuyển động trước). Việc này sẽ gây
ra gia tốc lớn và thay đổi vận tốc nhanh để đảm bảo độ chính xác tốt nhất cho mỗi
chuyển động.
24
Kiểm tra path accuracy của RoboDK cho phép ta hiểu rõ hơn về ảnh hưởng của
các giá trị làm tròn khác nhau.
25
Hình 19: Lệnh sự kiện Detach object
Lưu ý: Các sự kiện cũng có thể được mô phỏng bằng macro (cần có kinh nghiệm lập
trình). Ví dụ dùng API, có thể làm cho các object xuất hiện ngẫu nhiên tại các vị trí xác
định để mô phỏng tác vụ gắp đặt.
Lưu ý: Khi gắn object vào tool, object gần nhất sẽ được gắn nếu nó không xa hơn một
khoảng cách cho trước. Khoảng cách này theo mặc định là 200 mm và có thể thay đổi
trong: Tools➔Option➔ Maximum distance to attach an object to a robot tool. Ngoài ra,
theo mặc định, khoảng cách này được kiểm tra từ vị trí TCP đến object tham chiếu. Hoặc
cách khác là có thể sử dụng khoảng cách giữa TCP và dạng hình học của đối tượng bằng
cách chọn Check shortest distance between TCP and the object shape
26
Hình 20: RUN chương trình mô phỏng
Tip: Select Program➔ Fast simulation để tăng tốc độ mô phỏng (hay giữ phím). Tùy
chọn này cũng có trên thanh Toobar.
Mặc định, RoboDK mô phỏng nhanh hơn 5 lần thời gian thực. Nghĩa là nếu chương trình
thực thi mất 30 giây thì nó sẽ được mô phỏng trong 30/5=6 giây. Tăng tốc độ mô phỏng
làm tăng tỉ lệ này lên 100. Tốc độ Normal và Fast Simulation có thể chọn trong
Tools➔Options➔Motion menu
Tip: Chọn Program➔ Pause to tạm dừng mô phỏng (hay nhấn phím Backspace).
Tip: Chọn phím ESC để dừng mô phỏng hay double click program lần nữa.
Tip: Double click từng lệnh riêng biệt để thì hành từng lệnh 1.
Tip: Right click một lệnh chuyển động và chọn Start from here để thực thi chương trình
từ lệnh đó, như hình.
Hình 21: Chọn chạy chương trình tại lệnh chuyển động
27
4.11. Generate program
Theo các bước sau để sinh ra chương trình robot cho bộ điều khiển robot
(đối với các loại robot cụ thể của từng hãng):
1. Chọn Program
2. Chọn Program➔Generate Program(s) (F6)
Cách khác là right click một program và chọn Generate robot program (F6) để sinh
chương trình
Hình 22: Sinh chương trình cho bộ điều khiển robot cụ thể từng hãng
Ta có thể chọn nhiều chương trình để sinh nhiều hơn 1 chương trình cùng
lúc. Giữ phím Ctrl để chọn nhiều chương trình. Chọn tùy chọn Generate
Program(s)… (Shift+F6) để mở một cửa sổ hỏi người sử dụng cung cấp thư mục
lưu chương trình
28
Tip: Chọn Select Ping để xem robot có tìm thấy trên mạng.
29
1. Kích phải chuộc một robot hay một program
2. Chọn Post Processor
3. Chọn một post processor từ danh sách
4. Chọn OK
Hình 24: Chọn một Post Processor cho một robot cụ thể
Thay đổi bây giờ được áp dụng và chương trình có thể được sinh mã lại với tùy chọn
mới.
Lưu ý: một Post Processor được kết nối với một robot cụ thể. Thay đổi post processor
của một chương trình sẽ cập nhật lại post processor cho tất cả chương trình liên kết với
robot đó.
Post Processors trong RoboDK cung cấp giải pháp linh hoạt để sinh mã
chương trình cho robot đối với các yêu cầu cụ thể. RoboDK cung cấp Post
Processors cho hầu hết các thương hiệu robot. Post processors có thể được tạo và
hiệu chỉnh dễ dàng. Ta có thể tìm hiểu thêm post processors trong phần chuyên
sâu.
4.14. Thiết lập tham số cho việc sinh chương trình
Ta có thể tùy chỉnh cách sinh chương trình cho robot của mình.
Làm theo các bước sau để thiết lập tham số cho quá trình sinh chương trình:
1. Chọn Tools➔Options.
2. Chọn tab Program
30
Hình 25: Các tùy chọn cho việc sinh chương trình
Menu này cho phép tùy chỉnh cho việc sinh chương trình như sau:
1. Chia các chuyển động khớp thành các bước nhỏ hơn.
2. Chia các chuyển động thẳng thành các bước nhỏ hơn.
3. Chuyển đổi chuyển động cung tròn thành các chuyển động thẳng nhỏ hơn.
4. Chia chương trình lớn thành các chương trình con nhỏ hơn.
5. Chỉ định vị trí mặc định để lưu chương trình robot.
6. Chỉ định trình soạn thảo text mặc định cho soạn thảo chương trình robot.
Tip: có thể có thêm các cài đặt bởi post processor đã chọn.
Chuyển đổi chuyển động cung tròn thành động thẳng
Ta có thể dễ dàng chuyển đổi chuyển động cung tròn sang các chuyển động thắng nhỏ
khi sinh mã chương trình cho robot. Việc này hữu dụng đối với các robot không hỗ trợ
chuyển động cong (arc movements)
Làm theo các bước sau để sinh các đường cong từ các chuyển thẳng nhỏ
1. Chọn Tools➔Options.
2. Chọn tab Program.
3. Chọn Avoid arcs.
31
4. Xác định Maximum arc size (mm) là kích thước của các chuyển động thẳng dọc với
cung tròn.
Lưu ý: RoboDK sẽ không sinh ra chuyển động thẳng mà nhỏ hơn Minimum step size
(mm) được xác định trong cửa sổ trên. Do đó, nếu dung sai Minimum step size (mm) lớn
hơn dung sai Maximum arc size (mm) chuyển động thẳng sẽ lớn hơn dọc theo cung tròn.
32
robot cần giữ chặt một vật phẩm trong quá trình vận chuyển hoặc thực hiện các thao
tác chính xác.
World
33
Hình 30: Đối tượng bệ đỡ
-Tạo một object bottle cho đối tượng chai nước ở ngay vị trí chai nước cho trường
hợp khi băng tải di chuyển có chai nước rơi ra, thì chai nước sẽ tiếp tục di chuyển
đến vị trí này.
34
-Tạo một khung tham chiếu có tên Conveyor In Base. Sau đó ta tạo một đối tượng
băng tải có tên Conveyor In. Tiếp theo ta tạo ra các tọa độ của chai nước được nằm
trên băng tải. Sau đó thêm các object chai nước vào các tọa độ tương ứng.
-Tiếp theo, tạo một target có tên Pick. Target này được đặt ngay tọa độ tham chiếu
của chai nước đầu tiên, robot sẽ di chuyển đến điểm này để gắp chai nước
35
Hình 35: Mục tiêu Pick
-Cuối cùng tạo một target có tên Retract_Pick. Đây là tọa độ mà robot sẽ di
chuyển đến sau khi gắp được chai nước.
36
Hình 38: Mục tiêu App_Drop
3. Mục tiêu Drop có chức năng giúp robot cầm chai nước đặt xuống băng tải
từ vị trí App_Drop.
37
4. Mục tiêu cuối cùng trong Conveyor Out Base là Retract_Drop. Mục tiêu
này có nhiệm vụ rút robot về tại một điểm gần băng tải trước khi về lại vị
trí ban đầu.
38
Hình 42: Chương trình Pick_Bottle
-Chương trình này có chức năng giúp gắp chai nước vào đầu kẹp của robot. Để thực hiện
được, đầu tiên ta sẽ chọn loại kẹp cho robot là Gripper RobotiQ 85 Closed, sau đó ta
chọn active.
39
-Sau khi chọn tool cần hiển thị là Gripper RobotiQ 85 Closed thì cũng cần phải ẩn
Gripper RobotiQ 85 Opened. Để thực hiện, nhấn chọn Pick_Bottle Event Instruction,
sau đó ta chọn action là Hide object/tool và chọn tool là Gripper RobotiQ 85 Opened để
ẩn tool.
Chương trình Drop_Bottle
-Chương trình này có chức năng giúp robot có thể thực hiện việc tháo kẹp của robot ra
khỏi chai nước. Để thực hiện việc này, ta làm tương tự như phần Pick_Bottle. Nhưng thay
vào đó sau khi chọn vào Event Instruction, ta chọn action là detach object và dụng cụ
được chọn vẫn là Gripper RobotiQ 85 Closed.
40
Hình 46: Chương trình Get_Bottle_In
-Chương trình Get_Bottle_In có chức năng di chuyển robot đến vị trí của chai nước sau
đó gắp chai nước. Để thực hiện chương trình này, trước tiên đưa robot đến vị trí trước khi
gắp chai nước App_Pick bằng cách chọn vào Get_Bottle_In, sau đó chọn vào target
App_Pick và chọn MoveJ. Ta chọn MoveJ vì trong quá trình di chuyển từ vị trí target
Home đến target App_Pick thì sẽ các góc khớp của robot sẽ thay đổi.
41
Hình 49: Program Call Instruction của Pick_Bottle
Chương trình Replace_Object
42
Hình 52: Chương trình python băng tải
Chương trình đầu tiên là NextPart_In, chương trình này có chức năng di chuyển băng tải
theo hướng "vào", di chuyển băng tải một khoảng cách cụ thể (tính bằng milimet) được
chỉ định trong tập lệnh.
Chương trình thứ hai là NextPart_Out, Di chuyển băng tải theo hướng "ra", di chuyển
băng tải một khoảng cách cụ thể (tính bằng milimet) được chỉ định trong tập lệnh.
Chương trình thứ ba là InitConvPosition, chương trình này khởi tạo vị trí của băng tải về
vị trí bắt đầu được xác định, đảm bảo băng tải bắt đầu từ cùng một vị trí mỗi lần chạy
chương trình.
Chương trình Put_Bottle_Out
-Chương trình Put_Bottle_Out có chức năng giúp robot sau khi được scan xong, tiến
hành đặt chai nước lên băng tải ra. Để thực hiện việc này đầu tiên nhấn vào
Put_Bottle_Out , sau đó nhấn vào target App_Drop rồi chọn MoveJ. Ta chọn MoveJ vì
trong quá trình di chuyển từ vị trí target Home đến target App_Drop thì các góc khớp của
robot sẽ thay đổi. Ta cũng giữ lại Set Ref và Set Tool vì App_Drop là một cartesian target.
-Để kẹp của robot tách khỏi chai nước, ta sẽ di chuyển robot đến vị trí target Drop. Để
làm việc này, nhấn vào Put_Bottle_Out, sau đó nhấn vào target Drop và chọn MoveL. Ta
chọn MoveL vì từ vị trí của target Drop đến target Retract_Drop thì chỉ cần đi một đoạn
thẳng và các khớp của robot không thay đổi.
-Sau khi đã di chuyển đến vị trí target Drop, ta sẽ gọi lại chương trình con Drop_Bottle
để robot có thể tách chai nước ra và gọi chương trình con Light_Off để tắt đèn sau khi
43
chai nước đã được đặt xuống băng tải. Sau đó ta đưa robot về tại vị trí target
Retract_Drop trước khi về lại target Home.
44
Hình 56: Program Call Instruction của PickAndScan
Chương trình Init
-Chức năng của chương trình này là đưa robot quay trở về trạng thái ban đầu cho dù robot
có đang hoạt động thì vẫn trở lại như ban đầu.
45
Hình 58: Chương trình MainProgram
-Đây là chương trình được dùng để thực hiện quá trình xử lý từ đầu đến cuối của robot.
Đầu tiên nó gọi chương trình con Init để khởi tạo lại trạng thái ban đầu của robot, sau đó
gọi chương trình con PickAndDrop để thực hiện hành động gắp và bỏ chai nước trên
băng tải của robot.
V. KẾT LUẬN
Sự ra đời của robot gắp thả chai nước, kết hợp với phần mềm roboDK, đánh dấu một
bước tiến đột phá cho ngành sản xuất nước giải khát. Công nghệ này mang đến giải pháp
tối ưu cho hiệu quả và năng suất hoạt động, góp phần nâng cao khả năng cạnh tranh và
phát triển bền vững cho doanh nghiệp.
Vai trò trung tâm của Robot:
Nòng cốt tự động hóa: Robot đóng vai trò trung tâm trong hệ thống tự động hóa
dây chuyền sản xuất, đảm nhiệm các thao tác gắp thả chai nước với độ chính xác
và hiệu suất cao.
Sức mạnh bền bỉ: Khả năng hoạt động liên tục 24/7 mà không cần nghỉ ngơi giúp
robot duy trì sản xuất ổn định, đáp ứng nhu cầu thị trường ngày càng tăng.
Thao tác chính xác: Được điều khiển bởi phần mềm tiên tiến, robot thực hiện thao
tác gắp thả chai nước với độ chính xác cao, hạn chế tối đa sai sót và đảm bảo chất
lượng sản phẩm đồng nhất.
An toàn cho lao động: Việc sử dụng robot giúp giảm thiểu sự tham gia của con
người vào các hoạt động nguy hiểm, góp phần nâng cao môi trường làm việc an
toàn và vệ sinh.
Nâng cao hiệu quả: Robot giúp tăng năng suất hoạt động, giảm thiểu lãng phí
nguyên liệu và thời gian sản xuất, từ đó nâng cao hiệu quả kinh tế cho doanh
nghiệp.
Lợi ích toàn diện:
Tiết kiệm chi phí: Việc sử dụng robot giúp giảm chi phí nhân công, chi phí bảo trì
sửa chữa và nâng cao hiệu quả sử dụng năng lượng, góp phần tiết kiệm chi phí sản
xuất cho doanh nghiệp.
Nâng cao chất lượng: Robot đảm bảo thao tác gắp thả chai nước chính xác, đồng
nhất, hạn chế sản phẩm lỗi, từ đó nâng cao chất lượng sản phẩm.
46
Mở rộng quy mô: Khả năng mở rộng linh hoạt của robot giúp doanh nghiệp dễ
dàng đáp ứng nhu cầu sản xuất tăng cao trong tương lai.
Robot gắp thả chai nước kết hợp phần mềm roboDK là giải pháp công nghệ tiên tiến,
mang lại lợi ích toàn diện cho ngành sản xuất nước giải khát. Việc ứng dụng công nghệ
này sẽ góp phần nâng cao hiệu quả, năng suất, chất lượng sản phẩm và tạo lợi thế cạnh
tranh cho doanh nghiệp. Doanh nghiệp cần chủ động đầu tư vào công nghệ này để bắt kịp
xu hướng phát triển và nâng tầm vị thế trong thị trường.
47