Thiết kế Robot điều khiển từ xa băng giọng nói

Đã từ lâu con người luôn mơ ước chế tạo được những máy móc thông minh, có một số chức năng thay thế con người, như khả năng nhìn và nhận dạng được các vật thể, nghe và thực hiện theo lời nói của con người. Nhưng cho mãi đến những năm gần đây, khi có những lý thuyết mới về xử lý thông tin và công nghệ phát triển, thì mơ ước đó mới dần trở thành hiện thực. Tuy thế, cho đến nay, giao tiếp giữa người với máy đã được cải thiện rất nhiều nhưng vẫn còn mức độ như thông qua bàn phím hay các thiết bị xuất nhập khác. Giao tiếp giữa người với máy bằng giọng nói sẽ là phương thức giao tiếp hiện đại và có ý nghĩa quan trọng trong cuộc sống như xe lăn cho nguời tàn tật được điều khiển bằng giọng nói, hay con người sẽ không dùng bàn phím hoặc chuột để giao tiếp với máy tính, mà thay vào đó sẽ điều khiển máy tính theo mệnh lệnh bằng ngôn ngữ. Trên thế giới đã có nhiều hệ thống nhận dạng giọng nói (tiếng Anh) đã và đang được ứng dụng rất hiệu quả như: ViaVoice, Dragon Naturally Speaking, Spoken Toolket nhưng do sự khác biệt về ngôn ngữ nên chúng ta không thể áp dụng chương trình trên để nhận dạng tiếng Việt. Do đó, một hệ thống nhận dạng giọng nói tiếng Việt cần phải được xây dựng. Đề tài này xin trình bày quá trình nghiên cứu thiết kế, chế tạo robot được điều khiển từ xa bằng giọng nói (tiếng Việt) với một bộ từ vựng nhỏ, thiết lập hệ thống điều khiển robot từ xa theo tập lệnh cố định.

