Trong đó thì bộ điều khiển PI tương đối phổ biến, do đáp ứng vi phân khá nhạy đối với các nhiễu nhưng trái lại nếu thiếu giá trị tích phân có thể khiến hệ thống không đạt được giá trị mo
Trang 1
GVHD: PGS.TS LÊ MỸ HÀ SVTH: HUỲNH TẤN PHÚC
LÊ QUANG PHƯƠNG
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
––––🙠🙟🕮🙝🙢––––
ĐỒ ÁN TỐT NGHIỆP
Đề Tài:
THIẾT KẾ MÔ HÌNH ROBOT GẮP VẬT CHUYỂN
ĐỘNG VỚI THUẬT TOÁN ĐIỀU KHIỂN VÒNG KÍN DÙNG DỮ LIỆU HÌNH ẢNH
Trang 3
LỜI CẢM ƠN
Sau thời gian học tập tại trường Đại Học Sư Phạm Kỹ Thuật cùng với sự hướng dẫn tận tình của quý Thầy/ Cô, nhóm đồ án đã hoàn thành đồ án tốt nghiệp
Nhóm em xin gửi lời cảm ơn chân thành đến Thầy Lê Mỹ Hà đã tận tình góp ý, hướng dẫn nhiệt tình trong quá trình nhóm thực hiện đề tài Xin được gửi lời cảm ơn đến Thầy được nhiều sức khỏe và thành công nhiều hơn trong quá trình giảng dạy của mình
Nhóm em xin chân thành cảm ơn quý Thầy/ Cô khoa Điện - Điện tử đã cho nhóm kiến thức về lĩnh vực chuyên ngành, những kinh nghiệm về quá trình làm việc nhóm và tạo điều kiện cho nhóm thực hiện đề tài rất hay này, tạo thêm nhiều hiểu biết cho nhóm trước khi ra trường Do trình độ và kiến thức còn hạn chế nên đề tài có thể còn nhiều sai sót mong Khoa - Bộ môn và quý Thầy/ Cô góp ý để đề tài nhóm thêm hoàn thiện hơn
Nhóm em cũng xin gửi lời cảm ơn chân thành tới gia đình và bạn bè đã tạo điều kiện và giúp đỡ nhóm rất nhiều để đạt được kết quả ngày hôm nay
Trang 4MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
MỤC LỤC HÌNH ẢNH vi
MỤC LỤC BẢNG BIỂU xi
DANH MỤC CÁC TỪ VIẾT TẮT xii
CHƯƠNG 1 TỔNG QUAN 1
TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1
MỤC TIÊU CỦA ĐỀ TÀI 3
ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 3
BỐ CỤC ĐỀ TÀI 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
ĐIỀU XUNG PWM 4
Khái niệm 4
Ưu điểm 4
Nguyên lí hoạt động 4
Ứng dụng 5
BỘ CHUYỂN ĐỔI ADC 5
Khái niệm 5
Nguyên lí hoạt động 6
GIAO TIẾP I2C 7
Khái niệm 7
Trang 5Đặc điểm 7
Hoạt động và giao tiếp 9
BỘ ĐIỀU KHIỂN PID SỐ (rời rạc) 11
Tổng quan về bộ điều khiển PID 11
Ý nghĩa và công dụng 12
HIỆU CHỈNH CAMERA (Calibration Camera) 12
Khái niệm 12
Công dụng 13
Các thông số, ma trận để hiệu chỉnh camera 13
Các kiểu biến dạng 15
KHÔNG GIAN MÀU 17
Màu RGB 17
Màu HSV 18
Chuyển đổi từ RGB sang HSV 19
DỰ ĐOÁN QUỸ ĐẠO 20
CHIẾU SÁNG 21
Chiếu sáng trực tiếp 22
Chiếu sáng khuếch tán 22
Chiếu sáng góc thấp 23
Chiếu sáng phía sau 24
CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 25
ĐỘNG HỌC CỦA ROBOT 25
Trang 6Bảng động học 26
Động học thuận 27
Động học nghịch 28
THIẾT KẾ PHẦN CƠ KHÍ ROBOT 31
Cơ cấu trục Z 31
Cơ cấu trục XY 34
Thiết kế các chi tiết gia công 36
Thiết kế cơ khí hoàn chỉnh 41
THIẾT KẾ LẮP ĐẶT HỆ THỐNG 43
THIẾT KẾ PHẦN ĐIỆN 44
Sơ đồ khối 44
Khối Camera 44
Khối xử lý trung tâm 47
Khối công suất 48
Khối nguồn 55
Thi công phần điện 57
LƯU ĐỒ ĐIỂU KHIỂN 58
CHƯƠNG 4 THIẾT KẾ PHẦN MỀM 59
Ngôn ngữ Python 59
Các tính năng 59
Thư viện Tkinter 60
Ưu điểm 60
Trang 7Hiệu chỉnh camera 61
Làm mịn ảnh 64
Phát hiện biên 65
Tìm đường viền 66
Kết quả thu được sau khi nhận dạng hình ảnh 68
THIẾT KẾ GIAO DIỆN 69
Giao diện chính 70
Giao diện điều khiển thủ công 70
CHƯƠNG 5 KẾT QUẢ – NHẬN XÉT – ĐÁNH GIÁ 71
KẾT QUẢ THI CÔNG PHẦN CỨNG 71
KẾT QUẢ CỦA ĐỘNG HỌC ROBOT 72
Động học thuận 72
Động học nghịch 75
Sai số lặp lại 77
KẾT QUẢ THỰC NGHIỆM CỦA BỘ ĐIỀU KHIỂN PID 78
Ảnh hưởng của các thông số Kp, Ki, Kd đối với hệ thống 78
Đáp ứng của hệ thống khi quỹ đạo vật thay đổi trong quá trình di chuyển 80
TÀI LIỆU THAM KHẢO 83
PHỤ LỤC 85
Trang 8MỤC LỤC HÌNH ẢNH
Hình 1.1: Scara robot Denso Wave 1
Hình 2.1: Điều chế xung PWM 5
Hình 2.2: Mô tả quá trình chuyển từ analog qua digital 5
Hình 2.3: Mạch ADC với 4 bộ so sánh 6
Hình 2.4: Cấu tạo của giao tiếp I2C 8
Hình 2.5: Khung truyền I2C 8
Hình 2.6: Xung Start của giao tiếp I2C 9
Hình 2.7: Trình tự truyền dữ liệu 10
Hình 2.8: Các tham số trong quá trình chuyển từ 3D sang 2D 13
Hình 2.9: Xác định vị trị và hướng của máy so với tọa độ thực 14
Hình 2.10: Tọa độ trong mặt phẳng ảnh chuyển qua tọa độ pixcl của ảnh 15
Hình 2.11: Biến dạng xuyên tâm 16
Hình 2.12: Biến dạng tiếp tuyến 17
Hình 2.13: Không gian màu RGB 18
Hình 2.14: Không gian màu HSV 19
Hình 2.15: Tọa đồ của vật trên ảnh sau khoảng thời gian t 20
Hình 2.16: Dự đoạn quỹ đạo vật chuyển động 21
Hình 2.17: Chiều sáng trực tiếp 22
Hình 2.18: Chiếu sáng khuếch tán 22
Hình 2.19: Chiếu sáng góc thấp 23
Hình 2.20: Chiếu sáng phía sau 24
Hình 3.1: Robot mô phỏng solid 25
Hình 3.2: Hệ tọa độ của Robot 26
Hình 3.3: Vít-me – đai ốc trượt 31
Hình 3.4: Vít-me đai ốc bi 32
Hình 3.5: Cấu tạo vít-me – đai ốc bi 33
Trang 9Hình 3.6: Vit-me đai ốc T8 34
Hình 3.7: Chuyển động đai 35
Hình 3.8: Puly 36
Hình 3.9: Dây đai 36
Hình 3.10: Đế Robot 36
Hình 3.11: Giá đỡ động cơ trục Z 37
Hình 3.12: Giá đỡ Vitme 37
Hình 3.13: Khâu đầu của robot điều khiển truc Z 38
Hình 3.14: Motor và trục xoay của link 2 38
Hình 3.15: Link chuyển động thứ 2 của robot 39
Hình 3.16: Liên kết giữa khâu 1 và 2 39
Hình 3.17: Motor và trục xoay của khâu 3 39
Hình 3.18: Link thứ 3 và đầu nối cơ cấu chấp hành 40
Hình 3.19: Cơ cấu chuyển động của link thứ 3 40
Hình 3.20: Cơ cấu chuyển trục xy 40
Hình 3.21: Liên kết giữa 3 khâu của robot 41
Hình 3.22: Robot hoàn chỉnh theo hướng ngang 41
Hình 3.23: Robot hoàn chỉnh theo hướng từ trên xuống 42
Hình 3.24: Tổng quát hệ thống 43
Hình 3.25: Sơ đồ khối hệ thống 44
Hình 3.26: Cam logitech C270 44
Hình 3.27: Vị trí đặt cam logitech so với băng tải 45
Hình 3.28: Cam Rapoo C260 46
Hình 3.29: Vị trí của cam Rapoo với mặt phẳng băng tải 47
Hình 3.30: Bo mạch Arduino R3 48
Hình 3.31: Động cơ bước 48
Hình 3.32: Step motor NEMA 17 size 42 49
Trang 10Hình 3.33: Step motor NEMA 23 size 57 49
Hình 3.34: Điều khiển dạng sóng 50
Hình 3.35: Điều khiển bước đủ 51
Hình 3.36: Điều khiển nửa bước 51
Hình 3.37: Điều khiển vi bước 52
Hình 3.38: Mạch điều khiển TB6600 52
Hình 3.39: Module L298 53
Hình 3.40: Sơ đồ khối L298 54
Hình 3.41: Mạch cầu H 55
Hình 3.42: Nguồn tổ ong Hình 3.43: Bộ nguồn Dell 56
Hình 3.44: Tủ điện của hệ thống 57
Hình 3.45: Lưu đồ điều khiển 58
Hình 4.1: Lưu đồ xử lý dữ liệu hình ảnh 61
Hình 4.2: Ảnh chụp bởi cam đặt đối diện mặt băng tải chưa hiệu chỉnh 62
Hình 4.3: Ảnh sau khi cam đặt đối diện mặt băng tải được hiệu chỉnh 62
Hình 4.4: Ảnh chụp bởi cam theo phương ngang băng tải chưa đươc hiệu chỉnh 63
Hình 4.5: Ảnh sau khi cam Logitech được hiệu chỉnh 63
Hình 4.6: Hàm Gauss 64
Hình 4.7: Ảnh được làm mịn 64
Hình 4.8: Làm nhỏ cạnh 65
Hình 4.9: Ngưỡng của Canny 66
Hình 4.10: Kết Quả Canny 66
Hình 4.11: Mô tả Contour 67
Hình 4.13: Quá trình xử lý của cam thu hình, tính toán vị trí vật và robot chuyển động 68 Hình 4.14: Quá trình xử lí ảnh của cam tính toán vị trí của vật trên mặt băng tải 69
Hình 4.15: Giao diện chính 70
Hình 4.16: Giao diện điều khiển thủ công 70
Trang 11Hình 5.1: Robot hoàn thiện thực tế 71
Hình 5.2: Hệ thống thực tế 71
Hình 5.3: Kết quả mô phỏng (d1 = 0, th2 = -45, th3 = -45) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 72
Hình 5.4: Kết quả mô hình (d1 = 0, th2 = -45, th3 = -45) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 73
Hình 5.5: Kết quả mô phỏng (d1 = 0, th2 = 0, th3 = 0) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 73
Hình 5.6: Kết quả mô hình (d1 = 0, th2 = 0, th3 = 0) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 74
Hình 5.7: Kết quả mô phỏng (d1 = 0, th2 = 45, th3 = 45) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 74
Hình 5.8: Kết quả mô hình (d1 = 0, th2 = 45, th3 = 45) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 75
Hình 5.9: Kết quả mô phỏng (Px = 256.04, Py =162.18, Pz = 7) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 75
Hình 5.10: Kết quả mô hình (Px = 256.04, Py =162.18, Pz = 7) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 76
Hình 5.11: Kết quả mô phỏng (Px = 255.42, Py =196.42, Pz = 7) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 76
Hình 5.12: Kết quả mô hình (Px = 255.42, Py =196.42, Pz = 7) (a) Kết quả tính toán trên phần mềm (b) Kết quả điều khiển robot 77
Hình 5.13: Sai số lặp lại ở vị trí A(255.42, 196.42, 7) (a) Robot tại vị trí A (b) Robot tại vị trí B(389.5, 0, 7) (c) Robot quay lại vị trí A 78
Hình 5.14: Biểu đồ chuyển động của robot và vật khi Kp = 0.09, Ki = 0, Kd = 0 78
Hình 5.15: Biểu đồ chuyển động của robot và vật khi Kp = 0.09, Ki = 0.01, Kd = 0 79
Hình 5.16: Biểu đồ chuyển động của robot và vật khi Kp = 0.09, Ki = 0, Kd = 0.01 79
Trang 12Hình 5.17: Biểu đồ chuyển động của robot và vật khi Kp = 0.15, Ki = 0, Kd = 0 80
Hình 5.18: Biểu đồ quỹ đạo bám và gắp vật của robot 81
Hình 5.19: Biểu đồ thay đổi quỹ đạo trong thòi gian 15T 81
Hình 5.20: Biểu đồ thay đổi quỹ đạo trong thời gian 3T 82
Trang 13MỤC LỤC BẢNG BIỂU
Bảng 2-1: Giá trị số ngõ ra sau khi giải mã 6
Bảng 3-1: Bảng D-H 26
Bảng 3-2: Thông số của cam Logitech C270 45
Bảng 3-3: Thông số của cam Rapoo C260 46
Bảng 3-4: Thông số động cơ bước 50
Bảng 3-5: Thông số của mạch L298 54
Bảng 3-6: Bảng so sánh thông số các bộ nguồn 56
Bảng 3-7: Bảng điện áp – dòng điện định mức các linh kiện 56
Trang 14DANH MỤC CÁC TỪ VIẾT TẮT
ADC Analog to Digital Converters SCL Serial Clock Line
I2C Inter – Integrated Circuit PID Proportional Integral Derivative
Trang 15CHƯƠNG 1 TỔNG QUAN
TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Tại nước phát triển trên thế giới, sự đột phá về khoa học – kỹ thuật đã giúp họ tìm
ra những công nghệ tiên tiến áp dụng trong sản xuất, chế tạo và nghiên cứu Cho đến nay, việc ứng dụng kỹ thuật trong cuộc sống, công việc cũng như nhiều lĩnh vực khác đã và đang được áp dụng phổ biến hơn Xu hướng phát triển công nghệ ngày càng được đẩy mạnh nhằm phục vụ và cải thiện đời sống con người, trong đó thế giới có những công nghệ
và phát minh có thể làm thay đổi toàn diện cuộc sống con người như: cánh tay Robot, công nghệ Nano, công nghệ IoT, công nghệ pin và sạc không dây, xử lý ảnh…
Hình 1.1: Scara robot Denso Wave Trong công nghiệp việc dùng robot thay cho con người dần trở nên phổ biến Các ứng dụng phổ biến nhất là gắp thả vật trên băng tải
Các phương pháp phát hiện vật trên băng tải hiện nay có các nhược điểm như sau Dùng cảm biến:
- Cách hoạt động: Sau khoảng thời gian t khi có tín hiệu cảm biến, Robot di chuyển đến vị trí định trước để gắp vật
- Ưu điểm: Hệ thống đơn giản, dễ lắp đặt, vận hành
- Nhược điểm: Khi băng tải thay đổi tốc độ chạy dẫn đến thời gian vật di chuyển từ
vị trí cảm biến đến vị trí định trước chậm đi hoặc nhanh hơn, cảm biến đôi khi không ổn
Trang 16định về thời điểm phát hiện vật có thể là do bề mặt vật liệu phản xạ của vật, khiến cho robot gắp vật không chính xác
Vì vậy việc dùng cảm biến phát hiện và gắp vật bị ảnh hưởng bởi thời gian, nhiễu Tracking dùng encoder
- Cách hoạt động: Khi vật chuyển động trên băng tải thì vị trí của vật luôn được theo dõi bởi encoder, tốc độ băng tải có thay đổi thì robot vẫn biết vật đang ở vị trí nào trên băng tải, khi đến vị trí định trước, robot di chuyển đến vị trí đó và hút vật
- Ưu điểm: Chính xác trong một số trường hợp vật được gắn trên băng tải
- Nhược điểm: Đối với các vật di chuyển trên bề mặt băng tải do quán tính khi băng tải có sự thay đổi tốc độ, bề mặt của vật trơn nhẵn khiến cho ma sát giữa băng tải và vật kém, gây sai vị trí vật
Vì vậy việc dùng encoder phát hiện và gắp vật bị ảnh hưởng bởi sự trượt của vật Tracking dùng camera phát hiện vị trí vật theo phương ngang băng tải
- Cách hoạt động: Khi vật chuyển động trên băng tải, khi đến khu vực chụp ảnh, cảm biến sẽ xuất tín hiệu chụp cho camera, dùng các thuật toán sẽ xác định được vị trí của vật trên băng tải theo phương ngang Sau khi biết được vị trí theo phương ngang thì có thể dùng cảm biến hay encoder để biết khi nào vật đến để gắp vật
- Ưu điểm: Có thể gắp được các vật thay đổi vị trí theo phương ngang
- Nhược điểm: Trước khi chụp ảnh vị trí vật thì vật có thể thay đổi vị trí, nhưng sau khi chụp ảnh thì vật phải cố định và không thay đổi, nếu có sự dịch chuyển theo phương ngang thì robot vẫn gắp không chính xác
Mặc dù dùng camera để phát hiện vật theo phương ngang giúp tăng sự linh hoạt cho robot, phương pháp này vẫn còn hạn chế ở việc vật phải cố định trên băng tải sau khi chụp ảnh
Cho nên ta cần một giải pháp tốt hơn để có thể giải quyết các trường hợp trên, sau khi chụp ảnh để biết vị trí vật, vẫn phải tiếp tục chụp ảnh và so sánh với vị trí robot, quá trình liên tục cho đến khi robot gắp vật Từ những vấn đề được đề ra ở trên, chúng em quyết
Trang 17định lựa chọn “Thiết Kế Mô Hình Robot Gắp Vật Chuyển Động Với Thuật Toán Điều Khiển Vòng Kín Dùng Dữ Liệu Hình Ảnh” làm đề tài cho đồ án môn học
MỤC TIÊU CỦA ĐỀ TÀI
Đề tài “Thiết Kế Mô Hình Robot Gắp Vật Chuyển Động Với Thuật Toán Điều Khiển Vòng Kín Dùng Dữ Liệu Hình Ảnh” có mục tiêu như sau:
- Thiết kế, thi công mô hình Robot
- Xây dựng chương trình robot gắp vật chuyển động hồi tiếp vòng kín bằng thuật toán xử lý ảnh
ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
Đối tượng nghiên cứu: Nghiên cứu, thiết kế và thi công cánh tay Robot Scara có sử dụng xử lý ảnh
Chương 2: Cơ sở lý thuyết
Chương 3: Tính toán và thiết kế hệ thống
Chương 4: Thiết kế phần mềm
Chương 5: Kết quả - Nhận xét – Đánh giá
Chương 6: Kết luận và hướng phát triển
Trang 18CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
ĐIỀU XUNG PWM
Khái niệm
Phương pháp điều xung PWM là phương pháp điều chỉnh điện áp ra tải, hay nói cách khác, là phương pháp điều chế dựa trên sự thay đổi độ rộng của chuỗi xung vuông, dẫn đến sự thay đổi điện áp ra
Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của sườn dương hay sườn âm
Ưu điểm
- Dùng PWM để điều chỉnh cường độ dòng điện sẽ hiệu quả hơn và cũng tiết kiệm hơn
- Các phương pháp điều chỉnh dòng điện khác rất tốn kém và phức tạp
Nguyên lí hoạt động
PWM hoạt động theo nguyên tắc đóng ngắt có chu kỳ của nguồn của tải Khi van
G mở, toàn bộ điện áp được dùng cho tải Khi van đóng, tải bị cắt nguồn điện áp Vì vậy, trong suốt chu kỳ đóng mở van G này, tải sẽ có lúc nhận được toàn bộ nguồn điện áp, có lúc nhận được một phần và cũng có lúc hoàn toàn không nhận được gì
Công thức tính điện áp ra trung bình của tải:
𝑈𝑑 = 𝑈𝑚𝑎𝑥.𝑡
Trong đó:
- Ud(V): điện áp ra trung bình của tải
- Umax(V): Điện áp cực đại của nguồn
- t(s): Thời gian Ton
- T(s): Chu kỳ xung
Trang 19Hình 2.1: Điều chế xung PWM
Ứng dụng
PWM được ứng dụng nhiều trong điều khiển Điển hình nhất mà chúng ta thường hay gặp là điều khiển động cơ và các bộ xung áp, điều áp Sử dụng PWM điều khiển độ nhanh chậm của động cơ hay cao hơn nữa, nó còn được dùng để điều khiển sự ổn định tốc
độ động cơ
BỘ CHUYỂN ĐỔI ADC
Khái niệm
ADC là bộ chuyển đổi analog sang kỹ thuật số là một mạch chuyển đổi giá trị điện
áp liên tục (analog) sang giá trị nhị phân (kỹ thuật số) mà thiết bị kỹ thuật số có thể hiểu được sau đó có thể được sử dụng để tính toán kỹ thuật số Mạch ADC này có thể là vi mạch ADC hoặc được nhúng vào một bộ vi điều khiển
Hình 2.2: Mô tả quá trình chuyển từ analog qua digital
Trang 20Nguyên lí hoạt động
Các bộ chuyển đổi ADC theo phương pháp này được cấu thành từ một dãy các bộ
so sánh (như OpAmp), các bộ so sánh được mắc song song và được kết nối trực tiếp với tín hiệu analog cần chuyển đổi Một điện áp tham chiếu (reference) và một mạch chia áp được sử dụng để tạo ra các mức điện áp so sánh khác nhau cho mỗi bộ so sánh
Hình 2.3: Mạch ADC với 4 bộ so sánh
Với mạch điện có 4 bộ so sánh như trong hình trên, ta sẽ có tất cả 5 trường hợp có thể xảy ra, hay nói theo cách khác điện áp analog V in sẽ được chia thành 5 mức số khác nhau
Vo4 Vo3 Vo2 Vo1 Nhị phân Thập phân
Trang 21+ Độ phân giải:
Như hình trên, nếu như mạch điện có 4 bộ so sánh, ngõ ra digital sẽ có 5 mức giá trị Tương tự nếu như mạch điện có 7 bộ so sánh thì sẽ có 8 mức giá trị có thể ở ngõ ra digital, khoảng cách giữa các mức tín hiệu trong trường hợp 8 mức sẽ nhỏ hơn trường hợp
4 mức
Nói cách khác, mạch chuyển đổi với 7 bộ so sánh có giá trị digital ngõ ra “mịn” hơn khi chỉ có 4 bộ, độ “mịn” càng cao tức độ phân giải (resolution) càng lớn Khái niệm độ phân giải được dùng để chỉ số bit cần thiết để chứa hết các mức giá trị digital ngõ ra
Công thức:
𝑁𝐴𝐷𝐶 = (2𝑛− 1) 𝑉𝑖𝑛
Trong đó:
- NADC: Giá trị số chuyển đổi
- n(bit): Độ phân giải ADC
- Vin(Volt): Điện áp đầu vào
- Vref(Volt): Điện áp tham chiếu
GIAO TIẾP I2C
Khái niệm
I2C là giao thức giao tiếp nối tiếp đồng bộ được phát triển bởi Philips Semiconductors, sử dụng để truyền nhận dữ liệu giữa các IC với nhau chỉ sử dụng hai đường truyền tín hiệu
Các bit dữ liệu sẽ được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi 1 tín hiệu clock
Bus I2C thường được sử dụng để giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại vi điều khiển, cảm biến, EEPROM,
Đặc điểm
2.3.2.1 Cấu tạo
Trang 22SCL: Tạo xung clock do Master phát đi
SDA: Đường truyền nhận dữ liệu
Hình 2.4: Cấu tạo của giao tiếp I2C Giao tiếp I2C bao gồm quá trình truyền nhận dữ liệu giữa các thiết bị chủ tớ, hay Master - Slave
Thiết bị Master là 1 vi điều khiển, nó có nhiệm vụ điều khiển đường tín hiệu SCL
và gửi nhận dữ liệu hay lệnh thông qua đường SDA đến các thiết bị khác
Các thiết bị nhận các dữ liệu lệnh và tín hiệu từ thiết bị Master được gọi là các thiết
bị Slave Các thiết bị Slave thường là các IC, hoặc thậm chí là vi điều khiển
Master và Slave được kết nối với nhau như hình trên Hai đường bus SCL và SDA đều hoạt động ở chế độ Open Drain, nghĩa là bất cứ thiết bị nào kết nối với mạng I2C này cũng chỉ có thể kéo 2 đường bus này xuống mức thấp (LOW), nhưng lại không thể kéo được lên mức cao
Vì để tránh trường hợp bus vừa bị 1 thiết bị kéo lên mức cao vừa bị 1 thiết bị khác kéo xuống mức thấp gây hiện tượng ngắn mạch Do đó cần có 1 điện trờ (từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao
2.3.2.2 Khung truyền I2C
Hình 2.5: Khung truyền I2C
Trang 23- Khối bit địa chỉ:
Thông thường quá trình truyền nhận sẽ diễn ra với rất nhiều thiết bị, IC với nhau
Do đó để phân biệt các thiết bị này, chúng sẽ được gắn 1 địa chỉ vật lý 7 bit cố định
- Bit Read/Write:
Bit này để xác định quá trình là truyền hay nhận dữ liệu từ thiết bị Master Nếu Master gửi dữ liệu đi thì ứng với bit này bằng ‘0’ và ngược lại nhận dữ liệu khi bit này bằng 1’
- Bit ACK/NACK:
Bit này dùng để so sánh bit địa chỉ vật lý của thiết bị so với địa chỉ được gửi tới Nếu trùng thì bit sẽ được đặt bằng ‘0’ và ngược lại, nếu không thì mặc định bằng ‘1’
- Khối bit dữ liệu:
Gồm 8 bit và được thiết lập bởi thiết bị gửi truyền đến thiết bị nhận Sau khi các bit này được gửi đi, lập tức 1 bit ACK/NACK được gửi ngay theo sau để xác nhận rằng thiết
bị nhận đã nhận được dữ liệu thành công hay chưa Nếu nhận thành công thì bit ACK/NACK được set bằng ‘0’ và ngược lại
Hoạt động và giao tiếp
2.3.3.1 Quá trình truyền nhận dữ liệu
Bắt đầu: Thiết bị Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường SDA, SCL từ mức 1 xuống 0
Hình 2.6: Xung Start của giao tiếp I2C
Trang 24Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới Slave muốn giao tiếp cùng với bit Read/Write
Slave sẽ so sánh địa chỉ vật lý với địa chỉ vừa được gửi tới Nếu trùng khớp, Slave
sẽ xác nhận bằng cách kéo đường SDA xuống 0 và set bit ACK/NACK bằng ‘0’ Nếu không trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng ‘1’
Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu Nếu Master gửi đến Slave thì bit Read/Write ở mức 0 Ngược lại nếu nhận thì bit này ở mức 1
Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK được set thành mức 0 để báo hiệu cho Master tiếp tục
Sau khi tất cả dữ liệu đã được gửi đến Slave thành công, Master sẽ phát 1 tín hiệu Stop để báo cho các Slave biết quá trình truyền đã kết thúc bằng các chuyển lần lượt SCL, SDA từ mức 0 lên mức 1
Hình 2.7: Trình tự truyền dữ liệu
2.3.3.2 Các chế độ hoạt động của I2C
Chế độ chuẩn (standard mode) với tốc độ 100 kBit/s
Chế độ tốc độ thấp (low speed mode) với tốc độ 10 kBit/s
Ngoài ra, khác với giao tiếp SPI chỉ có thể có 1 Master, giao tiếp I2C cho phép chế
độ truyền nhận dữ liệu giữa nhiều thiết bị Master khác nhau với thiết bị Slave Tuy nhiên quá trình này có hơi phức tạp vì thiết bị Slave có thể nhận 1 lúc nhiều khung dữ liệu từ các thiết bị Master khác nhau, điều đó đôi khi dẫn đến xung đột hoặc sai sót dữ liệu nhận được
Để tránh điều đó, khi làm việc ở chế độ này, mỗi thiết bị Master cần phát hiện xem đường SDA đang ở trạng thái nào Nếu SDA ở mức 0, nghĩa là đang có 1 thiết bị Master
Trang 25khác đang có quyền điều khiển và phải chờ đến khi truyền xong Ngược lại nếu SDA ở
mức 1, nghĩa là đường truyền SDA đã an toàn và có sử dụng
BỘ ĐIỀU KHIỂN PID SỐ (rời rạc)
Tổng quan về bộ điều khiển PID
Bộ điều khiển PID là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát
được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điều khiển PID là
bộ điều khiển được sử dụng nhiều nhất trong các bộ điều khiển phản hồi
Bộ điều khiển PID giúp các hệ thống tính toán ra các giá trị sai số là hiệu số giữa
các giá trị đo thông số về biển đối và giá trị đặt theo mong muốn của người thiết kế, người
dùng Thông qua các điều chỉnh giá trị điều khiển đầu mà mà nhờ đó hệ thống điều khiển
khi thực hiện sẽ giảm được tối đa những sai số, cho hoạt động chính xác hơn và đạt hiệu
quả cao hơn
Trong trường hợp không có kiến thức cơ bản về hệ thống điều khiển tự động, bộ
điều khiển PID sẽ là bộ điều khiển tốt nhất Tuy nhiên, ta muốn đạt được kết quả tốt nhất,
các thông số PID sử dụng trong tính toán phải điều chỉnh theo tính chất của hệ thống –
trong khi kiểu điều khiển là giống nhau, các thông số phải phụ thuộc vào đặc trưng của
Trang 26Ý nghĩa và công dụng
Giải thuật tính toán bộ điều khiển PID bao gồm 3 thông số riêng biệt: các giá trị tỉ
lệ, tích phân và đạo hàm, viết tắt là P, I và D
số tích lũy được trong quá khứ
D: vi phân của sai lệch Điều khiển vi phân có nhiệm vụ tạo ra các tín hiệu điều chỉnh để cho tỷ lệ phù hợp nhất với tốc độ thay đổi sai lệch đầu vào Khi ta điều chỉnh vi phân càng lớn khi thời gian càng lớn và tương ứng với bộ điều chỉnh để đáp ứng cho thay đổi đầu vào sẽ càng nhanh
Bằng cách điều chỉnh 3 hằng số trong giải thuật của bộ điều khiển PID, bộ điều khiển có thể dùng trong những thiết kế có yêu cầu đặc biệt Đáp ứng của bộ điều khiển có thể được mô tả dưới dạng độ nhạy sai số của bộ điều khiển, giá trị mà bộ điều khiển vọt lố điểm đặt và giá trị dao động của hệ thống
Nhiều ứng dụng yêu cầu chỉ sử dụng một hoặc hai khâu tùy theo hệ thống Điều này đạt được bằng cách thiết đặt đội lợi của các đầu ra không mong muốn về 0 Một bộ điều khiển PID sẽ được gọi là bộ điều khiển PI, PD, hoặc P nếu vắng mặt các tác động bị khuyết Trong đó thì bộ điều khiển PI tương đối phổ biến, do đáp ứng vi phân khá nhạy đối với các nhiễu nhưng trái lại nếu thiếu giá trị tích phân có thể khiến hệ thống không đạt được giá trị mong muốn
HIỆU CHỈNH CAMERA (Calibration Camera)
Khái niệm
Camera calibration là phương pháp tính toán và thực nghiệm nhằm tìm ra các tham
Trang 27số của camera để tái tạo không gian 3D của một cảnh, một vật thể nào nó trong thực tế
bằng những ảnh mà camera nó ghi lại được
Công dụng
Ước tinh các thông số của ống kính và cảm biến ảnh của 1 ảnh hoặc của camera
Để chỉnh sửa độ méo, biến dạng của ống kính, đo kích thước của 1 đối tượng theo
đơn vị thực tế hoặc xác định vị trí của máy ảnh
Để phát hiện hoặc đo lường đối tượng và sử dụng trong robot cho hệ thống định vị
và tái tạo cảnh 3D
Các thông số, ma trận để hiệu chỉnh camera
Ta muốn hiệu chỉnh camera được phải có:
- Extrinsic: Vị trí và hướng của máy ảnh với tọa độ thực tế
- Intrinsic: Các thông số liên kết giữa tọa độ điểm ảnh với mặt phẳng chứa ảnh
- w: tọa độ của vật ngoài thực tế (3D)
Hình 2.8: Các tham số trong quá trình chuyển từ 3D sang 2D
Trang 282.5.3.1 Thông số ngoài (Extrinsic)
- Phụ thuộc vào vị trí đặt camera
- Thông số bên ngoài camera để xác định vị trí và hướng của máy ảnh với tọa độ thực tế (3D sang 3D)
Hình 2.9: Xác định vị trị và hướng của máy so với tọa độ thực
- Gốc của hệ tọa độ của máy ảnh là ở trung tâm quang học của nó và trục x,y của nó xác định mặt phẳng hình ảnh
2.5.3.2 Thông số trong (Intrinsic)
- Thông số cần để liên kết với tọa độ pixel của điểm ảnh với tọa độ tương ứng trong
hệ quy chiếu của máy ảnh
- Các thông số này sẽ được sử dụng lại cho các loại ứng dụng khác nhau
Ma trận Intrinsic:
Trang 29- fx, f y: tiêu cự của máy ảnh
Khi thu 1 ảnh không bị biến dạng, hoàn chỉnh thì máy ảnh đa số sẽ thu được hình chiếu là hình vuông nên thường sẽ có duy nhất 1 tiêu cự
Nhưng trong trường hợp hình thu bị biến dạng thì hình chiếu thu được có thể là hình chữ nhật nên trong trường hợp đó ta sẽ phải đưa ra 2 tiêu cự f , x f y
- Ox, O y: điểm trung tâm quang học
Tâm của hình chiếu sẽ là tâm của ống kính nhưng trong ảnh thì điểm trung tâm sẽ nằm ở góc bên trái trên cùng nên chúng ta phải thêm 2 tham số Ox, O y để biểu thị cho việc dịch chuyển này
Hình 2.10: Tọa độ trong mặt phẳng ảnh chuyển qua tọa độ pixcl của ảnh
Các kiểu biến dạng
2.5.4.1 Biến dạng xuyên tâm
Kiểu biến dạng này xảy ra là do bản chất của thấu kính trong camera gây ra
Trang 30Hình 2.11: Biến dạng xuyên tâm Trong ảnh này, vật thể là hình vuông và khi vật thể đi qua thấu kính này sẽ bị biến dạng do xảy ra 1 số hiệu ứng nhiễu xạ, cụ thể ở hình trên là góc của hình vuông khi đi qua thấu kính sẽ bị biến dạng (cong)
Khi biến dạng nó sẽ tạo ra tham số:
- x, y: vị trí của pixel không bị biến dạng
- k1, k2, k3: hệ số biến dạng xuyên tâm của thấu kính ( hệ số k càng nhỏ thì biến dạng càng ít)
- r: khoảng cách giữa tâm của thấu kính với hình chiếu của vật
Thông thường, hai hệ số là đủ để hiệu chuẩn Đối với hiện tượng méo nghiêm trọng,
chẳng hạn như trong ống kính góc rộng, bạn có thể chọn ba hệ số để bao gồm k3
2.5.4.2 Biến dạng tiếp tuyến
- Biến dạng này xảy ra khi thấu kính camera không song song với mặt phẳng ảnh (ít khi xày ra hiện tượng này)
Trang 31Hình 2.12: Biến dạng tiếp tuyến Khi ảnh bị xảy ra biến dạng thì sẽ xuất hiện các tham số sau:
- x, y: vị trí của pixel không bị biến dạng
- p1, p2: hệ số biến dạng tiếp tuyến của thấu kính ( hệ số p càng nhỏ thì biến dạng càng ít)
- r: khoảng cách giữa tâm của thấu kính với hình chiếu của vật
KHÔNG GIAN MÀU
Có nhiều mô hình màu khác nhau dùng ñể biểu diễn màu sắc trong máy tính như: RGB, HSV, HSL, HIS Trong ñó, RGB và HSV là hai mô hình màu thông dụng
Trang 32mỗi giá trị biểu diễn cho cường độ của một màu Với mô hình màu 24bit thì số màu tối đa
có thể tạo ra là 255 x 255 x 255 = 16581375 màu
Hình 2.13: Không gian màu RGB Ngoài hệ màu RGB thì ta sẽ nghe đến RGBA, đây là một hệ màu được lấy căn bản từ hệ màu RGB nhưng có thêm một kênh alpha (α) Kênh α được sử dụng như là kênh
mờ, nếu một pixel có giá trị 0% trong kênh α thì nó hoàn toàn trong suốt, trong khi giá trị 100% khiến cho điểm đó bị mờ đục Điều này được ứng dung rất nhiều trong việc ghép các ảnh lại và mang độ chân thực nhất định
Nhưng có lúc độ bão hòa được coi trên phạm vị từ 0 – 1 Trong đó 0 là màu xàm và
1 là màu chính
Trang 33V: Độ sáng kết hợp với độ bão hòa sẽ mô tả độ sáng hoặc cường độ của màu sác, từ 0-100% và trong đó 0 là đen hoàn toàn và 100 là sáng nhất
Ứng dụng điển hình nhất của HSV là trong việc lọc màu Giả sử chúng ta có 1 bài toán là nhận dạng màu sắc của đèn đường giao thông và đầu vào là ảnh và yêu cầu ở đây
là nhận dạng đèn màu xanh lá cây
Thực chất của không gian HSV là sự biến đổi của không gian RGB Không gian HSV được mô tả bằng lệnh lập phương RGB quay trên đỉnh Black H là góc quay, trục V qua hai đỉnh Black và White
Hình 2.14: Không gian màu HSV
Chuyển đổi từ RGB sang HSV
Ảnh chúng ta thu được thường có không gian màu chuẩn là RGB Nhưng không gian màu này thường không hợp cho việc nhận dạng màu sắc đối với thị giác máy tính Nên để khắc phục điều này, thì ta sẽ chuyển từ không gian màu RGB sang không gian màu HSV để dễ dàng trong việc nhận dạng màu sắc trong xử lý ảnh
Trang 34C C
DỰ ĐOÁN QUỸ ĐẠO
Một vật được chụp bởi camera có toạ độ (x, y) trên mặt phẳng ảnh Sau khoảng thời gian (t), toạ độ vật sẽ thay đổi
Như hình trên, Frame 1 khi đó toạ độ của vật là A(1,3) sau khoảng thời gian t, toạ
độ vật là A’(2,3) vật đã di chuyển 1 pixel theo chiều x ta tính được vận tốc (pixel/s) của vật trong khoảng thời gian t
Hình 2.15: Tọa đồ của vật trên ảnh sau khoảng thời gian t
Trang 35Trong khoảng thời gian t, ta xem như vật chuyển động thẳng đều:
𝑥 = 𝑥0+ 𝑣 𝑡 Trong đó:
- 𝑥0: Vị trí của vật tại thời điểm hiện tại
- 𝑥: Vị trí của vật sau thời gian t
Trang 36nếu chiếu sáng không tốt thì hệ thống sẽ hoạt động kém hiệu quả, dễ gây sai lệch, nhiễu
Do đó việc chiếu sáng là điều đầu tiên cần nghĩ đến trong các ứng dụng của puter Vision
Chiếu sáng trực tiếp
Hình 2.17: Chiều sáng trực tiếp Chiếu sáng chiếu sáng trực tiếp khiến cho đối tượng rất sáng, và các vùng khác tối hơn, từ đó khiến cho bề mặt chiếu sáng không đều gây khó khăn trong việc tìm các đối tượng
Trang 37Chiếu sáng khuếch tán khiến cho ánh sáng đều trên mọi điểm của bề mặt đối tượng, các đối tượng hiện rõ trên ảnh
Ưu điểm:
- Các đối tượng trên bề mặt có độ sáng bằng nhau tìm được nhiều đối tượng
- Tránh nhiễu do các ngưỡng của các đối tượng là như nhau
- Các ứng dụng liên quan đến màu sắc
- Tìm nhiều đối tượng trên bề mặt
Chiếu sáng góc thấp
Hình 2.19: Chiếu sáng góc thấp Chiếu sáng góc thấp làm cho các cạnh của đối tượng trở nên nổi bật hơn bề mặt (so với chiếu sáng khuếch tán)
Trang 38- Góc chiếu đèn rất quan trọng, khi đèn chiếu bị lệch sẽ ảnh hưởng đến chất lượng ảnh sau khi lắp đặt xong cần cố định lại đèn
Ứng dụng:
- Dùng trong các ứng dụng về kiểm tra bề mặt các sản phẩm (Trầy, bụi, độ nhẵn,….)
Chiếu sáng phía sau
Hình 2.20: Chiếu sáng phía sau Chiếu sáng phía sau làm cho bề mặt trở nên tối đi, không có thông tin gì ngoài hình dạng của vật
Ưu điểm:
- Chiếu sáng ổn định, ít nhiễu
- Dễ dàng lắp đặt
Nhược điểm:
- Chỉ thu được một thông tin (Về kích thước của đối tượng)
- Quan trọng về kích thước đèn Không linh hoạt cho các đối tượng khác nhau Ứng dụng:
- Dùng trong các ứng dụng về đo lường (Kích thước, khoảng cách, hình dáng,… của đối tượng)
Trang 39CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
ĐỘNG HỌC CỦA ROBOT
Theo đề tài đã chọn thì bài toán đặt ra ở đây là robot hút vật đang chuyển động trên băng tải, vị trí tọa độ của vật sẽ được xác định bằng camera và thực hiện gửi dữ liệu về để tính toán các khâu, khớp robot để cơ cấu chấp hành của robot bám theo và hút vật dược chính xác nhất
Với yêu cầu được đề ra thì bài toán trên đồng nghĩa với việc tính toán áp dụng động học nghịch để điều khiển con robot mà muốn tính được động học nghịch của nó thì ta phải dựa vào bảng D-H cũng như tọa độ thuận của Robot (sử dụng phần mềm Matlab để hỗ trợ tính toán các ma trận)
Hệ tọa độ xyz
Hình 3.1: Robot mô phỏng solid
Vì con Robot có quá nhiều chi tiết nhỏ sẽ làm khó khăn khi mô phỏng và đặt tọa độ cho nó để mô phỏng, kiểm tra động học điều khiển con robot nên nhóm đã mô phỏng lại
Trang 40con robot theo cách tối giản nhưng vẫn đúng kích thước của từng khâu khớp của robot để
dễ dàng thực hiện
Hình 3.2: Hệ tọa độ của Robot
Bảng động học
Khi điều khiển được robot thì ta cần phải tính được động học thuận và động học nghịch của robot, do thế muốn tính được động học ta phải lập bảng D-H để hỗ trợ ta tính toán đơn giàn hơn
Bảng 3-1: Bảng D-H Thông số: L1 = 149, L2 = 150.50, L3 = 90, θ1 = 0
Trong đó:
- a: chiều dài của link (độ dài của đường vuông góc chung giữa 2 trục z)
- α: góc lệch của 2 trục z (độ xoắn của link)