Tài liệu bao gồm file Doc+ pptBÁO CÁO MÔN HỌC HỆ THỐNG CƠ ĐIỆN TỬ THÔNG MINH Project: Kinect SensorBased Motion Control for Humanoid Robot HandsCHƯƠNG 1. ROBOT DẠNG TAY NGƯỜI1.1Giới thiệu chungNgành công nghiệp robot đã không ngừng nỗ lực hướng tới phát triển những con robot cùng tồn tại với con người. Xã hội robot, khác với các đối tượng khác hoạt động trong dây chuyền lắp ráp ở hầu hết các khóa cạnh trừ tính từ robot. Xã hội robot thường được phân loại là robot tương tác với con người, cho thấy chúng phải có hình thái giống người để phù hợp với chỉ định này. Hình 1.1 Cánh tay robotTrong bối cảnh thao tác của robot liên quan đến robot xã hội hoạt động trong môi trường đô thị, tiến bộ đạt được trong lĩnh vực này về mặt thực hiện phần cứng là đáng chú ý. Mức độ khéo léo của bàn tay robot hấp dẫn người dùng cuối bởi vì nó mang lại sự quen thuộc với quan niệm chung về các chi của robot, do đó làm cho công nghệ được chấp nhận nhiều hơn từ quan điểm xã hội, đặc biệt là khi nói đến tích hợp sinh học và phục hồi chức năng chân tay giả.Tuy nhiên, giá thành của công nghệ này cao do độ phức tạp của phần cứng và kích thước. Các ứng dụng đô thị khác, chẳng hạn như hoạt động tìm kiếm và cứu nạn hoặc cảnh sát, ưu tiên khả năng chịu tải cao hơn của cánh tay và bộ phận hiệu ứng cuối so với mức độ thao tác và khéo léo cao hơn. Lựa chọn giữa khả năng tải trọng và sự khéo léo là một quyết định mà người dùng phải thực hiện khi chọn một hệ thống robot. Với công nghệ thiết bị truyền động hiện nay, hai thông số này dường như tỷ lệ nghịch, hệ thống cung cấp cái này hay cái kia, nhưng hiếm khi cả hai. Nhận thức của xã hội về cánh tay hoặc bàn tay robot cũng bị ảnh hưởng bởi mức độ tự chủ mà nó có thể cung cấp. Nói chung, sự phức tạp của chuyển động học liên quan đến các hệ thống này làm cho việc điều khiển thời gian thực của chúng trở nên phức tạp khi hoạt động trong vòng kín với cảm biến phản hồi.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
BÁO CÁO MÔN HỌC
HỆ THỐNG CƠ ĐIỆN TỬ THÔNG
MINH
Motion Control for Humanoid Robot Hands
LÊ XUÂN TRUNG
letrungcn1hust@gmail.com
Ngành Kỹ thuật cơ điện tử Chuyên ngành Hệ thống Cơ điện tử thông minh
Giảng viên hướng dẫn: TS Hoàng Hồng Hải
SSHV:
Bộ môn:
20202742M
Cơ điện tử
Viện: Cơ khí
Chữ ký của GVHD
Trang 2HÀ NỘI, 02/2021
Trang 3MỤC LỤC
CHƯƠNG 1 ROBOT DẠNG TAY NGƯỜI 1
1.1 Giới thiệu chung 1
CHƯƠNG 2 CẢM BIẾN 3
2.1 Công nghệ cảm biến 3
2.2 Cảm biến Kinect 3
CHƯƠNG 3 ĐỘNG HỌC VÀ ĐỘNG LỰC HỌC ROBOT 5
3.1 Động học robot 5
3.2 Động lực học robot 6
CHƯƠNG 4 PHÂN ĐOẠN VÀ NHẬN DẠNG CỬ CHỈ TAY 7
4.1 Phân đoạn cử chỉ tay 7
4.2 Nhận dạng cử chỉ tay 8
4.3 Đánh giá hệ thống 10
KẾT LUẬN 12
TÀI LIỆU THAM KHẢO 13
Trang 4DANH MỤC HÌNH VẼ
Hình 1.1 Cánh tay robot 1
Hình 1.2 Cánh tay robot 2
Hình 2.1 Kinect sensor 3
Hình 2.2 Ứng dụng cảm biến Kinect trong khung xương người 4
Hình 3.1 Sơ đồ cấu trúc một ngón tay robot 5
Hình 4.1 Khung hệ thống nhận dạng cử chỉ tay cơ bản 7
Hình 4.2 Phương pháp lọc trung vị 7
Hình 4.3 Cấu trúc mô hình DBN 8
Hình 4.4 Cấu trúc RBM 9
Hình 4.5 Cấu trúc mô hình DBN 9
Hình 4.6 Mô hình Softmax Regression dưới dạng Neural netwwork 10
Hình 4.7 Hình ảnh cử chỉ tay thu được 11
Hình 4.8 Robot nhận dạng cử chỉ 11
Trang 5DANH MỤC BẢNG
Bảng 1 So sánh các kết quả thí nghiệm 11
Trang 6CHƯƠNG 1 ROBOT DẠNG TAY NGƯỜI
1.1 Giới thiệu chung
Ngành công nghiệp robot đã không ngừng nỗ lực hướng tới phát triển những con robot cùng tồn tại với con người Xã hội robot, khác với các đối tượng khác hoạt động trong dây chuyền lắp ráp ở hầu hết các khóa cạnh trừ tính từ robot Xã hội robot thường được phân loại là robot tương tác với con người, cho thấy chúng phải có hình thái giống người để phù hợp với chỉ định này
Hình 1.1 Cánh tay robot
Trong bối cảnh thao tác của robot liên quan đến robot xã hội hoạt động trong môi trường đô thị, tiến bộ đạt được trong lĩnh vực này về mặt thực hiện phần cứng là đáng chú ý Mức độ khéo léo của bàn tay robot hấp dẫn người dùng cuối bởi vì nó mang lại sự quen thuộc với quan niệm chung về các chi của robot, do
đó làm cho công nghệ được chấp nhận nhiều hơn từ quan điểm xã hội, đặc biệt là khi nói đến tích hợp sinh học và phục hồi chức năng chân tay giả
Tuy nhiên, giá thành của công nghệ này cao do độ phức tạp của phần cứng
và kích thước Các ứng dụng đô thị khác, chẳng hạn như hoạt động tìm kiếm và cứu nạn hoặc cảnh sát, ưu tiên khả năng chịu tải cao hơn của cánh tay và bộ phận hiệu ứng cuối so với mức độ thao tác và khéo léo cao hơn Lựa chọn giữa khả năng tải trọng và sự khéo léo là một quyết định mà người dùng phải thực hiện khi chọn một hệ thống robot Với công nghệ thiết bị truyền động hiện nay, hai thông
số này dường như tỷ lệ nghịch, hệ thống cung cấp cái này hay cái kia, nhưng hiếm khi cả hai Nhận thức của xã hội về cánh tay hoặc bàn tay robot cũng bị ảnh hưởng bởi mức độ tự chủ mà nó có thể cung cấp Nói chung, sự phức tạp của
Trang 7chuyển động học liên quan đến các hệ thống này làm cho việc điều khiển thời gian thực của chúng trở nên phức tạp khi hoạt động trong vòng kín với cảm biến phản hồi
Hình 1.2 Cánh tay robot
Mặc dù găng tay dữ liệu có thể nhận dạng tốt cử chỉ tay của người vận hành, nhưng găng tay dữ liệu rất bất tiện và đắt tiền Nếu cử chỉ tay của người điều khiển có thể được sử dụng để điều khiển trực tiếp bàn tay robot hình người, điều
đó sẽ mang lại nhiều tiện lợi và nó cũng có thể giảm đáng kể khó khăn khi vận hành Do đó, bài báo này đề xuất phương pháp tiếp cận dựa trên cảm biến Kinect của Microsoft để điều khiển hoạt động cho bàn tay robot hình người, người vận hành không cần thiết bị bổ sung và cũng không cần phải có nhiều kiến thức chuyên môn để có thể dễ dàng điều khiển robot hình bàn tay người Các phương pháp thông thường để phân đoạn cử chỉ tay của con người dựa trên phát hiện màu da hoặc bộ phân loại các tính năng Haar Tuy nhiên, độ chính xác nhận dạng
bị ảnh hưởng rất nhiều bởi sự thay đổi ánh sáng hoặc sự giao thoa của các đối tượng gần với màu da của bàn tay, đặc biệt là bàn tay và khuôn mặt của con người thường khó phân biệt, nhưng việc phân chia cử chỉ tay dựa trên độ sâu hình ảnh có thể khắc phục những vấn đề đó Phân đoạn cử chỉ tay dựa trên độ sâu của anh thường sử dụng ngưỡng kép hoặc phương pháp theo dõi khung xương, bài báo này kết hợp hai phương pháp để phân đoạn cử chỉ tay Nói chung, các phương pháp nhận dạng cử chỉ có thể được chia thành hai loại: nhận dạng cử chỉ tĩnh và nhận dạng cử chỉ động, phương pháp trước chủ yếu nghiên cứu hình dạng
và tư thế của bàn tay, phương pháp sau chủ yếu nghiên cứu quỹ đạo chuyển động của bàn tay và phương pháp trước đây thường sử dụng RBF, DBN, Tính năng PNN, SVM, HOG, tính năng hình học, v.v., sau này sử dụng các phương pháp, ví
dụ, DTW, HMM, v.v Zhou Ren đề xuất FEMD (khoảng cách giữa các ngón tay ), nó có thể phân biệt rõ các cử chỉ của bàn tay có sự khác biệt nhỏ, nhưng nó chỉ khớp với các ngón tay chứ không khớp với toàn bộ hình dạng bàn tay, do đó, không thể đánh giá hướng của bàn tay Ngoài ra, từ các đặc điểm của thuật toán
có thể thấy, nếu camera không đối diện với lòng bàn tay rất có thể dẫn đến việc nhận dạng không thành công hoặc lỗi nhận dạng
Trang 8CHƯƠNG 2 CẢM BIẾN
2.1 Công nghệ cảm biến
Cảm biến là yếu tố quan trọng của bất kỳ hệ thống cơ điện tử nào vì chúng xác định trạng thái hiện tại hoặc đầu ra của hệ thống Bộ cảm biến và bộ khuếch đại được thiết kế để hoạt động với hiệu suất công suất thấp Một cảm biến lý tưởng trích xuất thông tin từ một hệ thống mà không hấp thụ bất kỳ nguồn điện nào và nó cung cấp thông tin cho hệ thống khác với công suất hữu hạn Nếu chúng ta nói về bộ khuếch đại như một phần tử điều hòa tín hiệu trong hệ thống
cơ điện tử, nó nhận tín hiệu đầu vào ở mức công suất gần như bằng không và ảnh hưởng đến hệ thống khác ở mức công suất cao hơn nhiều Sự khác biệt giữa cảm biến và đầu dò thường gây nhầm lẫn Đầu dò được định nghĩa là phần tử mà khi chịu một số thay đổi vật lý ảnh hưởng đến một thay đổi khác có liên quan đến sự thay đổi vật lý
2.2 Cảm biến Kinect
Kinect (tên mật trong thời gian phát triển là Project Natal) là thiết bị cảm biến ngoại vi thu chuyển động phát triển bởi Microsoft dành cho máy console Xbox 360 và Windows Khi kết nối vào Xbox 360, người chơi có thể điều khiển
và tương tác với máy console mà không cần tay cầm điều khiển, thông qua giao diện người dùng tự nhiên sử dụng cử chỉ và lệnh thoại
Hình 2.3 Kinect sensor
Cảm biến này có một máy ảnh RGB, cảm biến độ sâu 3D ở mặt trước và nhiều dãy micrô ở hai bên Cảm biến cũng bao gồm độ nghiêng cơ giới trong phạm vi ±27o Thuật toán trong Kinect phát hiện các khớp của con người trong cảm biến trường xem và biểu diễn chúng như một vị trí (x; y; z) của một không gian 3D Nó có thể đo khoảng cách từ một vật cách 1,2–3 m theo thứ tự chính xác 1 cm Nó cũng rẻ hơn so với các cảm biến RGB-D khác Kinect được sử dụng với một máy tính mạnh mẽ và Microsoft Kinect SDK C # là ngôn ngữ lập trình để sử dụng SDK Nó cung cấp thông tin về bộ xương với 20 điểm chung cho mỗi người Việc lựa chọn cảm biến Kinect để có thể cung cấp thông tin chi tiết về các điểm trên bàn tay con người một cách tốt nhất
Trang 9Hình 2.4 Ứng dụng cảm biến Kinect trong khung xương người
Để kích hoạt tính năng nhận dạng cử chỉ tay mạnh mẽ hơn, một cách hiệu quả là sử dụng các cảm biến khác để ghi lại cử chỉ và chuyển động của bàn tay,
ví dụ: thông qua găng tay dữ liệu Không giống như cảm biến quang học, những cảm biến như vậy thường đáng tin cậy hơn và không bị ảnh hưởng bởi điều kiện ánh sáng hoặc nhiều sinh ra từ nền Tuy nhiên, vì nó yêu cầu người dùng đeo găng tay dữ liệu và đôi khi yêu cầu hiệu chuẩn, nó là bất tiện để sử dụng và có thể cản trở sự tự nhiên khớp của cử chỉ tay Ngoài ra, găng tay dữ liệu như vậy thường đắt hơn cảm biến quang học, ví dụ: máy ảnh Kết quả là, nó không phải là một cách rất phổ biến để nhận dạng cử chỉ tay Nhờ sự phát triển gần đây của máy ảnh độ sâu rẻ tiền, ví dụ, cảm biến Kinect, các cơ hội mới để nhận dạng cử chỉ tay xuất hiện Thay vì đeo găng tay dữ liệu, sử dụng cảm biến Kinect cũng có thể phát hiện và phân đoạn bàn tay một cách mạnh mẽ, do đó nó cung cấp cơ sở hợp lệ để nhận dạng cử chỉ Trong mặc dù có nhiều thành công gần đây trong việc áp dụng cảm biến Kinect cho nhận dạng khuôn mặt khớp, theo dõi cơ thể người và công nhận hành động của con người, nó vẫn còn là một vấn đề mở để
sử dụng Kinect để nhận dạng cử chỉ tay Do độ phân giải thấp của bản đồ độ sâu Kinect, thường chỉ có 640x480, mặc dù nó hoạt động tốt để theo dõi một vật thể lớn, ví dụ: cơ thể người, nó khó phát hiện và phân đoạn một vật thể nhỏ khỏi hình ảnh với độ phân giải này, ví dụ: bàn tay con người chiếm rất nhiều phần nhỏ của hình ảnh với nhiều khớp phức tạp hơn Trong trong trường hợp như vậy, phân đoạn của bàn tay thường không chính xác, do đó có thể ảnh hưởng đáng kể đến bước nhận dạng
Trang 10CHƯƠNG 3 ĐỘNG HỌC VÀ ĐỘNG LỰC HỌC ROBOT
3.1 Động học robot
Dựa trên khả năng linh hoạt ở các khớp của robot để có thể điều khiển được theo ý muốn Việc mô hình D-H là một phương pháp đơn giản để mô hình hóa các khớp của robot, có thể được sử dụng để biểu diễn bất kỳ cấu hình robot phức tạp nào, thường được sử dụng trong mô hình động học robot hình người Một bàn tay robot hình người với 15 DOF (bậc tự do), tổng cộng của 5 ngón tay, mỗi ngón có 4 khớp ngón tay và 3 khớp ngón tay (khớp xa của mỗi ngón tay được ghép với cử động khớp giữa) Để thuận tiện cho việc sản xuất công nghiệp và điều khiển chuyển động, 5 ngón tay có cấu tạo giống nhau
Trong phân tích động học và điều khiển các tác vụ thao tác của robot tự động, mục tiêu đầu tiên là tạo ra ma trận chuyển đổi toàn cục ánh xạ động học cục bộ (chẳng hạn như vị trí hoặc tốc độ) của một điểm trên một liên kết cụ thể thành một khung quán tính toàn cục 0 Mọi khớp i của người thao tác và bàn tay được gán khung cục bộ 1 i - Do đó, đối với rô bốt có n liên kết, tồn tại n khung, trong đó khung n thường được gán cho liên kết cuối hoặc đầu ngón tay khi tồn tại một hiệu ứng cuối
Hình 3.5 Sơ đồ cấu trúc một ngón tay robot
Ma trận chuyển đổi toàn cục n0T cho khung toàn cầu 0 có thể được thiết lập bằng Denavit-Hartenberg các thông số như sau:
i=0
n −1
T = i+1 i¿10T21T … n−1 n T
n
0
¿
Với ma trận thuần nhất từng khâu khớp tương ứng với:
Trang 11i+1
i
=[i+1 i R i +1 i d
Với i+1 i R là ma trận cosin chỉ phương
Từ đó ta có kết quả của tọa độ điểm cuối khâu thao tác của robot
[x y
z]=¿
Bài toán nghịch đảo động học của ngón tay được gọi là vị trí của robot hình người bàn tay trong hệ tọa độ cơ sở để giải quyết các biến khớp khác nhau Toàn bộ quá trình giải quyết là một vấn đề phi tuyến tính, hay không các giải pháp phụ thuộc vào việc các ngón tay có thể chạm tới ở vị trí xác định
Theo cấu trúc sinh lý của bàn tay con người, chuyển động khớp xa của ngón tay không độc lập, khi h4 = 2h3 / 3 là thích hợp hơn θ i (i = 1, 2, 4) được biểu thị bằng:
[θ1
θ2
θ4]=
x)
B2−D2 )
Trong đó: A= C x
1−a1, B=z , D=a2+a3cos(θ3)+a4cos(θ3+θ4)
θ3 có thể được nhận bằng phương pháp số
cos(θ3)
cos(θ3+θ4)
cos(θ4)
a2 =[ (C x1−a1)2+z2−a22−a32−a24]/(2a2a3a4)
3.2 Động lực học robot
Một mô hình chung thể hiện hành vi động về phía trước của cánh tay và bàn tay robot với n-liên kết có thể được minh họa dưới dạng bảo toàn theo tọa độ tổng quát q (t) như sau:
M (q , t) ´q+F ( ´q , t ) ´q +C (q , ´q ,t ) ´q+G (q , t )=τ (t)
Trong đó các ma trận M, F, C, G lần lượt là ma trận khối lượng của robot, F
là ma trận lực ma sát, giảm xóc tác động lên robot, ma trận C là ma trận Coriolis
và G là ma trận thế năng của robot
Do đó, mục tiêu của sơ đồ điều khiển động là tính toán lịch sử thời gian của luật điều khiển τ (t) cho phép các liên kết của cánh tay và bàn tay tuân theo một ý muốn quỹ đạo hoặc duy trì một vị trí (hoặc tốc độ) mong muốn bằng cách vượt qua lực cản từ môi trường Lược đồ điều khiển này bao gồm các phương pháp tương quan với vectơ đầu vào với vị trí của các liên kết, được gọi là điều khiển vị trí hoặc các phương pháp tương quan với vectơ đầu vào vận tốc của các liên kết,
Trang 12được gọi là điều khiển tốc độ Trong cả hai trường hợp, phản hồi phụ thuộc vào thời gian của các biến không gian làm việc như vị trí hoặc vận tốc cần được tích hợp trong điều khiển để đảm bảo tính ổn định của chương trình
CHƯƠNG 4 PHÂN ĐOẠN VÀ NHẬN DẠNG CỬ CHỈ TAY
4.1 Phân đoạn cử chỉ tay
Sử dụng cảm biến Kinect làm thiết bị đầu vào, để chụp ảnh màu và bản đồ
độ sâu ở độ phân giải 640x480 Nói chung là chiều sâu thông tin bắt nguồn từ cảm biến Kinect có thể sử dụng được nhưng không chính xác lắm về chi tiết
Hình 4.6 Khung hệ thống nhận dạng cử chỉ tay cơ bản
Để phân đoạn hình dạng bàn tay, trước tiên cần xác định vị trí bàn tay bằng cách sử dụng chức năng theo dõi bàn tay Kinect windows SDK Sau đó, bằng cách đặt ngưỡng từ vị trí bàn tay với một khoảng độ sâu nhất định, có thể thu được một vùng bàn tay thô Phương pháp lọc trung vị được sử dụng để đối phó với nhiễu và kết hợp với hình thái mở và đóng hoạt động làm cho hình ảnh được đầy đủ và rõ ràng hơn
Hình 4.7 Phương pháp lọc trung vị
Thuật toán đầu nguồn là một phương pháp phân đoạn hình thái học dựa trên lý thuyết topology Khi phần còn lại của cơ thể hoặc các đối tượng xung quanh bàn tay robot ở cùng độ sâu, thông qua hình ảnh của phân đoạn ngưỡng
Trang 13kép, không chỉ có các cử chỉ và các bộ phận khác của cơ thể hoặc các đối tượng xung quanh, các thuật toán đầu nguồn có thể được sử dụng để có được các cử chỉ Nếu kết quả tính toán có một số vùng được phân đoạn, các đặc điểm hình thái, kích thước và các khía cạnh khác của vùng cũng có thể được kết hợp để xác định các vùng cử chỉ
Lấy điều khiển bên trái làm ví dụ, các bước xử lý hệ thống như sau:
(1) Nhận hình ảnh chiều sâu và thông tin về khớp xương từ cảm biến Kinect
(2) Nếu các điểm xương bên trái được thu nhận, giá trị độ sâu của chúng
là DL sẽ được nhận Nếu không bắt được điểm tay trái, nhưng bắt được điểm khớp vai, độ sâu giá trị của DS khớp vai được sử dụng để trừ đi ngưỡng
threshol1 (theo tình hình thực tế và kinh nghiệm, thử nghiệm này lấy 390 mm) làm chiều sâu bên trái DL (DL = DS-threshold1) Nếu khớp vai chưa bắt, ghi Dmin đối với độ sâu tối thiểu của hình ảnh độ sâu, hãy thêm Dmin vào ngưỡng giá trị độ sâu threshold2 (theo tình hình thực tế và kinh nghiệm, thử nghiệm này
sẽ 68 mm) làm độ sâu bên trái DL (DL = Dmin + threshold2) Theo trải nghiệm lấy hai ngưỡng D1, D2, giá trị độ sâu trong [DL-D1, DL + D2] trong vùng dưới dạng cử chỉ, hình ảnh chiều sâu được thay đổi thành hình ảnh nhị phân theo cách này
Thuật toán water-shed và phương pháp lọc trung vị được sử dụng cho hình ảnh để phân đoạn và xử lý giúp thu được dữ liệu tốt hơn, tránh được nhiễu ảnh hướng tới quá trình nhận dạng
Có thể yêu cầu người dùng đeo đai đen trên cổ tay cử chỉ của bàn tay để phân chia hình dạng bàn tay một cách chính xác hơn Sau khi phát hiện các pixel màu đen, chúng tôi sử dụng RANSAC để điều chỉnh một đường thẳng để xác định vị trí vành đai đen Hình dạng bàn tay thường có độ phân giải 100x100 pixel, có thể bị biến dạng nghiêm trọng
4.2 Nhận dạng cử chỉ tay
Deep Belief Networks (DBNs) được phát minh như một giải pháp cho các vấn đề gặp phải khi sử dụng đào tạo mạng nơ-ron truyền thống trong các mạng phân lớp sâu, chẳng hạn như học chậm, bị mắc kẹt trong minima cục bộ do lựa chọn tham số kém và yêu cầu nhiều tập dữ liệu đào tạo