pdf6 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2762 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Thiết kế Robot điều khiển từ xa băng giọng nói, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 38 THIẾT KẾ CHẾ TẠO ROBOT ĐIỀU KHIỂN TỪ XA BẰNG GIỌNG NÓI DESIGN AND MANUFACTURING REMOTE CONTROL ROBOT BY VOICE SVTH: Nguyễn Phú Sinh Lớp 05CĐT1, Khoa Cơ khí, Trường Đại học Bách khoa GVHD: PGS.TS. Trần Xuân Tùy Khoa Cơ khí, Trường Đại học Bách khoa TÓM TẮT Lĩnh vực Robot ngày càng chiếm được sự quan tâm của các nhà nguyên cứu và xã hội. Một trong những vấn đề rất được quan tâm khi nghiên cứu robot là làm thế nào để có thể giao tiếp giữa người - robot. Báo cáo này sẽ trình bày kết quả nghiên cứu, thiết kế chế tạo robot điều khiển từ xa bằng giọng nói. Trong đó giới thiệu các tính toán cơ bản các cơ cấu của robot, thiết kế mạch điều khiển từ xa và chương trình nhận dạng giọng nói tiếng Việt. ABSTRACT Nowadays, robot research field has been attracted attention from researchers and society. One of the most concerned matters when researching on robot is how to get into communication between human and robot. This report will present results of researching, designing and manufacturing remote control robot by voice. In which, we would like to introduce basic calculations of robot’s structures, the design of remote control circuit and the program for Vietnamese voice identification. 1. Mở đầu Đã từ lâu con người luôn mơ ước chế tạo được những máy móc thông minh, có một số chức năng thay thế con người, như khả năng nhìn và nhận dạng được các vật thể, nghe và thực hiện theo lời nói của con người. Nhưng cho mãi đến những năm gần đây, khi có những lý thuyết mới về xử lý thông tin và công nghệ phát triển, thì mơ ước đó mới dần trở thành hiện thực. Tuy thế, cho đến nay, giao tiếp giữa người với máy đã được cải thiện rất nhiều nhưng vẫn còn mức độ như thông qua bàn phím hay các thiết bị xuất nhập khác. Giao tiếp giữa người với máy bằng giọng nói sẽ là phương thức giao tiếp hiện đại và có ý nghĩa quan trọng trong cuộc sống như xe lăn cho nguời tàn tật được điều khiển bằng giọng nói, hay con người sẽ không dùng bàn phím hoặc chuột để giao tiếp với máy tính, mà thay vào đó sẽ điều khiển máy tính theo mệnh lệnh bằng ngôn ngữ. Trên thế giới đã có nhiều hệ thống nhận dạng giọng nói (tiếng Anh) đã và đang được ứng dụng rất hiệu quả như: ViaVoice, Dragon Naturally Speaking, Spoken Toolket…nhưng do sự khác biệt về ngôn ngữ nên chúng ta không thể áp dụng chương trình trên để nhận dạng tiếng Việt. Do đó, một hệ thống nhận dạng giọng nói tiếng Việt cần phải được xây dựng. Đề tài này xin trình bày quá trình nghiên cứu thiết kế, chế tạo robot được điều khiển từ xa bằng giọng nói (tiếng Việt) với một bộ từ vựng nhỏ, thiết lập hệ thống điều khiển robot từ xa theo tập lệnh cố định. Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 39 2. Nội dung 2.1. Tính toán thiết kế cơ khí Xác định momen và lực động xuất hiện trong quá trình chuyển động của robot sẽ quyết định đến chọn công suất động cơ, kiểm tra độ bền, độ cứng vững, đảm bảo độ tin cậy cho robot. Có nhiều phương pháp để xác định như phương pháp cơ học Lagrange, cơ học cổ điển…Báo cáo này trình bày phương pháp tính toán đơn giản là cơ học cổ điển, với phương pháp này sẽ bỏ qua quán tính, tương hổ, ly tâm…Các thông số đã được chọn trước để có thể tính toán: khối lượng của mỗi khâu, khối lượng tại mỗi khớp, khối lượng của đối tượng cần nâng, chiều dài mỗi khâu. W1, W2: là trọng lượng quy đổi của các khâu 2 và khâu 3 về vị trí tâm của mỗi khâu W4, W3: là trọng lượng của khớp 3 và khối lượng của vật cần nâng. L1, L2: là chiều dài của khâu thứ 2 và khâu thứ 3 L3: là khoảng cách từ tâm vật cần nâng đến khớp thứ 3 Ta sẽ dễ dàng xác định được mômen sơ bộ tại các khớp 2 và khớp 3 (hình 1) Mômen tại khớp 2: M1 = W1*L1/2 + L1*W4 + (L1+L2/2)*W2+ (L1+L3)*W3 Mômen tại khớp 3: M2 = L2/2*W2 + L3*W3 Từ đó có thể chọn được cơ cấu truyền động và các động cơ hợp lý. Chuyến động của khâu 3 được động cơ tác động thông qua cơ cấu tay quay con trượt (hình 2). Cơ cấu tay quay con truợt là cơ cấu bốn khâu bản lề có bốn khớp thấp. Để tránh ma sát lớn trong cơ cấu mà con trượt chủ động, tay quay bị dẫn thì cơ cấu cần thỏa mãn điều kiện: axm      (1) Hàm vị trí của cơ cấu khi con trượt chủ động: Hình 2. Cơ cấu tay quay con trượt Hình 3. Động cơ khớp 2 sau khi gắn hộp giảm tốc Hình 1. Sơ đồ phân tích lực hai bậc của cánh tay robot Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 40     22 2 2 0 2 2 0 0 ar arcsin 2 r e x s le ctg x s r x s e           (2) Trong đó: 2 2 0 ( )x e r e  (3) Dấu dưới tương ứng với trường hợp độ lệch tâm e ở phía bên trái. Ta chọn e = 0, tức độ lệch tâm bằng không thì: 2 2 2 2arcsin(2. ) / [2.r. -s]l r s l r     (4) Kích thước của các khâu đã chọn trước là L1 = L2 = 300 mm, l = 140 mm, r = 45 mm, và góc xoay cần đạt được là 120 độ, ta sẽ tính được hành trình của vít me là 150 mm. Vì vậy ta chọn vít me Ø10, chiều dài 180 mm. Động cơ dẫn động là động cơ Pitman DC 24v, 80 vòng/phút. Khớp thứ 2 được truyền động bằng động cơ DC 24V, 30W, 120 vòng/phút. Do tốc độ động cơ quá lớn nên khó điều khiển vị trí chính xác, đặc biệt là với tay máy đòi hỏi độ chính xác cao. Nên ta cần phải giảm tốc cho động cơ thông qua hộp giảm tốc Hospital có tỷ số truyền 1:60 từ động cơ Maxon, Nhật Bản. Động cơ khớp 2 sau khi gắn hộp giảm tốc Hospital như hình 2. 53 80 246 280 55 100 430 13 12 11 10 9 8 765 4 3 2 1 14 Hình 4. Kết cấu chung của robot 1 - đế robot; 2 - nhôm hộp 25x50; 3 – eru Ø6; 4 - khớp xoay 1; 5 - ổ bi Ø12; 6 - động cơ Pitman nhỏ; 7 - trục vít me Ø10; 8 - vít Ø6; 9 - bánh xe; 10 - động cơ lép; 11- động cơ khớp 2; 12 - hộp giảm tốc; 13 - bạc ổ bi Ø12; 14 - khâu 2. 2.2. Tính toán thiết kế mạch điều khiển Mạch điều khiển gồm hai phần: Phần mạch phát dùng nhận tín hiệu từ máy tính và truyền tín hiệu đi, phần mạch thu (hình 3) dùng để thu và xử lý tín hiệu, từ đó điều khiển robot. TANG NGUON TANG DIEU KHIEN TRUNG TAM TANG CÁCH LY J6301 CON2 1 2 5V RELAY6 RELAY4 C207 104 RELAY3 RELAY2 RELAY1 RL1 D607 RLA1 MT6 MT5 J202 CON3 3 2 1 R112 24V U201 7805 VIN 1 VOUT 3 GN D 2 Q201 2 31 12v PWM2 24V RLA2 J7 DC2 1 2 CB6 LS7 3 5 1 4 6 2 7 8 D192 MT4 AB CB3 U3 ULN2803 CO M 10 GN D 9 IN1 1 IN2 2 IN3 3 IN4 4 IN5 5 IN6 6 IN7 7 IN8 8 OUT1 18 OUT2 17 OUT3 16 OUT4 15 OUT5 14 OUT6 13 OUT7 12 OUT8 11 CB4 CB5 12v D608 PWM1 RELAY5 C46 104 D106 LED PWM3 U4 PIC18F4331 RC7/RX/DT 26 GN D 12 GN D 31 RC0/T1OSO/T1CLK 15 RC1/CCP2/FLTA 16 RC2/CCP1/FLTB 17 RC3/SCK/SCL 18 RC4/SDI/SDA 23RC5/SDO 24RC6/TX/CK 25 RA0/AN0 2 RA1/AN1 3 RA2/AN2 4 RA3/AN3 5 RA4/AN4 6 RA5/AN5 7 RB0/PWM0 33RB1/PWM1 34RB2/PWM2 35RB3/PWM3 36RB4/PWM5 37RB5/PWM4 38RB6/PGC 39RB7/PGD 40 MCLR/VPP 1 OSC1/CLK 13 VD D 11 VD D 32 RD0/PSP0 19 RD1/SDO 20 RD2/SDI/SDA 21RD3/SCK/SCL 22 RD4 27RD5/(PWM4) 28 RD6/PWM6 29RD7/PWM7 30 RE0/AN6 8 RE1/AN7 9 RE2/AN8 10 OSC2/CLKOUT 14 D107 LED R203 220 J8 DC1 1 2 RLA4 clock RLA3 Vpp RLA1 R7001 470 1 2 3 4 5 6 7 CB6 1 3 2 Q25 CB5 CB3 CB4 CB1 CB2 5v 5v DC2 DC1 RS DC3 + C5 220 12VC C47 104 PWM2 D609 OK2 D47 RL1 LS8 3 5 1 4 6 2 7 8 D52 PWM3 1 3 2 Q26 RL2 RL4 RL3 PWM4 ENCOR4 OP13 1 2 4 3 R113 R114 + C208 220 R115 CB1 R116 + C201 2200 24V D108 D109 RELAY6 RELAY4 PWM6 D110 D53 OP14 1 2 4 3 J203 1 2 PWM5 + C711 220_16v C731 104 U5 ULN2803 CO M 10 GN D 9 IN1 1 IN2 2 IN3 3 IN4 4 IN5 5 IN6 6 IN7 7 IN8 8 OUT1 18 OUT2 17 OUT3 16 OUT4 15 OUT5 14 OUT6 13 OUT7 12 OUT8 11 OP15 1 2 4 3 C6 + C7 220 PWM1 RX J11 DC3 1 2 12v OP16 1 2 4 3 C48 104 C209 104 J707 1 2 3 4 5 5v 5v SW701 RST ENCOR3 5v RLA5 R12 10k 1 2 3 4 5 6 7 RELAY1 D1003 D181 R204 1k D1007 J6003 CON8 1 2 3 4 5 6 7 8 D1008 R705 10k CLK74 Vpp E C210 104 R13 10k 17 6 5 4 3 2 TANG KHUYECH DAI RELAY2 Y2 4M C702 22p C703 22p J924 I2C 1 2 3 D610 C49 104 24V MT4 OSC1 R7 330 12v OSC2 OP17 1 2 4 3 D62 1N4007 1 2 data OSC1 1 3 2 Q27 1 3 2 Q28 OSC2 12v D57 DIODE D58 Q29 A1013 2 3 1 Q30 C23832 3 1 LS9 3 5 1 4 6 2 7 8 + C211 2200 OP18 1 2 4 3 OP19 1 2 4 3 D611 DC5 DC6 ENCOR1 LS10 3 5 1 4 6 2 7 8 D1009 LED RL4 R117 J910 ENCODER7-8 1 2 J12 DC4 1 2 R118 D1010 LED D1011 PWM6 PWM5 5v 5v 12v data clock D111 LED D612 1 3 2 Q31 12v OP20 1 2 4 3 R119 R120 J6005 CON3 1 2 3 MT2 R8 330 Q32 A1013 2 3 1 D48 1 2 1 3 2 Q33 CB1 D72 1N4007 1 2 CB3 CB2 CB5 CB4 TX CB6 Q34 C23832 3 1 OP21 1 2 4 3 DC1 TANG CONG SUAT RLA4 D193 Vdd DC2 DC3 24V R9 330 1 3 2 Q37 MT3 MT1 Q38 A1013 2 3 1 MT2 RLA6 MT3 Vdd RELAY3 Q41 C23832 3 1 OP22 1 2 4 3 D42 4007 OP23 1 2 4 3 OP24 1 2 4 3 C8 D74 1N4007 1 2 RL5 RL6 Vpp MT1 DC4 R15 330_1W DC5 DC4 Q44 A1013 2 3 1 D43 1 2 R205 10_1W DC6 R121 1 3 2 Q45 PWM4 D75 1N4007 1 2 CB2 Q48 C23832 3 1 ENCOR2 R122 RELAY5 R123 RL2 RLA2 RL5 RL6 RLA3RL3 Hình 3. Sơ đồ nguyên lý mạch thu. Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 41 2.2.1. Tầng xử lý trung tâm Sử dụng chip PIC18F4331, do chip này có 4 chân hỗ trợ điều xung PWM, ngoài ra còn 2 chân CCP có thể hoạt động ở chế độ PWM. Vậy tổng cộng có 6 chân điều xung, phù hợp với robot thiết kế, có 6 động cơ DC cần phải điều khiển tốc độ. 2.2.2. Tầng cách ly Vì tầng xử lý trung tâm có tín hiệu ra là 5V, trong khi đó các động cơ dùng trong robot đều hoạt động ở12V- 24V do đó ta phải dùng opto coupler như một khoá chuyển từ 5V sang 12V. Mạch này sử dụng bộ cách quang PC817. CC LED DIODE LED V V V 5 1,7 1,2 R 210Ω I 10        Ta chọn điện trở R = 330Ω hoặc 470Ω 2.2.3. Tầng công suất Mạch công suất sử dụng transistor hiệu ứng trường MOSFET IRF540 có khả năng cung cấp dòng lớn lên đến 5A, điều khiển bằng áp trên ngõ vào G. Mạch kích được lựa chọn là đẩy kéo(PUSH PULL) cho đáp ứng xung tốt. ULN2803 gồm 8 BJT ghép darlington có sẵn các điện trở và diode bảo vệ, cung cấp dòng 500mA, điện áp làm việc lên đến 50V. Ở điều kiện làm việc bình thường của ULN2803: IC =100mA, IB=250μA, VCE=2V. Giá trị của điện trở công suất trên tải ra của mạch đẩy kéo. CESAT CS CESAT 12 V 12 0,2 R 236Ω 50I      Do thị trường không có loại điện trở 236 Ω nên ta chọn Rcs=330 Ω. Công suất tiêu thụ trên điện trở 2 2 CESAT CSPcs = I .R 50 .330 0,82W  Chọn điện trở R = 330 Ω , P =1 đến 2 W. 2.3. Xây dựng hệ thống nhận dạng giọng nói Sơ đồ tổng quát của một hệ thống nhận dạng tiếng nói được thể hiện trên hình 6. Hình 6. Sơ đồ tổng quát của hệ thống nhận dạng tiếng nói. 2.3.1. Thực hiện ghi âm và tách từ Tiếng nói được thu âm qua một micro kết nối với máy tính. Tiếng nói sau khi được thu âm từ micro, dùng kỹ thuật xử lý đầu cuối để tách tín hiệu tiếng nói ra khỏi nền nhiễu. Tuy có nhiều phương pháp tách tiếng nói khác nhau, nhưng qua quá trình nghiên cứu tác giả thấy phương pháp kết hợp giữa hàm năng lượng thời gian ngắn và tỷ lệ qua điểm zero cho kết quả tốt hơn. Với một cửa sổ kết thức tại mẫu thứ m, hàm năng lượng thời gian ngắn E(m) được xác định: Tách từ Trích đặc trưng MFCC Đối sánh mẫu Kết quả Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 42 ( ) ( ( ) * ( )) n E m S n W n m     (5) Tỷ lệ qua điểm zero (zero crossing rate) là số lần mà biên độ tín hiệu đi qua điểm zero trong một khoảng thời gian cho trước được xác đinh:     1 sgn ( ) sgn ( 1)1 ( ) ( ) 2 m n m N s n s n Zs m w m n N        (6) Hình 7. Sự tương quan của tín hiệu tiếng nói, tỉ lệ qua điểm zero và hàm năng lượng thời gian ngắn của từ “Ba” Phương pháp này tuy đơn giản nhưng sẽ không còn chính xác nếu môi trường có nhiễu quá lớn. Tuy nhiên trong môi trường không quá ồn, giải thuật này có thể chấp nhận được. 2.3.2. Trích đặc trưng tiếng nói Quá trình nhân dạng mẫu cả ở pha huấn luyện đều trải qua giai đoạn trích đặc trưng tiếng nói. Bước này thực hiện các phân tích nhằm xác định các thông tin quan trọng, đặc trưng, ổn định của tín hiệu tiếng nói, giảm khối lượng dữ liệu cần xứ lý. Có nhiều phương pháp trích đặc trưng đã và đang được sử dụng như FBA, MFCC, LPC, PLP...Mỗi phương pháp đều có những ưu nhược điểm riêng. Hiện nay MFCC (Mel- scale Frequency Cepstral Coefficient) được sử dụng phổ biến và hiệu quả nhất. Vì vậy sử dụng MFCC làm đặc trưng của hệ nhận dạng được trình bày trong báo cáo này. MFCC là phương pháp trích đặc trưng dựa vào đặc điểm cảm thụ từ tần số âm của tai người : tuyến tính đối với tần số nhỏ hơn 1kHz và phi tuyến đối với tần số trên 1kHz (Theo thang tần số Mel). Ngoài ra trong hệ nhận dạng còn bổ xung them các hệ số delta MFCC. 2.3.3. Đối sánh mẫu Đối sánh mẫu là một trong những cách tiếp cận cơ bản để giải quyết bài toán nhận dạng. Trong lĩnh vực nhận dạng tiếng nói, cách tiếp cận này cũng được sử dụng và có hiệu Hình 8. Sơ đồ trích đặc trưng tiếng nói MFCC Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 43 quả. Đối sánh mẫu tức là sự xác định tương đương giữa các mẫu, hay nói cách khác là đo lường khoảng cách giữa các mẫu. Tùy theo đặc tả của hệ thống mà ta sử dụng các kỹ thuật so sánh mẫu khác nhau. Các kỹ thuật có thể dùng là DTW, HMM... Cuối cùng, luật quyết định là pha trợ giúp máy tính đưa ra kết quả nhận dạng mẫu tín hiệu nào gần giống nhất, hai luật được sử dụng rộng rãi là NN và KNN. Mô hình điều khiển này thực hiện theo kỹ thuật căn chỉnh thời gian động DTW (Dynamic Time Warping) và sử dụng luật K-NN (K- Nearest Neighbor Rule) Hình 9. Giao diện điều khiển và mô hình robot điều khiển từ xa 3. Kết luận Với kết quả thu được trong quá trình thử nghiệm trên mô hình thực tế, ta nhận thấy tuy hệ thống còn nhiều hạn chế như tốc độ xử lý còn chậm, môi trường hoạt động yêu cầu không quá ồn nhưng cũng đã đáp ứng được mục tiêu của đề tài. Mô hình hoạt động khá tốt với các lệnh: hệ một từ : “Tiến”, “Lùi”, “Trái”, “Phải” và hệ hai từ : “Một trái”, “Một phải”, “Hai lên”, ”Hai xuống”, ”Ba lên”, “ Ba xuống”. Trong thời gian đến tác giả sẽ tiếp tục nghiên cứu tối ưu hóa chương trình để đạt được kết quả tốt hơn. TÀI LIỆU THAM KHẢO [1] Lê Bá Dũng, Khoa Công nghệ Thông tin, Đại học Hàng Hải Việt Nam, Tài liệu tham khảo môn xử lý tiếng nói. [2] TS Nguyễn Văn Giáp, KS Trần Việt Hồng, Bộ môn Cơ điện tử, Khoa Cơ khí, Đại học Bách khoa Thành Phố Hồ Chí Minh, “Kỹ thuật nhận dạng tiếng nói và ứng dụng trong điều khiển”. [3] Quách Tuấn Ngọc (1997), Xử lí tín hiệu số, Nhà xuất bản giáo dục. [4] GS.TSKH. Nguyễn Thiện Phúc (2006), Robot công nghiệp, NXB khoa học kỹ thuật. [5] TS Nguyễn Đức Thành (2005), Matlab và ứng dụng trong điều khiển, Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh [6]