Sử dụng LIDAR cho việc quét map và điều khiển robot | Đồ án Công nghệ chế tạo máy

Đồ án tốt nghiệp môn học Công nghệ chế tạo máy với đề tài "Sử dụng LIDAR cho việc quét map và điều khiển robot" của sinh viên trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh giúp bạn tham khảo và hoàn thành tốt đồ án của mình đạt kết quả tốt. Mời bạn đọc đón xem!

TRƯỜNG ĐẠI HỌC SƯ PHẠM K THUT THNH PH H CH MINH
KHOA ĐO TO CHT LƯNG CAO
ĐỒ ÁN TT NGHIP
NGHIÊN CU, CH TO VÀ PHÁT TRIN
ROBOT 6 CHÂN T ĐNG DI CHUYN
TRONG BẢN Đ TRC TIP
GVHD: TS. NGUYỄN VĂN THÁI
SVTH: NGUYN HUNH ANH TRUNG
MSSV: 15146112
SVTH: LÊ QUC CH
MSSV: 15146013
SVTH: VŨ TRỌNG NHÂN
MSSV: 15146081
TP. H Chí Minh, 10 tháng 7 năm 2019
i
CNG HOÀ XÃ HI CH NGHĨA VIỆT NAM
Độc lp T do Hnh Phúc
*******
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dn: TS Nguyễn Văn Thái ........................................................................
Sinh viên thc hin: Vũ Trọng Nhân ............................................ MSSV:15146081 ............
Lê Quc Ch .................................................. MSSV:15146013 ............
Nguyn Hunh Anh Trung ........................... MSSV:15146112 ............
1. Tên đề tài:
Nghiên cu, chế to và phát trin robot 6 chân t động di chuyn trong bản đồ cho sn .......
2. Các s liu, tài liệu ban đầu:
Servo 5521MG-180; Board control servo; Arduino mega; Pin 6000 mAh; LIDAR; nha
PLA ..........................................................................................................................................
.................................................................................................................................................
3. Ni dung chính của đồ án:
Thiết kế mt robot ....................................................................................................................
Tạo app điều khin trên Android .............................................................................................
Tích hp camera livestream v app .........................................................................................
Quét map và điều khin vi LIDAR ........................................................................................
.................................................................................................................................................
4. Các sn phm d kiến:
Robot AntPot hoàn chnh .........................................................................................................
App điều khin trên Android có kh năng live stream, bản đồ được quét bi LIDAR ...........
5. Ngày giao đồ án:18/3/2019 .................................................................................................
6. Ngày nộp đồ án:11/7/2019 ..................................................................................................
7. Ngôn ng trình bày: Bn báo cáo: Tiếng Anh Tiếng Vit
Trình bày bo v: Tiếng Anh Tiếng Vit
TRƯNG KHOA
TRƯNG B MÔN
GING VIÊN
NG DN
(Ký, ghi rõ h tên)
(Ký, ghi rõ h tên)
(Ký, ghi rõ h tên)
ii
CNG HOÀ XÃ HI CH NGHĨA VIỆT NAM
Độc lp T do Hnh Phúc
*******
PHIU NHN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
H và tên Sinh viên: ...................................................................... MSSV: .............................
H và tên Sinh viên: ...................................................................... MSSV: .............................
H và tên Sinh viên: ...................................................................... MSSV: .............................
Ngành: ......................................................................................................................................
Tên đề tài: ................................................................................................................................
.................................................................................................................................................
H và tên Giáo viên hướng dn: ..............................................................................................
NHN XÉT
1. V nội dung đề tài & khối lượng thc hin:
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
2. Ưu điểm:
.................................................................................................................................................
.................................................................................................................................................
3. Khuyết điểm:
.................................................................................................................................................
.................................................................................................................................................
4. Đề ngh cho bo v hay không?
.................................................................................................................................................
5. Đánh giá loại: .......................................................................................................................
6. Điểm: ........................ (Bngch: ....................................................................................... )
Tp. H Chí Minh, ngày tháng … năm 20…
Giáo viên hướng dn
(Ký & ghi rõ h tên)
iii
CNG HOÀ XÃ HI CH NGHĨA VIỆT NAM
Độc lp T do Hnh Phúc
*******
PHIU NHN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
H và tên Sinh viên: ...................................................................... MSSV: .............................
H và tên Sinh viên: ...................................................................... MSSV: .............................
H và tên Sinh viên: ...................................................................... MSSV: .............................
Ngành: ......................................................................................................................................
Tên đề tài: ................................................................................................................................
.................................................................................................................................................
H và tên Giáo viên phn bin: ...............................................................................................
NHN XÉT
1. V nội dung đề tài & khối lượng thc hin:
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
2. Ưu điểm:
.................................................................................................................................................
.................................................................................................................................................
3. Khuyết điểm:
.................................................................................................................................................
.................................................................................................................................................
4. Đề ngh cho bo v hay không?
.................................................................................................................................................
5. Đánh giá loại: .......................................................................................................................
6. Đim: ........................ (Bng ch: ...................................................................................... )
Tp. H Chí Minh, ngày … tháng năm 20
Giáo viên hướng dn
(Ký & ghi rõ h tên)
iv
LỜI CẢM ƠN
Đề tài “Nghiên cứu, chế to phát trin robot 6 chân t động di chuyn trong bn
đồ trc tiếpnội dung nhóm chọn để nghiên cu làm đồ án tt nghip sau bn
năm theo học chương trình đại hc chuyên ngành Công ngh k thuật Cơ điện t ti
trường Đại học Sư phm k thut Thành ph H Chí Minh.
Để hoàn thành đề tài, li cảm ơn đầu tiên chúng em xin được gửi đến giáo Kare
Halvorsen đã chia s code mu kinh nghim thc hin robot Hexapod, đó ngun
tài liệu quý giúp đ chúng em rt nhiu trong quá trình thc hin robot Hexapod.
Chúng em xin gi li cảm ơn ti TS. Nguyễn Văn Thái, THS. Phm Bạch Dương
đã góp ý hướng dẫn chúng em trong quá trình hoàn thành đ án này. Đồng thi
xin gi li cảm ơn đến tp th thầy cùng nhà trường đã truyền đạt cho chúng em
rt nhiu kiến thc b ích trong quá trình bốn năm học để chúng em đưc hiu biết
như ngày hôm nay.
Chúng em cũng xin cảm ơn anh Huỳnh Văn An - giám đc công ty Goldeneye
Technologies đã to giúp đỡ và to điều kin thun li cho chúng em rt nhiu trong
sut quá trình nghiên cứu đồ án.
Cảm ơn anh Trần Sơn đã đồng ý cho chúng em s dng code mẫu hướng
dn chúng em s dng LIDAR cho việc quét map và điều khin robot.
Do trình đ luận cũng như kinh nghim thc tin còn hn chế nên d án cũng
như bài báo cáo không th tránh khi nhng thiếu sót, chúng em rt mong nhận được
ý kiến đóng góp thầy, đ chúng em rút kinh nghim, đó s hành trang tt cho
chúng em khi ra trường và đi làm.
Li cui cùng, chúng con cảm ơn ba mẹ và gia đình đã luôn nuôi nng chúng con
nên người luôn nguồn động viên cho chúng con những lúc khó khăn nhất để
chúng con có đưc thành qu ngày hôm nay.
Nhóm xin chân thành cảm ơn!
v
TÓM TẮT
Đề tài “Nghiên cứu, chế to phát trin robot 6 chân t động di chuyn trong bn
đồ trc tiếp” xây dng mt con robot Hexapod hoàn chnh, hoạt động linh hot n
đnh kh năng điều khin c bng tay và t động, kh năng ợt chướng ngi
vt và nhn dạng môi trường xung quanh.
Chúng em thc hiện đề tài này nhm to mt công c b ích cho nn giáo dc, mt
loi robot có th giúp người dùng, người hc th cơ hội để tiếp cn vi công
ngh robot. Đồng thời qua đó kiến tạo, khơi dậy niềm đam mê công ngh ca các bn
tr, ngoài ra còn có th trau di các kiến thc đã học và áp dng vào quá trình nghiên
cu sn phm này.
Nguyên hoạt động được da trên những phương trình động hc thun, động hc
nghch như một cánh tay robot ba bc t do và áp dng vào mi chân trong robot, lp
trình bng ngôn ng C++, điều khin bng Bluetooth.
Phn cng bao gm RC servo MG5221MG-180, board Arduino Mega 2560,
Raspberry Pi 3, Raspberry Pi Zero, Camera Zero board control servo, mch gim áp,
pin Li-po 5200mAh 7000mAh, b điu khin PS2, LIDAR, cm biến HC-SR04.
Mô phng trên Matlab và thiết kế trên phn mm đ ha Solidworks. Chúng em tiến
hành gia công bng công ngh in 3D vi vt liu nha PLA, CNC lazer, chn nhôm,
CNC lazer mica (PMMA).
Qua nhiu phiên bn, nhóm chúng em đã chế to thành công robot Hexapod
kh năng di chuyển linh hoạt, đúng như đã phỏng trên Matlab. Robot có kh năng
vượt được chướng ngi vt, cho phép ti nh, có th quân t môi trường xung quanh
bng camera, quét map bng LIDAR và t động di chuyn tới điểm ch đnh.
vi
MỤC LỤC
NHIM V ĐỒ ÁN TT NGHIP ........................................................................ i
PHIU NHN XÉT CỦA GIÁO VIÊN HƯỚNG DN....................................... ii
PHIU NHN XÉT CA GIÁO VIÊN PHN BIN ........................................ iii
LI CM ƠN .......................................................................................................... iv
TÓM TT .................................................................................................................. v
MC LC ................................................................................................................ vi
DANH SÁCH CÁC CH VIT TT ................................................................. viii
DANH SÁCH CÁC BNG BIU .......................................................................... ix
DANH SÁCH CÁC HÌNH NH, BIU Đ ........................................................... x
CHƯƠNG 1. TNG QUAN .................................................................................. 1
1.1. Đặt vấn đề ................................................................................................... 1
1.2. Kh năng ứng dng .................................................................................... 2
1.3. Tình hình nghiên cứu trong và ngoài nưc ................................................ 2
1.4. Lý do chọn đề tài. ....................................................................................... 4
1.5. Mc tiêu và phương pháp nghiên cu. ....................................................... 4
CHƯƠNG 2. CƠ S LÝ THUYT ...................................................................... 6
2.1. Gii thiu chung ......................................................................................... 6
2.2. Bài toán động hc nghch trong robot ........................................................ 6
2.3. Điu khin thân robot ................................................................................. 9
2.4. Điu khin cách di chuyn ca Robot ...................................................... 10
2.5. Tính ổn đnh ca Hexapod ....................................................................... 12
2.6. Giao tiếp Bluetooth vi PS2 ..................................................................... 13
2.7. LIDAR󰇟󰇠 ............................................................................................. 17
CHƯƠNG 3. NI DUNG NGHIÊN CU ......................................................... 30
3.1. Mô phỏng trên Matlab .............................................................................. 30
3.2. Thiết kế cơ khí .......................................................................................... 31
vii
3.3. Thi công .................................................................................................... 45
3.4. Lưu đồ và gii thut điu khin cho di chuyn ca Hexabod .................. 48
3.5. Viết app điu khin bng Bluetooth kết ni đến HC06 ........................... 54
3.6. Kết hp chức năng quét map của LIDAR ................................................ 61
CHƯƠNG 4. THC NGHIM ........................................................................... 67
4.1. Kết qu v mt hoạt động phn cng ....................................................... 67
CHƯƠNG 5. KT LUN V HƯỚNG PHÁT TRIN ................................... 73
5.1. KT LUN .............................................................................................. 73
5.2. HƯỚNG PHÁT TRIỂN ĐỀ TÀI ............................................................. 73
TÀI LIU THAM KHO ...................................................................................... 75
viii
DANH SÁCH CÁC CHỮ VIẾT TẮT
CL: Coxa Length.
CPR: CenterPoint of Rotation.
EEPROM: Electrically Erasable Programmable Read-Only Memory.
FL: Femur Length.
LIDAR: Light Detection And Ranging
[3]
.
MARS: Multi Appendage Robotic System.
PS2: Play Station 2.
PWM: Pulse Width Modulation.
ROS: The Robot Operating System.
SLAM: Simultaneous Localization and Mapping.
SRAM: Static Random Access Memory.
TL: Tibia Length.
UART: Universal Asynchronous Receiver/Transmitter.
ix
DANH SÁCH CÁC BẢNG BIỂU
Bng 2-1. Data ca các phím nhn PS2 .................................................................... 15
Bng 2-2. Gói d liu các nút trong byte th 4 ......................................................... 15
Bng 2-3. Gói d liu các nút trong byte th 5 ......................................................... 16
Bng 2-4. Bng config sang chế độ gi tín hiu analog ........................................... 16
Bng 2-5. Bng cofig sang chế độ gi tín hiu analog t lc nhn .......................... 16
Bng 2-6. Tóm tt thông s Arduino Mega 2560 ..................................................... 21
Bng 2-7. Bng thông s mch 32 servo controller .................................................. 22
Bng 2-8. Thông s UPEC ........................................................................................ 23
Bng 2-9. Thông s Pin Li-po ................................................................................... 24
Bng 2-10. Thông s và khi lưng RC Servo ......................................................... 26
Bng 2-11. Thông s PS2 .......................................................................................... 27
Bng 2-12. Thông s HC06 ...................................................................................... 27
Bng 2-13. Thông s và khi lưng RC Servo ......................................................... 28
Bng 2-14. Thông s LIDAR .................................................................................... 29
Bng 3-1. Kết ni Arduino Mega 2560 vi Raspberry Pi 3 ..................................... 42
Bng 3-2. Kết ni công tc hành trình vào Arduino Mega2560 ............................... 42
Bng 3-3. Kết ni HCRS-04 và FSR402 vào Arduino Mega2560 ........................... 42
Bng 3-4. Kết ni PS2 và HC06 vào Arduino Mega2560 ........................................ 43
Bng 3-5. Kết ni 32 Servo Controller vào Arduino Mega2560 .............................. 43
Bng 3-6. Kết ni LIDAR vào Pi 3, Camera OV5647 vào Pi Zero .......................... 43
Bng 3-7. Ngun nuôi Driver 32 Servo, Pi 3, Pi Zero và cách kết ni ..................... 43
Bng 3-8. Kết ni các Servo vào Controller ............................................................. 44
x
DANH SÁCH CÁC HÌNH ẢNH, BIỂU ĐỒ
Hình 1-1. Robot Atlas ................................................................................................ 2
Hình 1-2. Tripod Robot .............................................................................................. 2
Hình 1-1. Quadruple Robot ........................................................................................ 2
Hình 1-2. Hexpod Robot ............................................................................................ 2
Hình 1-3. Robot Lego ................................................................................................. 3
Hình 1-4. Robot Alpha 1E
.......................................................................................... 3
Hình 1-5. Robot Nao ................................................................................................... 3
Hình 2-1. Chân loài chân khp trong thc tế .............................................................. 6
Hình 2-2. Hình biu din các khâu và khp trong không gian ta đ XYZ. .............. 7
Hình 2-3. Hình biu din góc Coxa khi nhìn dc theo phương Y t trên xung. ....... 7
Hình 2-4. Hình biu din góc Femur và Tibia khi nhìn dọc theo phương Z .............. 8
Hình 2-5. 󰉲󰉼󰉵󰉻󰇟󰇠 ............................................ 10
Hình 2-6. 󰉨󰉩󰉽󰊁󰉻󰉲󰉳󰉼󰉵󰇟󰇠
................................................................................................................................... 11
Hình 2-7. 󰉭󰉳󰉭󰉟󰉥󰉱󰉬󰇟󰇠 ................. 13
Hình 2-8. Chc năng các dây trong module PS2. ..................................................... 14
Hình 2-9. RPLIDAR A1 ........................................................................................... 17
Hình 2-10. Bản đồ tr v t LIDAR ......................................................................... 17
Hình 2-11. Máy in 3D ............................................................................................... 18
Hình 2-12. In 3D công ngh FDM trên phn mm Cura .......................................... 19
Hình 2-13. Mô phng quá trình in theo lp .............................................................. 20
Hình 2-14. Board Arduino Mega 2560 ..................................................................... 21
Hình 2-15. Sơ đồ tính năng của chân trong Board 32 Servo Controller ................... 22
Hình 2-16. Mch gim áp UPEC 8,3V - 6V ............................................................. 23
nh 2-17. Pin 7000mAh .......................................................................................... 24
Hình 2-18. Pin 5200mAh .......................................................................................... 24
Hình 2-19. Bên trong mt RC servo ......................................................................... 25
Hình 2-20. Servo 5521MG ........................................................................................ 25
Hình 2-21. PS2 .......................................................................................................... 26
Hình 2-22. HC06 ....................................................................................................... 26
Hình 2-23. Raspberry Pi 3 ......................................................................................... 28
Hình 2-24. LIDAR .................................................................................................... 29
Hình 3-1. Lưu đồ trong vic mô phng hexapod trên Matlab .................................. 30
Hình 3-2. Kết qu mô phng s di chuyn ca Hexabod trên Matlab ...................... 30
Hình 3-3 Sơ đồ tng quan kết nối cơ khí .................................................................. 31
xi
Hình 3-4 Sơ đồ kết ni các module và tìn hiu. ........................................................ 32
Hình 3-5. Hexapod VS1 ............................................................................................ 33
Hình 3-6. Hexapod VS2 khung nha ........................................................................ 33
Hình 3-7. Hexapod VS3 kết hợp đầu và đuôi ........................................................... 34
Hình 3-8. AntPot (Hexapod VS4) ............................................................................. 35
Hình 3-9. Thiết kế 3D phần đầu Hexapod ................................................................ 36
Hình 3-10. Thiết kế 3D phn thân Hexapod ............................................................. 37
Hình 3-11. Thiết kế 3D phần đuôi Hexapod ............................................................. 37
Hình 3-12. Thiết kế 3D phn chân Hexapod ............................................................ 38
Hình 3-13. Servo chun b lắp ráp cơ khí ................................................................. 40
Hình 3-14. Các b phn sau khi in, chun b lp ráp ................................................ 40
Hình 3-15. Bước 1 ..................................................................................................... 45
Hình 3-16. Bước 2 ..................................................................................................... 45
Hình 3-17. Bước 3 ..................................................................................................... 45
Hình 3-18. Bước 4 ..................................................................................................... 45
Hình 3-19. Bước 1 ..................................................................................................... 46
Hình 3-20. Bước 2 ..................................................................................................... 46
Hình 3-21. Bước 3 ..................................................................................................... 46
Hình 3-22. Bước 4 ..................................................................................................... 46
Hình 3-23. Bước 1 ..................................................................................................... 47
Hình 3-24. Bước 2 ..................................................................................................... 47
Hình 3-25. Bước 1 ..................................................................................................... 47
Hình 3-26. Bước 2 ..................................................................................................... 47
Hình 3-27. AntPot ..................................................................................................... 48
Hình 3-28. Hình dáng ca Gait trong gii thut ........................................................ 48
Hình 3-29. Các h tọa độ trên trên Hexapod ............................................................. 50
Hình 3-30. Lưu đồ gii thut 1 bưc trong Gait ....................................................... 51
Hình 3-31. Lưu đồ trình t chy ca Gait ................................................................. 52
Hình 3-32. Lưu đồ gii thut vòng lp chính ............................................................ 53
Hình 3-33. MIT kết ni bluetooth ............................................................................. 55
Hình 3-34. MIT gi thông tin nút khi nhn nh ........................................................ 55
Hình 3-35. MIT Joystick hướng theo tay kéo ........................................................... 56
Hình 3-36. MIT th Joystick ..................................................................................... 56
Hình 3-37. H tọa độ bên trong mt khung Canvas.................................................. 57
Hình 3-38. Code gii thut gii hn Joystick ............................................................ 58
Hình 3-39. App VS1 ................................................................................................. 59
xii
Hình 3-40. MIT kết ni WebViewer vào mt link ................................................... 59
Hình 3-41. MIT nút Change thay đổi đưng link hai màn hình ............................... 60
Hình 3-42. App VS2 vi màn hình và b cục đưc xác đnh sơ bộ ......................... 60
Hình 3-43. App VS3 hoàn thin ................................................................................ 61
Hình 3-44 Footprint ................................................................................................... 62
Hình 3-45 Max_vel_x, min_vel_x ............................................................................ 62
Hình 3-46 Yaw_goal_tolerance ................................................................................ 62
Hình 3-47 Arg ........................................................................................................... 63
Hình 4-1. Dùng USB Tester V3 để đo dòng trong Raspberry Pi .............................. 67
Hình 4-2. Đo tầm quét hiu qu ................................................................................ 70
Hình 4-3. Ti trng tối đa mà Hexapod có thể gi ................................................... 71
1
CHƯƠNG 1. TNG QUAN
Robot Hexapod là một phương tiện học đi trên sáu chân tính linh hot cao
trong vic di chuyển được ly cm hng t phân ngành động vt sáu chân. Cùng
vi s phát trin mnh m ca các h thống -Đin t, robot vượt đa hình ngày
một đưc hoàn thin và càng cho thy li ích ca trong quân s, trong nghiên cu,
chúng thường được dùng đ vn chuyển hàng hóa trên đa hình không bng phng,
can thip nhng khu vực, đa hình nguy him, tìm kiếm cu nn, khám phá lp
bản đồ các môi trường chưa biết. Nhóm nghiên cứu đề tài này ch yếu ng dng vào
mục đích dân s, h tr tìm kiếm cu nạn, thâm đa hình con người khó tiếp
cn, h tr trong vic nghiên cu, hc tập. Trong đề tài này tp trung nghiên cu vào
robot sáu chân (Hexapod).
1.1. Đặt vấn đề
Trong “Chiến lược phát trin khoa hc và công ngh Việt Nam”, cơ điện t là mt
trong những ng ng ngh trọng điểm phc v phát trin kinh tế, hi. khi
nhắc đến cơ điện t, robot chính sn phm đặc trưng của ngành này. Chúng
nhng b máy hoạt động đồng nht da trên nhng b phận được điều khin mt
cách phc tp thông qua nhng thuật toán được đem mã hoá vào những vi điều khin.
nhiu kiu robot và chúng em chia chúng thành nhóm robot theo cách thc di
chuyn:
Bng cánh quạt như robot máy bay- Flycam
Robot đi bng bánh xe
Robot có cánh như côn trùng hay chim
Robot không chân- di chuyn bng cách trườn như giun, rắn
Robot đi bng chân như động vt
Tuy tht nhiu loi Robot, nhưng đ ng dng vào hc tp thì nhng robot di
chuyn bn hay sáu chân vn còn nhiu thiếu sót, v bn chân, gần đây ta robot
Vorbal, mi chân hai khp, vi mã ngun m, tuy nhiên vẫn chưa đ phc tạp để
th th thách kiến thc v động hc do khá đơn giản.
2
1.2. Kh năng ng dng
Vì s đòi hỏi cao v tri thc trong thiết kếchế to, robot là mt công c cc tt
để phc v trong vic hc tp, nghiên cu, to môi trường rộng rãi để áp dng các
kiến thức đã , góp phần đưa h thng giáo dc bt kp vi tiến độ phát trin công
nghệ, đặc bit là trong k nguyên 4.0 ngày nay.
Ngoài ra, tính ng dng ca Hexapod tr nên độc đáo bởi chính s linh hot trong
hình thc di chuyn, có th di chuyển trên đa hình đa kết cu. Hexapod là mt trong
các phương tiện ln trong do thám không gian.
1.3. Tình hình nghiên cứu trong và ngoài nước
Hình 1-1. Robot Atlas
https://www.bostondynamics.com/atl
as
[ xem 10/07/2019]
Hình 1-2. Tripod Robot
Evan Ackerman, Martian-Inspired Tripod
Walking Robot Generates Its Own Gaits”,
https://spectrum.ieee.org
[xem 10/07/2019]
Hình 1-3. Quadruple Robot
https://www.bostondynamics.com/atl
as
[ xem 10/07/2019]
Hình 1-4. Hexpod Robot
https://www.trossenrobotics.com/phanto
mx-ax-hexapod-mk1.aspx
3
Các robot di chuyn bng chân đã được nghiên cu t lâu, đều đưc lấy ý tưởng
t thc tế như dáng đi của con người, kiu di chuyn của động vt bốn chân, đến kiu
di chuyn ca đng vt sáu, tám chân và tt c đều có nhng thành công nht đnh.
Robot Hexapodmột phương tiện học đi trên sáu chân.th ổn đnh
tĩnh trên ba hoặc nhiu chân, mt robot Hexapod tính linh hot cao trong vic di
chuyn. Nếu mt chân b hiu hóa, robot vn th đi bộ. Hơn na, không phi
tt c chân ca robot đều cn thiết cho s ổn đnh, các chân khác đưc t do tiếp cn
các v trí chân mi hoặc điều khin ti trng. Nhiu Hexapod robot được ly cm
hng t phân ngành đng vt sáu chân. Hin nay trên thế giới đã nhiều nhóm
nghiên cu phát trin. Vit Nam, robot di chuyn bng chân cũng là đề tài được
nhiu nhóm sinh viên thc hiện, là đề tài thích hp phc v hc tp.
Vit Nam, nhng Robot phc v hc tập đã có mặt trong các trường hc:
Robot Lego ti lp hc Mindstorm nâng cao ca Câu lc b Robotics (tm dch
Ngành hc v robot) - IoT của trường ĐH Khoa học t nhiên TP.HCM, hay Robot
Alpha 1E trong chương trình Tri Công ngh 2019 ti Hc vin Sáng to Công
ngh TEKY. Robot còn có mt trong các Lab của các trường đại học như Robot Nao
ca trường ĐH Khoa Hc T Nhiên.
Hình 1-7. Robot Nao
Hình 1-5. Robot Lego
Hình 1-6. Robot Alpha 1E
https://ubtrobot.com/pages/alpha
[xem 10/07/2019]
4
Khi gõ t khóa “Hexapod ở Việt Nam” hoặc “robot 6 chân ở Việt Nam” trên
trang tìm kiếm Google, có rt ít kết qu liên quan đến đề tài này, đề tài Hexapod
Vit Nam, ch yếu được các bn sinh viên nghiên cu cho vic làm các d án nh,
đồ án môn hc, đ án tôt nghip hay nhng ngày hi khoa hc sáng to như: Robot
dò tìm bom mìn ca nhóm sinh viên Trường Đại học (ĐH) Bách khoa Đà Nẵng,
gm: Ngô Diên Bo Triết, Lê T Duy Hoàng và Trần Văn Chính. Có vài kết qu v
robot thương mại đơn giản phc v cho hc tập nhưng là những mô hình đơn giản,
hai DOF hoc ba DOF lp ghép bng mica. Cũng có nhng cá nhân nghiên cu, tìm
hiu v hexapod và đăng lên các diễn đàn hoặc đưa clip hoạt đng lên Youtube.
1.4. Lý do chn đ tài.
Mng robot di chuyn bng chân niềm đam mê chung ca các thành viên trong
nhóm. Là mt d án rt phù hp với ngành cơ điện tử, sinh viên được áp dng rt tt
các kiến thc chuyên ngành đã hc đưc trên trường, đồng thời cũng cũng khá ít các
d án tương tự đã đưc thc hin Vit Nam cho nên có rt ít tài liu liên quan khiến
d án này va là niềm đam mê, vừa là thách thc mà chúng em mun vượt qua.
Hin nay, nhu cu hc tp và tìm hiu công ngh của nước ta rt cao, rt nhiu lp
hc v robot đã được m ra để đáp ứng được nhu cu này và phc v cho nhu cầu đó
thì robot mt công c không th thiếu. Nhóm chúng em nghiên cu chế to ra
robot 6 chân này phc v cho nhu cu hc tập đó của các em, giúp c em có s hng
thú và có nhiu s la chọn hơn cho quá trình hc tp, nghiên cu robot ca mình.
1.5. Mc tiêu và phương pháp nghiên cứu.
Vi d án này chúng em nghiên cu, phng trên Mathlab và to ra mt robot
Hexapod hoàn chnh có kh năng di chuyển, phng cách di chuyn ca loài côn
trùng chân khp. S dng các phương trình đng hc, truyền động để, thiết kế được
b khung chọn được động cơ phù hp, ng dng công ngh in 3D vi vt liu
nha PLA trong vic chế to robot. Lp trình theo các gii thuật điều khiển đã tìm
được. Điều khin robot t xa bng các module điều khin. Robot th quét được
không gian xung quanh, xác đnh v trí trong không gian v nên bản đồ gi lên
Web, người dùng th giao tiếp trc tiếp trên chính bản đ gi v, trc tiếp chn
trên màn hình để robot t động đi tới v trí đưc chuyn, da vào tín hiu digital t
công tắc hành trình i mỗi chân để xác đnh điểm đặt chân, h tr vic di chuyn
trên đa hình đa kết cu.
Phương pháp nghiên cu tìm kiếm tài liu trên các trang mng trên Internet,
nghiên cu nhng thiết kế đã được các nhóm, các nhân phát trin trong ngoài
nước t đó thiết kế ra mt con robot c động linh hot. Tp trung phân tích, tính toán,
5
chn la thc nghim các module linh kin d tìm thy. Nghiên cu phát
trin thut toán trong code.
Nhóm đã thc hiện đề tài này trong hơn 10 tháng gm bn giai đoạn chính:
Giai đon 1:
Tìm kiếm tài liu
Giai đon 2:
Nghiên cu, la chn kim nghim các module, linh kin phù hp, xây
dựng code điều khin, lp ráp một mô hình đơn gin. Mô phng trên Mathlab
Thiết kế phần khung xương cho robot đm bo các chức năng di chuyển
bn
Da trên các thuật toán điều khin, động hc, code mẫu, điều khin tng
khp, tng chân và kết hp các chân
Giai đon 3:
Đánh giá khả năng hoạt động, độ bn, ca thiết kế cũ, thiết kế li khung ca
robot bng vt liu nha
Tính toán, thiết kế khung bng nha PLA, mua và gia công c chi tiết, lp ráp
thành mt con robot hoàn chnh
Hiu chnh code
Giai đon 4:
Thiết kế li toàn b phn khung, v robot, đảm bo s linh hot cho robot,
gim khối lượng, đảm bo tính thm mĩ.
Tính toán, chn li các module, ngun phù hp
Hiu chnh code, ci thin kh năng di chuyển linh hot và ging vi t nhiên
hơn
Thiết kế app điều khin
Tích hp module LIDAR, camera
6
CHƯƠNG 2. CƠ SỞ LÝ THUYT
2.1. Gii thiu chung
Để Hexapod có th đi được, mt s thut toán cn phi làm việc cùng nhau để to
thành b điều khin hoàn chnh. Kết qu cui cùng mi khong thi gian v trí
set-point cho mỗi servo. hình bước cn phi được chn, các qu đạo đã được tính
toán và các ràng buc v trí các chân đưc cp nht liên tc. Tùy thuc vào vn tc,
các kiểu dáng khác nhau được chn bi mt b điều khiển. Để thc thi mi kiu dáng
s một giai đoạn đứng một giai đoạn xoay chân. Trong giai đoạn đứng khi
chân tiếp xúc mặt đất mi thời điểm. Trong giai đon xoay chân qu đạo gia hai
v trí đứng phải được tính toán đúng bi b điều khiển. Do kích thước phn cứng như
chiu dài chân, v trí servo chiu rng thể, mt s ràng buc nhất đnh s hn
chế v trí các chân. Các v trí ca mỗi chân cũng sẽ ảnh hưởng đến v trí các chân còn
li trong không gian. Do s ging nhau gia mt robot Hexapod côn trùng chân
khp, rt nhiu cm hng có th được ly t nó và sinh trc hc ca chúng.
Hình 2-1. Chân loài chân khp trong thc tế
2.2. Bài toán đng hc nghch trong robot
Động hc nghch s dụng các phương trình đng học để xác đnh các tham s
góc ca mi khớp để có được v trí mong mun cho mi b phn ca robot
[4]
. Tc
t to độ P xác đnh trong không gian, vi P là v trí cui cùng ti mỗi mũi chân ca
Hexapod, t đó tính ra đưc các góc Coxa Femur Tibia để điểu khin Servo, ri
điều khiu c mt h thng. Các thông s cần tính được din t như cấu trúc bên i,
bao gm: ba khâu, ba khp.
7
Hình 2-2. Hình biu din các khâu và khp trong không gian tọa độ XYZ.
Các biến  lần lượt là các Coxa, Femur Tibia, các góc hin ti ca mi
Servo, mc tiêu chúng em hướng đến là xác đnh giá tr ca các góc xoay Offset (tc
là góc mà mi servo cn phải xoay thêm để đạt được góc xoay mong mun) và code.
Góc Coxa
Hình 2-3. Hình biu din góc Coxa khi nhìn dc theo phương Y t trên xung.
8
Góc Femur và Tibia
Hình 2-4. Hình biu din góc Femur và Tibia khi nhìn dc theo phương Z
Gi to độ ca P là () trong không gian, gi tt Coxa Length, Femur Length
và Tabia Length là .
Da vào kiến thc toán hình hc, có th được tính bng công thc sau:
(2-1)

