1. Tổng quan dự án Capstone
Bài cuối của chuỗi Robot & Motion tập trung vào một dự án tổng hợp: xây dựng hoàn chỉnh một hệ thống robot chuyển động từ yêu cầu ban đầu đến vận hành thực tế. Thay vì chỉ nghiên cứu riêng lẻ động cơ, encoder, bộ điều khiển hoặc thuật toán quỹ đạo, dự án Capstone yêu cầu người thực hiện kết nối toàn bộ các thành phần thành một hệ thống thống nhất.
Mục tiêu quan trọng nhất không phải là làm cho robot "chạy được", mà là xây dựng một hệ thống có khả năng vận hành ổn định, lặp lại, an toàn, dễ hiệu chỉnh và có thể mở rộng trong tương lai.
2. Bài toán đặt ra
Giả sử cần xây dựng một robot có nhiệm vụ di chuyển giữa nhiều vị trí xác định trong không gian làm việc, thực hiện thao tác tại từng vị trí và quay về trạng thái ban đầu sau khi hoàn thành chu trình.
Hệ thống cần đáp ứng các yêu cầu cơ bản:
- Di chuyển đúng vị trí đặt trước.
- Kiểm soát tốc độ và gia tốc của cơ cấu.
- Giảm rung và dao động khi dừng.
- Đảm bảo độ lặp lại giữa các chu trình.
- Phát hiện giới hạn hành trình và các trạng thái bất thường.
- Có chế độ Manual để kiểm tra từng cơ cấu.
- Có chế độ Auto để thực hiện chu trình tự động.
- Có khả năng dừng khẩn cấp khi xảy ra sự cố.
3. Xác định yêu cầu kỹ thuật
Trước khi lựa chọn thiết bị hoặc viết chương trình, cần xác định rõ các thông số kỹ thuật của hệ thống. Đây là bước ảnh hưởng trực tiếp đến thiết kế cơ khí, lựa chọn động cơ và chất lượng điều khiển.
- Khối lượng tải cần mang.
- Khoảng cách và phạm vi chuyển động.
- Tốc độ tối đa.
- Gia tốc và giảm tốc cho phép.
- Độ chính xác vị trí.
- Độ lặp lại yêu cầu.
- Chu kỳ làm việc.
- Môi trường vận hành.
- Số lượng trục chuyển động.
- Phương thức giao tiếp với hệ thống điều khiển.
Trong thực tế, không nên chọn thiết bị trước rồi mới điều chỉnh bài toán cho phù hợp với thiết bị. Quy trình đúng nên đi từ yêu cầu công nghệ đến tính toán cơ khí, xác định mô-men, công suất và sau đó mới lựa chọn phần cứng.
4. Kiến trúc tổng thể của hệ thống
Một hệ thống robot chuyển động hoàn chỉnh có thể được chia thành năm lớp chính:
- Lớp cơ khí: khung robot, cơ cấu truyền động, trục, khớp, bánh xe hoặc cơ cấu tuyến tính.
- Lớp truyền động: động cơ servo, stepper hoặc BLDC và driver tương ứng.
- Lớp cảm biến: encoder, công tắc hành trình, cảm biến Home, cảm biến an toàn.
- Lớp điều khiển: PLC, vi điều khiển, IPC hoặc bộ điều khiển robot.
- Lớp giám sát: HMI, SCADA hoặc giao diện Web.
Các lớp này phải được thiết kế đồng bộ. Một thuật toán tốt không thể khắc phục hoàn toàn những sai số cơ khí lớn, và một cơ cấu cơ khí chính xác cũng không thể vận hành tốt nếu thuật toán điều khiển không phù hợp.
5. Thiết kế cơ khí
Thiết kế cơ khí là nền tảng của toàn bộ hệ thống chuyển động. Các yếu tố như độ cứng khung, khe hở cơ khí, độ đồng tâm, ma sát và độ võng đều ảnh hưởng trực tiếp đến chất lượng điều khiển.
5.1. Kiểm tra tải trọng
Cần xác định tổng khối lượng mà động cơ phải kéo hoặc quay, bao gồm tải công nghệ và khối lượng của chính cơ cấu chuyển động.
Khi thiết kế nên tính thêm hệ số dự phòng để tránh trường hợp động cơ làm việc liên tục gần giới hạn công suất.
5.2. Kiểm tra cơ cấu truyền động
Tùy theo yêu cầu có thể sử dụng:
- Đai răng.
- Vít me bi.
- Thanh răng - bánh răng.
- Hộp giảm tốc.
- Truyền động trực tiếp.
Mỗi loại cơ cấu có ưu điểm và hạn chế khác nhau về tốc độ, độ chính xác, tải trọng và chi phí.
6. Lựa chọn động cơ
Động cơ phải được lựa chọn dựa trên tải thực tế thay vì chỉ dựa vào công suất danh định. Cần xem xét đồng thời mô-men, tốc độ, gia tốc và chu kỳ hoạt động.
6.1. Servo motor
Servo motor phù hợp khi hệ thống cần độ chính xác cao, phản hồi vị trí liên tục và khả năng điều khiển tốc độ tốt. Servo thường được sử dụng trong robot công nghiệp, máy CNC và các hệ thống định vị chính xác.
6.2. Stepper motor
Stepper phù hợp với các hệ thống công suất vừa và nhỏ, yêu cầu chi phí thấp và cấu trúc điều khiển đơn giản. Tuy nhiên cần chú ý hiện tượng mất bước khi tải hoặc gia tốc vượt quá khả năng của động cơ.
6.3. BLDC và DC motor
BLDC và DC motor thường được sử dụng trên robot di động. Khi kết hợp encoder, hệ thống có thể thực hiện điều khiển vòng kín tốc độ và vị trí.
7. Hệ thống cảm biến
Cảm biến cung cấp thông tin phản hồi để bộ điều khiển biết trạng thái thực tế của robot. Một hệ thống robot hoàn chỉnh thường cần nhiều loại cảm biến khác nhau.
- Encoder đo vị trí hoặc tốc độ.
- Cảm biến Home xác định vị trí chuẩn.
- Công tắc hành trình giới hạn vùng chuyển động.
- Cảm biến vật cản.
- Cảm biến dòng điện hoặc quá tải.
- Cảm biến an toàn.
8. Xây dựng hệ tọa độ
Để robot di chuyển chính xác, cần xác định rõ hệ tọa độ của robot và hệ tọa độ làm việc.
Với mỗi trục, nên quy ước:
- Chiều dương.
- Vị trí Home.
- Giới hạn trên và giới hạn dưới.
- Đơn vị điều khiển.
- Tỷ lệ chuyển đổi giữa encoder và đơn vị cơ khí.
Ví dụ, với trục tuyến tính:
Số xung trên một milimet = Số xung encoder trên một vòng / Quãng đường dịch chuyển trên một vòng.
Nếu sử dụng hộp giảm tốc hoặc cơ cấu truyền động trung gian, cần đưa tỷ số truyền vào công thức chuyển đổi.
9. Quy trình Homing
Sau khi bật nguồn, bộ điều khiển thường chưa biết chính xác vị trí cơ khí của robot. Vì vậy cần thực hiện Homing để thiết lập vị trí tham chiếu.
Một chu trình Homing cơ bản có thể gồm:
- Di chuyển trục về phía cảm biến Home với tốc độ trung bình.
- Khi phát hiện cảm biến, dừng trục.
- Di chuyển ngược lại một khoảng nhỏ.
- Tiếp cận lại cảm biến với tốc độ thấp.
- Xác lập tọa độ Home.
- Kiểm tra giới hạn hành trình trước khi cho phép vận hành Auto.
10. Điều khiển vị trí
Trong điều khiển vị trí, bộ điều khiển liên tục so sánh giá trị đặt với vị trí thực tế.
Sai số vị trí được xác định:
e(t) = r(t) - y(t)
Trong đó:
- r(t): vị trí đặt.
- y(t): vị trí thực tế.
- e(t): sai số vị trí.
Bộ điều khiển sẽ xử lý sai số này để tạo lệnh điều khiển động cơ.
11. Điều khiển PID
PID là một trong những bộ điều khiển phổ biến nhất trong các hệ thống chuyển động.
Tín hiệu điều khiển có dạng:
u(t) = Kp.e(t) + Ki.∫e(t)dt + Kd.de(t)/dt
- Kp: tăng khả năng đáp ứng của hệ thống.
- Ki: giảm sai số xác lập.
- Kd: giảm dao động và cải thiện độ ổn định.
Khi hiệu chỉnh PID cần tránh đặt hệ số quá lớn ngay từ đầu. Nên tăng từng tham số và quan sát phản ứng thực tế của hệ thống.
12. Lập kế hoạch quỹ đạo
Robot không nên chuyển ngay từ tốc độ bằng 0 lên tốc độ cực đại. Điều này có thể gây rung, trượt cơ khí hoặc quá dòng động cơ.
Một quỹ đạo cơ bản thường gồm:
- Giai đoạn tăng tốc.
- Giai đoạn chạy ổn định.
- Giai đoạn giảm tốc.
Hai dạng profile thường được sử dụng là:
- Trapezoidal velocity profile.
- S-curve velocity profile.
S-curve thường cho chuyển động êm hơn do hạn chế thay đổi đột ngột của gia tốc.
13. Xây dựng chế độ Manual
Manual mode được sử dụng trong quá trình lắp đặt, kiểm tra và bảo trì.
Ở chế độ này, người vận hành có thể:
- Jog từng trục.
- Chạy thuận hoặc chạy nghịch.
- Thay đổi tốc độ Jog.
- Thực hiện Homing.
- Kiểm tra cảm biến.
- Kiểm tra trạng thái encoder.
Manual không nên bỏ qua các điều kiện an toàn. Giới hạn hành trình và Emergency Stop vẫn phải hoạt động trong chế độ này.
14. Xây dựng chế độ Auto
Auto mode thực hiện chu trình robot theo trình tự đã thiết kế. Một chu trình đơn giản có thể gồm:
- Kiểm tra trạng thái Ready.
- Di chuyển về vị trí chờ.
- Đi đến điểm P1.
- Thực hiện thao tác công nghệ.
- Đi đến điểm P2.
- Thực hiện thao tác tiếp theo.
- Quay về vị trí Home hoặc vị trí chờ.
- Kết thúc chu trình.
15. Sử dụng State Machine
Một phương pháp hiệu quả để lập trình chu trình robot là State Machine. Mỗi trạng thái đại diện cho một bước của quá trình.
Ví dụ:
- STATE_0: Idle.
- STATE_10: Check Safety.
- STATE_20: Move to P1.
- STATE_30: Perform Task 1.
- STATE_40: Move to P2.
- STATE_50: Perform Task 2.
- STATE_60: Return Home.
- STATE_70: Complete.
Cách tổ chức này giúp chương trình rõ ràng, dễ theo dõi và dễ xử lý lỗi.
16. Interlock và điều kiện an toàn
Không nên điều khiển robot chỉ dựa vào chuỗi lệnh chuyển động. Mỗi bước phải có các điều kiện Interlock phù hợp.
Ví dụ, robot chỉ được phép di chuyển khi:
- Emergency Stop đã được nhả.
- Servo hoặc driver ở trạng thái Ready.
- Không có lỗi quá tải.
- Không vượt giới hạn hành trình.
- Các cơ cấu có khả năng va chạm đang ở vị trí an toàn.
17. Xử lý lỗi
Một hệ thống thực tế phải được thiết kế cho cả trạng thái bình thường và trạng thái lỗi.
Các lỗi thường gặp:
- Không tìm thấy Home.
- Encoder không phản hồi.
- Động cơ quá tải.
- Robot không đạt vị trí trong thời gian cho phép.
- Chạm giới hạn hành trình.
- Mất truyền thông với driver.
- Cảm biến hoạt động bất thường.
Khi phát hiện lỗi, hệ thống cần ghi nhận mã lỗi, dừng chuyển động phù hợp và thông báo cho người vận hành.
18. Timeout trong lập trình robot
Không nên chờ một điều kiện vô thời hạn. Ví dụ, nếu ra lệnh robot di chuyển đến P1 nhưng sau một khoảng thời gian vẫn chưa đến vị trí, hệ thống phải phát hiện đây là trạng thái bất thường.
Timeout giúp tránh trường hợp chương trình bị treo tại một bước.
19. Thiết kế giao diện HMI
HMI nên cung cấp đủ thông tin để người vận hành quan sát và điều khiển hệ thống.
Các màn hình cơ bản có thể gồm:
- Tổng quan hệ thống.
- Manual Control.
- Auto Operation.
- Position Setting.
- Alarm History.
- Diagnostic.
Trên giao diện nên hiển thị rõ trạng thái Ready, Running, Complete và Fault.
20. Quản lý điểm vị trí
Các điểm robot không nên được ghi trực tiếp rải rác trong chương trình. Nên lưu dưới dạng bảng hoặc cấu trúc dữ liệu.
Ví dụ:
- P0 - Home.
- P1 - Pick Position.
- P2 - Transfer Position.
- P3 - Place Position.
- P4 - Inspection Position.
Cách tổ chức này giúp chỉnh sửa vị trí dễ dàng mà không cần thay đổi logic chương trình.
21. Teach Position
Teach Position cho phép người vận hành Jog robot đến vị trí mong muốn và lưu tọa độ hiện tại thành một điểm làm việc.
Quy trình có thể gồm:
- Chuyển sang Manual.
- Jog robot đến vị trí yêu cầu.
- Chọn điểm cần lưu.
- Nhấn Teach.
- Lưu giá trị tọa độ hiện tại.
- Kiểm tra lại bằng cách chạy robot đến điểm vừa lưu.
22. Kiểm thử từng trục
Trước khi chạy toàn bộ hệ thống, cần kiểm tra riêng từng trục.
- Kiểm tra chiều quay.
- Kiểm tra encoder.
- Kiểm tra cảm biến Home.
- Kiểm tra limit switch.
- Kiểm tra Jog tốc độ thấp.
- Kiểm tra dừng khẩn cấp.
23. Kiểm thử tích hợp
Sau khi từng trục hoạt động ổn định, mới tiến hành kiểm thử toàn bộ hệ thống.
Nên tăng dần mức độ:
- Chạy không tải ở tốc độ thấp.
- Chạy toàn bộ chu trình ở tốc độ thấp.
- Tăng dần tốc độ.
- Chạy có tải.
- Chạy lặp nhiều chu kỳ.
24. Đánh giá độ lặp lại
Một robot hoạt động tốt không chỉ cần đến đúng vị trí một lần. Quan trọng hơn là khả năng lặp lại vị trí qua nhiều chu trình.
Có thể thực hiện kiểm tra:
- Cho robot chạy đến cùng một điểm nhiều lần.
- Đo sai lệch vị trí giữa các lần.
- Tính giá trị sai số trung bình.
- Quan sát xu hướng trôi vị trí theo thời gian.
25. Kiểm tra độ ổn định
Hệ thống nên được chạy liên tục trong thời gian đủ dài để phát hiện các vấn đề chỉ xuất hiện khi vận hành thực tế.
Cần theo dõi:
- Nhiệt độ động cơ.
- Nhiệt độ driver.
- Dòng điện.
- Rung cơ khí.
- Sai số vị trí.
- Số lần Alarm.
26. Tối ưu chu kỳ chuyển động
Sau khi robot vận hành ổn định mới nên tối ưu tốc độ.
Các hướng tối ưu:
- Rút ngắn quãng đường di chuyển.
- Tăng tốc độ ở vùng an toàn.
- Tối ưu gia tốc và giảm tốc.
- Giảm thời gian chờ không cần thiết.
- Thực hiện song song các thao tác khi có thể.
27. Dữ liệu cần ghi lại
Một dự án robot hoàn chỉnh nên có khả năng ghi lại các thông tin vận hành.
- Số chu kỳ đã hoàn thành.
- Thời gian trung bình mỗi chu kỳ.
- Số lần Alarm.
- Thời gian dừng máy.
- Vị trí và tốc độ thực tế.
- Thông tin lỗi gần nhất.
28. Checklist trước khi nghiệm thu
- Cơ khí chắc chắn và không có điểm va chạm.
- Chiều chuyển động của tất cả các trục đúng.
- Encoder hoạt động ổn định.
- Home Sensor hoạt động đúng.
- Limit Switch hoạt động đúng.
- Emergency Stop đã được kiểm tra.
- Manual mode hoạt động đầy đủ.
- Auto mode hoàn thành đúng chu trình.
- Alarm và Timeout hoạt động đúng.
- Robot đạt độ chính xác yêu cầu.
- Robot đạt độ lặp lại yêu cầu.
- Không xuất hiện lỗi trong quá trình chạy thử dài hạn.
29. Các lỗi thường gặp khi triển khai
- Chọn động cơ chỉ dựa trên công suất mà không tính mô-men và gia tốc.
- Không tính đến khối lượng cơ cấu chuyển động.
- Không thiết kế Homing ngay từ đầu.
- Không sử dụng Limit Switch.
- Không xây dựng Timeout cho các bước chuyển động.
- Viết chương trình Auto quá dài và khó theo dõi.
- Không tách Manual và Auto rõ ràng.
- Tăng tốc độ quá sớm trước khi hệ thống ổn định.
- Không ghi lại Alarm và dữ liệu vận hành.
30. Kết quả của dự án Capstone
Sau khi hoàn thành dự án, người học đã đi qua toàn bộ quy trình xây dựng một hệ thống Robot & Motion:
- Phân tích yêu cầu công nghệ.
- Thiết kế cơ khí.
- Lựa chọn động cơ và driver.
- Lựa chọn cảm biến.
- Xây dựng hệ tọa độ.
- Thiết lập Homing.
- Điều khiển vị trí.
- Lập kế hoạch quỹ đạo.
- Xây dựng Manual và Auto.
- Thiết kế Interlock.
- Xử lý Alarm và Timeout.
- Thiết kế HMI.
- Kiểm thử và nghiệm thu.
31. Kết luận
Một hệ thống robot tốt không được đánh giá chỉ bằng việc robot có thể di chuyển từ điểm A đến điểm B. Chất lượng của dự án nằm ở khả năng robot thực hiện chuyển động đó một cách chính xác, lặp lại, ổn định và an toàn trong nhiều chu kỳ.
Dự án Capstone là bước tổng hợp toàn bộ kiến thức của chuỗi Robot & Motion, từ phần cứng, truyền động, cảm biến đến điều khiển và phần mềm. Đây cũng là cách tiếp cận gần nhất với quy trình triển khai một hệ thống robot trong môi trường công nghiệp thực tế.
Robot & Motion #30 - Capstone: End-to-End Robot Motion Project
Chuỗi Robot & Motion tập trung vào các kiến thức thực hành về động cơ, servo, encoder, điều khiển vị trí, quỹ đạo chuyển động và triển khai hệ thống robot trong thực tế.