LỜI NÓI ĐẦUĐể hoàn thành tiểu luận này, nhóm xin gư뀉i lời c#m ơn chân thành đến:Ban giám hiệu trường Đại Học Sư phạm kỹ thuật Thành ph Ā Hồ Chí Minh v8 đã tạo điều kiện về cơ sơꄉ vật chấ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ -⸙∆⸙ -
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
1 Nhận xét của giáo viên
Bằng chữ:
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
Trang 3LỜI NÓI ĐẦU
Để hoàn thành tiểu luận này, nhóm xin gư뀉i lời c#m ơn chân thành đến:
Ban giám hiệu trường Đại Học Sư phạm kỹ thuật Thành ph Ā Hồ Chí Minh v8 đãtạo điều kiện về cơ sơꄉ vật chất c>ng như hệ th Āng giáo dục, giúp cho chúng em tiếp thu
t Āt những kiến thức nền t#ng và cCn thiết để vận dụng vào đồ án, đồng thời làm hànhtrang cho chă Eng đường sau này
Xin c#m ơn giáo viên hướng dẫn - ThCy Đă Eng Xuân Ba đã chH dạy tận t8nh, chi tiết
và động viên tinh thCn giúp chúng em có đủ kh# năng hoàn thành đồ án này Xin c#m ơncác anh trợ gi#ng đã nhiệt t8nh hỗ trợ và giúp nhóm có thể thêm những kiến thức cCn thiếttrong quá tr8nh thực hiện đề tài
Một lCn nữa, chúng em xin kính chúc qu礃Ā thCy cô dồi dào sức khỏe và thành công
Trang 4Kết n Āi giao diện điều khiển, điều khiển hoạt động robot.
Chạy thực nghiệm robot thực tế
TuCn 16 Hoàn thiện thực nghiệm mô h8nh Viết báo cáo (word và
Trang 5(13/12 – 19/12) powerpoint).
Trang 6MỤC LỤC
CHƯƠNG 01 TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.2 Tổng quan chung về lĩnh vực cánh tay robot 1
1.3 Ứng dụng tiêu biểu 3
1.4 Tổng quan về robot Fanuc và ứng dụng 4
1.5 Giới hạn đề tài 6
1.6 Phương pháp nghiên cứu 6
1.7 Tóm tắt nội dung đề tài 7
CHƯƠNG 02 CƠ SỞ LÝ THUYẾT 8
2.1 Nguyên lý hoạt động 8
2.2 Tính toán động học robot 8
2.2.1 Bảng DH 8
2.2.2 Động học thuận, nghịch 10
2.2.3 Phương trình động học robot 11
2.2.4 Thiết kế bộ điều khiển 14
2.3 Phần mềm hỗ trợ 23
2.3.1 Phần mềm Matlab-simulink 23
2.3.2 Phần mềm Solidworks 25
2.3.3 Phần mềm Arduino IDE 26
2.3.4 Phần mềm Visual Studio Code (VS Code) 27
2.3.5 Phần mềm QT Designer 28
CHƯƠNG 03 THIẾT KẾ MÔ HÌNH ROBOT 30
Trang 73.1 Thiết kế mô hình 3D dùng Solidworks 30
3.1.1 Thiết kế đế robot 30
3.1.2 Thiết kế khâu 1 32
3.1.3 Thiết kế khâu 2 34
3.1.4 Thiết kế khâu 3 36
3.2 Lựa chọn thiết bị 37
3.2.1 Vi xử lý trung tâm (Arduino) 37
3.2.2 Động cơ bước khớp 1 37
3.2.3 Động cơ bước khớp 2 39
3.2.4 Driver điều khiển động cơ bước khớp 1,2 40
3.2.5 Động cơ DC khớp 3 41
3.2.6 Các thiết bị khác 43
CHƯƠNG 04 THI CÔNG MÔ HÌNH ROBOT 46
4.1 Thi công phần cứng 46
4.2 Xây dựng giao diện điều khiển 48
4.2.1 Xây dựng giao diện kết nối Arduino 49
4.2.2 Xây dựng giao diện điều khiển chế độ Manual 51
4.2.3 Xây dựng giao diện điều khiển chế độ Auto 52
CHƯƠNG 05 KẾT QUẢ THỰC NGHIỆM 53
5.1 Mô phỏng bằng Matlab 53
5.1.1 Kiểm chứng động học thuận, động học nghịch 53
5.1.2 Kiểm chứng phương trình động lực học 54
5.1.3 Kiểm chứng PID 55
5.1.4 Kiểm chứng Fuzzy 58
Trang 85.2 Chạy mô hình thực tế 61
5.2.1 Thực nghiệm PID cho khớp 3 61
5.2.2 Chạy chế độ Manual 62
5.2.3 Chạy chế độ Auto 64
CHƯƠNG 06 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68
6.1 Kết luận 68
6.2 Hướng phát triển 68
TÀI LIỆU THAM KHẢO 69
PHỤ LỤC 70
Trang 9MỤC LỤC HÌNH ẢNH Chương 01 Tổng quan
Hình 1.1 Cánh tay robot gấp s#n phẩm 2
Hình 1.2 Robot di động-máy bay không người lái UAV 2
Hình 1.3 Robot mô phỏng hành vi con người 3
Hình 1.4 Ứng dụng robot trong lắp ráp ô tô 3
Hình 1.5 Ứng dụng robot trong gia công cơ khí 4
Hình 1.6 Ứng dụng robot trong b Āc xếp háng hóa 4
Hình 1.7 Robot hàn Fanuc Robot Arcmate 100i M6i RJ3 5
Hình 1.8 Robot Gắp Fanuc R-2000iD 5
Hình 1.9 Robot Fanuc Collaborative Robot CR-4iA 6
Chương 02 Cơ sở lý thuyết Hình 2.1 Mô h8nh robot và đặt trục t Āi ưu 9
Hình 2.2 Sơ đồ kh Āi bộ điều khiển PID 17
Hình 2.3 Bộ điều khiển PID cho 3 khớp của robot 18
Hình 2.4 Kh Āi DYNAMIC VECTOR 18
Hình 2.5 Bộ điều khiển Fuzzy cho 3 khớp robot 20
Hình 2.6 Kh Āi Fuzzy logic 2 ngõ vào 21
Hình 2.7 Hai ngõ vào e và e_dot 22
Hình 2.8 Ngõ ra kh Āi Fuzzy logic 22
Hình 2.9 Các luật mờ trong kh Āi Fuzzy logic 23
Hình 2.10 Giao diện phCn mềm Matlab 24
Hình 2.11 Giao diện và thư viện công cụ Simulink 25
Hình 2.12 Giao diện phCn mềm Solidworks 26
Hình 2.13 Giao diện phCn mềm Arduino IDE 27
Hình 2.14 Giao diện phCn mềm Visual Studio Code 28
Hình 2.15 Giao diện phCn mềm QT Designer 29
Trang 10Hình 2.16 Driver điều khiển động cơ bước Microstep 3.5A 40VDC 40
Chương 03 Thiết kế mô hình robot Hình 3.1 Thiết kế đế robot 30
Hình 3.2 PhCn đế khi được lắp các thiết bị khác vào 31
Hình 3.3 Khâu một robot 32
Hình 3.4 Các thiết kế Khâu môt 33
Hình 3.5 Các kích thước khâu một 34
Hình 3.6 Thiết kế khâu hai robot 35
Hình 3.7 Khâu hai được tạo thêm ngôi sao để tăng tính thẩm mỹ 36
Hình 3.8 Khâu ba của robot 36
Hình 3.9 Arduino Mega 2560 R3 37
Hình 3.10 Động cơ bước gi#m t Āc Nema 17 tH s Ā 3969/289 38
Hình 3.11 Động cơ bước gi#m t Āc Nema 17 tH s Ā 57/11 39
Hình 3.12 Driver điều khiển động cơ bước Microstep 3.5A 40VDC 40
Hình 3.13 Động Cơ DC Servo GM25-370 DC Geared Motor 41
Hình 3.14 Mạch cCu H 42
Hình 3.15 Mạch cCu H dùng BJT 42
Hình 3.16 Mạch điều khiển động cơ DC L298N 43
Chương 04 Thi công mô hình robot Hình 4.1 PhCn đế robot sau khi in 3d và sơn màu 46
Hình 4.2 Khâu 1 robot sau khi in 3D và sơn màu 47
Hình 4.3 Khâu 2 robot sau khi in 3D và sơn màu 47
Hình 4.4 Khâu 3 robot sau khi in 3D và sơn màu 48
Hình 4.5 Mô h8nh robot sau khi lắp ráp hoàn thiện 48
Hình 4.6 Màn h8nh bắt đCu giao diện điều khiển 49
Hình 4.7 Màn h8nh Setting Connection khi chưa kết n Āi Arduino 50
Trang 11Hình 4.8 Màn h8nh Setting Connection khi đã kết n Āi với Arduino 50
Hình 4.9 Màn h8nh Manual Mode 51
Hình 4.10 Màn h8nh Auto Mode 52
Hình 4.11 Màn h8nh Drawing 53
Chương 05 Kết quả thực nghiệm Hình 5.1 Kiểm chứng động học nghịch 53
Hình 5.2 Kiểm chứng động học thuận 54
Hình 5.3 Kiểm chứng động học robot theo phương y (không điều khiển) 55
Hình 5.4 Kiểm chứng động học robot theo phương z (không điều khiển) 55
Hình 5.5 Đáp ứng PID khớp 1 56
Hình 5.6 Đáp ứng PID khớp 2 57
Hình 5.7 Đáp ứng PID khớp 3 57
Hình 5.8 Hành vi robot với bộ điều khiển PID 58
Hình 5.9 Đáp ứng Fuzzy khớp 1 59
Hình 5.10 Đáp ứng Fuzzy khớp 2 59
Hình 5.11 Đáp ứng Fuzzy khớp 3 60
Hình 5.12 Hành vi robot với bộ điều khiển Fuzzy 60
Hình 5.13 Thực nghiệm PID khớp 3 góc 450 61
Hình 5.14 Thực nghiệm PID khớp 3 góc 900 61
Hình 5.15 Giao diện điều khiển Manual - vị trí 01 62
Hình 5.16 Robot làm việc ơꄉ vị trí 01 62
Hình 5.17 Giao diện điều khiển Manual - vị trí 02 63
Hình 5.18 Robot làm việc ơꄉ vị trí 02 63
Hình 5.19 Màn h8nh lúc bắt đCu chế độ auto 64
Hình 5.20 Giao diện điều khiển Auto - vị trí P1 64
Hình 5.21 Robot di chuyển đến vị trí P1 65
Hình 5.22 Giao diện điều khiển Auto - vị trí P2 65
Trang 12Hình 5.23 Robot di chuyển đến vị trí P2 66 Hình 5.24 Giao diện điều khiển Auto - vị trí P3 66 Hình 5.25 Robot di chuyển đến vị trí P3 67
Trang 82Hình 5.23 Robot di chuyển đến vị trí P2
Hình 5.24 Giao diện điều khiển Auto - vị trí P3
69
Trang 83Hình 5.25 Robot di chuyển đến vị trí P3
70
Trang 84CHƯƠNG 06 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
6.1 Kết luận
Nh8n chung nhóm đã gi#i quyết được các yêu cCu và mục tiêu đặt ra khi thực hiện
đề tài Nhóm tính toán và mô phỏng kiểm chứng được động học thuận và nghịch củarobot Thiết kế, tính toán và lựa chọn các thiết bị phù hợp cho robot Tiến hành thi công
và lắp ráp mô h8nh robot thực tế
Nhóm c>ng xây dựng được giao diện điều khiển và giám sát hoạt động robot dựatrên ngôn ngữ lập tr8nh Python Nghiên cứu và sư뀉 dụng board mạch Arduino c>ng nhưphCn mềm Arduino IDE để điều khiển robot làm việc Bên cạnh đó nhóm c>ng nghiên
cứu và sư뀉 dụng driver điều khiển động cơ bước điều khiển hai khớp 1,2 của robot
Tiến hành kết n Āi và chạy mô phỏng thực tế được trên mô h8nh thật Điều khiển,giám sát và thu thập dữ liệu tr# về trên màn h8nh giao diện điều khiển đã thiết kế Có thểđánh giá các bộ điều khiển và hành vi robot, từ đó rút ra các hạn chế cCn c#i thiện trongquá tr8nh thực hiện đề tài
6.2 Hướng phát triển
Trong tương lai, nhóm mu Ān phát triển thêm các phCn điều khiển nâng cao chorobot Có thể lưu 礃Ā đến một s Ā hướng phát triển như ứng dụng xư뀉 l礃Ā #nh và nhận diệngiọng nói Nhóm sẽ nghiên cứu phát triển thêm ứng dụng xư뀉 l礃Ā #nh điều khiển robot nhậndiện và đi chuyển đến các vị trí h8nh #nh theo mong mu Ān Bên cạnh đó nhóm c>ng sẽphát triển thêm phCn nhận diện giọng nói để điều khiển trực tiếp robot bằng giọng nói màkhông cCn thông qua các nút nhấn điều khiển
Song song đó, nhóm c>ng nghiên cứu và c#i thiện một s Ā chi tiết robot CCn c#ithiện kết cấu cơ khí để tăng tính thẩm mỹ và độ bền vững Cùng với đó là điều chHnh PIDcho động cơ khớp 3 để tăng độ chính xác cho robot trong lúc làm việc
71
Trang 85TÀI LIỆU THAM KHẢO
[1] Đinh Mạnh Hùng, Đào Tùng Linh, “Đồ án t Āt nghiệp-Thiết kế và điều khiểnlinh hoạt robot 7 bậc tự do”, trường Đại học Sư phạm kỹ thuật TP HCM, năm 2021.[2] Huỳnh Thái Hoàng, Nguy…n Thị Phương Hà, “L礃Ā thuyết điều khiển tự động”,NXB Đại học Qu Āc gia TP HCM, năm 2005
[3] Huỳnh Thái Hoàng, “L礃Ā thuyết điều khiển nâng cao”, NXB Đại học Qu Āc gia
TP HCM, năm 2014
[4] John J.Craig, “Introduction to Robotics”, Pearson Education International,2005
72
Trang 86PHỤ LỤC Code Arduino
AccelStepper stepper1(1, pulse1, dir1);
AccelStepper stepper2(1, pulse2, dir2);
Trang 87#define IN1 4
#define IN2 5
double T, xung;
double vitri, vitridat;
double E, E1, E2;
double alpha, beta, gamma, Kp, Kd, Ki;
double Output, LastOutput;
Encoder myEnc(chA, chB);
//////////////////////////////////////////////////////////////////////////////void setup() {
Serial.setTimeout(50);
Serial.begin(9600);
while(!Serial) {;}
//////////////////////////////////STEP//////////////////////////// stepper1.setMaxSpeed(90000);
stepper1.setAcceleration(2000);
stepper2.setMaxSpeed(10000);
stepper2.setAcceleration(1500);
///////////////////////////////////// SETUP TIMER//////////////////////// Timer1.initialize(400000);
Timer1.attachInterrupt(printserial);
74
Trang 8976
Trang 90int lenData=data.length();
77
Trang 91for (int i=0; i<lenData;i++)
{
xung=myEnc.read();
78
Trang 93{
analogWrite(6, abs(Output)); digitalWrite(4, LOW);