󰇛

󰇜
(2-2)
󰇛 󰇜
(2-3)


󰇧




󰇨
(2-4)


󰇧




󰇨
(2-5)
9
Kết qu đạt được:
 󰇛 󰇜
(2-6)
 
(2-7)
Do ban đầu, chúng em set góc sn trong Servo 90. Gi  các góc
nhóm muốn hướng đến, công thc lin h gia chúng các góc Offset được th hin
như sau:
󰆒

(2-8)
󰆒

(2-9)
xu hướng quay ca hai góc luôn ngưc chiu, xut hin s trái du trong
phép tính. Đặc biệt đối vi góc Coxa, do mỗi chân đều nm phn góc phần
trong h to độ khác nhau, t đó có thể tìm đưc s khác nhau v kết qu đối vi mi
chân với điều kin sau:

󰇛
󰇜
(2-10)
Da vào các kết qu trên, thông s điều khin Servo có th được tính thông qua b
chuyển đổi sang giá tr xung.
2.3. Điu khin thân robot
Khi thân xoay hay tnh tiến, do thân chính gc tọa độ các chân, trong khi các
chân còn li lại đứng yên. Vy nên v trí ca các chân so vi thân có s thay đổi, ta
độ đó có th tính bng cách áp dng phép tính ma trn xoay.
Gọi điểm P tọa độ
󰇛
󰇜
được xác đnh trong không gian, ly tâm thân làm
góc tọa độ. Các ma trn biu din các phép quay quanh trc x, y, z mt góc lần lượt
󰇛󰇜󰇛󰇜󰇛󰇜
Ma trn quay quanh trc
[9]
:
󰇛
󰇜
 
 
(2-11)
Ma trn quay quanh trc y
[9]
:
󰇛
󰇜
 
 
(2-12)
10
Ma trn quay quanh trc z
[9]
:
󰇛

󰇜
 
 
(2-13)
Chúng em tiến hành nhân các ma trận để có th có ma trn tng quát khi thân quay
mt góc bt trong không gian, vi các góc , là các góc đưc to bi hình
chiếu đường thng t gc tọa độ đến P lên mt phng Oxy, Oyz, Oxz và các trc Ox,
Oy, Oz, tính đưc góc ta đ P’ mới 󰇛
󰆒
󰆒
󰇜



   
   
  
󰇩
󰇪
(2-14)
Khi thân tnh tiến, các ta đ của chân đng thi di di 1 khoản tươngng
ngưc li vi hưng tnh tiến ca thân. Vy có th đơn giản tính P’󰇛
󰆒
󰆒
󰆒
󰇜 khi
thân tnh tiến mt khoản theo các hướng  tun t 
󰆒
 
(2-15)
󰆒

(2-16)
󰆒

(2-17)
2.4. Điu khin cách di chuyn ca Robot
2.4.1. Phương thức di chuyn
Robot s di chuyn bng cách điều khin tng cánh tay ba khp (chân robot) theo
mt th t mong mun, th t bước khác nhau to thành các kiu dáng khác nhau,
tăng thêm tính đa dạng. Tuy nhiên, th t khác nhau ra sao, các tọa độ mi chân
luôn đi theo mt qu đạo nhất đnh, qu đạo này gi Gait
[1]
. Gait hai pha cho
hai trưng hp khi nâng chân và chân chạm đt.
Hình 2-5. 󰉲󰉼󰉵󰉻
󰇟󰇠
11
Trong giai đoạn Swing (nâng chân qut ti), chân di chuyn t v trí ban đầu
đến v trí cui cùng trong không khí, đưc biu th bng đường nét đứt. Mt khác,
trong giai đoạn Stance (chân chạm đất), b phận mũi chân tiếp xúc vi mặt đất trong
khi chân di chuyn t v trí ban đu, di chuyn robot theo ớng ngưc li với mũi
tên.
2.4.2. Các kiu di chuyn
Ph thuc vào yêu cu v tốc độ, tính ổn đnh, tiết kiệm năng ng hay yêu cu
v đa hình thì ta có nhng s la chn khác nhau.
Di chuyn liên tc: là kiu di chuyển mà thân đồng thi tnh tiến cùng vi các
chân
ba kiu di chuyn ph biến:
Hình 2-6.
󰉨󰉩󰉽󰊁󰉻󰉲󰉳󰉼󰉵
󰇟󰇠
Vi kiểu đi Tripod, u chân của robot được chia làm hai b (1), (2) thay phiên
nhau bước.
Vi kiu wave, ch có mt chân trong pha Swing, còn li trong pha Stance. Rt
chậm nhưng lại đỡ tn năng lượng, hay dùng trong dò đa hình g gh.
Vi kiu ripple, hai chân trong pha Swing, còn li trong pha Stance, trung hòa hai
cách trên.
12
Mt trong s ba kiu dáng di chuyn ca ngành chân khp, trong báo cáo này
chúng em không đề cp đến kiu Wave(slow) (lan truyn tng chân) Ripple (hai
chân chéo). Bởi để Robot di chuyn nhanh, mm mi, tiết kim thi gian di chuyn,
tạo được mt mt phng tiếp xúc ba điểm cân bng tkiu dáng Tripod chiếm ưu
thế ni tri nht.
Kiu di chuyn không liên tc: là kiu mà sau khi tt c các chân đã thực hin
hết các vòng bước thì thân mi tiến lên, đây cách di chuyển thường thấy khi đi trên
các đa hình dóc, thân robot ch tnh tiến người v trước khi có đủ sáu chân chạm đất,
khi độ cng vng và tính bám là cao nhất. Đây là mục tiêu mà nhóm muốn ng ti
trong tương lai nhm phc v ng dụng vượt đa hình.
2.4.3. Điu khin cho Hexapod quo phi trái
Để Hexapod th xoay, dáng đi đã sử dng phải được sa li. Có mt s phương
pháp để điều khin Hexapod xoay khá hu hiệu. Phương pháp đầu tiên thay đổi
chiu dài mỗi bước hai bên, làm cho mt bên chân di chuyn chậm hơn (bước đi
ngắn hơn) s khiến cho Hexapod xoay dn v phía đấy. Mt phương pháp khác
gim tn s xoay mt bên thân để mt bt mt bước. Đối vi việc điều khin
Hexapod cua gp hay xoay quanh mt điểm, ta thưng kết hp c hai phương pháp.
Ngoài ra ta cho chân bước lùi s làm việc điều khiển đó được d dàng hơn. Một cách
khác để Hexapod xoay tương tự như việc gim chiều dài c xoay chân xung
quanh trung tâm thể. Xoay chân trên đất xung quanh trung m th chinh s
khiến cho cơ th có dáng v như đang xoay. Đ việc xoay đưc thc hin, vic quan
trng phải đảm bo vn tc góc quay mi chân bng nhau phi quay xung
quanh cùng mt điểm (trung tâm cơ thể). Khi mt chân vưt quá xa khi v trí, ta
th đem trở v bng giai đoạn xoay chân. Ta s dụng phương tiện quay là h ma trn
quay R
[1]
.
󰇛
󰇜
 
 
(2-18)
2.5. Tính ổn định ca Hexapod
Độ ổn đnh ca Hexapod được chia thành hai loi: ổn đnh tĩnh n đnh động.
Để được coi ổn đnh tĩnh, Hexapod cn ổn đnh trong toàn b chu k di chuyn,
không cn thêm bt k lực nào để cân bng robot. Trong khi robot ổn đnh tĩnh, hình
chiếu thẳng đứng ti toạn độ trng tâm (COM) ca nm trong đa giác được hình
thành t các chân đang trong giai đoạn đẩy tiến. Trong trường hp COM được đặt
biên hoặc bên ngoài đa giác, robot sẽ ngã xung tr khi nó ổn đnh v mặt động lc,
13
tức robot được cân bng trong khi đi bộ do lc quán tính gây ra bi chuyển đng
và không ổn đnh tĩnh khi dừng di chuyn.
Hình 2-7. 󰉭󰉳󰉭󰉟󰉥󰉱󰉬
󰇟󰇠
2.6. Giao tiếp Bluetooth vi PS2
2.6.1. Gii thiu v chun giao tiếp SPI
SPI (Serial Peripheral Bus) là mt chun truyn thông ni tiếp đồng b tốc độ cao
(lên đến 10Mbps) do hãng Motorola phát trin. Đây kiểu truyn thông Master-
Slave, trong đó mt Master điều phi tt c nhiu Slaves được điều khin bi
Master. SPI là mt giao thc song công (full duplex) nghĩa là ti cùng mt thi đim
quá trình truyn nhn th xảy ra đồng thời. SPI đôi khi còn đưc gi giao
thc bn dây” bn đường giao tiếp SCK (Serial Clock), MISO (Master Input
Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select
[6]
).
SCK: Xung gi nhp cho giao tiếp SPI, SPI chun truyền đồng b nên cn
mt đường gi nhp, mi nhp trên chân SCK báo 1bit d liệu đến hoặc đi. Sự tn ti
ca chân SCK giúp quá trình tuyn ít b li và vì thế tc đ truyn ca SPI có th đạt
rt cao. Xung nhp ch được to ra bi chip Master
[8]
.
MISO Master Input / Slave Output: nếu là chip Master thì đây là đường Input
còn nếu là chip Slave thì MISO li là Output
[5]
.
MOSI Master Output / Slave Input: nếu chip Master thì đây đưng
Output còn nếu là chip Slave thì MOSI là Input
[5]
.
SS Slave Select: SS là đưng chn Slave cn giap tiếp, trên các chip Slave đường
SS s mc cao khi không làm vic
[5]
.
Hoạt động: mi chip Master hay Slave mt thanh ghi d liu 8 bits. C mi
xung nhp do Master tạo ra trên đường gi nhp SCK, mt bit trong thanh ghi d liu
14
ca Master được truyền qua Slave trên đường MOSI, đồng thi mt bit trong thanh
ghi d liu của chip Slave cũng đưc truyn qua Master trên đường MISO. Do hai
gói d liu trên hai chip được gi qua lại đồng thi nên quá trình truyn d liu này
được gọi là “song công”.
2.6.2. Giao tiếp gia cần điều khin PS2 với Vi điều khin.
Hình 2-8. Chức năng các dây trong module PS2.
đây cần điều khin PS2 đóng vai trò là Slaves. Vi điều khin là chip Master
[5]
.
Các đầu vào đầu ra tương ứng ca PS2 là:
MISO: dây 1. Brown (dây Data)
MOSI: dây 2. Orange (dây command)
SS: dây 6. Yellow (dây chn slave)
SCK: dây 7. Blue (dây xung clock)
Mt gói d liu bao gm 3byte header thêm 2byte command b sung hoc d
liệu điều khin.
3byte header:
0x01: byte khi đu quá trình truyn nhn
15
0x42: byte main polling command. Lệnh thăm chính, ph thuc vào cu
hình điều khin, lnh này th nhận đưc tt c các tín hiu s hoc analog
ca các phím
0x00: lnh ch có chc năng đc d liu t PS2
Sau đây là bảng data nhận được khi nhn các phím PS2, mt gói 5byte d liu.
STT
Tên phím
Command
Header
Data
0x01
0x42
0x00
0x00
0x00
0x00
Byte#
1
2
3
4
5
6
1
Lên
0xFF
0x41
0x5A
0xF7
0xFF
0x00
2
Phi
0xFF
0x41
0x5A
0xFB
0xFF
0x00
3
Xung
0xFF
0x41
0x5A
0xFD
0xFF
0x00
4
Trái
0xFF
0x41
0x5A
0xFE
0xFF
0x00
5
Tam giác
0xFF
0x41
0x5A
0xFF
0xF7
0x00
6
Tròn
0xFF
0x41
0x5A
0xFF
0xFB
0x00
7
Chéo
0xFF
0x41
0x5A
0xFF
0xFD
0x00
8
Vuông
0xFF
0x41
0x5A
0xFF
0xFE
0x00
9
L1
0xFF
0x41
0x5A
0xFF
0xDF
0x00
10
L2
0xFF
0x41
0x5A
0xFF
0x7F
0x00
11
R1
0xFF
0x41
0x5A
0xFF
0xEF
0x00
12
R2
0xFF
0x41
0x5A
0xFF
0xBF
0x00
13
Select
0xFF
0x41
0x5A
0x7F
0xFF
0x00
14
Start
0xFF
0x41
0x5A
0xEF
0xFF
0x00
15
L3
0xFF
0x41
0x5A
0xBF
0xFF
0x00
16
R3
0xFF
0x41
0x5A
0xDF
0xFF
0x00
Bng 2-1. Data ca các phím nhn PS2
các bảng sau đây, mi v trí trong 8bit có mt nút, khi nhn, bit v trí đó v 0
Hight Byte
Low Byte
0
1
2
3
4
5
6
7
Select
L3
R3
Start
Bng 2-2. Gói d liu các nút trong byte th 4
16
Hight Byte
Low Byte
7
6
5
4
3
2
1
0
L2
R2
L1
R1
Bng 2-3. Gói d liu các nút trong byte th 5
0x41: Chế độ thiết b: mc cao (4) cho biết chế độ (0x4 digital, 0x7 là
analog, 0xF cu hình/ thoát), mc thp (1) bao nhiêu word 16bit theo
sau header, mc playstation không phải lúc nào cũng đợi tt c các byte này
(trong trưng hp các nút do ch có 2byte 4 và 5 nên ch có 1word).
0x5A: Luôn là 0x5A, giá tr này xut hin mt s nơi không có chức năng.
Nhn tín hiu analog t hai joystick và các nút nhn.
Để gi nhận được tín hiu analog, cn cu hình li commend 0x44, tác dng
chuyển đổi qua li gi hai tín hiu analog digital, ch th hoạt động khi dng
cu hình là F3, tc là phi có 3word sau header (6 byte).
Byte#
1
2
3
4
5
6
7
8
9
Commend
0x01
44
00
01
03
00
00
00
00
Data
0xFF
F3
5A
00
00
00
00
00
00
Bng 2-4. Bng config sang chế đ gi tín hiu analog
01: set analog mode
03: khoá điu khin để người dùng không th chuyn li digital bng nút
Theo mặc đnh, các giá tr analog ca lc nhn các nút s không được tr lại, để
th kích hot chúng, cn có lệnh 0x4F, cũng như 0x44, chỉ th hoạt động khi cu
hình là F3.
Byte#
1
2
3
4
5
6
7
8
9
Commend
0x01
4F
00
FF
FF
03
00
00
00
Data
0xFF
F3
5A
00
00
00
00
00
5A
Bng 2-5. Bng cofig sang chế độ gi tín hiu analog t lc nhn
17
FF FF 03: 18bit trong đó ng 18byte tr v là 2byte trng thái nút nhn, 4byte
giá tr analog ca hai cn gt (mt cn gt hai giá tr analog theo hai phương
X và Y có khong giá tr 0 255, trạng thái đứng yên ban đu là 125), 12byte
giá tr analog ng vi các lc nhn 10 hai nút
Sau khi thoát khi cu hình bng hàm 0x43, khi dùng hàm 0x42, ta có th nhn v
18byte d liu và nhận được tín hiu analog.
2.7. LIDAR
󰇟󰇠
RPLIDAR A1 da trên nguyên laser s dng phn cng x thu nhn
tm nhìn tốc độ cao do Hãng Slamtec phát trin. H thống đo dữ liu khong cách
trong hơn 8000 ln mi giây.
Hình 2-9. RPLIDAR A1
LIDAR bn tia laser đa hướng 360 độ, chy theo chiu kim đồng h quét môi
trưng xung quanh của sau đó tạo ra mt bản đồ phác thảo trong môi trưng
thc.
Hình 2-10. Bản đồ tr v t LIDAR
18
T l lấy điểm mu ca LIDAR trc tiếp quyết đnh xem robot th lp bản đồ
nhanh chính xác hay không. RPLIDAR ci thin h thng thut toán thiết kế
quang học bên trong đ làm cho tc đ mu lên ti 8000 ln vi tn s 10Hz.
RPLIDAR có chi phí thp phù hp cho ng dng SLAM robot trong nhà.
2.7.1. Công ngh in 3D
2.7.1.1. In 3D là gì?
In 3D mt công ngh tiên tiến cho phép bn to mt vt th t hình 3D,
công ngh to mu nhanh vi mục đích: to mẫu nhanh n r hơn. Ngày nay,
công ngh in 3D đã thay đổi rt nhiu: vic chế to r hơn, dễ dàng hơn, công cụ h
tr cộng đồng rng ln khiến cho vic tiếp cn vi công ngh in 3D không còn
khó, k c vi sinh viên.
Hình 2-11. Máy in 3D
Hin nay Vit Nam chúng ta d dàng tiếp cn vi ba công ngh in 3D chính:
Công ngh SLS, Công ngh SLA, công ngh FDM.
Công ngh FDM (Fused Deposition Modeling): Máy in 3D dùng công ngh
FDM y dng mu bng cách đùn nhựa nóng chy ri hóa rn tng lp to
nên cu trúc chi tiết dng khi
Cura phn mm xut Gcode cho máy in 3D, là phn mm ngun m ca
Ultimaker, là phn mm h tr rt tt cho máy in 3D và cộng đồng s dng
rng ln. chúng em chn thông s theo nhng yêu cu ca chi tiết, lưu các file
li dưi dng Gcode. Máy in s in ra đúng chi tết chúng ta mong mun
19
Hình 2-12. In 3D công ngh FDM trên phn mm Cura
2.7.1.2. Vt liu in 3D
Trong d án này, chúng em s dng vt liu PLA vì nhng ưu điểm ca nó:
Không đc
R
D in
2.7.1.3. Đặc điểm ca công ngh in 3D FDM
Máy in 3D dùng công ngh FDM xây dng mu bng cách đùn nha nóng chy
ri hoá rn tng lp to nên cu trúc chi tiết dng khi.
đặc điểm ca công ngh in 3d FDM theo lớp, nên tính ca chi tiết khác
nhau theo phương tác động nên cần lưu ý chọn hướng in trước khi thiết kế
- Ưu điểm
D dàng thiết kế, gia công sn phm
Chi phí thp
- Nhưc đim
Sn phẩm in ra có đ nhám ln
Thi gian in lâu
Kích thưc vt in đưc còn nh
20
Hình 2-13. Mô phng quá trình in theo lp
Vi nhng đặc điểm va ưu điểm ca công ngh in 3D FDM và phn mm
CURA, nhóm quyết đnh chọn phương pháp gia công bng công ngh in 3D
FDM đ to phn v cho robot ca nhóm.
2.7.2. La chn thiết b
2.7.2.1. B điu khin board Arduino Mega 2560
Arduino Mega 2560 một vi điều khin da trên nn ATmega 2560. 54 đầu
vào/đầu ra s (trong đó 15 đầu được s dụng như đầu ra PWM), 16 đầu vào analog,
4 chân UARTs (cng ni tiếp phn cng), một 16 MHz dao động tinh th, kết ni
USB, mt jack cắm đin, một đầu ICSP, mt nút reset. Cha tt c mi th cn
thiết để h tr các vi điều khin, ch cn kết ni vi máy tính bng cáp USB hoăc sử
dng b chuyển đổi AC DC hoặc pin. Arduino Mega tương thích vi hu hết các
shield đưc thiết kế cho Arduino Duemilanove hoc Diecimila.
Lý do đề tài chọn vi điều khin Mega2560 vì b nh flash ca MEGA rt ln gp
4 ln so vi UNO (128kb) với vi điều khin ATmega1280, ATmega328p, ... nhng
h vi điều khin khác. Rõ ràng, nhng d án cần điều khin nhiu loại động và xử
nhiu lung d liu song song (3 timer), nhiu ngắt hơn (6 cổng interrupt), ...
th được phát trin d dàng vi Arduino MEGA, chng hn như: máy in 3d,
Quadcopter, ...
21
Hình 2-14. Board Arduino Mega 2560
Microcontroller
ATmega2560
Operating Voltage
5V
Input Voltage (recommended)
7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins
54 (of which 15 provide PWM output)
Analog Input Pins
16
DC Current per I/O Pin
40 mA
DC Current for 3.3V Pin
50 mA
Flash Memory
256 KB of which 8 KB used by bootloader
SRAM
8 KB
EEPROM
4 KB
Clock Speed
16 MHz
Bng 2-6. Tóm tt thông s Arduino Mega 2560
2.7.2.2. Board 32 servo Controller.
Mạch điều khiển 32 RC Servo được sử dụng kết hợp với phần mềm trên máy tính
qua cổng USB, tay cầm không dây PS2 hoặc kết nối với Vi điều khiển qua giao tiếp
UART giúp bạn có thể dễ dàng điều khiển Mạch điều khiển 32 RC Servo có cách sử
dụng và kết nối dễ dàng, phần mềm của mạch chạy trên hầu hết các hệ điều hành phổ
biến hiện nay: Windows 7, Linux, MacOS, Android,...
phải điều khiển một lần 23 servo, đòi hỏi một ợng lớn chân PWM cần phải
sử dụng. Mạch 32 Servo giúp tạo thêm không gian kết nối. Vi điều khiển Mega 2560
thì không đủ chân PWM
22
Hình 2-15. Sơ đồ tính năng của chân trong Board 32 Servo Controller
Điện áp sử dụng:
5VDC (cấp quá 5VDC sẽ làm cháy mạch).
Điện áp ngõ ra RC Servo:
5VDC.
CPU:
32bit
Hỗ trợ giao tiếp
USB (115200), tay cầm PS2, UART (4800, 9600,
19200, 38400, 57600, 115200)
Thời gian trễ:
1us
Tần số điều khiển:
50Hz
Bng 2-7. Bng thông s mch 32 servo controller
2.7.2.3. Mch gim áp
23
Hình 2-16. Mch gim áp UPEC 8,3V - 6V
Đề tài s dng hai module gim áp Ubec Ternigy Robot Kiến 25DOF cn mt
ng Ample rt lớn để cung cp cho tt c servo digital JX5521. Mch gim áp thông
thưng phi mc nhiu mch song song lại đ tăng ample nhưng rất cng knh
phc tạp, tăng tải trng robot.
Nên ta chn Ubec nh gn, công sut cao, công tc ca Ubec chế độ 6V Servo
hot đng tt mức điện áp 6V.
Đầu ra (Không đổi):
5v / 8A hoc 6v / 8A
Đầu vào:
6v-12.6v (2-3cell Li-po)
Dòng không hoạt động:
60mA
Dãy hot đng:
7.8 ~ 8.4v / 11.7v ~ 12.6v
Bng 2-8. Thông s UPEC
2.7.2.4. Pin li-po 7000mAh
Pin Li-po loi pin th sạc được nhiu ln, s dng chất điện phân dng
polymer khô. Pin Li-po vi những ưu điểm t tri v tính năng tui th nên
đang được dùng trên đa số các thiết b. Lý do đ tài chn pin Li-po vì:
Pin RC Li-po nh, nh và có th làm mọi hình dáng kích thưc
Pin RC Li-po dung lượng cao nghĩa chứa được nhiều năng lượng
trong mt gói pin nh
Pin RC Li-po có dòng x cao để cung cấp năng lượng cho động cơ RC có đòi
hi kht khe nht
24
Hình 2-17. Pin 7000mAh
Hình 2-18. Pin 5200mAh
Dung lưng
6000 mAh và 7000 mAh
Dòng x
80C
Ngưỡng điện áp hoạt động
60mA
Ngưng hoạt động
7.8 ~ 8.4v (3cells)
Bng 2-9. Thông s Pin Li-po
2.7.2.5. Động cơ RC Servo Digital RC JX5521
các loại động thường được dùng để làm các hình robot động DC
RC Servo, động cơ bước (Step motor) và Servo. Đề tài s s dụng động cơ RC Servo
để điều khiển Robot động RC Servo r, phn hi tiếp trng thái bng biến
tr được tích hp ngay bên trong động cơ, việc điều khiển được đơn gin hóa ch cn
duy nht mt chân phát tín hiu PWM và mô hình này s gn ging vi vic s dng
những động Servo trong nghiệp, d dàng ng dng thuật toán đưc xây dng
trong đ tài để phát trin công nghip.
Ti sao li không s dụng động DC Servo Step Servo cho d án này? Lí do
quá đắt, mun phát trin hình này lên tc DC Servo Step Servo li quá
yếu hoc quá chm. Động cơ RC Servo sử dng biến tr cho nên v trí Home s được
đặt ti mt mc điện tr c đnh, điều này ch nhng loi Servo đắt tin với đĩa
Encoder đc biệt, còn Servo thưng thì không. DC Servo Step Motor thưng s
25
ly v trí ngay lúc cp ngun là v trí Home như vậy mun kiểm soát được tọa độ ca
cánh tay robot i chung trong trường hp này các chân ca Robot nhn sáu
chân ta phi s dng thêm các cm biến hoc công tắc hành trình,… Như vậy s phi
s dng nhiều hơn các chân vi điều khin và gây s cng knh trong thiết kế.
Servo: phn hi tiếp trng thái thông dụng là encoder, nhưng với s ợng động
ln (25 động cơ) đòi hỏi vi điu khin phải đủ mnh yêu cu tốc độ vi x lý cao.
Nếu không đáp ứng đ thì d gây tình trạng treo vi điều khin.
Cho nên RC Servo phù hp nht vi các mô hình robot di chuyn không bánh
xe, cu to bên trong ca động cơ RC Servo như hình 3-28:
Hình 2-19. Bên trong mt RC servo
Hình 2-20. Servo 5521MG
Motor
Electronics Board
Positive Power Wire (Red)
Signal Wire (Yellow or White)
Negative or Ground Wire (Black)
Potentiometer
Output Shaft/Gear
Servo Attachment Horn/Wheel/Arm
Servo Case
Integrated Control Chip
Trong h thống này, Servo đáp ứng ca mt các dãy xung s ổn đnh. C th hơn,
mạch điều khiển là đáp ứng ca mt tín hiu s các xung biến đổi t 1ms 2ms. Các
xung này được gởi đi 50lần/giây. Chú ý rng không phi xung một giây điều khin
servo mà là chiu dài ca các xung biến đổi t 1ms 2ms. Các xung này được gởi đi
50ln/giây. Chú ý rng không phi s xung trong một giây điu khin servo
26
chiu dài của các xung. Servo đòi hòi khoảng 30 60 xung/giây. Nếu s này quá
thấp, độ chính xác và công suất để duy trì servo s gim. Với độ dài xung 1ms, Servo
được điu khin quay theo mt chiu (gi s là chiều kim đồng h). Vi đ dài xung
2ms, Servo quay theo chiều ngược li.
Động RC Servo Digital RC JX5521là thích hợp nhất cho việc làm các loại robot
vì nó luôn giữ lại trạng thái xung gần nhất, tránh trường hợp khung robot b ổ sập bất
ngờ ở trạng thái không điều khiển, động cơ RC Servo Analog (Mg996,995,945,..) sẽ
b mất điều khiển khi dừng cấp xung đột ngột, dẫn đến việc khung robot b sập bất
ngờ.
Động RC Servo Digital JX5521có cấu tạo mộ trục xoay giống như Servo truyền
thống giúp bạn dễ ứng dụng cho các thiết kế robot của mình, ngoài ra chất lượng của
loại động cơ này rất tốt (tốt nhất trong các thử nghiệm hiện tại), động cơ bánh răng
kim loại, lực kéo mạnh, xoay êm, không rung, giữ v trí tốt nhất , là một sự lựa chọn
sáng giá cho thiết kế robot.
Trọng lượng sản phẩm
55.6g
Kích thước sản phẩm
40.5 * 20 .2* 44.2mm
Tốc độ
0.18sec / 60
0
tại 4.8VDC 0.16sec / 60
0
tại 7.2VDC
Lực kéo
17.25Kg.cm tại 4.8VDC 20.32kg.cm
tại 7.2VDC
Điện áp hoạt động
4.8VDC đến 7.2VDC
Dòng điện tiêu thụ
>600mA
Chiều dài cáp
32cm
Bng 2-10. Thông s và khi lưng RC Servo
2.7.2.1. B điu khin PS2 và HC06
Hình 2-21. PS2
Hình 2-22. HC06
27
PS2
o Phạm vi bắt sóng Bluetooth lên đến 10m, không cần dùng dây dẫn. Tay
cầm đạt độ nhạy cao, nút nhấn êm. Không có hiện tượng switch bounce
của nút nhấn
o Tay cầm PS2 Wireless 2 joystick khá linh hoạt giúp người dùng điều
khiển cực kỳ chuẩn xác
o Tay cầm PS2 bộ chuyển đổi tín hiệu kết nối phù hợp cho các bạn
giao tiếp với vi điều khiển
Đin áp hot đng
3.3V
Giao tiếp
Bluetooth
Khong cách ti đa
10m
Bng 2-11. Thông s PS2
HC06
Đin áp hot đng
3.3VDC ~5VDC
Baudrate UART thể chọn
được
1200, 2400, 4800, 9600, 19200,
38400, 57600, 115200
Dải tần sóng hoạt động
Bluetooth 2.4GHz
Chip
CSR mainstream bluetooth- bluetooth
V2.0 protocol standards.
Dòng điện khi hoạt động
khi Pairing 30 mA, sau khi pairing hoạt
động truyền nhận bình thường 8 mA
Kích thước của module chính
28 mm x 15 mm x 2.35 mm
Bng 2-12. Thông s HC06
Đề tài sử dụng HC06 robot được điều khiển bởi phần mềm trên điện thoại
Andrioid song song với việc điều khiển PS2. Người dùng có thể cài đặt phần mềm và
kết nối Bluettooth.
2.7.2.2. Raspberry Pi 3
28
Hình 2-23. Raspberry Pi 3
CPU
Broadcom BCM2837B0 quad-core A53 (ARMv8) 64-bit @
1.4GHz
GPU
Broadcom Videocore-IV
RAM
1GB LPDDR2 SDRAM
Networking
Gigabit Ethernet (via USB channel), 2.4GHz và 5GHz, Wi-Fi
Bluetooth
4.2, Low Energy (BLE)
Thẻ nhớ
Micro-SD
GPIO
40-pin GPIO header, populated
Ports
HDMI, 3.5mm analogue audio-video jack, 4x USB 2.0, Ethernet,
Camera Serial Interface (CSI), Display Serial Interface (DSI)
Bng 2-13. Thông s và khi lưng RC Servo
Lý do mạch Raspberry Pi 3 được sử dụng trong đề tài này vì:
Raspberry Pi 3 Model B+ (Made in UK) là board mạch máy tính nhúng được sử
dụng nhiều nhất hiện nay, ngoài việc sử dụng để hệ điều hành Linux hoặc
Windows 10 IoT, máy còn khả năng xuất tín hiệu ra bốn mươi chân GPIO
giúp bạn có thể giao tiếp và điểu khiển vô số các board mạch phần cứng khác để
thực hiện số các ứng dụng khác nhau, máy kích thước nhỏ gọn, giá thành
phải chăng, cách sử dụng dễ dàng, chỉ cần cài hệ điều hành vào thẻ nhớ cấp
nguồn là có thể sử dụng
Máy tính Raspberry Pi 3 Model B+ (Made in UK) có cộng đồng sử dụng rất lớn
trên thế giới, đây chính ưu điểm lớn nhất của Raspberry Pi, điều này giúp chúng
em có thể tìm nguồn tài liệu cũng như hỗ trợ rất dễ dàng trên Google hoặc trang
chủ Raspberry Pi. Đối với thuật toán dùng Robot ROS, SLAM LIDAR quét map
cần thời gian xử tín hiệu nhanh, chính xác thì Raspberry Pi 3 sự lựa chọn
phù hợp
2.7.2.3. RPLIDAR A1
29
Hình 2-24. LIDAR
RPLIDAR A1 được sản xuất bởi hãng Slamtec được sử dụng cho các ứng dụng
phát hiện vật cản, lập bản đồ bng tia Laser trong xe, robot tự hành, hệ thống chống
trộm, ..., cảm biến có độ ổn đnh và độ chính xác cao.
Cảm biến Laser Radar (LIDAR) RPLIDAR A1 sử dụng giao tiếp UART nên
thể dễ dàng giao tiếp với Vi điều khiển, Máy tính nhúng hoặc kết nối máy tính qua
mạch chuyển USB-UART phần mềm đi m, cảm biến khả năng quét xa với
khoảng cách n đến 12m, tần số tối đa 10Hz với 8000 samples per time, phù hợp cho
vô số các ứng dụng khác nhau.
Đin áp hot đng
5VDC
Chuẩn giao tiếp
UART
Phương pháp phát hiện vật cản
Laser
Khoảng cách phát hiện vật cản tối đa
12m
Góc quay
360°.
Tốc độ lấy mẫu tối đa
8000 Samples per time.
Tần số quét tối đa
10Hz
Kích thước
71 x 97mm
Bng 2-14. Thông s LIDAR
30
CHƯƠNG 3. NI DUNG NGHIÊN CU
3.1. Mô phỏng trên Matlab
3.1.1. Lưu đồ
Hình 3-1. Lưu đồ trong vic mô phng hexapod trên Matlab
3.1.2. Kết qu mô phng
Hình 3-2. Kết qu mô phng s di chuyn ca Hexabod trên Matlab
31
3.2. Thiết kế khí
3.2.1. Lắp ráp, đi dây và kết ni các Module
3.2.1.1. Sơ đồ tng quan kết nối cơ khí
Hình 3-3 Sơ đồ tng quan kết nối cơ k
32
3.2.1.2. Sơ đồ tng quan kết ni đin và tín hiu
Hình 3-4 Sơ đồ kết ni các module và tìn hiu.
33
Trong quá trình gn mt năm nghiên cu phát trin d án, robot đã đưc phát
trin qua bn phiên bn.
phiên bn đầu (VS1), nhm kim tra kh năng di chuyn ca Hexapod, chúng
em ch dùng khp nhôm làm khung, th d dàng mua ngoài th trường, điều này
giúp tiết kim thi gian phi b ra, robot đi lại n, có th quo phải trái nhưng do có
khi lưng ln, thi gian hot động đưc 15 phút.
Hình 3-6. Hexapod VS2 khung nha
Hình 3-5. Hexapod VS1
34
Vi Hexapod VS2 (phiên bn 2), chúng em chuyn qua s dng nha làm khung,
dùng công ngh in 3D để gim ti trng robot chu phải. Sau đó chúng em tiến hành
kim tra th v dung lượng pin thi gian hoạt động đưc kết qu rt kh
quan, robot hoạt động được 30 phút, ti trọng ngoài lên đến 2kg. Ngoài ra, chúng em
còn phát trin thêm phn code bên trong, thêm thut toán ma trận xoay, robot đã có
th xoay thân ti ch mà chân không di chuyn khi đt.
Nhưng nhìn chung, cả hai phiên bản đầu ch mi có chuyển động nhưng lại không
nhng chc năng m rng phc v cho nhu cu phát trin hình hc tp. Mt
phần nguyên do là không đủ không gian để có th thêm vào các module. Một ý tưởng
đặt ra, chúng em thiết kế thêm đầu và đuôi, ly hình mu là mt con kiến để thiết kế
thay ch sáu chân như ban đầu, điều này giúp thêm không gian không
tăng kích thước thân, và phiên bản 3 (VS3) được ra đời. Nhưng phiên bản này ch
chc năng kim tra thut toán trong code, đm bo khi thêm hai b phận đầu đuôi sẽ
không nh hưởng ti hoạt động ca Hexapod. Chúng em s dng phn thiết kếsn
ca Jeroen Janssen để xây dng theo nhm tiết kim thi gian, tăng ng pin t
3000mAh lên 6000mAh đ ci thin thi gian hoạt động. Sau quá trình x lý, kết qu
robot th di chuyn ổn đnh vi hai b phn thêm vào, robot có th hot động
trong 30 phút.
Sau VS3, chúng em tiến hành la chn các module mun s dng, t đó thiết kế
li cho riêng mình mt AntPot có th chứa các module đó, phần chn la thiết b xem
phn 3.4.1. V chi tiết phn thiết kế, s được nói rõ phn này.
Hình 3-7. Hexapod VS3 kết hợp đầu và đuôi
35
Hình 3-8. AntPot (Hexapod VS4)
3.2.2. Thiết kế mô hình
3.2.2.1. Phn Đu
Nhóm mun to mt con robot kh năng di chuyển đến nhng khu vc khut
tm nhìn, hoc cần do thám trưc nên cần Camera để quan sát thiết b quét
bản đồ.
Để camera góc nhìn rng, chúng em thiết kế phần đầu robot ba bc t do
giúp cho robot có kh năng xoay 180° trc Rotage, 40° trc Pan, 40° trc Tilt.
Phần đầu s dng bn động servo tương ng vi hai bc t do khp Head
Pan, Head Tilt và hai khp răng, răng góc đóng/m 45° mi n. Phần đầu được
trang b zero cam ti v trí chính giữa hai râu đ phân gii 5MP quay video 1080
30fps đi kèm với Pi zero. Cm biến lc tích hợp vào càng cho phép đo được lc kp.
Cm biến siêu âm đưc gn v trí miệng dùng để vt cản dưới tm quét ca Lidar.
Ăngten đưc s dụng đ tăng tm s dng PS2.
Phần đầu được chia thành 12 chi tiết gm chi tiết đầu, hai chi tiết mt trái- phi,
năm chi tiết răng- bánh răng, ba chi tiết c, tt c được lp ghép vi nhau bng c và
đai ốc.
36
Hình 3-9. Thiết kế 3D phần đầu Hexapod
3.2.2.2. Phn thân
Thiết kế thân gm Lidar, b ngun gm hai viên pin 7000mAh, 6000mAh, hai
mạch báo pin. Đ đảm bo cho tính linh hot ca phần đầu, động cơ trục Rotage ca
phần đầu được đặt trong thân được đỡ bng bạc đạn 35BD5220. Phn thân cho
phép khp γ mi chân quay 50°, cho phép khp Pan ca phần đuôi quay 40°
Là nơi gắn kết sáu chân, phần đầu và đuôi, cần phi đảm bảo độ vng chắc, nhưng
hn chế kích thước ca bàn in ca máy in 3D nên chúng em phi tách phn thân
thành bn phn và kết ni vi nhau bng mica chính giữa. Mica cũng làm nn cho
khay pin và mch.
37
Hình 3-10. Thiết kế 3D phn thân Hexapod
3.2.2.1. Phần đuôi
Phần đuôi sử dụng 2 động cơ servo tương ứng vi 2 bc t do đuôi Tail Pan cho
phép quay 40°, Tail Tilt cho phép quay 40°, bên trong đưc thiết kế nơi chứa
Arduino mega 2560 và Raspberry Pi3, phần đuôi kích thước lớn hơn bàn in cũng
được chia thành 5 phn và kết ni vi nhau bng mica đảm bo phần đuôi có kết cu
vng chc tính thẩm cao. Phần đuôi trang b 6 con led tương ng vi 6 chân,
khi chân chm đt led s sáng.
Hình 3-11. Thiết kế 3D phần đuôi Hexapod
3.2.2.2. Phn chân
38
Thiết kế chân gồm ba động cơ servo 5521MG tương ng vi 3 bc t do vi kích
thưc khâu: Coxa 75mm, Femur 113.5mm, Taibia 221.6mm. Chân có công tc hành
trình để làm thut toán điu khiển vượt đa hình. Các servo được giu kín và dây dn
được bc trong dây ới đảm bo tính thm mĩ. Chân đưc thiết kế với đ dày v
2mm và gân 3m đảm bảo độ cng vng và đ bn ca chi tiết, phần đỉnh ngón chân
có lp cao su chống trưt vì vt liệu PLAđộ ma sát kém vi các mt phng nhn
như gạch men, bàn, …
Hình 3-12. Thiết kế 3D phn chân Hexapod
3.2.3. Gia công
3.2.3.1. Cài đt thông s máy in
Si nha s dụng là PLA đường kính 1,75mm, đầu phun 0,4mm.
39
3.2.3.1.1. Quality
Layer height: 0,28mm
Initial layer line width: 120%
3.2.3.1.2. Shell
Wall thickness: 1.2mm
Top/bottom thickness: 0.8m
Optimize wall printing order: tối ưu hóa số v trí rút nha quãng đưng
di chuyn
3.2.3.1.3. Infill
Infil density: 15%
3.2.3.1.4. Material
Default printing temperature: 205°C
Flow: 105%
Enable retraction: Chn
Retraction extra prime amount: 
3.2.3.1.5. Speed
Print speed: 80mm/s
Wall speed: 40mm/s
Top/bottom speed: 50mm/s
Travel speed: 100mm/s
Print Acceleration: 
3.2.3.1.6. Cooling
Regular fan speed at height: 0,3mm
3.2.3.1.7. Support
Support overhang angle: 70°
3.2.3.1.8. Build plate adhesion
Build plate adhesion type: Brim
40
3.2.3.2. Chun b
Động cơ.
25 động cơ servo 5521MG.
Hình 3-13. Servo chun b lắp ráp cơ khí
V
Hình 3-14. Các b phn sau khi in, chun b lp ráp
41
Linh kiện điện t:
STT
Tên linh kin
S ng
1
Ăng ten
2
2
Arduino mega 2560
1
3
Cm biến lưc FSR402
1
4
Cm biến siêu âm HC-SR04
1
5
Camera Pi
1
6
Led
6
7
Lidar
1
8
Mch điu khin servo
1
9
Mch đo pin
2
10
Mch gim áp 5V-3A
1
11
Mch gim áp UBEC
2
12
Nút ngun
1
13
Pin 6000mah
1
14
Pin 7000mah
1
15
Raspberri pi3
1
16
Raspberri zero
1
Linh kiện cơ khí:
STT
Tên linh kin
S ng
1
Bc đn B683zz
1
2
Bc đn B684zz
4
3
Bc đn FL6x12x4
21
4
Công tc hành trình
6
5
Đai c M3
23
6
Đai c M4
4
7
Lót cao su
6
8
c M2 lục giác đầu tr 15mm
12
9
c M2.5 lc giác đu tr 15mm
4
10
c M3 lục giác đầu bng 5mm
65
11
c M3 lục giác đầu tr 10mm
60
12
c M3 lục giác đầu tr 12mm
1
13
Ôc M3 lc giác đầu tr 20mm
8
42
14
c M3 lục giác đầu tr 8mm
100
15
c M4 lục giác đầu tr 10mm
40
16
Đai c M3
234
17
Đai c M4
40
3.2.4. Bng đa ch kết ni
Arduino Mega 2560
Raspberry Pi 3
35
29
37
31
39
33
41
37
43
36
45
32
GND
GND
Bng 3-1. Kết ni Arduino Mega 2560 vi Raspberry Pi 3
Aruino Mega2560
Công tc hành trình
Led
34
SW1
D1
36
SW2
D2
38
SW3
D3
40
SW4
D4
42
SW5
D5
44
SW6
D6
Bng 3-2. Kết ni công tc hành trình vào Arduino Mega2560
Arduino Mega2560
HCRS-04
FSR402
VCC
VCC
VCC
GND
GND
GND
20
TRIGGER
21
ECHO
A2
Analog
Bng 3-3. Kết ni HCRS-04 và FSR402 vào Arduino Mega2560
Arduino Mega 2560
PlayStation 2
HC06
VCC
VCC
VCC
43
GND
GND
GND
10
SEL
11
CMD
12
CLK
13
DAT
0
RX
1
TX
Bng 3-4. Kết ni PS2 và HC06 vào Arduino Mega2560
Mega2560
32 Servo Torobot
VIN
VCC
GND
GND
19
RX
18
TX
Bng 3-5. Kết ni 32 Servo Controller vào Arduino Mega2560
Raspberry Pi 3
Raspberry Pi Zero
LIDAR A1
Port 1
Camera OV5647
Jack Camera
Bng 3-6. Kết ni LIDAR vào Pi 3, Camera OV5647 vào Pi Zero
Pin
Driver32 Torobot
Raspberry Pi 3
Raspberry Pi Zero
Li-po 6000mah
Cng USB
Cng USB
Li-po 7000mah
2 x Ubec15A
Bng 3-7. Ngun nuôi Driver 32 Servo, Pi 3, Pi Zero và cách kết ni
44
Chân phi sau
Coxa
0
Femur
1
Tabia
2
Chân phi gia
Coxa
4
Femur
5
Tabia
6
Chân phải trước
Coxa
8
Femur
9
Tabia
10
Chân trái sau
Coxa
31
Femur
30
Tabia
29
Chân trái gia
Coxa
27
Femur
26
Tabia
25
Chân trái trước
Coxa
23
Femur
16
Tabia
21
HeadRotate
17
HeadPan
12
Đầu và đuôi
HeadTilt
11
MandibleLeft
22
MandibleRight
13
AbdomenPan
3
AbbdomenTile
28
Bng 3-8. Kết ni các Servo vào Controller
45
3.3. Thi công
3.3.1. Lp chân
Hình 3-15. c 1
Hình 3-16. Bước 2
Hình 3-17. c 3
Hình 3-18. c 4
46
3.3.2. Lp thân
Hình 3-19. c 1
Hình 3-20. c 2
Hình 3-21. c 3
Hình 3-22. c 4
47
3.3.3. Lp đu
3.3.4. Lắp đuôi
Hình 3-23. c 1
Hình 3-24. c 2
Hình 3-25. c 1
Hình 3-26. c 2
48
3.3.5. Hoàn thin
Hình 3-27. AntPot
3.4. Lưu đồ gii thuật điều khin cho di chuyn ca Hexabod
3.4.1. Thuật toán dành cho dáng đi
Chương II phn 4.1 nói qua, Hexapod s được lập trình để có th thc mt
dáng đi (Gait) chủ đạo, t đó thực hin các chức năng di chuyển tiến lùi trái phi,
xoay thân. Điều đặc bit phải lưu ý đó hướng của dáng đi này phải cùng hưng
với hướng di chuyn ca thân di chuyển ngược chiu khi chm đất, điều này giúp
robot có th tiến v trưc.
Hình 3-28. Hình dáng ca Gait trong gii thut
49
Để th thc hiện đưc kiểu dáng đi đó, ta phải cho tọa độ chân thc hin mt t
hp các tọa đ hình thành nên Gait, càng nhiu tọa độ, bước đi ng mn, nhưng
li thi gian x lý hết li lâu, trong báo cáo này s ly mt dáng đi có tám tọa độ gm
năn ta đ chm đt, ba ta đ nâng chân để gii thích v gii thut
Khi thc hiện Gait, để trông như các chân hoạt động cùng lúc, ta phi cho tng chân
thc hin di di mt khon tọa độ theo hình ng Gait như trên, mỗi ln di di vy là
mt bước trong Gait, khi thc hin xong hết sáu chân mi bắt đầu qua bước tiếp theo
c tuyt đi: mi Gait này, do các chân ca Hexapod hoạt động nâng chân tun
t, nên mỗi chân đều có s th t nâng chân ca mình, đó gọi là bước tuyệt đối (hay
còn có th gọi là bước cơ sở), th t này được tính t v trí đầu tiên ca chân khi khai
báo trong code và đếm tăng dần theo hướng di chuyn của Gait (hướng mũi tên trong
Hình 3-33). bước tương đối s bng s c lúc by gi ca Gait tr cho bước
tuyệt đối. Ta cho khi ớc ơng đối bng 0 (StepLeg=0) tại lúc chân đang được
nâng cao nht trong Gait, t đây ta th tiến hành code bng cách đặt tọa độ cho
chân ng vi từng trường hp StepLeg, gi đó làm hàm Gait, có lưu đ như Hình 3-
35.
Bên cạnh đó phải cho hàm Gait trên chy xuyên xut 8 bước ca Gait và tr v 1
khi đi hết s bước để Hexapod di chuyn liên tc. Deadzone là khon mà đó ta
độ ko thay đổi, do điu khin bng PS2, joystick xut ra n hiu analog trong khon
0-255, dùng deadzone để gim bt đ nhy, tránh vic va chm ngoài ý mun. Ta
có lưu đồ Hình 3-36.
T đây có thể cho hàm chy vòng lập để th điều khin Hexpod di chuyn theo
hướng ta cần, có lưu đ như Hình 3-37.
Trưc khi xem phn code, chúng ta cn phải xác đnh trước h ta đ trong toàn
thân robot đ d ng đối chiếu:
50
Hình 3-29. Các h tọa độ trên trên Hexapod
51
Hình 3-30. Lưu đồ gii thut 1 bưc trong Gait
52
Hình 3-31. Lưu đồ trình t chy ca Gait
53
Hình 3-32. Lưu đồ gii thut vòng lp chính
54
3.5. Viết app điu khin bng Bluetooth kết nối đến HC06
3.5.1. Gii thiu công c thc hin: MIT App Inventor
Đây một trang Web cung cp công c giúp ích cho vic to mt app th s
dụng trên điện thoi, thc hin các chức năng đơn giản. mt trang Web, người
dùng không phi ti v để s dụng, thay vào đó là mt tài khon Gmail. Nhóm chn
s dng công c này bởi tính đơn giản trong quá trình to app, các câu lnh th
to ra ch vi nhng thao tác kéo th các block.
3.5.2. Quá trình thc hin
Mục tiêu ban đầu chúng em đề ra đối vi app này phi gửi được tín hiệu điều
khiển thông qua đường truyền bluetooth, đảm bo vic thc hin không b gián đoạn.
Vy nên chúng em tiến hành th nghim kết ni và gi d liu các nút và 1 joystick
bng phiên bản đầu. phiên bn này, app th kết ni vi HC06 gửi được tín
hiu dưới dng t ng vi mi nút nhn tín hiu analog t joy trong khon t
0-255 thông qua cng Serial.
Kết ni bluetooth bng ListPicker Button, điều kiện ban đầu điện thoi
phi bt kết ni bluetooth, máy cha các đa ch ghép đôi kh dng xung
quanh, ListPicker BeforePicking giúp hiện ra màn hình danh sách các đa ch
đấy ra màn hình giao diện, sau đó AfterPicking giúp kết nối vào đa ch được
chn. Sau cùng Button giúp ngt kết ni khi không cn ng na. Hai nút
này s luân phiên xut hin trên giao din nút nhn còn lại được kích hot
thành công.
55
Hình 3-33. MIT kết ni bluetooth
Gi d liệu qua đường truyn bluetooth, khi kết ni bluetooth thành công, nếu
nhn vào mt nút chức năng (ngoi tr joystick), app s gi mt t được
thiết lp, khi nh nút cũng s gi mt t khác, dùng trong điu khin khi
nhn giữ. Sau đây là ví dụ ca nút nhn tiến:
Hình 3-34. MIT gi thông tin nút khi nhn nh
56
X lý d liu khi kéo joystick: đểth s dng chức năng như một joystick,
chúng em s dng n hình Canvas thao tác kéo th mt hình tròn thay
cho nút quay. Mt khác, có hai vấn đề cn phi gii quyết, v trí trên Canvas
và d liu. V v trí, khi kéo thì hình tròn đó s theo tay mình, th ra thì hình
tròn quay v v trí đầu kéo Joystick s không vượt qua khi bản kích đường
tròn ngoài, vấn đề này chúng em ch yếu dùng lệnh Move to đ đi ti tọa đ
em cn. V d liu, cn phi x lý ta đ ca Joystick để chuyn thành giá tr
0-255 ri gi tr d liu cho HC06.
o Đểth theo v trí hin ti ca ngón tay, tại điều kin Dragged chúng
em dùng lnh Move to curent, current là ta đngón tay chm vào
màn hình Canvas
Hình 3-35. MIT Joystick hướng theo tay kéo
o Để th khi th tay, hình tròn quay v v trí ban đầu, điều kin
TouchUp dành cho vic khi th tay ra khi Canvas giúp chúng em x
lý vấn đề này
Hình 3-36. MIT th Joystick
o Để Joystick không t ra khi khung hình tròn nn (Background
Joystick), chúng em đã phải tìm mt công thc chung để th di di
tọa độ đúng với khung gii hn. Hình 3-29 sau th hin tọa độ thc ca
Joystick bên trong Canvas:
57
Hình 3-37. H tọa độ bên trong mt khung Canvas
Gi tọa độ Background Joystick trong Canvas là (x
0
, y
0
), v trí ngón tay hin ti
(x
i
, y
i
) v trí Joystick chúng em mun là (x
i
, y
i
’), bán kính Background R, bán
kính Joystick là r.
Nếu c dùng ta đy tính, chúng em phi phân trưng hp ph thuc vào tng
góc phn tư tọa độ góc O, điu này quá mt thi gian x lý. Vậy n em đưa ra mt
ý tưởng, tnh tiến h tọa độ v v trí tọa độ ca Background Joystick, dựa vào đó tính
ta đ i’. Em tính đưc các ta đ sau khi tnh tiến là i(x
i
-x
o
, y
i
-y
o
), i’(x
i
-x
o
; y
i
-y
o
)
vấn đề này điều kiện ban đầu đưa ra là nếu Joystick b kéo ra khi gii hn ca
Background, tc là khoản cách đến tâm Background phi lớn hơn khon cách tọa độ
gii hạn, đặt A là khon cách t điểm nhấn đến tâm Background, điều kiện đó đưc
đề ra như sau:
󰇛
󰇜
󰇛
󰇜
(3-1)
3-2
Nếu không thỏa điều kin này, Joystick ch cn di chuyn ti v trí chm tay trên
Canvas. Nếu tha, phi thc hin thut toán di di tọa độ. S liên h gia hai tọa độ
trên, chúng em dùng đến đnh lý Talet trong tam giác đ tính:
(3-3)
58
T phương trình trên, ta đ i’ có thể đưc tính bng công thc sau:
󰆒
󰇛
󰇜󰇛
󰇜
(3-4)
󰆒
󰇛
󰇜󰇛
󰇜
(3-5)
Chúng em tiến hành chuyn thut toán trên vào lp trình app:
Hình 3-38. Code gii thut gii hn Joystick
- Vấn đề cuối cùng là đổi giá tr tọa độ sang giá tr trong khon 0-255, chúng
em đưa tọa độ Joystick so vi v trí Background Joystick qua mt b
chuyển đổi, gi giá tr d liu của Joystick theo 2 hướng x, y d
x
,d
y
b
chuyển đổi này được tính theo công thc sau:

󰇛
󰇜

 
(3-6)
Do d liu theo trục y ngược vi h tọa độ trong Canvas, nên công thc tính dy có
s thay đi so vi công thc tính dy:

󰇛
󰇜

 
(3-7)
59
3.5.3. Kết qu
Hình 3-39. App VS1
Mc tiêu th hai, chúng em mun phn mm này phi kết nối được vi mng nhm
có được thông tin tr v t trang html mà nhóm dùng, ngoài ra ngay trong phiên bn
này, chúng em bắt đầu thiết kế b cc cho giao din phn mm. Chúng em mun app
đầy đủ nhng chức năng giống như một PS2 để to cảm giác điều khiển tương tự
trước đó nhóm tng làm, nên em thiết kế b cc cái nút, hình ảnh ban đầu n
mt PS2, bên cạnh đó thêm vào hai màn hình có th kết ni mng. Em tiến hành th
nghim hai màn hình bng cách cho kết ni vi link Youtube, mt trang ph biến, và
một nút change đ th chuyển đường link gia hai màn hình. Chúng em s dng
thuộc tính WebViewer để có th hiện ra được trang Web muốn hướng đến, dùng lnh
GoToUrl đ kết ni:
Hình 3-40. MIT kết ni WebViewer vào mt link
Chúng em thiết kế nút Change để có th thay đi đưng link gia hai màn hình:
60
Hình 3-41. MIT nút Change thay đi đường link hai màn hình
Hình 3-42. App VS2 vi màn hình và b cục được xác định sơ b
Cui cùng, vi app VS3, chúng em hoàn thin giao din, tiến hành chnh sa nh
nền, thay đổi màu sc, ci thiện độ thun mt. Loi b các chức năng không cần thiết
d như khung th hin khoản cách siêu âm, các nút đnh ớng. Tăng kích cỡ
khung lướt Web để d dàng thao tác qua mng, b sung khung Test để đặt vào đường
Link đến html.
61
Hình 3-43. App VS3 hoàn thin
3.6. Kết hp chc năng quét map của LIDAR
3.6.1. Gii thiu công c thc hin: ROS và SLAM
Đây một môi trường linh hot cho vic viết các phn mm robot. tp hp các
công cụ, thư viện và tiêu chuẩn chung để giúp người dùng có th d dàng vn hành 1
chức năng, thực hin mt hành vi phc tạp nào đó trên nhiều loi nn tng robot khác
nhau.
SLAM là h thng s dng thông tin ảnh thu được t camera để tái tạo môi trường
bên ngoài, bng cách đưa thông tin môi trưng vào mt map (2D hoc 3D). T đó,
thiết b (robot, camera, xe) có th đnh v (localization) đang đâu, trạng thái, tư thế
của trong map để t động thiết lập đường đi (path planning) trong môi trường hin
ti. đề tài này, chúng em không dùng camera mà thay vào đó là dùng thiết b ngoi
vi là LIDAR, bắn tia lazer để quét và to map 2D.
Điu khin t động thiết b robot chia làm 3 vấn đề chính: đnh v (localization),
tái tạo môi trường (mapping) hoạch đnh đường đi (path planning). Trong đó
SLAM giúp vic đnh v và tái tạo môi trường đưc xy ra cùng mt lúc.
3.6.2. Nhng cân chnh phù hp với kích thưc Ant-Pod
Footprint: ta đ ca 4 góc quanh tâm LIDAR, to thành khon trng biu
th kích thước Ant-Pod
62
Hình 3-44 Footprint
Max_vel_x, min_vel_x: tc đ max và tốc độ min ca Ant-Pod
Hình 3-45 Max_vel_x, min_vel_x
Yaw_goal_tolerance: phương sai khi xoay
Hình 3-46 Yaw_goal_tolerance
Arg: cha chui cái kích thước tương đi ca LIDAR trên bản đồ:
o 0 0 0,2: v trí của x y z theo đơn v met, do đ LIDAR cao 0,2 met so
vi đt
63
o 3,14 0 0: độ xoay yaw pitch roll: do đặt LIDAR trong thiết kế ngược
chiều trước sau
Hình 3-47 Arg
3.6.3. Nguyên lý giao tiếp gia arduino và Raspberry Pi 3:
RPLIDAR A1 sau khi chy tt c các thuật toán để phát hin vt cn và xây dng
lên bản đồ thì Raspberry Pi 3 s to ra 2 biến liên tục thay đổi , đó chính là Góc (đơn
v độ) Hướng đi. Sau đó Raspberry Pi 3 s giao tiếp gi d liu 2 biến đó đến
Arduino mega 2560 . Sau đó Arduino mega s quyết đnh đến mc tiêu di chuyn ca
robot theo 9 hướng cơ bản.
ớng 1 : đi thẳng
ớng 2 : đi lùi
ng 3 : Xoay trái ti ch
ng 4 : Xoay Phi ti ch
ớng 5 : đi thẳng kết hp xoay trái
ớng 6 : đi thẳng kết hp xoay phi
ớng 7 : đi lùi kết hp xoay trái
ớng 8: đi lùi kết hp xoay phi
ớng 9: Đứng yên
Khi robot di chuyển đến v trí mi so vi v trí cũ. Góc robot sẽ b thay đổi, ta s
nhận được biến ca Góc.
Raspberry Pi 3 s giao tiếp vi arduino mega qua các dây tín hiu.
Giao thc truyn t Raspberry Pi 3 đến mega là song song (parallel). Các
chân vật lý được kết ni vi nhau thông qua bn sau:
64
Raspberry Pi 3
Arduino Mega
Tên biến
Chân 29
Chân 35
PosAngle
Chân 31
Chân 37
NegAngle
Chân 33
Chân 39
PosLinear
Chân 37
Chân 41
NegLinear
Chân 36
Chân 43
ComWrite
Chân 32
Chân 45
ComRead
Chân GND
Chân GND
Các tín hiu t raspberry pi3 s tín hiệu đầu vào input cho mega. Ta s các
qui đnh cho các hướng như sau :
c 1: Chân 45 đưc kích lên mc cao 5v. s cho phép đc các thông tin t
Raspberry Pi3
c 2: Chân 43 ca mega s m đầu nhn gói data bng cách kích mc thp
0v
digitalWrite(ComWrite,0);
c 3: ớng góc được la chn theo data bng cách kích mc cao các
chân mega
Ví D :
ng 1: Đi thng
digitalRead(PosAngle,1);
digitalRead(NegAngle,1);
digitalRead(PosLinear,1);
digitalRead(NegLinear,0);
RobotMoveForward(); // robot đi thẳng
ng 2: Đi lùi
digitalRead(PosAngle,1);
digitalRead(NegAngle,1);
digitalRead(PosLinear,0);
65
digitalRead(NegLinear,1);
RobotMoveBackward(); // robot đi lùi
…..
Các hướng n li s thay đổi theo cách kích mc cao hoc thp ca chân digital
theo mã nh phân
c 4: Xác nhận Robot đã kết thúc di chuyn theo hướng đã chọn
Ta s kết thúc 1 ln nhn data bng cách kích mc cao chân 43 ca mega
digitalWrite(ComWrite,1);
3.6.4. Các bưc đ khi chy Rviz trong nn Ubuntu :
ifconfig
/////////////////// dùng làm share screen, ca NoVNC
Tab 1
x11vnc -forever -display :0
Tab 2
cd ~/Desktop/noVNC-1.1.0/ && ./utils/launch.sh
//sua host trong page tu ubuntu thành IP
//////////////////
Tab 3
ssh ros@IP //kết ni ip
password: 12345678
cd catkin_ws/ đến không gian làm vic
source devel/setup.bash chy setup bên trong devel
roslaunch robot_slam rplidar.launch khi chạy chương trình robot slam
66
Tab 4
ssh ros@IP // kết ni ip
password: 12345678
sudo -s //cp quyn chạy chương trình
password: 12345678
cd catkin_ws/ // đến không gian làm vic
source devel/setup.bash //chy setup bên trong devel
rosrun robot_slam driver // hin lên thông tin gi và tr gia raspberry và arduino
Tab 5
cd ~/catkin_ws/ // không gian làm vic
source devel/setup.bash //chy setup bên trong devel
cd src/robot_slam/scripts // chạy đến script
./client.sh //chạy đến client
Click 2D Nav Goal
Fullscreen (F11)
67
CHƯƠNG 4. THC NGHIM
4.1. Kết qu v mt hoạt động phn cng
Chúng em thc hin cho HexaPod chy th ngoài thc tếtiến hành đo đạc, th
nghiệm này được diễn ra trong môi trường bng phng, nhiệt đ phòng, các chướng
ngi không quá thp để LIDAR có th phát hin như tường, các thùng Carton.
4.1.1. Thi gian hot đng
4.1.1.1. Raspberry Pi 3 và Raspberry Pi Zero
Raspberry đóng vai trò quan trng khi phi truyn ti thông tin v trí ca Hexapod
trong bản đồ, giúp ta nhn biết môi trường xung quanh nên thi gian hoạt động thc
tế ca ca Raspberry rt quan trng.
Tiêu chí đánh giá:
o So sánh thi gian hot đng liên tc thc tế ca hai Raspi vi thi gian
tính toán
o Sc x 5 ln trong thi gian 2 gi 25 phút
Chúng em tiến hành đo dòng s dng trong Raspberry Pi bng USB Tester V3
được cm trc tiếp o cng USB, đầu ra ni ra LIDAR. T kết qu đo được, do
chúng em chn ngun cp cho Pi 5200mAh, thi gian Raspberry hoạt động được
da trên lý thuyết đưc tính bng công thc sau:


󰇛󰇜
(4-1)
Hình 4-1. Dùng USB Tester V3 để đo dòng trong Raspberry Pi
68
Trong thc tế, do không th x hết lượng pin nhm đảm bo v mt tui th pin,
mt viên pin khi sạc đầy áp là 8.15V ngưỡng hoạt động t 7.6-8.15V nên thi
gian tính toán ra đạt 2 gi 25 phút thì phi sc li, giá tr điện áp b gim theo s ln
sc- khong 300 ln (8.15V là giá tr đã gim qua nhiu ln s dng), nếu là pin chưa
qua s dụng, ngưng trên s là 8.4 ng vi 2 cell.
4.1.1.2. Các Servo
Do LIDAR mạch điu khin 25 servo được cp ngun vi hai ngun pin khác
nhau, nên thi gian hoạt động ca các servo so vi Raspberry có s khác nhau, chúng
em cho Hexapod được bt ngun liên tc, chia các trường hp hoạt động như: không
cho di chuyn, di chuyn liên tc di chuyn vi ti ti càng, bm thi gian t khi
bt ngun cho ti khi mch báo pin báo yếu pin
Tiêu chí đánh giá:
o Sc, x 5 ln
o Đo thi gian mà robot còn hot đng ổn đnh t lúc xc đy pin
Chúng em thu được thi gian hot đng sau:
o Khi không hoạt động: sau khon 45 phút thì du hiu robot b đổ,
các servo ti chân mất điện
o Khi di chuyn liên tc: sau 18 phút thì chân di chuyn không còn n
đnh, bước đi không còn đều như ban đầu, mt vài góc ti các khp b
lch so vi các chân còn li
o Khi ti: ti mt viên t nng 200g được kp bi càng ca Hexapod,
ch di chuyển được 14 phút. Sau đó thân có xu hướng đổ v trưc.
4.1.1.3. Tc đ di chuyn và s n đnh ca robot khi di chuyn
Tc đ ti thiu
Để đo được tốc độ ti thiu ca Hexapod, chúng em cho robot gim tc hết mc
t b điều khin rồi tăng dần cho ti khi Hexapod th di chuyn với dáng đi n
đnh, cho đi trong khon cách 60cm, thu đưc kết qu Hexapod di chuyn trong 1
phút 10s, vy tốc độc ti thiu của Hexapod đưc tính:


󰇛 󰇜
󰇛
󰇜
(4-2)
69
Tc đ tối đa mà robot hot đng ổn định
Tương tự như tốc đ ti thiu, vi tc đ tối đa, chúng em đẩy tc đ lên cao nht
t b điều khin (trong lp trình, giá tr vn tc cao nht là 12 cm/s khi đi thẳng), ri
gim dần cho đến khi bước di chuyển được ổn đnh. Robot đi được trong vòng 8 giây,
tc đ cao nht có th được tính:


󰇛
󰇜
(4-3)
Tuy nhiên, khuyến cáo không s dụng robot cao hơn tốc độ tối đa cho phép
Hexabod s dm chân quá mnh, điu này s ảnh hưởng rt ln ti kết cấu cơ khí.
Tc đ hiu qu (

: required speed)
Đây tốc độ cao nht khi Hexapod thc hin chức năng quét map, khi vượt qua
mc tốc độ này, hình nh map thu đưc s git, vic này không ảnh hưởng đến quá
trình quét map, nhưng khi di chuyển t động, vic này s khiến Hexapod dng gia
đoạn đường thay đi về hướng ch đnh. Không như cách đo trên, nhưng ln này
chúng em cho robot đi t động trưc, gim tc dn cho ti khi vic di chuyn không
b dng lại đt ngt, chúng em gi tốc độ đó bắt đầu tính vn tc như cách trên,
kết qu thu được robot đi đưc 60cm trong 26 giây, vn tc hiu qu th được
tính bng phép tính:




󰇛

󰇜
(4-4)
4.1.1.4. Tm quét ca LIDAR
4.1.1.4.1. Tm quét hiu qu
Theo tông tin ca nhà sn xut, LIDAR có đề khon cách tối đa quét được là 12m,
chúng em tiến hành th nghim xem khon cách bao nhiêu thì trên map mà LIDAR
quét, người dùng th nhn biết rng đó ngưi- tm quét hiu quả. Để gii
quyết yêu cu này, chúng em tiến hành đặt Hexapod trong một hành lang dài, đặt cho
LIDAR quét map theo dõi qua màn hình, cho một thành viên đi lùi dần cho đến
khi điểm nhn biết không còn ổn đnh
Tiêu chí đánh giá
o Khi đng li LIDAR 5 ln
o Môi trưng không có vt trong sut
70
Sau khi đo thì tm quét hiu qu được xác đnh: 340cm
Hình 4-2. Đo tầm quét hiu qu
4.1.1.4.2. Tm quét ti thiu
LIDAR s có mt khon cách nào đó đ gần đ khi gi thông tin lên map, d liu
s b qua vt cn này, tc nm trong khon này thì map không hin th được. Cách
xác đnh cũng tương tự như trên, chỉ tiến gần đưa vt cn v phía b phn quét ca
LIDAR (tng chứa Lazer) cho đến khi map không hin th được vt thì ngng.
Tiêu chí đánh giá
o S dng vt không trong suốt như sách, bìa cartong làm vt chn
o Khi đng li LIDAR 5 ln
S liu ca tm quét ti thiểu được đo và cho kết qu là: 15cm
71
4.1.1.5. Ti trng
Robot không thiết kế để ti vt trên thân, nên chúng em ch kim nghim kh năng
nâng vt ti càng.
Để xác đnh được ti trng, chúng em cho Hexapod kp vt gi trong 5 giây,
sau đó tăng dn ti trng lên, kết qu thu được, robot th kp mt vt nng 500g,
vượt ti trọng này, đầu ca robot không còn gi được v trí.
Hình 4-3. Ti trng tối đa mà Hexapod có thể gi
4.1.1.6. Độ hiu qu ca các chức năng
Hot đng các Servo
Hexapod th di chuyn ổn đnh trong nhng điều kin nêu trên. Robot th
tiến, lùi, xoay trái, phi, có th t xoay quanh các h trc tọa độ, tnh tiến thân trong
không gian. Nhưng còn khá ồn trong di chuyn, tiếng n t khi các servo quay và khi
chân chạm đất, do khi thc hiện cho chân đi tới mt tọa độ, chân ch đi thẳng đến đấy
mà không h gim tốc khi đến gn.
Điu khin bng PS2
Việc điều khin không b gián đon, robot hoạt động trơn tru. Nhưng chưa xử
lý hoàn toàn được vấn đề Deadzone trong tín hiu analog, nên Hexapod rt d b lch
phương đứng nếu tình chm phi hai Joystick. Chc năng khá nhiều, đòi hỏi người
s dng phi b nhiu thi gian đ có th làm quen vi vic điu khin.
Điu khin bng phn mm Android qua Bluetooth
72
Do phn mm tạo app còn đơn giản, các chức năng câu lệnh còn hn chế khiến các
thành phn trong giao din phn mm không th đặt đè chồng lên nhau được, làm cho
màn hình kết ni mng bé, khó nhìn. V điều khin, phn mm gi không nhanh bng
PS2, các Joystick khi kéo còn giật do đòi hỏi phi qua mt quá trình x lý, gây mt
thi gian, làm robot b delay hơn so vi PS2.
LIDAR quét map
Chức năng này hoạt động ổn đnh, luôn tr v các thông tin v môi trưng xung
quanh mt cách nhanh chóng, giúp người dùng nhn biết được c v trí Hexabod
môi trưng ch thông qua mt màn hình máy tính.
Đi t động
Chức năng này Hexapod thực hin vẫn còn chưa được ổn đnh. Hn chế ln nht
trong trường hợp Hexapod đi được mi khi chn li một điểm khác, ta bt buc
phi nhn li nút 2D trong phn mm mi có th chn tiếp.
73
CHƯƠNG 5. KT LUN V HƯỚNG PHÁT TRIN
5.1. KT LUN
Sau mt thi gian nghiên cu và tìm hiểu, nhóm chúng đã rút ra được:
Nghiên cứu lí thuyết và tính toán bài toán cho robot sáu chân. Đây là cơ sở quan
trọng nht cho việc điều khiển chuyển động cho robot
Rút ra được những khó khăn con người lấy cảm hứng từ thiên nhiên để y
dựng một con robot có khả năng hoạt động như một loài côn trùng
Nghiên cứu các loại ng đi của robot và đưa ra hình hình học cho các loại
dáng đi. Dựa vào động học thuận của thân động học nghch của chân, tính toán
được v trí đặt chân cho robot để có ớc đi mượt và tránh bước nhảy
Thiết kế thành công phần khí robot sáu chân phần đầu bụng như loài
kiến
Robot hoạt động đúng bởi tác lệnh từ tay game Play Station, Phần Mềm điều
khiển qua điện thoại android, tđộng di chuyển trong bản đồ từ LIDAR, gắp một
vật thể có trọng lượng nhỏ hơn 500g, có thể trực tiếp xem môi trường bên ngoài
thông qua camera
Robot chưa có thiết kế tối ưu
5.2. HƯỚNG PHÁT TRIỂN ĐỀ TI
Tạo môi trường lp trình thân thiện hơn với học sinh, sinh viên. Người dùng
th tùy chnh d dàng các động tác, dáng đi, những module đưc tích hp tùy
thuc vào nhu cầu đề ra
To mt giao din mô phng ng vi hoạt động mỗi chân giúp người nghiên cu
d dàng nm bt đưc thut toán
ng ti thiết kế khuôn nhm gim khi lưng ban đầu, tăng tải trng
Vic điều khiển bng app còn gần do sử dụng đường truyền Bluetooth, phát triển
lên điều khiển bng wifi hoặc sóng LORA, giúp ta có thể điều khiển Hexapod
nhiều nơi hơn
Tích hợp Ai, chuyển đổi ngôn ngữ C thành ngôn ngữ python để robot thông minh
hơn. khả năng giao tiếp trò chuyện với con người, dạy trẻ em học chữ. Phát
hiện người lạ trong nhà và phát ra âm thanh cảnh báo.
Nghiên cứu những loại động brushless giúp robot tính bật nhảy cao. Lựa
chọn nguồn năng lượng cao, giúp robot hoạt động lâu hơn. Trong hoạt động tìm
kiếm cứu nạn động đất, phần đầu và bụng robot sẽ sử dụng những động cơ khỏe
74
hơn, giúp robot gắp những vật nặng như đá đất, robot luồn lách trong không gian
hẹp hơn, phần bụng sẽ mang nước, lương thực cho nạn nhân b kẹt.
75
TI LIỆU THAM KHẢO
[1] Dan Thilderkvist and Sebastian Svensson (2015), “Motion Control of Hexapod
Robot Using Model-Based Design”, Printed in Sweden by Media-Tryck, pp. 17-19,
pp. 42.
[2] Fredrik Persson and Mattias Lindström (2010), “The Memec Hexapod Robot a
demonstration platform”, pp. 9.
[3] NOAA (2013),“LIDAR—Light Detection and Rangingis a remote sensing
method used to examine the surface of the Earth”
[4] Paul, Richard (1981), Robot manipulators: mathematics, programming, and
control : the computer control of robot manipulators. MIT Press, Cambridge,
MA. ISBN 978-0-262-16082-7.
[5] Sunil93 (2013), Interfacing PS2 controller with AVR -Bit Bang”, pp. 4.
[6] Nguyễn Văn Hân (2017), “Giao thc truyn d liu ni tiếp”, trang 4
[7] Trn Quc Hùng (2012), Giáo trình Dung sai - K thut đo”, ”, nhà xut bn
ĐHQG TPHCM.
[8] Tăng Quang Khi Nguyn Tuấn Anh (2014), “Tìm hiu giao diện SPI”, Hà
Ni, trang 8-9.
[9] PGS.TS. Nguyễn Trường Thnh (2014), “Giáo trình k thuật robot”, nhà xut bn
ĐHQG TPHCM.
[10] Canberk Suat Gurel, “A project log for Hexapod Modelling, Path Planning and
Control”, https://hackaday.io/project/ 29/06/2017. [Internet]. [10/07/2019]
[11] http://www.slamtec.com/en/lidar/a1. [Internet]. [ xem 10/07/2019]
[12] https://store.arduino.cc/usa/mega-2560-r3. [Internet]. [xem 10/07/2019]
| 1/88

Preview text:


TRƯỜ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
NGHIÊN CỨU, CHẾ TẠO VÀ PHÁT TRIỂN
ROBOT 6 CHÂN TỰ ĐỘNG DI CHUYỂN
TRONG BẢN ĐỒ TRỰC TIẾP
GVHD: TS. NGUYỄN VĂN THÁI
SVTH: NGUYỂN HUỲNH ANH TRUNG MSSV: 15146112 SVTH: LÊ QUỐC CHỈ MSSV: 15146013
SVTH: VŨ TRỌNG NHÂN MSSV: 15146081
TP. Hồ Chí Minh, 10 tháng 7 năm 2019
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc *******
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: TS Nguyễn Văn Thái ........................................................................
Sinh viên thực hiện: Vũ Trọng Nhân ............................................ MSSV:15146081 ............
Lê Quốc Chỉ .................................................. MSSV:15146013 ............
Nguyễn Huỳnh Anh Trung ........................... MSSV:15146112 ............ 1. Tên đề tài:
Nghiên cứu, chế tạo và phát triển robot 6 chân tự động di chuyển trong bản đồ cho sẵn .......
2. Các số liệu, tài liệu ban đầu:
Servo 5521MG-180; Board control servo; Arduino mega; Pin 6000 mAh; LIDAR; nhựa
PLA ..........................................................................................................................................
.................................................................................................................................................
3. Nội dung chính của đồ án:
Thiết kế một robot ....................................................................................................................
Tạo app điều khiển trên Android .............................................................................................
Tích hợp camera livestream về app .........................................................................................
Quét map và điều khiển với LIDAR ........................................................................................
.................................................................................................................................................
4. Các sản phẩm dự kiến:
Robot AntPot hoàn chỉnh .........................................................................................................
App điều khiển trên Android có khả năng live stream, bản đồ được quét bởi LIDAR ...........
5. Ngày giao đồ án:18/3/2019 .................................................................................................
6. Ngày nộp đồ án:11/7/2019 ..................................................................................................
7. Ngôn ngữ trình bày: Bản báo cáo: Tiếng Anh
Tiếng Việt
Trình bày bảo vệ: Tiếng Anh

Tiếng Việt TRƯỞNG KHOA TRƯỞNG BỘ MÔN GIẢNG VIÊN HƯỚNG DẪN
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên)
(Ký, ghi rõ họ tên) i
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc *******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên: ...................................................................... MSSV: .............................
Họ và tên Sinh viên: ...................................................................... MSSV: .............................
Họ và tên Sinh viên: ...................................................................... MSSV: .............................
Ngành: ......................................................................................................................................
Tên đề tài: ................................................................................................................................
.................................................................................................................................................
Họ và tên Giáo viên hướng dẫn: .............................................................................................. NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
.................................................................................................................................................
.................................................................................................................................................
................................................................................................................................................. 2. Ưu điểm:
.................................................................................................................................................
................................................................................................................................................. 3. Khuyết điểm:
.................................................................................................................................................
.................................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
.................................................................................................................................................
5. Đánh giá loại: .......................................................................................................................
6. Điểm: ........................ (Bằngchữ: ....................................................................................... )
Tp. Hồ Chí Minh, ngày … tháng … năm 20… Giáo viên hướng dẫn (Ký & ghi rõ họ tên) ii
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc *******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên: ...................................................................... MSSV: .............................
Họ và tên Sinh viên: ...................................................................... MSSV: .............................
Họ và tên Sinh viên: ...................................................................... MSSV: .............................
Ngành: ......................................................................................................................................
Tên đề tài: ................................................................................................................................
.................................................................................................................................................
Họ và tên Giáo viên phản biện: ............................................................................................... NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
.................................................................................................................................................
.................................................................................................................................................
................................................................................................................................................. 2. Ưu điểm:
.................................................................................................................................................
................................................................................................................................................. 3. Khuyết điểm:
.................................................................................................................................................
.................................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
.................................................................................................................................................
5. Đánh giá loại: .......................................................................................................................
6. Điểm: ........................ (Bằng chữ: ...................................................................................... )
Tp. Hồ Chí Minh, ngày … tháng … năm 20 … Giáo viên hướng dẫn (Ký & ghi rõ họ tên) iii LỜI CẢM ƠN
Đề tài “Nghiên cứu, chế tạo và phát triển robot 6 chân tự động di chuyển trong bản
đồ trực tiếp” là nội dung nhóm chọn để nghiên cứu và làm đồ án tốt nghiệp sau bốn
năm theo học chương trình đại học chuyên ngành Công nghệ kỹ thuật Cơ điện tử tại
trường Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh.
Để hoàn thành đề tài, lời cảm ơn đầu tiên chúng em xin được gửi đến giáo sư Kare
Halvorsen đã chia sẻ code mẫu và kinh nghiệm thực hiện robot Hexapod, đó là nguồn
tài liệu quý giúp đỡ chúng em rất nhiều trong quá trình thực hiện robot Hexapod.
Chúng em xin gửi lời cảm ơn tới TS. Nguyễn Văn Thái, THS. Phạm Bạch Dương
đã góp ý và hướng dẫn chúng em trong quá trình hoàn thành đồ án này. Đồng thời
xin gửi lời cảm ơn đến tập thể thầy cô cùng nhà trường đã truyền đạt cho chúng em
rất nhiều kiến thức bổ ích trong quá trình bốn năm học để chúng em có được hiểu biết như ngày hôm nay.
Chúng em cũng xin cảm ơn anh Huỳnh Văn An - giám đốc công ty Goldeneye
Technologies đã tạo giúp đỡ và tạo điều kiện thuận lợi cho chúng em rất nhiều trong
suốt quá trình nghiên cứu đồ án.
Cảm ơn anh Trần Sơn Vũ đã đồng ý cho chúng em sử dụng code mẫu và hướng
dẫn chúng em sử dụng LIDAR cho việc quét map và điều khiển robot.
Do trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nên dự án cũng
như bài báo cáo không thể tránh khỏi những thiếu sót, chúng em rất mong nhận được
ý kiến đóng góp thầy, cô để chúng em rút kinh nghiệm, đó sẽ là hành trang tốt cho
chúng em khi ra trường và đi làm.
Lời cuối cùng, chúng con cảm ơn ba mẹ và gia đình đã luôn nuôi nấng chúng con
nên người và luôn là nguồn động viên cho chúng con những lúc khó khăn nhất để
chúng con có được thành quả ngày hôm nay.
Nhóm xin chân thành cảm ơn! iv TÓM TẮT
Đề tài “Nghiên cứu, chế tạo và phát triển robot 6 chân tự động di chuyển trong bản
đồ trục tiếp” xây dựng một con robot Hexapod hoàn chỉnh, hoạt động linh hoạt và ổn
định có khả năng điều khiển cả bằng tay và tự động, có khả năng vượt chướng ngại
vật và nhận dạng môi trường xung quanh.
Chúng em thực hiện đề tài này nhằm tạo một công cụ bổ ích cho nền giáo dục, một
loại robot có thể giúp người dùng, người học có thể có cơ hội để tiếp cận với công
nghệ robot. Đồng thời qua đó kiến tạo, khơi dậy niềm đam mê công nghệ của các bạn
trẻ, ngoài ra còn có thể trau dồi các kiến thức đã học và áp dụng vào quá trình nghiên cứu sản phẩm này.
Nguyên lý hoạt động được dựa trên những phương trình động học thuận, động học
nghịch như một cánh tay robot ba bậc tự do và áp dụng vào mỗi chân trong robot, lập
trình bằng ngôn ngữ C++, điều khiển bằng Bluetooth.
Phần cứng bao gồm RC servo MG5221MG-180, board Arduino Mega 2560,
Raspberry Pi 3, Raspberry Pi Zero, Camera Zero board control servo, mạch giảm áp,
pin Li-po 5200mAh và 7000mAh, bộ điều khiển PS2, LIDAR, cảm biến HC-SR04.
Mô phỏng trên Matlab và thiết kế trên phần mềm đồ họa Solidworks. Chúng em tiến
hành gia công bằng công nghệ in 3D với vật liệu nhựa PLA, CNC lazer, chấn nhôm, CNC lazer mica (PMMA).
Qua nhiều phiên bản, nhóm chúng em đã chế tạo thành công robot Hexapod có
khả năng di chuyển linh hoạt, đúng như đã mô phỏng trên Matlab. Robot có khả năng
vượt được chướng ngại vật, cho phép tải nhẹ, có thể quân sát môi trường xung quanh
bằng camera, quét map bằng LIDAR và tự động di chuyển tới điểm chỉ định. v MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ........................................................................ i
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN....................................... ii
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ........................................ iii
LỜI CẢM ƠN .......................................................................................................... iv
TÓM TẮT .................................................................................................................. v
MỤC LỤC ................................................................................................................ vi
DANH SÁCH CÁC CHỮ VIẾT TẮT ................................................................. viii
DANH SÁCH CÁC BẢNG BIỂU .......................................................................... ix
DANH SÁCH CÁC HÌNH ẢNH, BIỂU ĐỒ ........................................................... x
CHƯƠNG 1. TỔNG QUAN .................................................................................. 1
1.1. Đặt vấn đề ................................................................................................... 1
1.2. Khả năng ứng dụng .................................................................................... 2
1.3. Tình hình nghiên cứu trong và ngoài nước ................................................ 2
1.4. Lý do chọn đề tài. ....................................................................................... 4
1.5. Mục tiêu và phương pháp nghiên cứu. ....................................................... 4
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ...................................................................... 6
2.1. Giới thiệu chung ......................................................................................... 6
2.2. Bài toán động học nghịch trong robot ........................................................ 6
2.3. Điều khiển thân robot ................................................................................. 9
2.4. Điều khiển cách di chuyển của Robot ...................................................... 10
2.5. Tính ổn định của Hexapod ....................................................................... 12
2.6. Giao tiếp Bluetooth với PS2 ..................................................................... 13
2.7. LIDAR. [11] ............................................................................................. 17
CHƯƠNG 3. NỘI DUNG NGHIÊN CỨU ......................................................... 30
3.1. Mô phỏng trên Matlab .............................................................................. 30
3.2. Thiết kế cơ khí .......................................................................................... 31 vi
3.3. Thi công .................................................................................................... 45
3.4. Lưu đồ và giải thuật điều khiển cho di chuyển của Hexabod .................. 48
3.5. Viết app điều khiển bằng Bluetooth kết nối đến HC06 ........................... 54
3.6. Kết hợp chức năng quét map của LIDAR ................................................ 61
CHƯƠNG 4. THỰC NGHIỆM ........................................................................... 67
4.1. Kết quả về mặt hoạt động phần cứng ....................................................... 67
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................... 73
5.1. KẾT LUẬN .............................................................................................. 73
5.2. HƯỚNG PHÁT TRIỂN ĐỀ TÀI ............................................................. 73
TÀI LIỆU THAM KHẢO ...................................................................................... 75 vii
DANH SÁCH CÁC CHỮ VIẾT TẮT CL: Coxa Length. CPR: CenterPoint of Rotation.
EEPROM: Electrically Erasable Programmable Read-Only Memory. FL: Femur Length.
LIDAR: Light Detection And Ranging[3].
MARS: Multi Appendage Robotic System. PS2: Play Station 2. PWM: Pulse Width Modulation.
ROS: The Robot Operating System.
SLAM: Simultaneous Localization and Mapping.
SRAM: Static Random Access Memory. TL: Tibia Length.
UART: Universal Asynchronous Receiver/Transmitter. viii
DANH SÁCH CÁC BẢNG BIỂU
Bảng 2-1. Data của các phím nhấn PS2 .................................................................... 15
Bảng 2-2. Gói dữ liệu các nút trong byte thứ 4 ......................................................... 15
Bảng 2-3. Gói dữ liệu các nút trong byte thứ 5 ......................................................... 16
Bảng 2-4. Bảng config sang chế độ gửi tín hiệu analog ........................................... 16
Bảng 2-5. Bảng cofig sang chế độ gửi tín hiệu analog từ lực nhấn .......................... 16
Bảng 2-6. Tóm tắt thông số Arduino Mega 2560 ..................................................... 21
Bảng 2-7. Bảng thông số mạch 32 servo controller .................................................. 22
Bảng 2-8. Thông số UPEC ........................................................................................ 23
Bảng 2-9. Thông số Pin Li-po ................................................................................... 24
Bảng 2-10. Thông số và khối lượng RC Servo ......................................................... 26
Bảng 2-11. Thông số PS2 .......................................................................................... 27
Bảng 2-12. Thông số HC06 ...................................................................................... 27
Bảng 2-13. Thông số và khối lượng RC Servo ......................................................... 28
Bảng 2-14. Thông số LIDAR .................................................................................... 29
Bảng 3-1. Kết nối Arduino Mega 2560 với Raspberry Pi 3 ..................................... 42
Bảng 3-2. Kết nối công tắc hành trình vào Arduino Mega2560 ............................... 42
Bảng 3-3. Kết nối HCRS-04 và FSR402 vào Arduino Mega2560 ........................... 42
Bảng 3-4. Kết nối PS2 và HC06 vào Arduino Mega2560 ........................................ 43
Bảng 3-5. Kết nối 32 Servo Controller vào Arduino Mega2560 .............................. 43
Bảng 3-6. Kết nối LIDAR vào Pi 3, Camera OV5647 vào Pi Zero .......................... 43
Bảng 3-7. Nguồn nuôi Driver 32 Servo, Pi 3, Pi Zero và cách kết nối ..................... 43
Bảng 3-8. Kết nối các Servo vào Controller ............................................................. 44 ix
DANH SÁCH CÁC HÌNH ẢNH, BIỂU ĐỒ
Hình 1-1. Robot Atlas ................................................................................................ 2
Hình 1-2. Tripod Robot .............................................................................................. 2
Hình 1-1. Quadruple Robot ........................................................................................ 2
Hình 1-2. Hexpod Robot ............................................................................................ 2
Hình 1-3. Robot Lego ................................................................................................. 3
Hình 1-4. Robot Alpha 1E .......................................................................................... 3
Hình 1-5. Robot Nao ................................................................................................... 3
Hình 2-1. Chân loài chân khớp trong thực tế .............................................................. 6
Hình 2-2. Hình biểu diễn các khâu và khớp trong không gian tọa độ XYZ. .............. 7
Hình 2-3. Hình biểu diễn góc Coxa khi nhìn dọc theo phương Y từ trên xuống. ....... 7
Hình 2-4. Hình biểu diễn góc Femur và Tibia khi nhìn dọc theo phương Z .............. 8
Hình 2-5. Các pha trong mỗi bước của Hexabod[10] ............................................ 10
Hình 2-6. Hình biểu diễn thứ tự các pha của mỗi chân trong một vòng bước[10]
................................................................................................................................... 11
Hình 2-7. Đa giác mà tọa độ trọng tâm nằm trong đó sẽ ổn định[10] ................. 13
Hình 2-8. Chức năng các dây trong module PS2. ..................................................... 14
Hình 2-9. RPLIDAR A1 ........................................................................................... 17
Hình 2-10. Bản đồ trả về từ LIDAR ......................................................................... 17
Hình 2-11. Máy in 3D ............................................................................................... 18
Hình 2-12. In 3D công nghệ FDM trên phần mềm Cura .......................................... 19
Hình 2-13. Mô phỏng quá trình in theo lớp .............................................................. 20
Hình 2-14. Board Arduino Mega 2560 ..................................................................... 21
Hình 2-15. Sơ đồ tính năng của chân trong Board 32 Servo Controller ................... 22
Hình 2-16. Mạch giảm áp UPEC 8,3V - 6V ............................................................. 23
Hình 2-17. Pin 7000mAh .......................................................................................... 24
Hình 2-18. Pin 5200mAh .......................................................................................... 24
Hình 2-19. Bên trong một RC servo ......................................................................... 25
Hình 2-20. Servo 5521MG ........................................................................................ 25
Hình 2-21. PS2 .......................................................................................................... 26
Hình 2-22. HC06 ....................................................................................................... 26
Hình 2-23. Raspberry Pi 3 ......................................................................................... 28
Hình 2-24. LIDAR .................................................................................................... 29
Hình 3-1. Lưu đồ trong việc mô phỏng hexapod trên Matlab .................................. 30
Hình 3-2. Kết quả mô phỏng sự di chuyển của Hexabod trên Matlab ...................... 30
Hình 3-3 Sơ đồ tổng quan kết nối cơ khí .................................................................. 31 x
Hình 3-4 Sơ đồ kết nối các module và tìn hiệu. ........................................................ 32
Hình 3-5. Hexapod VS1 ............................................................................................ 33
Hình 3-6. Hexapod VS2 khung nhựa ........................................................................ 33
Hình 3-7. Hexapod VS3 kết hợp đầu và đuôi ........................................................... 34
Hình 3-8. AntPot (Hexapod VS4) ............................................................................. 35
Hình 3-9. Thiết kế 3D phần đầu Hexapod ................................................................ 36
Hình 3-10. Thiết kế 3D phần thân Hexapod ............................................................. 37
Hình 3-11. Thiết kế 3D phần đuôi Hexapod ............................................................. 37
Hình 3-12. Thiết kế 3D phần chân Hexapod ............................................................ 38
Hình 3-13. Servo chuẩn bị lắp ráp cơ khí ................................................................. 40
Hình 3-14. Các bộ phận sau khi in, chuẩn bị lắp ráp ................................................ 40
Hình 3-15. Bước 1 ..................................................................................................... 45
Hình 3-16. Bước 2 ..................................................................................................... 45
Hình 3-17. Bước 3 ..................................................................................................... 45
Hình 3-18. Bước 4 ..................................................................................................... 45
Hình 3-19. Bước 1 ..................................................................................................... 46
Hình 3-20. Bước 2 ..................................................................................................... 46
Hình 3-21. Bước 3 ..................................................................................................... 46
Hình 3-22. Bước 4 ..................................................................................................... 46
Hình 3-23. Bước 1 ..................................................................................................... 47
Hình 3-24. Bước 2 ..................................................................................................... 47
Hình 3-25. Bước 1 ..................................................................................................... 47
Hình 3-26. Bước 2 ..................................................................................................... 47
Hình 3-27. AntPot ..................................................................................................... 48
Hình 3-28. Hình dáng của Gait trong giải thuật ........................................................ 48
Hình 3-29. Các hệ tọa độ trên trên Hexapod ............................................................. 50
Hình 3-30. Lưu đồ giải thuật 1 bước trong Gait ....................................................... 51
Hình 3-31. Lưu đồ trình tự chạy của Gait ................................................................. 52
Hình 3-32. Lưu đồ giải thuật vòng lặp chính ............................................................ 53
Hình 3-33. MIT kết nối bluetooth ............................................................................. 55
Hình 3-34. MIT gửi thông tin nút khi nhấn nhả ........................................................ 55
Hình 3-35. MIT Joystick hướng theo tay kéo ........................................................... 56
Hình 3-36. MIT thả Joystick ..................................................................................... 56
Hình 3-37. Hệ tọa độ bên trong một khung Canvas.................................................. 57
Hình 3-38. Code giải thuật giới hạn Joystick ............................................................ 58
Hình 3-39. App VS1 ................................................................................................. 59 xi
Hình 3-40. MIT kết nối WebViewer vào một link ................................................... 59
Hình 3-41. MIT nút Change thay đổi đường link hai màn hình ............................... 60
Hình 3-42. App VS2 với màn hình và bố cục được xác định sơ bộ ......................... 60
Hình 3-43. App VS3 hoàn thiện ................................................................................ 61
Hình 3-44 Footprint ................................................................................................... 62
Hình 3-45 Max_vel_x, min_vel_x ............................................................................ 62
Hình 3-46 Yaw_goal_tolerance ................................................................................ 62
Hình 3-47 Arg ........................................................................................................... 63
Hình 4-1. Dùng USB Tester V3 để đo dòng trong Raspberry Pi .............................. 67
Hình 4-2. Đo tầm quét hiệu quả ................................................................................ 70
Hình 4-3. Tải trọng tối đa mà Hexapod có thể giữ ................................................... 71 xii
CHƯƠNG 1. TỔNG QUAN
Robot Hexapod là một phương tiện cơ học đi trên sáu chân có tính linh hoạt cao
trong việc di chuyển và được lấy cảm hứng từ phân ngành động vật sáu chân. Cùng
với sự phát triển mạnh mẽ của các hệ thống Cơ-Điện tử, robot vượt địa hình ngày
một được hoàn thiện và càng cho thấy lợi ích của nó trong quân sự, trong nghiên cứu,
chúng thường được dùng để vận chuyển hàng hóa trên địa hình không bằng phẳng,
can thiệp những khu vực, địa hình nguy hiểm, tìm kiếm cứu nạn, khám phá và lập
bản đồ các môi trường chưa biết. Nhóm nghiên cứu đề tài này chủ yếu ứng dụng vào
mục đích dân sự, hỗ trợ tìm kiếm cứu nạn, thâm dò địa hình mà con người khó tiếp
cận, hỗ trợ trong việc nghiên cứu, học tập. Trong đề tài này tập trung nghiên cứu vào robot sáu chân (Hexapod).
1.1. Đặt vấn đề
Trong “Chiến lược phát triển khoa học và công nghệ Việt Nam”, cơ điện tử là một
trong những hướng công nghệ trọng điểm phục vụ phát triển kinh tế, xã hội. Và khi
nhắc đến cơ điện tử, robot chính là sản phẩm đặc trưng của ngành này. Chúng là
những bộ máy hoạt động đồng nhất dựa trên những bộ phận được điều khiển một
cách phức tạp thông qua những thuật toán được đem mã hoá vào những vi điều khiển.
Có nhiều kiểu robot và chúng em chia chúng thành nhóm robot theo cách thức di chuyển:
• Bằng cánh quạt như robot máy bay- Flycam
• Robot đi bằng bánh xe
• Robot có cánh như côn trùng hay chim
• Robot không chân- di chuyển bằng cách trườn như giun, rắn
• Robot đi bằng chân như động vật
Tuy có thật nhiều loại Robot, nhưng để ứng dụng vào học tập thì những robot di
chuyển bốn hay sáu chân vẫn còn nhiều thiếu sót, về bốn chân, gần đây ta có robot
Vorbal, mỗi chân hai khớp, với mã nguồn mở, tuy nhiên vẫn chưa đủ phức tạp để có
thể thử thách kiến thức về động học do khá đơn giản. 1
1.2. Khả năng ứng dụng
Vì sự đòi hỏi cao về tri thức trong thiết kế và chế tạo, robot là một công cụ cực tốt
để phục vụ trong việc học tập, nghiên cứu, tạo môi trường rộng rãi để áp dụng các
kiến thức đã có, góp phần đưa hệ thống giáo dục bắt kịp với tiến độ phát triển công
nghệ, đặc biệt là trong kỷ nguyên 4.0 ngày nay.
Ngoài ra, tính ứng dụng của Hexapod trở nên độc đáo bởi chính sự linh hoạt trong
hình thức di chuyển, có thể di chuyển trên địa hình đa kết cấu. Hexapod là một trong
các phương tiện lớn trong do thám không gian.
1.3. Tình hình nghiên cứu trong và ngoài nước Hình 1-1. Robot Atlas
Hình 1-2. Tripod Robot
https://www.bostondynamics.com/atl
Evan Ackerman, “Martian-Inspired Tripod as
Walking Robot Generates Its Own Gaits”, [ xem 10/07/2019]
https://spectrum.ieee.org [xem 10/07/2019]
Hình 1-3. Quadruple Robot
Hình 1-4. Hexpod Robot
https://www.bostondynamics.com/atl
https://www.trossenrobotics.com/phanto as mx-ax-hexapod-mk1.aspx [ xem 10/07/2019] 2
Các robot di chuyển bằng chân đã được nghiên cứu từ lâu, đều được lấy ý tưởng
từ thực tế như dáng đi của con người, kiểu di chuyển của động vật bốn chân, đến kiểu
di chuyển của động vật sáu, tám chân và tất cả đều có những thành công nhất định.
Robot Hexapod là một phương tiện cơ học đi trên sáu chân. Vì nó có thể ổn định
tĩnh trên ba hoặc nhiều chân, một robot Hexapod có tính linh hoạt cao trong việc di
chuyển. Nếu một chân bị vô hiệu hóa, robot vẫn có thể đi bộ. Hơn nữa, không phải
tất cả chân của robot đều cần thiết cho sự ổn định, các chân khác được tự do tiếp cận
các vị trí chân mới hoặc điều khiển tải trọng. Nhiều Hexapod robot được lấy cảm
hứng từ phân ngành động vật sáu chân. Hiện nay trên thế giới đã có nhiều nhóm
nghiên cứu và phát triển. Ở Việt Nam, robot di chuyển bằng chân cũng là đề tài được
nhiều nhóm sinh viên thực hiện, là đề tài thích hợp phục vụ học tập.
Ở Việt Nam, những Robot phục vụ học tập đã có mặt trong các trường học: Hình 1-5. Robot Lego
Hình 1-6. Robot Alpha 1E
https://ubtrobot.com/pages/alpha [xem 10/07/2019]
Robot Lego tại lớp học Mindstorm nâng cao của Câu lạc bộ Robotics (tạm dịch
Ngành học về robot) - IoT của trường ĐH Khoa học tự nhiên TP.HCM, hay Robot
Alpha 1E trong chương trình Trại hè Công nghệ 2019 tại Học viện Sáng tạo Công
nghệ TEKY. Robot còn có mặt trong các Lab của các trường đại học như Robot Nao
của trường ĐH Khoa Học Tự Nhiên. Hình 1-7. Robot Nao 3
Khi gõ từ khóa “Hexapod ở Việt Nam” hoặc “robot 6 chân ở Việt Nam” trên
trang tìm kiếm Google, có rất ít kết quả liên quan đến đề tài này, đề tài Hexapod ở
Việt Nam, chủ yếu được các bạn sinh viên nghiên cứu cho việc làm các dự án nhỏ,
đồ án môn học, đồ án tôt nghiệp hay những ngày hội khoa học sáng tạo như: Robot
dò tìm bom mìn của nhóm sinh viên Trường Đại học (ĐH) Bách khoa Đà Nẵng,
gồm: Ngô Diên Bảo Triết, Lê Tự Duy Hoàng và Trần Văn Chính. Có vài kết quả về
robot thương mại đơn giản phục vụ cho học tập nhưng là những mô hình đơn giản,
hai DOF hoặc ba DOF lắp ghép bằng mica. Cũng có những cá nhân nghiên cứu, tìm
hiểu về hexapod và đăng lên các diễn đàn hoặc đưa clip hoạt động lên Youtube.
1.4. Lý do chọn đề tài.
Mảng robot di chuyển bằng chân là niềm đam mê chung của các thành viên trong
nhóm. Là một dự án rất phù hợp với ngành cơ điện tử, sinh viên được áp dụng rất tốt
các kiến thức chuyên ngành đã học được trên trường, đồng thời cũng cũng khá ít các
dự án tương tự đã được thực hiện ở Việt Nam cho nên có rất ít tài liệu liên quan khiến
dự án này vừa là niềm đam mê, vừa là thách thức mà chúng em muốn vượt qua.
Hiện nay, nhu cầu học tập và tìm hiểu công nghệ của nước ta rất cao, rất nhiều lớp
học về robot đã được mở ra để đáp ứng được nhu cầu này và phục vụ cho nhu cầu đó
thì robot là một công cụ không thể thiếu. Nhóm chúng em nghiên cứu và chế tạo ra
robot 6 chân này phục vụ cho nhu cầu học tập đó của các em, giúp các em có sự hứng
thú và có nhiều sự lựa chọn hơn cho quá trình học tập, nghiên cứu robot của mình.
1.5. Mục tiêu và phương pháp nghiên cứu.
Với dự án này chúng em nghiên cứu, mô phỏng trên Mathlab và tạo ra một robot
Hexapod hoàn chỉnh có khả năng di chuyển, mô phỏng cách di chuyển của loài côn
trùng chân khớp. Sử dụng các phương trình động học, truyền động để, thiết kế được
bộ khung và chọn được động cơ phù hợp, ứng dụng công nghệ in 3D với vật liệu
nhựa PLA trong việc chế tạo robot. Lập trình theo các giải thuật điều khiển đã tìm
được. Điều khiển robot từ xa bằng các module điều khiển. Robot có thể quét được
không gian xung quanh, xác định vị trí trong không gian và vẽ nên bản đồ gửi lên
Web, người dùng có thể giao tiếp trực tiếp trên chính bản đồ gửi về, trực tiếp chọn
trên màn hình để robot tự động đi tới vị trí được chuyển, dựa vào tín hiệu digital từ
công tắc hành trình dưới mỗi chân để xác định điểm đặt chân, hỗ trợ việc di chuyển
trên địa hình đa kết cấu.
Phương pháp nghiên cứu là tìm kiếm tài liệu trên các trang mạng trên Internet,
nghiên cứu những thiết kế đã được các nhóm, các cá nhân phát triển trong và ngoài
nước từ đó thiết kế ra một con robot cử động linh hoạt. Tập trung phân tích, tính toán, 4
chọn lựa và thực nghiệm các module và linh kiện dễ tìm thấy. Nghiên cứu và phát
triển thuật toán trong code.
Nhóm đã thực hiện đề tài này trong hơn 10 tháng gồm bốn giai đoạn chính: Giai đoạn 1: • Tìm kiếm tài liệu Giai đoạn 2:
• Nghiên cứu, lựa chọn và kiểm nghiệm các module, linh kiện phù hợp, xây
dựng code điều khiển, lắp ráp một mô hình đơn giản. Mô phỏng trên Mathlab
• Thiết kế phần khung xương cho robot đảm bảo các chức năng di chuyển cơ bản
• Dựa trên các thuật toán điều khiển, động học, và code mẫu, điều khiển từng
khớp, từng chân và kết hợp các chân Giai đoạn 3:
• Đánh giá khả năng hoạt động, độ bền, của thiết kế cũ, thiết kế lại khung của
robot bằng vật liệu nhựa
• Tính toán, thiết kế khung bằng nhựa PLA, mua và gia công các chi tiết, lắp ráp
thành một con robot hoàn chỉnh • Hiệu chỉnh code Giai đoạn 4:
• Thiết kế lại toàn bộ phần khung, vỏ robot, đảm bảo sự linh hoạt cho robot,
giảm khối lượng, đảm bảo tính thẩm mĩ.
• Tính toán, chọn lại các module, nguồn phù hợp
• Hiệu chỉnh code, cải thiện khả năng di chuyển linh hoạt và giống với tự nhiên hơn
• Thiết kế app điều khiển
• Tích hợp module LIDAR, camera 5
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu chung
Để Hexapod có thể đi được, một số thuật toán cần phải làm việc cùng nhau để tạo
thành bộ điều khiển hoàn chỉnh. Kết quả cuối cùng ở mọi khoảng thời gian là vị trí
set-point cho mỗi servo. Mô hình bước cần phải được chọn, các quỹ đạo đã được tính
toán và các ràng buộc vị trí các chân được cập nhật liên tục. Tùy thuộc vào vận tốc,
các kiểu dáng khác nhau được chọn bởi một bộ điều khiển. Để thực thi mỗi kiểu dáng
sẽ có một giai đoạn đứng và một giai đoạn xoay chân. Trong giai đoạn đứng là khi
chân tiếp xúc mặt đất ở mọi thời điểm. Trong giai đoạn xoay chân quỹ đạo giữa hai
vị trí đứng phải được tính toán đúng bởi bộ điều khiển. Do kích thước phần cứng như
chiều dài chân, vị trí servo và chiều rộng cơ thể, một số ràng buộc nhất định sẽ hạn
chế vị trí các chân. Các vị trí của mỗi chân cũng sẽ ảnh hưởng đến vị trí các chân còn
lại trong không gian. Do sự giống nhau giữa một robot Hexapod và côn trùng chân
khớp, rất nhiều cảm hứng có thể được lấy từ nó và sinh trắc học của chúng.
Hình 2-1. Chân loài chân khớp trong thực tế
2.2. Bài toán động học nghịch trong robot
Động học nghịch là sử dụng các phương trình động học để xác định các tham số
góc của mỗi khớp để có được vị trí mong muốn cho mỗi bộ phận của robot [4]. Tức là
từ toạ độ P xác định trong không gian, với P là vị trí cuối cùng tại mỗi mũi chân của
Hexapod, từ đó tính ra được các góc Coxa Femur và Tibia để điểu khiển Servo, rồi
điều khiểu cả một hệ thống. Các thông số cần tính được diễn tả như cấu trúc bên dưới,
bao gồm: ba khâu, ba khớp. 6
Hình 2-2. Hình biểu diễn các khâu và khớp trong không gian tọa độ XYZ.
Các biến 𝛾, 𝛼, 𝛽 lần lượt là các Coxa, Femur và Tibia, là các góc hiện tại của mỗi
Servo, mục tiêu chúng em hướng đến là xác định giá trị của các góc xoay Offset (tức
là góc mà mỗi servo cần phải xoay thêm để đạt được góc xoay mong muốn) và code. • Góc Coxa
Hình 2-3. Hình biểu diễn góc Coxa khi nhìn dọc theo phương Y từ trên xuống. 7 • Góc Femur và Tibia
Hình 2-4. Hình biểu diễn góc Femur và Tibia khi nhìn dọc theo phương Z
Gọi toạ độ của P là (𝑥, 𝑦, 𝑧) trong không gian, gọi tắt Coxa Length, Femur Length
và Tabia Length là 𝐶𝐿, 𝐹𝐿, 𝑇𝐿.
Dựa vào kiến thức toán hình học, 𝑙 có thể được tính bằng công thức sau: 𝑙 = √𝑥2 + 𝑧2 (2-1)
𝐻𝐹 = √(𝑙 − 𝐶𝐿)2 + 𝑦2 (2-2)
𝐴1 = 𝑎𝑟𝑐𝑡𝑎𝑛2(𝑦, 𝑙 − 𝐶𝐿) (2-3)
𝐹𝐿2 + 𝐻𝐹2 − 𝑇𝐿2 𝐴2 = cos−1 ( ) (2-4) 2. 𝐹𝐿. 𝐻𝐹
𝐹𝐿2 + 𝑇𝐿2 − 𝐻𝐿2 𝐵1 = cos−1 ( ) (2-5) 2. 𝐹𝐿. 𝑇𝐿 8 Kết quả đạt được:
𝛼 = 90° − (𝐴 + 𝐴2) (2-6) 𝛽 = 90° − 𝐵1 (2-7)
Do ban đầu, chúng em set góc sẵn có trong Servo là 90. Gọi 𝛾′, 𝛼′, 𝛽′ là các góc
nhóm muốn hướng đến, công thức liện hệ giữa chúng và các góc Offset được thể hiện như sau: 𝛼′ = 𝛼 + 𝛼 𝑜𝑓𝑓𝑠𝑒𝑡 (2-8) 𝛽′ = 𝛽 − 𝛽 𝑜𝑓𝑓𝑠𝑒𝑡 (2-9)
Vì xu hướng quay của hai góc 𝛼 và 𝛽 luôn ngược chiều, xuất hiện sự trái dấu trong
phép tính. Đặc biệt đối với góc Coxa, do ở mỗi chân đều nằm ở phần góc phần tư
trong hệ toạ độ khác nhau, từ đó có thể tìm được sự khác nhau về kết quả đối với mỗi
chân với điều kiện sau:
𝛾 = 𝑎𝑟𝑐𝑡𝑎𝑛2(𝑥, 𝑧) (2-10)
Dựa vào các kết quả trên, thông số điều khiển Servo có thể được tính thông qua bộ
chuyển đổi sang giá trị xung.
2.3. Điều khiển thân robot
Khi thân xoay hay tịnh tiến, do thân chính là gốc tọa độ các chân, trong khi các
chân còn lại lại đứng yên. Vậy nên vị trí của các chân so với thân có sự thay đổi, tọa
độ đó có thể tính bằng cách áp dụng phép tính ma trận xoay.
Gọi điểm P có tọa độ (𝑥, 𝑦, 𝑧) được xác định trong không gian, lấy tâm thân làm
góc tọa độ. Các ma trận biểu diễn các phép quay quanh trục x, y, z một góc  lần lượt
là 𝑅(𝑥, 𝛼), 𝑅(𝑦, 𝛽), 𝑅(𝑧, 𝛾):
Ma trận quay quanh trục 𝑥[9]: 1 0 0
𝑅(𝑥, 𝛼) = [0 𝑐𝑜𝑠𝛼 −𝑠𝑖𝑛𝛼] (2-11) 0 𝑠𝑖𝑛𝛼 𝑐𝑜𝑠𝛼
Ma trận quay quanh trục y[9]: 𝑐𝑜𝑠𝛽 0 𝑠𝑖𝑛𝛽 𝑅(𝑦, 𝛽) = [ 0 1 0 ] (2-12) −𝑠𝑖𝑛𝛽 0 𝑐𝑜𝑠𝛽 9
Ma trận quay quanh trục z[9]: 𝑐𝑜𝑠𝛾 −𝑠𝑖𝑛𝛾 0
𝑅(𝑧, 𝛾) = [𝑠𝑖𝑛𝛾 𝑐𝑜𝑠𝛾 0] (2-13) 0 0 1
Chúng em tiến hành nhân các ma trận để có thể có ma trận tổng quát khi thân quay
một góc bất kì trong không gian, với các góc 𝛼, 𝛽 và 𝛾 là các góc được tạo bởi hình
chiếu đường thẳng từ gốc tọa độ đến P lên mặt phẳng Oxy, Oyz, Oxz và các trục Ox,
Oy, Oz, tính được góc tọa độ P’ mới (𝑥′, 𝑦′, 𝑧′) 𝑥′ 𝑐𝛾. 𝑐𝛽
−𝑠𝛾. 𝑐𝛼 + 𝑐𝛾. 𝑠𝛽. 𝑠𝛼
𝑠𝛾. 𝑠𝛼 + 𝑐𝛾. 𝑠𝛽. 𝑐𝛼 𝑥
[𝑦′] = [𝑠𝛾. 𝑐𝛽
𝑐𝛾. 𝑐𝛼 + 𝑠𝛾. 𝑠𝛽. 𝑠𝛼
−𝑐𝛾. 𝑠𝛼 + 𝑠𝛾. 𝑠𝛽. 𝑐𝛼] [𝑦] (2-14) 𝑧′ −𝑠𝛽 𝑐𝛽. 𝑠𝛼 𝑐𝛽. 𝑐𝛾 𝑧
Khi thân tịnh tiến, các tọa độ của chân đồng thời di dời 1 khoản tương ứng
ngược lại với hướng tịnh tiến của thân. Vậy có thể đơn giản tính P’(𝑥′, 𝑦′, 𝑧′) khi
thân tịnh tiến một khoản theo các hướng 𝑥, 𝑦, 𝑧 tuần tự là 𝑥1, 𝑦1, 𝑧1 𝑥′ = 𝑥 − 𝑥1 (2-15) 𝑦′ = 𝑦 − 𝑦1 (2-16) 𝑧′ = 𝑧 − 𝑧1 (2-17)
2.4. Điều khiển cách di chuyển của Robot
2.4.1. Phương thức di chuyển
Robot sẽ di chuyển bằng cách điều khiển từng cánh tay ba khớp (chân robot) theo
một thứ tự mong muốn, thứ tự bước khác nhau tạo thành các kiểu dáng khác nhau,
tăng thêm tính đa dạng. Tuy nhiên, dù có thứ tự khác nhau ra sao, các tọa độ mỗi chân
luôn đi theo một quỹ đạo nhất định, quỹ đạo này gọi là Gait[1]. Gait có hai pha cho
hai trường hợp khi nâng chân và chân chạm đất.
Hình 2-5. 𝐶á𝑐 𝑝ℎ𝑎 𝑡𝑟𝑜𝑛𝑔 𝑚ỗ𝑖 𝑏ướ𝑐 𝑐ủ𝑎 𝐻𝑒𝑥𝑎𝑏𝑜𝑑[10] 10
Trong giai đoạn Swing (nâng chân và quạt tới), chân di chuyển từ vị trí ban đầu
đến vị trí cuối cùng trong không khí, được biểu thị bằng đường nét đứt. Mặt khác,
trong giai đoạn Stance (chân chạm đất), bộ phận mũi chân tiếp xúc với mặt đất trong
khi chân di chuyển từ vị trí ban đầu, di chuyển robot theo hướng ngược lại với mũi tên.
2.4.2. Các kiểu di chuyển
Phụ thuộc vào yêu cầu về tốc độ, tính ổn định, tiết kiệm năng lượng hay yêu cầu
về địa hình thì ta có những sự lựa chọn khác nhau.
• Di chuyển liên tục: là kiểu di chuyển mà thân đồng thời tịnh tiến cùng với các chân
Có ba kiểu di chuyển phổ biến: Hình 2-6.
𝐻ì𝑛ℎ 𝑏𝑖ể𝑢 𝑑𝑖ễ𝑛 𝑡ℎứ 𝑡ự 𝑐á𝑐 𝑝ℎ𝑎 𝑐ủ𝑎 𝑚ỗ𝑖 𝑐ℎâ𝑛 𝑡𝑟𝑜𝑛𝑔 𝑚ộ𝑡 𝑣ò𝑛𝑔 𝑏ướ𝑐[10]
Với kiểu đi Tripod, sáu chân của robot được chia làm hai bộ (1), (2) thay phiên nhau bước.
Với kiểu wave, chỉ có một chân ở trong pha Swing, còn lại ở trong pha Stance. Rất
chậm nhưng lại đỡ tốn năng lượng, hay dùng trong dò địa hình gồ ghề.
Với kiểu ripple, hai chân trong pha Swing, còn lại trong pha Stance, trung hòa hai cách trên. 11
Một trong số ba kiểu dáng di chuyển của ngành chân khớp, trong báo cáo này
chúng em không đề cập đến kiểu Wave(slow) (lan truyền từng chân) và Ripple (hai
chân chéo). Bởi vì để Robot di chuyển nhanh, mềm mại, tiết kiệm thời gian di chuyển,
tạo được một mặt phẳng tiếp xúc ba điểm cân bằng thì kiểu dáng Tripod chiếm ưu thế nổi trội nhất.
• Kiểu di chuyển không liên tục: là kiểu mà sau khi tất cả các chân đã thực hiện
hết các vòng bước thì thân mới tiến lên, đây là cách di chuyển thường thấy khi đi trên
các địa hình dóc, thân robot chỉ tịnh tiến người về trước khi có đủ sáu chân chạm đất,
khi độ cứng vững và tính bám là cao nhất. Đây là mục tiêu mà nhóm muốn hướng tới
trong tương lai nhầm phục vụ ứng dụng vượt địa hình.
2.4.3. Điều khiển cho Hexapod quẹo phải trái
Để Hexapod có thể xoay, dáng đi đã sử dụng phải được sửa lại. Có một số phương
pháp để điều khiển Hexapod xoay khá hữu hiệu. Phương pháp đầu tiên là thay đổi
chiều dài mỗi bước ở hai bên, làm cho một bên chân di chuyển chậm hơn (bước đi
ngắn hơn) sẽ khiến cho Hexapod xoay dần về phía đấy. Một phương pháp khác là
giảm tần số xoay ở một bên thân để mất bớt một bước. Đối với việc điều khiển
Hexapod cua gấp hay xoay quanh một điểm, ta thường kết hợp cả hai phương pháp.
Ngoài ra ta cho chân bước lùi sẽ làm việc điều khiển đó được dễ dàng hơn. Một cách
khác để Hexapod xoay tương tự như việc giảm chiều dài bước là xoay chân xung
quanh trung tâm cơ thể. Xoay chân trên đất xung quanh trung tâm cơ thể chinh sẽ
khiến cho cơ thể có dáng vẻ như đang xoay. Để việc xoay được thực hiện, việc quan
trọng phải đảm bảo vận tốc góc quay ở mỗi chân là bằng nhau và phải quay xung
quanh cùng một điểm (trung tâm cơ thể). Khi một chân vượt quá xa khỏi vị trí, ta có
thể đem trở về bằng giai đoạn xoay chân. Ta sử dụng phương tiện quay là hệ ma trận quay R[1]. 𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 0
𝑅𝑧(𝜃) = (𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0) (2-18) 0 0 1
2.5. Tính ổn định của Hexapod
Độ ổn định của Hexapod được chia thành hai loại: ổn định tĩnh và ổn định động.
Để được coi là ổn định tĩnh, Hexapod cần ổn định trong toàn bộ chu kỳ di chuyển,
không cần thêm bất kỳ lực nào để cân bằng robot. Trong khi robot ổn định tĩnh, hình
chiếu thẳng đứng tại toạn độ trọng tâm (COM) của nó nằm trong đa giác được hình
thành từ các chân đang trong giai đoạn đẩy tiến. Trong trường hợp COM được đặt ở
biên hoặc bên ngoài đa giác, robot sẽ ngã xuống trừ khi nó ổn định về mặt động lực, 12
tức là robot được cân bằng trong khi đi bộ do lực quán tính gây ra bởi chuyển động
và không ổn định tĩnh khi dừng di chuyển.
Hình 2-7. Đ𝑎 𝑔𝑖á𝑐 𝑚à 𝑡ọ𝑎 độ 𝑡𝑟ọ𝑛𝑔 𝑡â𝑚 𝑛ằ𝑚 𝑡𝑟𝑜𝑛𝑔 đó 𝑠ẽ ổ𝑛 đị𝑛ℎ[10]
2.6. Giao tiếp Bluetooth với PS2
2.6.1. Giới thiệu về chuẩn giao tiếp SPI
SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp đồng bộ tốc độ cao
(lên đến 10Mbps) do hãng Motorola phát triển. Đây là kiểu truyền thông Master-
Slave, trong đó có một Master điều phối tất cả và nhiều Slaves được điều khiển bởi
Master. SPI là một giao thức song công (full duplex) nghĩa là tại cùng một thời điểm
quá trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi còn được gọi là giao
thức “bốn dây” vì có bốn đường giao tiếp là SCK (Serial Clock), MISO (Master Input
Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select [6]).
SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần
một đường giữ nhịp, mỗi nhịp trên chân SCK báo 1bit dữ liệu đến hoặc đi. Sự tồn tại
của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt
rất cao. Xung nhịp chỉ được tạo ra bởi chip Master [8].
MISO– Master Input / Slave Output: nếu là chip Master thì đây là đường Input
còn nếu là chip Slave thì MISO lại là Output [5].
MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đường
Output còn nếu là chip Slave thì MOSI là Input [5].
SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường
SS sẽ ở mức cao khi không làm việc [5].
Hoạt động: mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits. Cứ mỗi
xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu 13
của Master được truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh
ghi dữ liệu của chip Slave cũng được truyền qua Master trên đường MISO. Do hai
gói dữ liệu trên hai chip được gởi qua lại đồng thời nên quá trình truyền dữ liệu này
được gọi là “song công”.
2.6.2. Giao tiếp giữa cần điều khiển PS2 với Vi điều khiển.
Hình 2-8. Chức năng các dây trong module PS2.
Ở đây cần điều khiển PS2 đóng vai trò là Slaves. Vi điều khiển là chip Master [5].
Các đầu vào đầu ra tương ứng của PS2 là:
• MISO:  dây 1. Brown (dây Data)
• MOSI:  dây 2. Orange (dây command) • SS:
 dây 6. Yellow (dây chọn slave)
• SCK:  dây 7. Blue (dây xung clock)
Một gói dữ liệu bao gồm 3byte header và thêm 2byte command bổ sung hoặc dữ liệu điều khiển. 3byte header:
0x01: byte khởi đầu quá trình truyền nhận 14
0x42: byte main polling command. Lệnh thăm dò chính, phụ thuộc vào cấu
hình điều khiển, lệnh này có thể nhận được tất cả các tín hiệu số hoặc analog của các phím
0x00: lệnh chỉ có chức năng đọc dữ liệu từ PS2
Sau đây là bảng data nhận được khi nhấn các phím PS2, một gói 5byte dữ liệu. Command STT Tên phím Header Data 0x01 0x42 0x00 0x00 0x00 0x00 Byte# 1 2 3 4 5 6 1 Lên 0xFF 0x41 0x5A 0xF7 0xFF 0x00 2 Phải 0xFF 0x41 0x5A 0xFB 0xFF 0x00 3 Xuống 0xFF 0x41 0x5A 0xFD 0xFF 0x00 4 Trái 0xFF 0x41 0x5A 0xFE 0xFF 0x00 5 Tam giác 0xFF 0x41 0x5A 0xFF 0xF7 0x00 6 Tròn 0xFF 0x41 0x5A 0xFF 0xFB 0x00 7 Chéo 0xFF 0x41 0x5A 0xFF 0xFD 0x00 8 Vuông 0xFF 0x41 0x5A 0xFF 0xFE 0x00 9 L1 0xFF 0x41 0x5A 0xFF 0xDF 0x00 10 L2 0xFF 0x41 0x5A 0xFF 0x7F 0x00 11 R1 0xFF 0x41 0x5A 0xFF 0xEF 0x00 12 R2 0xFF 0x41 0x5A 0xFF 0xBF 0x00 13 Select 0xFF 0x41 0x5A 0x7F 0xFF 0x00 14 Start 0xFF 0x41 0x5A 0xEF 0xFF 0x00 15 L3 0xFF 0x41 0x5A 0xBF 0xFF 0x00 16 R3 0xFF 0x41 0x5A 0xDF 0xFF 0x00
Bảng 2-1. Data của các phím nhấn PS2
Ở các bảng sau đây, mỗi vị trí trong 8bit có một nút, khi nhấn, bit ở vị trí đó về 0 Hight Byte Low Byte 0 1 2 3 4 5 6 7 Select L3 R3 Start  →  
Bảng 2-2. Gói dữ liệu các nút trong byte thứ 4 15 Hight Byte Low Byte 7 6 5 4 3 2 1 0 L2 R2 L1 R1    
Bảng 2-3. Gói dữ liệu các nút trong byte thứ 5
0x41: Chế độ thiết bị: mức cao (4) cho biết chế độ (0x4 là digital, 0x7 là
analog, 0xF là cấu hình/ thoát), mức thấp (1) là có bao nhiêu word 16bit theo
sau header, mặc dù playstation không phải lúc nào cũng đợi tất cả các byte này
(trong trường hợp các nút do chỉ có 2byte 4 và 5 nên chỉ có 1word).
0x5A: Luôn là 0x5A, giá trị này xuất hiện ở một số nơi không có chức năng.
Nhận tín hiệu analog từ hai joystick và các nút nhấn.
Để gửi nhận được tín hiệu analog, cần cấu hình lại commend 0x44, có tác dụng
chuyển đổi qua lại giữ hai tín hiệu analog và digital, chỉ có thể hoạt động khi dạng
cấu hình là F3, tức là phải có 3word sau header (6 byte). Byte# 1 2 3 4 5 6 7 8 9 Commend 0x01 44 00 01 03 00 00 00 00 Data 0xFF F3 5A 00 00 00 00 00 00
Bảng 2-4. Bảng config sang chế độ gửi tín hiệu analog
01: set analog mode
03: khoá điều khiển để người dùng không thể chuyển lại digital bằng nút
Theo mặc định, các giá trị analog của lực nhấn các nút sẽ không được trả lại, để có
thể kích hoạt chúng, cần có lệnh 0x4F, cũng như 0x44, chỉ có thể hoạt động khi cấu hình là F3. Byte# 1 2 3 4 5 6 7 8 9 Commend 0x01 4F 00 FF FF 03 00 00 00 Data 0xFF F3 5A 00 00 00 00 00 5A
Bảng 2-5. Bảng cofig sang chế độ gửi tín hiệu analog từ lực nhấn 16
FF FF 03: 18bit trong đó ứng 18byte trả về là 2byte trạng thái nút nhấn, 4byte
giá trị analog của hai cần gạt (một cần gạt hai giá trị analog theo hai phương
X và Y có khoảng giá trị 0 – 255, trạng thái đứng yên ban đầu là 125), 12byte
giá trị analog ứng với các lực nhấn ở 10 hai nút
Sau khi thoát khỏi cấu hình bằng hàm 0x43, khi dùng hàm 0x42, ta có thể nhận về
18byte dữ liệu và nhận được tín hiệu analog.
2.7. LIDAR.[𝟏𝟏]
RPLIDAR A1 dựa trên nguyên lý laser và sử dụng phần cứng xử lý và thu nhận
tầm nhìn tốc độ cao do Hãng Slamtec phát triển. Hệ thống đo dữ liệu khoảng cách
trong hơn 8000 lần mỗi giây. Hình 2-9. RPLIDAR A1
LIDAR bắn tia laser đa hướng 360 độ, chạy theo chiều kim đồng hồ và quét môi
trường xung quanh của nó và sau đó tạo ra một bản đồ phác thảo trong môi trường thực.
Hình 2-10. Bản đồ trả về từ LIDAR 17
Tỷ lệ lấy điểm mẫu của LIDAR trực tiếp quyết định xem robot có thể lập bản đồ
nhanh và chính xác hay không. RPLIDAR cải thiện hệ thống thuật toán và thiết kế
quang học bên trong để làm cho tốc độ mẫu lên tới 8000 lần với tần số 10Hz.
RPLIDAR có chi phí thấp phù hợp cho ứng dụng SLAM robot trong nhà.
2.7.1. Công nghệ in 3D
2.7.1.1. In 3D là gì?
In 3D là một công nghệ tiên tiến cho phép bạn tạo một vật thể từ mô hình 3D, là
công nghệ tạo mẫu nhanh với mục đích: tạo mẫu nhanh hơn và rẻ hơn. Ngày nay,
công nghệ in 3D đã thay đổi rất nhiều: việc chế tạo rẻ hơn, dễ dàng hơn, công cụ hỗ
trợ và cộng đồng rộng lớn khiến cho việc tiếp cận với công nghệ in 3D không còn
khó, kể cả với sinh viên. Hình 2-11. Máy in 3D
Hiện nay ở Việt Nam chúng ta dễ dàng tiếp cận với ba công nghệ in 3D chính:
Công nghệ SLS, Công nghệ SLA, công nghệ FDM.
• Công nghệ FDM (Fused Deposition Modeling): Máy in 3D dùng công nghệ
FDM xây dựng mẫu bằng cách đùn nhựa nóng chảy rồi hóa rắn từng lớp tạo
nên cấu trúc chi tiết dạng khối
• Cura là phần mềm xuất Gcode cho máy in 3D, là phần mềm mã nguồn mở của
Ultimaker, là phần mềm hỗ trợ rất tốt cho máy in 3D và có cộng đồng sử dụng
rộng lớn. chúng em chọn thông số theo những yêu cầu của chi tiết, lưu các file
lại dưới dạng Gcode. Máy in sẽ in ra đúng chi tết chúng ta mong muốn 18
Hình 2-12. In 3D công nghệ FDM trên phần mềm Cura
2.7.1.2. Vật liệu in 3D
Trong dự án này, chúng em sử dụng vật liệu PLA vì những ưu điểm của nó: • Không độc • Rẻ • Dễ in
2.7.1.3. Đặc điểm của công nghệ in 3D FDM
Máy in 3D dùng công nghệ FDM xây dựng mẫu bằng cách đùn nhựa nóng chảy
rồi hoá rắn từng lớp tạo nên cấu trúc chi tiết dạng khối.
Vì đặc điểm của công nghệ in 3d FDM là theo lớp, nên cơ tính của chi tiết khác
nhau theo phương tác động nên cần lưu ý chọn hướng in trước khi thiết kế - Ưu điểm
• Dễ dàng thiết kế, gia công sản phẩm • Chi phí thấp - Nhược điểm
• Sản phẩm in ra có độ nhám lớn • Thời gian in lâu
• Kích thước vật in được còn nhỏ 19
Hình 2-13. Mô phỏng quá trình in theo lớp
 Với những đặc điểm va ưu điểm của công nghệ in 3D FDM và phần mềm
CURA, nhóm quyết định chọn phương pháp gia công bằng công nghệ in 3D
FDM để tạo phần vỏ cho robot của nhóm.
2.7.2. Lựa chọn thiết bị
2.7.2.1. Bộ điều khiển board Arduino Mega 2560
Arduino Mega 2560 là một vi điều khiển dựa trên nền ATmega 2560. Có 54 đầu
vào/đầu ra số (trong đó có 15 đầu được sử dụng như đầu ra PWM), 16 đầu vào analog,
4 chân UARTs (cổng nối tiếp phần cứng), một 16 MHz dao động tinh thể, kết nối
USB, một jack cắm điện, một đầu ICSP, và một nút reset. Chứa tất cả mọi thứ cần
thiết để hỗ trợ các vi điều khiển, chỉ cần kết nối với máy tính bằng cáp USB hoăc sử
dụng bộ chuyển đổi AC – DC hoặc pin. Arduino Mega tương thích với hầu hết các
shield được thiết kế cho Arduino Duemilanove hoặc Diecimila.
Lý do đề tài chọn vi điều khiển Mega2560 vì bộ nhớ flash của MEGA rất lớn gấp
4 lần so với UNO (128kb) với vi điều khiển ATmega1280, ATmega328p, ... và những
họ vi điều khiển khác. Rõ ràng, những dự án cần điều khiển nhiều loại động cơ và xử
lý nhiều luồng dữ liệu song song (3 timer), nhiều ngắt hơn (6 cổng interrupt), ... có
thể được phát triển dễ dàng với Arduino MEGA, chẳng hạn như: máy in 3d, Quadcopter, ... 20
Hình 2-14. Board Arduino Mega 2560 Microcontroller ATmega2560 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins
54 (of which 15 provide PWM output) Analog Input Pins 16 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory
256 KB of which 8 KB used by bootloader SRAM 8 KB EEPROM 4 KB Clock Speed 16 MHz
Bảng 2-6. Tóm tắt thông số Arduino Mega 2560
2.7.2.2. Board 32 servo Controller.
Mạch điều khiển 32 RC Servo được sử dụng kết hợp với phần mềm trên máy tính
qua cổng USB, tay cầm không dây PS2 hoặc kết nối với Vi điều khiển qua giao tiếp
UART giúp bạn có thể dễ dàng điều khiển Mạch điều khiển 32 RC Servo có cách sử
dụng và kết nối dễ dàng, phần mềm của mạch chạy trên hầu hết các hệ điều hành phổ
biến hiện nay: Windows 7, Linux, MacOS, Android,...
Vì phải điều khiển một lần 23 servo, đòi hỏi một lượng lớn chân PWM cần phải
sử dụng. Mạch 32 Servo giúp tạo thêm không gian kết nối. Vi điều khiển Mega 2560 thì không đủ chân PWM 21
Hình 2-15. Sơ đồ tính năng của chân trong Board 32 Servo Controller Điện áp sử dụng:
5VDC (cấp quá 5VDC sẽ làm cháy mạch). Điện áp ngõ ra RC Servo: 5VDC. CPU: 32bit
USB (115200), tay cầm PS2, UART (4800, 9600, Hỗ trợ giao tiếp 19200, 38400, 57600, 115200) Thời gian trễ: 1us Tần số điều khiển: 50Hz
Bảng 2-7. Bảng thông số mạch 32 servo controller
2.7.2.3. Mạch giảm áp 22
Hình 2-16. Mạch giảm áp UPEC 8,3V - 6V
Đề tài sử dụng hai module giảm áp Ubec Ternigy vì Robot Kiến 25DOF cần một
lượng Ample rất lớn để cung cấp cho tất cả servo digital JX5521. Mạch giảm áp thông
thường phải mắc nhiều mạch song song lại để tăng ample nhưng rất cồng kềnh và
phức tạp, tăng tải trọng robot.
Nên ta chọn Ubec nhỏ gọn, công suất cao, công tắc của Ubec ở chế độ 6V vì Servo
hoạt động tốt ở mức điện áp 6V. Đầu ra (Không đổi): 5v / 8A hoặc 6v / 8A Đầu vào: 6v-12.6v (2-3cell Li-po) Dòng không hoạt động: 60mA Dãy hoạt động: 7.8 ~ 8.4v / 11.7v ~ 12.6v
Bảng 2-8. Thông số UPEC
2.7.2.4. Pin li-po 7000mAh
Pin Li-po là loại pin có thể sạc được nhiều lần, sử dụng chất điện phân dạng
polymer khô. Pin Li-po với những ưu điểm vượt trội về tính năng và tuổi thọ nên
đang được dùng trên đa số các thiết bị. Lý do đề tài chọn pin Li-po vì:
• Pin RC Li-po nhỏ, nhẹ và có thể làm ở mọi hình dáng kích thước
• Pin RC Li-po có dung lượng cao có nghĩa là nó chứa được nhiều năng lượng trong một gói pin nhỏ
• Pin RC Li-po có dòng xả cao để cung cấp năng lượng cho động cơ RC có đòi hỏi khắt khe nhất 23
Hình 2-17. Pin 7000mAh
Hình 2-18. Pin 5200mAh Dung lượng 6000 mAh và 7000 mAh Dòng xả 80C
Ngưỡng điện áp hoạt động 60mA Ngưỡng hoạt động 7.8 ~ 8.4v (3cells)
Bảng 2-9. Thông số Pin Li-po
2.7.2.5. Động cơ RC Servo Digital RC JX5521
Có các loại động cơ thường được dùng để làm các mô hình robot là động cơ DC
RC Servo, động cơ bước (Step motor) và Servo. Đề tài sẽ sử dụng động cơ RC Servo
để điều khiển Robot vì động cơ RC Servo rẻ, có phần hồi tiếp trạng thái bằng biến
trở được tích hợp ngay bên trong động cơ, việc điều khiển được đơn giản hóa chỉ cần
duy nhất một chân phát tín hiệu PWM và mô hình này sẽ gần giống với việc sử dụng
những động cơ Servo trong cô nghiệp, dễ dàng ứng dụng thuật toán được xây dựng
trong đề tài để phát triển công nghiệp.
Tại sao lại không sử dụng động cơ DC Servo và Step Servo cho dự án này? Lí do
là quá đắt, muốn phát triển mô hình này lên thì cả DC Servo và Step Servo lại quá
yếu hoặc quá chậm. Động cơ RC Servo sử dụng biến trở cho nên vị trí Home sẽ được
đặt tại một mức điện trở cố định, điều này chỉ có ở những loại Servo đắt tiền với đĩa
Encoder đặc biệt, còn Servo thường thì không. DC Servo và Step Motor thường sẽ 24
lấy vị trí ngay lúc cấp nguồn là vị trí Home như vậy muốn kiểm soát được tọa độ của
cánh tay robot nói chung và trong trường hợp này là các chân của Robot nhện sáu
chân ta phải sử dụng thêm các cảm biến hoặc công tắc hành trình,… Như vậy sẽ phải
sử dụng nhiều hơn các chân vi điều khiển và gây sự cồng kềnh trong thiết kế.
Servo: phần hồi tiếp trạng thái thông dụng là encoder, nhưng với số lượng động cơ
lớn (25 động cơ) đòi hỏi vi điều khiển phải đủ mạnh và yêu cầu tốc độ vi xử lý cao.
Nếu không đáp ứng đủ thì dễ gây tình trạng treo vi điều khiển.
Cho nên RC Servo là phù hợp nhất với các mô hình robot di chuyển không bánh
xe, cấu tạo bên trong của động cơ RC Servo như hình 3-28:
Hình 2-19. Bên trong một RC servo
Hình 2-20. Servo 5521MG • Motor • Electronics Board • Positive Power Wire (Red)
• Signal Wire (Yellow or White)
• Negative or Ground Wire (Black) • Potentiometer • Output Shaft/Gear
• Servo Attachment Horn/Wheel/Arm • Servo Case • Integrated Control Chip
Trong hệ thống này, Servo đáp ứng của một các dãy xung số ổn định. Cụ thể hơn,
mạch điều khiển là đáp ứng của một tín hiệu số các xung biến đổi từ 1ms – 2ms. Các
xung này được gởi đi 50lần/giây. Chú ý rằng không phải xung một giây điều khiển
servo mà là chiều dài của các xung biến đổi từ 1ms – 2ms. Các xung này được gởi đi
50lần/giây. Chú ý rằng không phải số xung trong một giây điều khiển servo mà là 25
chiều dài của các xung. Servo đòi hòi khoảng 30 – 60 xung/giây. Nếu số này quá
thấp, độ chính xác và công suất để duy trì servo sẽ giảm. Với độ dài xung 1ms, Servo
được điều khiển quay theo một chiều (giả sử là chiều kim đồng hồ). Với độ dài xung
2ms, Servo quay theo chiều ngược lại.
Động cơ RC Servo Digital RC JX5521là thích hợp nhất cho việc làm các loại robot
vì nó luôn giữ lại trạng thái xung gần nhất, tránh trường hợp khung robot bị ổ sập bất
ngờ ở trạng thái không điều khiển, động cơ RC Servo Analog (Mg996,995,945,..) sẽ
bị mất điều khiển khi dừng cấp xung đột ngột, dẫn đến việc khung robot bị sập bất ngờ.
Động cơ RC Servo Digital JX5521có cấu tạo mộ trục xoay giống như Servo truyền
thống giúp bạn dễ ứng dụng cho các thiết kế robot của mình, ngoài ra chất lượng của
loại động cơ này rất tốt (tốt nhất trong các thử nghiệm hiện tại), động cơ có bánh răng
kim loại, lực kéo mạnh, xoay êm, không rung, giữ vị trí tốt nhất , là một sự lựa chọn
sáng giá cho thiết kế robot. Trọng lượng sản phẩm 55.6g Kích thước sản phẩm 40.5 * 20 .2* 44.2mm Tốc độ
0.18sec / 600 tại 4.8VDC và 0.16sec / 600 tại 7.2VDC Lực kéo
17.25Kg.cm tại 4.8VDC và 20.32kg.cm tại 7.2VDC Điện áp hoạt động 4.8VDC đến 7.2VDC Dòng điện tiêu thụ >600mA Chiều dài cáp 32cm
Bảng 2-10. Thông số và khối lượng RC Servo
2.7.2.1. Bộ điều khiển PS2 và HC06 Hình 2-21. PS2
Hình 2-22. HC06 26 • PS2
o Phạm vi bắt sóng Bluetooth lên đến 10m, không cần dùng dây dẫn. Tay
cầm đạt độ nhạy cao, nút nhấn êm. Không có hiện tượng switch bounce của nút nhấn
o Tay cầm PS2 Wireless có 2 joystick khá linh hoạt giúp người dùng điều
khiển cực kỳ chuẩn xác
o Tay cầm PS2 có bộ chuyển đổi tín hiệu kết nối phù hợp cho các bạn
giao tiếp với vi điều khiển Điện áp hoạt động 3.3V Giao tiếp Bluetooth Khoảng cách tối đa 10m
Bảng 2-11. Thông số PS2 HC06 Điện áp hoạt động 3.3VDC ~5VDC
Baudrate UART có thể chọn 1200, 2400, 4800, 9600, 19200, được 38400, 57600, 115200
Dải tần sóng hoạt động Bluetooth 2.4GHz Chip
CSR mainstream bluetooth- bluetooth V2.0 protocol standards.
Dòng điện khi hoạt động
khi Pairing 30 mA, sau khi pairing hoạt
động truyền nhận bình thường 8 mA
Kích thước của module chính 28 mm x 15 mm x 2.35 mm
Bảng 2-12. Thông số HC06
Đề tài sử dụng HC06 vì robot được điều khiển bởi phần mềm trên điện thoại
Andrioid song song với việc điều khiển PS2. Người dùng có thể cài đặt phần mềm và kết nối Bluettooth.
2.7.2.2. Raspberry Pi 3 27
Hình 2-23. Raspberry Pi 3 CPU
Broadcom BCM2837B0 quad-core A53 (ARMv8) 64-bit @ 1.4GHz GPU Broadcom Videocore-IV RAM 1GB LPDDR2 SDRAM
Networking Gigabit Ethernet (via USB channel), 2.4GHz và 5GHz, Wi-Fi Bluetooth 4.2, Low Energy (BLE) Thẻ nhớ Micro-SD GPIO 40-pin GPIO header, populated Ports
HDMI, 3.5mm analogue audio-video jack, 4x USB 2.0, Ethernet,
Camera Serial Interface (CSI), Display Serial Interface (DSI)
Bảng 2-13. Thông số và khối lượng RC Servo
Lý do mạch Raspberry Pi 3 được sử dụng trong đề tài này vì:
• Raspberry Pi 3 Model B+ (Made in UK) là board mạch máy tính nhúng được sử
dụng nhiều nhất hiện nay, ngoài việc sử dụng để hệ điều hành Linux hoặc
Windows 10 IoT, máy còn có khả năng xuất tín hiệu ra bốn mươi chân GPIO
giúp bạn có thể giao tiếp và điểu khiển vô số các board mạch phần cứng khác để
thực hiện vô số các ứng dụng khác nhau, máy có kích thước nhỏ gọn, giá thành
phải chăng, cách sử dụng dễ dàng, chỉ cần cài hệ điều hành vào thẻ nhớ và cấp
nguồn là có thể sử dụng
• Máy tính Raspberry Pi 3 Model B+ (Made in UK) có cộng đồng sử dụng rất lớn
trên thế giới, đây chính là ưu điểm lớn nhất của Raspberry Pi, điều này giúp chúng
em có thể tìm nguồn tài liệu cũng như hỗ trợ rất dễ dàng trên Google hoặc trang
chủ Raspberry Pi. Đối với thuật toán dùng Robot ROS, SLAM LIDAR quét map
cần thời gian xử lý tín hiệu nhanh, chính xác thì Raspberry Pi 3 là sự lựa chọn phù hợp 2.7.2.3. RPLIDAR A1 28 Hình 2-24. LIDAR
RPLIDAR A1 được sản xuất bởi hãng Slamtec được sử dụng cho các ứng dụng
phát hiện vật cản, lập bản đồ bằng tia Laser trong xe, robot tự hành, hệ thống chống
trộm, ..., cảm biến có độ ổn định và độ chính xác cao.
Cảm biến Laser Radar (LIDAR) RPLIDAR A1 sử dụng giao tiếp UART nên có
thể dễ dàng giao tiếp với Vi điều khiển, Máy tính nhúng hoặc kết nối máy tính qua
mạch chuyển USB-UART và phần mềm đi kèm, cảm biến có khả năng quét xa với
khoảng cách lên đến 12m, tần số tối đa 10Hz với 8000 samples per time, phù hợp cho
vô số các ứng dụng khác nhau. Điện áp hoạt động 5VDC Chuẩn giao tiếp UART
Phương pháp phát hiện vật cản Laser
Khoảng cách phát hiện vật cản tối đa 12m Góc quay 360°.
Tốc độ lấy mẫu tối đa 8000 Samples per time. Tần số quét tối đa 10Hz Kích thước 71 x 97mm
Bảng 2-14. Thông số LIDAR 29
CHƯƠNG 3. NỘI DUNG NGHIÊN CỨU
3.1. Mô phỏng trên Matlab 3.1.1. Lưu đồ
Hình 3-1. Lưu đồ trong việc mô phỏng hexapod trên Matlab
3.1.2. Kết quả mô phỏng
Hình 3-2. Kết quả mô phỏng sự di chuyển của Hexabod trên Matlab 30
3.2. Thiết kế cơ khí
3.2.1. Lắp ráp, đi dây và kết nối các Module
3.2.1.1. Sơ đồ tổng quan kết nối cơ khí
Hình 3-3 Sơ đồ tổng quan kết nối cơ khí 31
3.2.1.2. Sơ đồ tổng quan kết nối điện và tín hiệu
Hình 3-4 Sơ đồ kết nối các module và tìn hiệu. 32
Trong quá trình gần một năm nghiên cứu và phát triển dự án, robot đã được phát
triển qua bốn phiên bản.
Hình 3-5. Hexapod VS1
Ở phiên bản đầu (VS1), nhằm kiểm tra khả năng di chuyển của Hexapod, chúng
em chỉ dùng khớp nhôm làm khung, có thể dễ dàng mua ngoài thị trường, điều này
giúp tiết kiệm thời gian phải bỏ ra, robot đi lại ổn, có thể quẹo phải trái nhưng do có
khối lượng lớn, thời gian hoạt động được 15 phút.
Hình 3-6. Hexapod VS2 khung nhựa 33
Với Hexapod VS2 (phiên bản 2), chúng em chuyển qua sử dụng nhựa làm khung,
dùng công nghệ in 3D để giảm tải trọng robot chịu phải. Sau đó chúng em tiến hành
kiểm tra thử về dung lượng pin và thời gian hoạt động và có được kết quả rất khả
quan, robot hoạt động được 30 phút, tải trọng ngoài lên đến 2kg. Ngoài ra, chúng em
còn phát triển thêm phần code bên trong, thêm thuật toán ma trận xoay, robot đã có
thể xoay thân tại chỗ mà chân không di chuyển khỏi đất.
Hình 3-7. Hexapod VS3 kết hợp đầu và đuôi
Nhưng nhìn chung, cả hai phiên bản đầu chỉ mới có chuyển động nhưng lại không
có những chức năng mở rộng phục vụ cho nhu cầu phát triển mô hình học tập. Một
phần nguyên do là không đủ không gian để có thể thêm vào các module. Một ý tưởng
đặt ra, chúng em thiết kế thêm đầu và đuôi, lấy hình mẫu là một con kiến để thiết kế
thay vì chỉ có sáu chân như ban đầu, điều này giúp có thêm không gian mà không
tăng kích thước thân, và phiên bản 3 (VS3) được ra đời. Nhưng phiên bản này chỉ có
chức năng kiểm tra thuật toán trong code, đảm bảo khi thêm hai bộ phận đầu đuôi sẽ
không ảnh hưởng tới hoạt động của Hexapod. Chúng em sử dụng phần thiết kế có sẵn
của Jeroen Janssen để xây dựng theo nhằm tiết kiệm thời gian, tăng lượng pin từ
3000mAh lên 6000mAh để cải thiện thời gian hoạt động. Sau quá trình xử lý, kết quả
là robot có thể di chuyển ổn định với hai bộ phận thêm vào, robot có thể hoạt động trong 30 phút.
Sau VS3, chúng em tiến hành lựa chọn các module muốn sử dụng, từ đó thiết kế
lại cho riêng mình một AntPot có thể chứa các module đó, phần chọn lựa thiết bị xem
phần 3.4.1. Về chi tiết phần thiết kế, sẽ được nói rõ ở phần này. 34
Hình 3-8. AntPot (Hexapod VS4)
3.2.2. Thiết kế mô hình 3.2.2.1. Phần Đầu
Nhóm muốn tạo một con robot có khả năng di chuyển đến những khu vực khuất
tầm nhìn, hoặc cần do thám trước nên cần có Camera để quan sát và có thiết bị quét bản đồ.
Để camera có góc nhìn rộng, chúng em thiết kế phần đầu robot có ba bậc tự do
giúp cho robot có khả năng xoay 180° ở trục Rotage, 40° ở trục Pan, 40° trục Tilt.
Phần đầu sử dụng bốn động cơ servo tương ứng với hai bậc tự do ở khớp Head
Pan, Head Tilt và hai khớp ở răng, răng có góc đóng/mở 45° mỗi bên. Phần đầu được
trang bị zero cam tại vị trí chính giữa hai râu có độ phân giải 5MP quay video 1080
30fps đi kèm với Pi zero. Cảm biến lực tích hợp vào càng cho phép đo được lực kẹp.
Cảm biến siêu âm được gắn ở vị trí miệng dùng để né vật cản dưới tầm quét của Lidar.
Ăngten được sử dụng để tăng tầm sử dụng PS2.
Phần đầu được chia thành 12 chi tiết gồm chi tiết đầu, hai chi tiết mắt trái- phải,
năm chi tiết răng- bánh răng, ba chi tiết cổ, tất cả được lắp ghép với nhau bằng ốc và đai ốc. 35
Hình 3-9. Thiết kế 3D phần đầu Hexapod 3.2.2.2. Phần thân
Thiết kế thân gồm Lidar, bộ nguồn gồm hai viên pin 7000mAh, 6000mAh, hai
mạch báo pin. Để đảm bảo cho tính linh hoạt của phần đầu, động cơ trục Rotage của
phần đầu được đặt trong thân và được đỡ bằng bạc đạn 35BD5220. Phần thân cho
phép khớp γ ở mỗi chân quay 50°, cho phép khớp Pan của phần đuôi quay 40°
Là nơi gắn kết sáu chân, phần đầu và đuôi, cần phải đảm bảo độ vững chắc, nhưng
vì hạn chế kích thước của bàn in của máy in 3D nên chúng em phải tách phần thân
thành bốn phần và kết nối với nhau bằng mica ở chính giữa. Mica cũng làm nền cho khay pin và mạch. 36
Hình 3-10. Thiết kế 3D phần thân Hexapod 3.2.2.1. Phần đuôi
Phần đuôi sử dụng 2 động cơ servo tương ứng với 2 bậc tự do ở đuôi Tail Pan cho
phép quay 40°, Tail Tilt cho phép quay 40°, bên trong được thiết kế là nơi chứa
Arduino mega 2560 và Raspberry Pi3, phần đuôi có kích thước lớn hơn bàn in cũng
được chia thành 5 phần và kết nối với nhau bằng mica đảm bảo phần đuôi có kết cấu
vững chắc và tính thẩm mĩ cao. Phần đuôi trang bị 6 con led tương ứng với 6 chân,
khi chân chạm đất led sẽ sáng.
Hình 3-11. Thiết kế 3D phần đuôi Hexapod 3.2.2.2. Phần chân 37
Thiết kế chân gồm ba động cơ servo 5521MG tương ứng với 3 bậc tự do với kích
thước khâu: Coxa 75mm, Femur 113.5mm, Taibia 221.6mm. Chân có công tắc hành
trình để làm thuật toán điều khiển vượt địa hình. Các servo được giấu kín và dây dẫn
được bọc trong dây lưới đảm bảo tính thẩm mĩ. Chân được thiết kế với độ dày vỏ
2mm và gân 3m đảm bảo độ cứng vững và độ bền của chi tiết, phần đỉnh ngón chân
có lớp cao su chống trượt vì vật liệu PLA có độ ma sát kém với các mặt phẳng nhẵn như gạch men, bàn, …
Hình 3-12. Thiết kế 3D phần chân Hexapod 3.2.3. Gia công
3.2.3.1. Cài đặt thông số máy in
Sợi nhựa sử dụng là PLA đường kính 1,75mm, đầu phun 0,4mm. 38 3.2.3.1.1. Quality
Layer height: 0,28mm
Initial layer line width: 120% 3.2.3.1.2. Shell
Wall thickness: 1.2mm
Top/bottom thickness: 0.8m
Optimize wall printing order: tối ưu hóa số vị trí rút nhựa và quãng đường di chuyển 3.2.3.1.3. Infill
Infil density: 15% 3.2.3.1.4. Material
Default printing temperature: 205°CFlow: 105%
Enable retraction: Chọn
Retraction extra prime amount: 𝟎, 𝟎𝟔𝒎𝒎𝟑 3.2.3.1.5. Speed Print speed: 80mm/s Wall speed: 40mm/s
Top/bottom speed: 50mm/s
Travel speed: 100mm/s
Print Acceleration: 𝟐𝟎𝟎𝟎𝒎𝒎/𝒔𝟐 3.2.3.1.6. Cooling
Regular fan speed at height: 0,3mm 3.2.3.1.7. Support
Support overhang angle: 70°
3.2.3.1.8. Build plate adhesion
Build plate adhesion type: Brim 39 3.2.3.2. Chuẩn bị • Động cơ. 25 động cơ servo 5521MG.
Hình 3-13. Servo chuẩn bị lắp ráp cơ khí • Vỏ
Hình 3-14. Các bộ phận sau khi in, chuẩn bị lắp ráp 40 • Linh kiện điện tử: STT Tên linh kiện Số lượng 1 Ăng ten 2 2 Arduino mega 2560 1 3 Cảm biến lưc FSR402 1 4
Cảm biến siêu âm HC-SR04 1 5 Camera Pi 1 6 Led 6 7 Lidar 1 8 Mạch điều khiển servo 1 9 Mạch đo pin 2 10 Mạch giảm áp 5V-3A 1 11 Mạch giảm áp UBEC 2 12 Nút nguồn 1 13 Pin 6000mah 1 14 Pin 7000mah 1 15 Raspberri pi3 1 16 Raspberri zero 1 • Linh kiện cơ khí: STT Tên linh kiện Số lượng 1 Bạc đạn B683zz 1 2 Bạc đạn B684zz 4 3 Bạc đạn FL6x12x4 21 4 Công tắc hành trình 6 5 Đai ốc M3 23 6 Đai ốc M4 4 7 Lót cao su 6 8
Ốc M2 lục giác đầu trụ 15mm 12 9
Ốc M2.5 lục giác đầu trụ 15mm 4 10
Ốc M3 lục giác đầu bằng 5mm 65 11
Ốc M3 lục giác đầu trụ 10mm 60 12
Ốc M3 lục giác đầu trụ 12mm 1 13
Ôc M3 lục giác đầu trụ 20mm 8 41 14
Ốc M3 lục giác đầu trụ 8mm 100 15
Ốc M4 lục giác đầu trụ 10mm 40 16 Đai ốc M3 234 17 Đai ốc M4 40
3.2.4. Bảng địa chỉ kết nối Arduino Mega 2560 Raspberry Pi 3 35 29 37 31 39 33 41 37 43 36 45 32 GND GND
Bảng 3-1. Kết nối Arduino Mega 2560 với Raspberry Pi 3 Aruino Mega2560 Công tắc hành trình Led 34 SW1 D1 36 SW2 D2 38 SW3 D3 40 SW4 D4 42 SW5 D5 44 SW6 D6
Bảng 3-2. Kết nối công tắc hành trình vào Arduino Mega2560 Arduino Mega2560 HCRS-04 FSR402 VCC VCC VCC GND GND GND 20 TRIGGER 21 ECHO A2 Analog
Bảng 3-3. Kết nối HCRS-04 và FSR402 vào Arduino Mega2560 Arduino Mega 2560 PlayStation 2 HC06 VCC VCC VCC 42 GND GND GND 10 SEL 11 CMD 12 CLK 13 DAT 0 RX 1 TX
Bảng 3-4. Kết nối PS2 và HC06 vào Arduino Mega2560 Mega2560 32 Servo Torobot VIN VCC GND GND 19 RX 18 TX
Bảng 3-5. Kết nối 32 Servo Controller vào Arduino Mega2560 Raspberry Pi 3 Raspberry Pi Zero LIDAR A1 Port 1 Camera OV5647 Jack Camera
Bảng 3-6. Kết nối LIDAR vào Pi 3, Camera OV5647 vào Pi Zero Pin Driver32 Torobot Raspberry Pi 3 Raspberry Pi Zero Li-po 6000mah Cổng USB Cổng USB Li-po 7000mah 2 x Ubec15A
Bảng 3-7. Nguồn nuôi Driver 32 Servo, Pi 3, Pi Zero và cách kết nối 43 Chân phải sau Coxa 0 Femur 1 Tabia 2 Chân phải giữa Coxa 4 Femur 5 Tabia 6 Chân phải trước Coxa 8 Femur 9 Tabia 10 Chân trái sau Coxa 31 Femur 30 Tabia 29 Chân trái giữa Coxa 27 Femur 26 Tabia 25 Chân trái trước Coxa 23 Femur 16 Tabia 21 HeadRotate 17 HeadPan 12 Đầu và đuôi HeadTilt 11 MandibleLeft 22 MandibleRight 13 AbdomenPan 3 AbbdomenTile 28
Bảng 3-8. Kết nối các Servo vào Controller 44 3.3. Thi công 3.3.1. Lắp chân Hình 3-15. Bước 1 Hình 3-16. Bước 2 Hình 3-17. Bước 3 Hình 3-18. Bước 4 45 3.3.2. Lắp thân Hình 3-19. Bước 1 Hình 3-20. Bước 2 Hình 3-21. Bước 3 Hình 3-22. Bước 4 46 3.3.3. Lắp đầu Hình 3-23. Bước 1 Hình 3-24. Bước 2 3.3.4. Lắp đuôi Hình 3-25. Bước 1 Hình 3-26. Bước 2 47 3.3.5. Hoàn thiện Hình 3-27. AntPot
3.4. Lưu đồ và giải thuật điều khiển cho di chuyển của Hexabod
3.4.1. Thuật toán dành cho dáng đi
Ở Chương II phần 4.1 có nói qua, Hexapod sẽ được lập trình để có thể thực một
dáng đi (Gait) chủ đạo, từ đó thực hiện các chức năng di chuyển tiến lùi trái phải,
xoay thân. Điều đặc biệt phải lưu ý đó là hướng của dáng đi này phải cùng hướng
với hướng di chuyển của thân
và di chuyển ngược chiều khi chạm đất, điều này giúp
robot có thể tiến về trước.
Hình 3-28. Hình dáng của Gait trong giải thuật 48
Để có thể thực hiện được kiểu dáng đi đó, ta phải cho tọa độ chân thực hiện một tổ
hợp các tọa độ hình thành nên Gait, càng nhiều tọa độ, bước đi càng mịn, nhưng bù
lại thời gian xử lý hết lại lâu, trong báo cáo này sẽ lấy một dáng đi có tám tọa độ gồm
năn tọa độ chạm đất, ba tọa độ nâng chân để giải thích về giải thuật
Khi thực hiện Gait, để trông như các chân hoạt động cùng lúc, ta phải cho từng chân
thực hiện di dời một khoản tọa độ theo hình dáng Gait như trên, mỗi lần di dời vậy là
một bước trong Gait, khi thực hiện xong hết sáu chân mới bắt đầu qua bước tiếp theo
Bước tuyệt đối: ở mỗi Gait này, do các chân của Hexapod hoạt động nâng chân tuần
tự, nên mỗi chân đều có số thứ tự nâng chân của mình, đó gọi là bước tuyệt đối (hay
còn có thể gọi là bước cơ sở), thứ tự này được tính từ vị trí đầu tiên của chân khi khai
báo trong code và đếm tăng dần theo hướng di chuyển của Gait (hướng mũi tên trong
Hình 3-33). Và bước tương đối sẽ bằng số bước lúc bấy giờ của Gait trừ cho bước
tuyệt đối. Ta cho khi bước tương đối bằng 0 (StepLeg=0) là tại lúc chân đang được
nâng cao nhất trong Gait, từ đây ta có thể tiến hành code bằng cách đặt tọa độ cho
chân ứng với từng trường hợp StepLeg, gọi đó làm hàm Gait, có lưu đồ như Hình 3- 35.
Bên cạnh đó phải cho hàm Gait trên chạy xuyên xuốt 8 bước của Gait và trả về 1
khi đi hết số bước để Hexapod di chuyển liên tục. Deadzone là khoản mà ở đó tọa
độ ko thay đổi, do điều khiển bằng PS2, joystick xuất ra tín hiệu analog trong khoản
0-255, dùng deadzone để giảm bớt độ nhạy, tránh việc va chạm ngoài ý muốn. Ta
có lưu đồ ở Hình 3-36.
Từ đây có thể cho hàm chạy vòng lập để có thể điều khiển Hexpod di chuyển theo
hướng ta cần, có lưu đồ như Hình 3-37.
Trước khi xem phần code, chúng ta cần phải xác định trước hệ tọa độ trong toàn
thân robot để dễ dàng đối chiếu: 49
Hình 3-29. Các hệ tọa độ trên trên Hexapod 50
Hình 3-30. Lưu đồ giải thuật 1 bước trong Gait 51
Hình 3-31. Lưu đồ trình tự chạy của Gait 52
Hình 3-32. Lưu đồ giải thuật vòng lặp chính 53
3.5. Viết app điều khiển bằng Bluetooth kết nối đến HC06
3.5.1. Giới thiệu công cụ thực hiện: MIT App Inventor
Đây là một trang Web cung cấp công cụ giúp ích cho việc tạo một app có thể sử
dụng trên điện thoại, thực hiện các chức năng đơn giản. Vì là một trang Web, người
dùng không phải tải về để sử dụng, thay vào đó là một tài khoản Gmail. Nhóm chọn
sử dụng công cụ này bởi tính đơn giản trong quá trình tạo app, các câu lệnh có thể
tạo ra chỉ với những thao tác kéo thả các block.
3.5.2. Quá trình thực hiện
Mục tiêu ban đầu chúng em đề ra đối với app này là phải gửi được tín hiệu điều
khiển thông qua đường truyền bluetooth, đảm bảo việc thực hiện không bị gián đoạn.
Vậy nên chúng em tiến hành thử nghiệm kết nối và gửi dữ liệu các nút và 1 joystick
bằng phiên bản đầu. Ở phiên bản này, app có thể kết nối với HC06 và gửi được tín
hiệu dưới dạng ký tự ứng với mỗi nút nhấn và tín hiệu analog từ joy trong khoản từ
0-255 thông qua cổng Serial.
• Kết nối bluetooth bằng ListPicker và Button, điều kiện ban đầu là điện thoại
phải bật kết nối bluetooth, máy chứa các địa chỉ ghép đôi và khả dụng xung
quanh, ListPicker BeforePicking giúp hiện ra màn hình danh sách các địa chỉ
đấy ra màn hình giao diện, sau đó AfterPicking giúp kết nối vào địa chỉ được
chọn. Sau cùng là Button giúp ngắt kết nối khi không cần dùng nữa. Hai nút
này sẽ luân phiên xuất hiện trên giao diện nút nhấn còn lại được kích hoạt thành công. 54
Hình 3-33. MIT kết nối bluetooth
• Gửi dữ liệu qua đường truyền bluetooth, khi kết nối bluetooth thành công, nếu
nhấn vào một nút chức năng (ngoại trừ joystick), app sẽ gửi một ký tự được
thiết lập, khi nhả nút cũng sẽ gửi một ký tự khác, dùng trong điều khiển khi
nhấn giữ. Sau đây là ví dụ của nút nhấn tiến:
Hình 3-34. MIT gửi thông tin nút khi nhấn nhả 55
• Xử lý dữ liệu khi kéo joystick: để có thể sử dụng chức năng như một joystick,
chúng em sử dụng màn hình Canvas và thao tác kéo thả một hình tròn thay
cho nút quay. Mặt khác, có hai vấn đề cần phải giải quyết, vị trí trên Canvas
và dữ liệu. Về vị trí, khi kéo thì hình tròn đó sẽ theo tay mình, thả ra thì hình
tròn quay về vị trí đầu và kéo Joystick sẽ không vượt qua khỏi bản kích đường
tròn ngoài, vấn đề này chúng em chủ yếu dùng lệnh Move to để đi tới tọa độ
em cần. Về dữ liệu, cần phải xử lý tọa độ của Joystick để chuyển thành giá trị
0-255 rồi gửi trả dữ liệu cho HC06.
o Để có thể theo vị trí hiện tại của ngón tay, tại điều kiện Dragged chúng
em dùng lệnh Move to curent, current là tọa độ mà ngón tay chạm vào màn hình Canvas
Hình 3-35. MIT Joystick hướng theo tay kéo
o Để có thể khi thả tay, hình tròn quay về vị trí ban đầu, điều kiện
TouchUp dành cho việc khi thả tay ra khỏi Canvas giúp chúng em xử lý vấn đề này
Hình 3-36. MIT thả Joystick
o Để Joystick không vượt ra khỏi khung hình tròn ở nền (Background
Joystick), chúng em đã phải tìm một công thức chung để có thể di dời
tọa độ đúng với khung giới hạn. Hình 3-29 sau thể hiện tọa độ thực của Joystick bên trong Canvas: 56
Hình 3-37. Hệ tọa độ bên trong một khung Canvas
Gọi tọa độ Background Joystick trong Canvas là (x0, y0), vị trí ngón tay hiện tại là
(xi, yi) và vị trí Joystick chúng em muốn là (xi, yi’), bán kính Background là R, bán kính Joystick là r.
Nếu cứ dùng tọa độ này tính, chúng em phải phân trường hợp phụ thuộc vào từng
góc phần tư tọa độ góc O, điều này quá mất thời gian xử lý. Vậy nên em đưa ra một
ý tưởng, tịnh tiến hệ tọa độ về vị trí tọa độ của Background Joystick, dựa vào đó tính
tọa độ i’. Em tính được các tọa độ sau khi tịnh tiến là i(xi-xo, yi-yo), i’(xi’-xo; yi’-yo)
Ở vấn đề này điều kiện ban đầu đưa ra là nếu Joystick bị kéo ra khỏi giới hạn của
Background, tức là khoản cách đến tâm Background phải lớn hơn khoản cách tọa độ
giới hạn, đặt A là khoản cách từ điểm nhấn đến tâm Background, điều kiện đó được đề ra như sau: 𝐴 = √
2 (x𝑖 − x𝑜)2 + (y𝑖 − y𝑜)2 (3-1)
𝐴 > 𝑅 − 𝑟 3-2
Nếu không thỏa điều kiện này, Joystick chỉ cần di chuyển tới vị trí chạm tay trên
Canvas. Nếu thỏa, phải thực hiện thuật toán di dời tọa độ. Sự liên hệ giữa hai tọa độ
trên, chúng em dùng đến định lý Talet trong tam giác để tính: x𝑖 − x𝑜 y𝑖 − y𝑜 𝐴 = = (3-3) x𝑖′ − x𝑜 y𝑖′ − y𝑜 𝑅 − 𝑟 57
Từ phương trình trên, tọa độ i’ có thể được tính bằng công thức sau: (x 𝑥′ 𝑖 − x𝑜)(𝑅 − 𝑟) 𝑖 = + 𝑥 𝐴 𝑜 (3-4) (y 𝑦′ 𝑖 − y𝑜)(𝑅 − 𝑟) 𝑖 = + 𝑦 𝐴 𝑜 (3-5)
Chúng em tiến hành chuyển thuật toán trên vào lập trình app:
Hình 3-38. Code giải thuật giới hạn Joystick
- Vấn đề cuối cùng là đổi giá trị tọa độ sang giá trị trong khoản 0-255, chúng
em đưa tọa độ Joystick so với vị trí Background Joystick qua một bộ
chuyển đổi, gọi giá trị dữ liệu của Joystick theo 2 hướng x, y là dx,dy bộ
chuyển đổi này được tính theo công thức sau: 255
𝑑𝑥 = (𝑥𝑖 − 𝑥0) (3-6) 2𝑅 − 2𝑟
Do dữ liệu theo trục y ngược với hệ tọa độ trong Canvas, nên công thức tính dy có
sự thay đổi so với công thức tính dy: 255
𝑑𝑦 = 255 − (𝑦𝑖 − 𝑦0) (3-7) 2𝑅 − 2𝑟 58 3.5.3. Kết quả Hình 3-39. App VS1
Mục tiêu thứ hai, chúng em muốn phần mềm này phải kết nối được với mạng nhằm
có được thông tin trả về từ trang html mà nhóm dùng, ngoài ra ngay trong phiên bản
này, chúng em bắt đầu thiết kế bố cục cho giao diện phần mềm. Chúng em muốn app
có đầy đủ những chức năng giống như một PS2 để tạo cảm giác điều khiển tương tự
mà trước đó nhóm từng làm, nên em thiết kế bố cục cái nút, hình ảnh ban đầu như
một PS2, bên cạnh đó thêm vào hai màn hình có thể kết nối mạng. Em tiến hành thử
nghiệm hai màn hình bằng cách cho kết nối với link Youtube, một trang phổ biến, và
một nút change để có thể chuyển đường link giữa hai màn hình. Chúng em sử dụng
thuộc tính WebViewer để có thể hiện ra được trang Web muốn hướng đến, dùng lệnh GoToUrl để kết nối:
Hình 3-40. MIT kết nối WebViewer vào một link
Chúng em thiết kế nút Change để có thể thay đổi đường link giữa hai màn hình: 59
Hình 3-41. MIT nút Change thay đổi đường link hai màn hình
Hình 3-42. App VS2 với màn hình và bố cục được xác định sơ bộ
Cuối cùng, với app VS3, chúng em hoàn thiện giao diện, tiến hành chỉnh sửa ảnh
nền, thay đổi màu sắc, cải thiện độ thuận mắt. Loại bỏ các chức năng không cần thiết
ví dụ như khung thể hiện khoản cách siêu âm, các nút định hướng. Tăng kích cỡ
khung lướt Web để dễ dàng thao tác qua mạng, bổ sung khung Test để đặt vào đường Link đến html. 60
Hình 3-43. App VS3 hoàn thiện
3.6. Kết hợp chức năng quét map của LIDAR
3.6.1. Giới thiệu công cụ thực hiện: ROS và SLAM
Đây là một môi trường linh hoạt cho việc viết các phần mềm robot. Nó tập hợp các
công cụ, thư viện và tiêu chuẩn chung để giúp người dùng có thể dễ dàng vận hành 1
chức năng, thực hiện một hành vi phức tạp nào đó trên nhiều loại nền tảng robot khác nhau.
SLAM là hệ thống sử dụng thông tin ảnh thu được từ camera để tái tạo môi trường
bên ngoài, bằng cách đưa thông tin môi trường vào một map (2D hoặc 3D). Từ đó,
thiết bị (robot, camera, xe) có thể định vị (localization) đang ở đâu, trạng thái, tư thế
của nó trong map để tự động thiết lập đường đi (path planning) trong môi trường hiện
tại. Ở đề tài này, chúng em không dùng camera mà thay vào đó là dùng thiết bị ngoại
vi là LIDAR, bắn tia lazer để quét và tạo map 2D.
Điều khiển tự động thiết bị robot chia làm 3 vấn đề chính: định vị (localization),
tái tạo môi trường (mapping) và hoạch định đường đi (path planning). Trong đó
SLAM giúp việc định vị và tái tạo môi trường được xảy ra cùng một lúc.
3.6.2. Những cân chỉnh phù hợp với kích thước Ant-Pod
• Footprint: tọa độ của 4 góc quanh tâm LIDAR, tạo thành khoản trống biểu thị kích thước Ant-Pod 61 Hình 3-44 Footprint
• Max_vel_x, min_vel_x: tốc độ max và tốc độ min của Ant-Pod
Hình 3-45 Max_vel_x, min_vel_x
• Yaw_goal_tolerance: phương sai khi xoay
Hình 3-46 Yaw_goal_tolerance
• Arg: chứa chuỗi cái kích thước tương đối của LIDAR trên bản đồ:
o 0 0 0,2: vị trí của x y z theo đơn vị met, do để LIDAR cao 0,2 met so với đất 62
o 3,14 0 0: độ xoay yaw pitch roll: do đặt LIDAR trong thiết kế ngược chiều trước sau Hình 3-47 Arg
3.6.3. Nguyên lý giao tiếp giữa arduino và Raspberry Pi 3:
RPLIDAR A1 sau khi chạy tất cả các thuật toán để phát hiện vật cản và xây dựng
lên bản đồ thì Raspberry Pi 3 sẽ tạo ra 2 biến liên tục thay đổi , đó chính là Góc (đơn
vị độ) và Hướng đi. Sau đó Raspberry Pi 3 sẽ giao tiếp gửi dữ liệu 2 biến đó đến
Arduino mega 2560 . Sau đó Arduino mega sẽ quyết định đến mục tiêu di chuyển của
robot theo 9 hướng cơ bản. • Hướng 1 : đi thẳng • Hướng 2 : đi lùi
• Hướng 3 : Xoay trái tại chỗ
• Hướng 4 : Xoay Phải tại chỗ
• Hướng 5 : đi thẳng kết hợp xoay trái
• Hướng 6 : đi thẳng kết hợp xoay phải
• Hướng 7 : đi lùi kết hợp xoay trái
• Hướng 8: đi lùi kết hợp xoay phải • Hướng 9: Đứng yên
Khi robot di chuyển đến vị trí mới so với vị trí cũ. Góc robot sẽ bị thay đổi, ta sẽ
nhận được biến của Góc.
• Raspberry Pi 3 sẽ giao tiếp với arduino mega qua các dây tín hiệu.
• Giao thức truyền từ Raspberry Pi 3 đến mega là song song (parallel). Các
chân vật lý được kết nối với nhau thông qua bản sau: 63 Raspberry Pi 3 Arduino Mega Tên biến Chân 29 Chân 35 PosAngle Chân 31 Chân 37 NegAngle Chân 33 Chân 39 PosLinear Chân 37 Chân 41 NegLinear Chân 36 Chân 43 ComWrite Chân 32 Chân 45 ComRead Chân GND Chân GND
Các tín hiệu từ raspberry pi3 sẽ là tín hiệu đầu vào input cho mega. Ta sẽ có các
qui định cho các hướng như sau :
• Bước 1: Chân 45 được kích lên mức cao 5v. sẽ cho phép đọc các thông tin từ Raspberry Pi3
• Bước 2: Chân 43 của mega sẽ mở đầu nhận gói data bằng cách kích mức thấp 0v digitalWrite(ComWrite,0);
• Bước 3: Hướng và góc được lựa chọn theo data bằng cách kích mức cao các chân mega Ví Dụ : • Hướng 1: Đi thẳng digitalRead(PosAngle,1); digitalRead(NegAngle,1); digitalRead(PosLinear,1); digitalRead(NegLinear,0);
RobotMoveForward(); // robot đi thẳng • Hướng 2: Đi lùi digitalRead(PosAngle,1); digitalRead(NegAngle,1); digitalRead(PosLinear,0); 64 digitalRead(NegLinear,1);
RobotMoveBackward(); // robot đi lùi …..
Các hướng còn lại sẽ thay đổi theo cách kích mức cao hoặc thấp của chân digital theo mã nhị phân
• Bước 4: Xác nhận Robot đã kết thúc di chuyển theo hướng đã chọn
Ta sẽ kết thúc 1 lần nhận data bằng cách kích mức cao chân 43 của mega digitalWrite(ComWrite,1);
3.6.4. Các bước để khởi chạy Rviz trong nền Ubuntu : ifconfig
/////////////////// dùng làm share screen, của NoVNC Tab 1 x11vnc -forever -display :0 Tab 2
cd ~/Desktop/noVNC-1.1.0/ && ./utils/launch.sh
//sua host trong page tu ubuntu thành IP ////////////////// Tab 3 ssh ros@IP //kết nối ip password: 12345678 cd catkin_ws/
đến không gian làm việc source devel/setup.bash chạy setup bên trong devel
roslaunch robot_slam rplidar.launch khởi chạy chương trình robot slam 65 Tab 4 ssh ros@IP // kết nối ip password: 12345678
sudo -s //cấp quyền chạy chương trình password: 12345678
cd catkin_ws/ // đến không gian làm việc
source devel/setup.bash //chạy setup bên trong devel
rosrun robot_slam driver // hiện lên thông tin gửi và trả giữa raspberry và arduino Tab 5
cd ~/catkin_ws/ // không gian làm việc
source devel/setup.bash //chạy setup bên trong devel
cd src/robot_slam/scripts // chạy đến script
./client.sh //chạy đến client Click 2D Nav Goal Fullscreen (F11) 66
CHƯƠNG 4. THỰC NGHIỆM
4.1. Kết quả về mặt hoạt động phần cứng
Chúng em thực hiện cho HexaPod chạy thử ngoài thực tế và tiến hành đo đạc, thử
nghiệm này được diễn ra trong môi trường bằng phẳng, nhiệt độ phòng, các chướng
ngại không quá thấp để LIDAR có thể phát hiện như tường, các thùng Carton.
4.1.1. Thời gian hoạt động
4.1.1.1. Raspberry Pi 3 và Raspberry Pi Zero
Raspberry đóng vai trò quan trọng khi phải truyền tải thông tin vị trí của Hexapod
trong bản đồ, giúp ta nhận biết môi trường xung quanh nên thời gian hoạt động thực
tế của của Raspberry rất quan trọng. • Tiêu chí đánh giá:
o So sánh thời gian hoạt động liên tục thực tế của hai Raspi với thời gian tính toán
o Sạc xả 5 lần trong thời gian 2 giờ 25 phút
Chúng em tiến hành đo dòng sử dụng trong Raspberry Pi bằng USB Tester V3
được cắm trực tiếp vào cổng USB, đầu ra nối ra LIDAR. Từ kết quả đo được, do
chúng em chọn nguồn cấp cho Pi là 5200mAh, thời gian Raspberry hoạt động được
dựa trên lý thuyết được tính bằng công thức sau: 6000 𝑇 = ≈ 10(ℎ) (4-1) 0,61 . 1000
Hình 4-1. Dùng USB Tester V3 để đo dòng trong Raspberry Pi 67
Trong thực tế, do không thể xả hết lượng pin nhằm đảm bảo về mặt tuổi thọ pin,
một viên pin khi sạc đầy có áp là 8.15V và ngưỡng hoạt động từ 7.6-8.15V nên thời
gian tính toán ra đạt 2 giờ 25 phút thì phải sạc lại, giá trị điện áp bị giảm theo số lần
sạc- khoảng 300 lần (8.15V là giá trị đã giảm qua nhiều lần sử dụng), nếu là pin chưa
qua sử dụng, ngưỡng trên sẽ là 8.4 ứng với 2 cell. 4.1.1.2. Các Servo
Do LIDAR và mạch điều khiển 25 servo được cấp nguồn với hai nguồn pin khác
nhau, nên thời gian hoạt động của các servo so với Raspberry có sự khác nhau, chúng
em cho Hexapod được bật nguồn liên tục, chia các trường hợp hoạt động như: không
cho di chuyển, di chuyển liên tục và di chuyển với tải tại càng, bấm thời gian từ khi
bật nguồn cho tới khi mạch báo pin báo yếu pin • Tiêu chí đánh giá: o Sạc, xả 5 lần
o Đo thời gian mà robot còn hoạt động ổn định từ lúc xạc đầy pin
• Chúng em thu được thời gian hoạt động sau:
o Khi không hoạt động: sau khoản 45 phút thì có dấu hiệu robot bị đổ,
các servo tại chân mất điện
o Khi di chuyển liên tục: sau 18 phút thì chân di chuyển không còn ổn
định, bước đi không còn đều như ban đầu, một vài góc tại các khớp bị
lệch so với các chân còn lại
o Khi có tải: tải là một viên tạ nặng 200g được kẹp bởi càng của Hexapod,
chỉ di chuyển được 14 phút. Sau đó thân có xu hướng đổ về trước.
4.1.1.3. Tốc độ di chuyển và sự ổn định của robot khi di chuyển
Tốc độ tối thiểu
Để đo được tốc độ tối thiểu của Hexapod, chúng em cho robot giảm tốc hết mức
từ bộ điều khiển rồi tăng dần cho tới khi Hexapod có thể di chuyển với dáng đi ổn
định, cho đi trong khoản cách 60cm, thu được kết quả Hexapod di chuyển trong 1
phút 10s, vậy tốc độc tối thiểu của Hexapod được tính: 60 𝑣𝑚𝑖𝑛 = = 0.85 (𝑐𝑚⁄𝑠) (4-2) (1 . 60 + 10) 68
Tốc độ tối đa mà robot hoạt động ổn định
Tương tự như tốc độ tối thiểu, với tốc độ tối đa, chúng em đẩy tốc độ lên cao nhất
từ bộ điều khiển (trong lập trình, giá trị vận tốc cao nhất là 12 cm/s khi đi thẳng), rồi
giảm dần cho đến khi bước di chuyển được ổn định. Robot đi được trong vòng 8 giây,
tốc độ cao nhất có thể được tính: 60 𝑣𝑚𝑎𝑥 = = 7.5 (𝑐𝑚⁄𝑠) (4-3) 8
Tuy nhiên, khuyến cáo không sử dụng robot cao hơn tốc độ tối đa cho phép vì
Hexabod sẽ dậm chân quá mạnh, điều này sẽ ảnh hưởng rất lớn tới kết cấu cơ khí.
Tốc độ hiệu quả (𝒗𝒓𝒒: required speed)
Đây là tốc độ cao nhất khi Hexapod thực hiện chức năng quét map, khi vượt qua
mức tốc độ này, hình ảnh map thu được sẽ giật, việc này không ảnh hưởng đến quá
trình quét map, nhưng khi di chuyển tự động, việc này sẽ khiến Hexapod dừng giữa
đoạn đường thay vì đi về hướng chỉ định. Không như cách đo trên, nhưng lần này
chúng em cho robot đi tự động trước, giảm tốc dần cho tới khi việc di chuyển không
bị dừng lại đột ngột, chúng em giữ tốc độ đó và bắt đầu tính vận tốc như cách trên,
kết quả thu được là robot đi được 60cm trong 26 giây, vận tốc hiệu quả có thể được tính bằng phép tính: 60 𝑣𝑟𝑞 = = 2,3 (𝑐𝑚⁄𝑠) (4-4) 26
4.1.1.4. Tầm quét của LIDAR
4.1.1.4.1. Tầm quét hiệu quả
Theo tông tin của nhà sản xuất, LIDAR có đề khoản cách tối đa quét được là 12m,
chúng em tiến hành thử nghiệm xem ở khoản cách bao nhiêu thì trên map mà LIDAR
quét, người dùng có thể nhận biết rằng ở đó có người- tầm quét hiệu quả. Để giải
quyết yêu cầu này, chúng em tiến hành đặt Hexapod trong một hành lang dài, đặt cho
LIDAR quét map và theo dõi qua màn hình, cho một thành viên đi lùi dần cho đến
khi điểm nhận biết không còn ổn định • Tiêu chí đánh giá
o Khởi động lại LIDAR 5 lần
o Môi trường không có vật trong suốt 69
• Sau khi đo thì tầm quét hiệu quả được xác định: 340cm
Hình 4-2. Đo tầm quét hiệu quả
4.1.1.4.2. Tầm quét tối thiểu
LIDAR sẽ có một khoản cách nào đó đủ gần để khi gửi thông tin lên map, dữ liệu
sẽ bỏ qua vật cản này, tức nằm trong khoản này thì map không hiển thị được. Cách
xác định cũng tương tự như trên, chỉ tiến gần và đưa vật cản về phía bộ phận quét của
LIDAR (tầng chứa Lazer) cho đến khi map không hiển thị được vật thì ngừng. • Tiêu chí đánh giá
o Sử dụng vật không trong suốt như sách, bìa cartong làm vật chắn
o Khởi động lại LIDAR 5 lần
• Số liệu của tầm quét tối thiểu được đo và cho kết quả là: 15cm 70 4.1.1.5. Tải trọng
Robot không thiết kế để tải vật trên thân, nên chúng em chỉ kiểm nghiệm khả năng nâng vật tại càng.
Để xác định được tải trọng, chúng em cho Hexapod kẹp vật và giữ trong 5 giây,
sau đó tăng dần tải trọng lên, kết quả thu được, robot có thể kẹp một vật nặng 500g,
vượt tải trọng này, đầu của robot không còn giữ được vị trí.
Hình 4-3. Tải trọng tối đa mà Hexapod có thể giữ
4.1.1.6. Độ hiệu quả của các chức năng • Hoạt động các Servo
Hexapod có thể di chuyển ổn định trong những điều kiện nêu trên. Robot có thể
tiến, lùi, xoay trái, phải, có thể tự xoay quanh các hệ trục tọa độ, tịnh tiến thân trong
không gian. Nhưng còn khá ồn trong di chuyển, tiếng ồn từ khi các servo quay và khi
chân chạm đất, do khi thực hiện cho chân đi tới một tọa độ, chân chỉ đi thẳng đến đấy
mà không hề giảm tốc khi đến gần.
• Điều khiển bằng PS2
Việc điều khiển không bị gián đoạn, robot hoạt động trơn tru. Nhưng vì chưa xử
lý hoàn toàn được vấn đề Deadzone trong tín hiệu analog, nên Hexapod rất dễ bị lệch
phương đứng nếu vô tình chạm phải hai Joystick. Chức năng khá nhiều, đòi hỏi người
sử dụng phải bỏ nhiều thời gian để có thể làm quen với việc điều khiển.
• Điều khiển bằng phần mềm Android qua Bluetooth 71
Do phần mềm tạo app còn đơn giản, các chức năng câu lệnh còn hạn chế khiến các
thành phần trong giao diện phần mềm không thể đặt đè chồng lên nhau được, làm cho
màn hình kết nối mạng bé, khó nhìn. Về điều khiển, phần mềm gửi không nhanh bằng
PS2, các Joystick khi kéo còn giật do đòi hỏi phải qua một quá trình xử lý, gây mất
thời gian, làm robot bị delay hơn so với PS2. • LIDAR quét map
Chức năng này hoạt động ổn định, luôn trả về các thông tin về môi trường xung
quanh một cách nhanh chóng, giúp người dùng nhận biết được cả vị trí Hexabod và
môi trường chỉ thông qua một màn hình máy tính. • Đi tự động
Chức năng này Hexapod thực hiện vẫn còn chưa được ổn định. Hạn chế lớn nhất
trong trường hợp Hexapod đi được là mỗi khi chọn lại một điểm khác, ta bắt buộc
phải nhấn lại nút 2D trong phần mềm mới có thể chọn tiếp. 72
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1. KẾT LUẬN
Sau một thời gian nghiên cứu và tìm hiểu, nhóm chúng đã rút ra được:
• Nghiên cứu lí thuyết và tính toán bài toán cho robot sáu chân. Đây là cơ sở quan
trọng nhất cho việc điều khiển chuyển động cho robot
• Rút ra được những khó khăn mà con người lấy cảm hứng từ thiên nhiên để xây
dựng một con robot có khả năng hoạt động như một loài côn trùng
• Nghiên cứu các loại dáng đi của robot và đưa ra mô hình hình học cho các loại
dáng đi. Dựa vào động học thuận của thân và động học nghịch của chân, tính toán
được vị trí đặt chân cho robot để có bước đi mượt và tránh bước nhảy
• Thiết kế thành công phần cơ khí robot sáu chân có phần đầu và bụng như loài kiến
• Robot hoạt động đúng bởi tác lệnh từ tay game Play Station, Phần Mềm điều
khiển qua điện thoại android, tự động di chuyển trong bản đồ từ LIDAR, gắp một
vật thể có trọng lượng nhỏ hơn 500g, có thể trực tiếp xem môi trường bên ngoài thông qua camera
• Robot chưa có thiết kế tối ưu
5.2. HƯỚNG PHÁT TRIỂN ĐỀ TÀI
• Tạo môi trường lập trình thân thiện hơn với học sinh, sinh viên. Người dùng có
thể tùy chỉnh dễ dàng các động tác, dáng đi, những module được tích hợp tùy
thuộc vào nhu cầu đề ra
• Tạo một giao diện mô phỏng ứng với hoạt động mỗi chân giúp người nghiên cứu
dễ dàng nắm bắt được thuật toán
• Hướng tới thiết kế khuôn nhằm giảm khối lượng ban đầu, tăng tải trọng
• Việc điều khiển bằng app còn gần do sử dụng đường truyền Bluetooth, phát triển
lên điều khiển bằng wifi hoặc sóng LORA, giúp ta có thể điều khiển Hexapod ở nhiều nơi hơn
• Tích hợp Ai, chuyển đổi ngôn ngữ C thành ngôn ngữ python để robot thông minh
hơn. Có khả năng giao tiếp trò chuyện với con người, dạy trẻ em học chữ. Phát
hiện người lạ trong nhà và phát ra âm thanh cảnh báo.
• Nghiên cứu những loại động cơ brushless giúp robot có tính bật nhảy cao. Lựa
chọn nguồn năng lượng cao, giúp robot hoạt động lâu hơn. Trong hoạt động tìm
kiếm cứu nạn động đất, phần đầu và bụng robot sẽ sử dụng những động cơ khỏe 73
hơn, giúp robot gắp những vật nặng như đá đất, robot luồn lách trong không gian
hẹp hơn, phần bụng sẽ mang nước, lương thực cho nạn nhân bị kẹt. 74
TÀI LIỆU THAM KHẢO
[1] Dan Thilderkvist and Sebastian Svensson (2015), “Motion Control of Hexapod
Robot Using Model-Based Design”, Printed in Sweden by Media-Tryck, pp. 17-19, pp. 42.
[2] Fredrik Persson and Mattias Lindström (2010), “The Memec Hexapod Robot a
demonstration platform”, pp. 9.
[3] NOAA (2013),“LIDAR—Light Detection and Ranging—is a remote sensing
method used to examine the surface of the Earth”
[4] Paul, Richard (1981), “Robot manipulators: mathematics, programming, and
control : the computer control of robot manipulators
”. MIT Press, Cambridge, MA. ISBN 978-0-262-16082-7.
[5] Sunil93 (2013), “Interfacing PS2 controller with AVR -Bit Bang”, pp. 4.
[6] Nguyễn Văn Hân (2017), “Giao thức truyền dữ liệu nối tiếp”, trang 4
[7] Trần Quốc Hùng (2012), “Giáo trình Dung sai - Kỹ thuật đo”, ”, nhà xuất bản ĐHQG TPHCM.
[8] Tăng Quang Khải và Nguyễn Tuấn Anh (2014), “Tìm hiểu giao diện SPI”, Hà Nội, trang 8-9.
[9] PGS.TS. Nguyễn Trường Thịnh (2014), “Giáo trình kỹ thuật robot”, nhà xuất bản ĐHQG TPHCM.
[10] Canberk Suat Gurel, “A project log for Hexapod Modelling, Path Planning and
Control”, https://hackaday.io/project/ 29/06/2017. [Internet]. [10/07/2019]
[11] http://www.slamtec.com/en/lidar/a1. [Internet]. [ xem 10/07/2019]
[12] https://store.arduino.cc/usa/mega-2560-r3. [Internet]. [xem 10/07/2019] 75