Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 266 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
266
Dung lượng
14,21 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - NGUYỄN XUÂN TIÊN NGHIÊN CỨU MƠ HÌNH HĨA VÀ ĐIỀU KHIỂN BIPED ROBOT LUẬN ÁN TIẾN SĨ KỸ THUẬT TP HỒ CHÍ MINH NĂM 2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - NGUYỄN XN TIÊN NGHIÊN CỨU MƠ HÌNH HĨA VÀ ĐIỀU KHIỂN BIPED ROBOT Chuyên ngành: Kỹ thuật điện Mã số chuyên ngành: 62520202 Phản biện 1: PGS.TS Nguyễn Chí Ngơn Phản biện 2: PGS.TS Võ Ngọc Điều Phản biện 3: PGS.TS Huỳnh Châu Duy CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Tấn Tiến PGS.TS Nguyễn Thanh Phương CÔNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP HCM Luận án Tiến sĩ bảo vệ Trường Đại học Công nghệ TP HCM ngày 13 tháng năm 2022 Thành phần Hội đồng đánh giá luận án gồm: TT Họ tên Chức danh Hội đồng Chủ tịch GS.TS Lê Kim Hùng PGS.TS Nguyễn Chí Ngơn Phản biện PGS.TS Võ Ngọc Điều Phản biện PGS.TS Huỳnh Châu Duy Phản biện PGS.TS Ngô Cao Cường Ủy viên TS Lê Đình Lương Ủy viên TS Nguyễn Trọng Hải Ủy viên, Thư ký Xác nhận Nghiên cứu sinh, tập thể cán hướng dẫn, Khoa/Viện quản lý chuyên ngành Viện Đào tạo sau đại học sau Luận án sửa chữa Cán hướng dẫn Cán hướng dẫn PGS.TS Nguyễn Tấn Tiến PGS.TS Nguyễn Thanh Phương KHOA QUẢN LÝ CHUYÊN NGÀNH PGS.TS Nguyễn Thanh Phương Nghiên cứu sinh Nguyễn Xuân Tiên VIỆN ĐÀO TẠO SAU ĐẠI HỌC PGS.TS Huỳnh Châu Duy CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP HCM Cán hướng dẫn khoa học: PGS.TS Nguyễn Tấn Tiến………………………… PGS.TS Nguyễn Thanh Phương………………… Luận án Tiến sĩ bảo vệ Trường Đại học Công nghệ TP HCM ngày 13 tháng năm 2022 Thành phần Hội đồng đánh giá luận án gồm: Họ tên TT Chức danh Hội đồng Chủ tịch GS.TS Lê Kim Hùng PGS.TS Nguyễn Chí Ngơn Phản biện PGS.TS Võ Ngọc Điều Phản biện PGS.TS Huỳnh Châu Duy Phản biện PGS.TS Ngơ Cao Cường Ủy viên TS Lê Đình Lương Ủy viên TS Nguyễn Trọng Hải Ủy viên-Thư ký Xác nhận Chủ tịch Hội đồng đánh giá luận án sau Luận án báo cáo sửa chữa Chủ tịch Hội đồng đánh giá Luận án GS.TS Lê Kim Hùng LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu tơi Các số liệu, kết nêu luận án trung thực chưa công bố cơng trình khác Tơi xin cam đoan giúp đỡ cho việc thực luận án cảm ơn đầy đủ thông tin trích dẫn luận án rõ nguồn gốc Tác giả luận án Nguyễn Xuân Tiên i TĨM TẮT Luận án trình bày nghiên cứu mơ hình hóa, điều khiển mơ chuyển động bước robot dạng người loại nhỏ, thực nghiệm điều khiển mô hệ thống cấu cân đối trọng giúp cải thiện dáng robot dạng người loại nhỏ giảm nghiêng người bước Đầu tiên mơ tả thiết kế, mơ hình hóa động học động lực học robot dạng người loại nhỏ gồm 17 bậc tự có bậc tự chân, bậc tự tay, bậc tự bụng dùng cho mục đích thiết kế hệ thống cấu cân đối trọng cho robot dạng người loại nhỏ sử dụng động DC Servo dạng mơ-đun Từ đề xuất mơ hình hóa động lực học tổng qt cho phần thân robot dạng người loại nhỏ gồm 10 bậc tự do, xem phần thân robot cánh tay máy 10 bậc tự mơ hình hóa xuyên suốt từ chân sang chân khác với chân gồm bậc tự Đồng thời dựa vào nghiên cứu khác để đề xuất giải thuật tạo quỹ đạo chuyển động bước phù hợp cho robot dạng người loại nhỏ có phần thân gồm 10 bậc tự với chân gồm bậc tự Sau đó, mơ hình động lực học đưa phương trình tốn nhằm mục đích tính tốn thiết kế điều khiển bước cho robot dạng người loại nhỏ có phần thân gồm 10 bậc tự Tiếp theo luận án trình bày thiết kế điều khiển trượt điều khiển trượt hồi qui để điều khiển bước cho robot dạng người loại nhỏ có phần thân gồm 10 bậc tự với chân gồm bậc tự Thực mô kết điều khiển điều khiển trượt điều khiển trượt hồi qui Thông qua việc so sánh kết mô điều khiển trượt điều khiển trượt hồi qui từ đề xuất điều khiển trượt hồi qui để điều khiển bước cho robot dạng người loại nhỏ giải pháp điều khiển đạt hiệu tốt giúp điều khiển robot dạng người bước theo quỹ đạo cài đặt trước Cuối luận án trình bày thiết kế điều khiển hệ thống cấu cân đối trọng giúp cải thiện dáng robot dạng người giảm nghiêng người bước để robot dạng người loại nhỏ có dáng gần giống với dáng người Kết mô thực nghiệm tiến hành thực thành công Matlab ii ABSTRACT The thesis presents research on modeling, controlling, and simulating the walking movements of small humanoid robots, experimentally controlling and simulating the counterbalance mechanism system to improve the humanoid robot's gait so that can reduce leaning when the robot walks The first is the model description, kinematics, and dynamics modeling of a small humanoid robot with 17 degrees of freedom (DoF) including DoF in each leg, DoF in each hand, and degree of freedom in the belly to design a counterbalance system for a small humanoid robot and use a DC Servo motor From there, a general dynamics model is proposed for the lower body of a small humanoid robot with 10 DoF, considering the robot's lower body as a robotic arm with 10 DoF modeled through the legs from foot to foot with DoF each leg At the same time, based on the other studies, to propose an algorithm to create a suitable walking motion trajectory for a small humanoid robot with a lower body consisting of 10 DoF with DoF on each leg After that, the dynamic model will be converted to a mathematical equation for calculating and designing a step controller for a small humanoid robot with a lower body with 10 DoF Next, this thesis designs a sliding controller and a slide controller backingstep to control the steps for a small humanoid robot with a lower body consisting of 10 DoF with DoF on each leg Simulation results of two sliding controllers and sliding controllers backingstep Through Compare results between two sliding controllers and the sliding controller backingstep, the backingstep slide controller is proposed to control the steps for small humanoid robots as an effective control solution The best results are to help the humanoid robot walk according to the pre-set trajectory Finally, the thesis has designed a counterweight control system to improve the gait of the humanoid robot to reduce the tilt when walking so that the small humanoid robot has a human-like gait Simulation and experimental results have been successfully implemented by using Matlab software iii LỜI CÁM ƠN Lời xin gửi lời cảm ơn chân thành đến thầy PGS.TS.Nguyễn Tấn Tiến PGS.TS.Nguyễn Thanh Phương bảo hướng dẫn tận tình suốt thời gian thực luận án, tạo điều kiện cho học tập nghiên cứu Trung tâm nghiên cứu Thiết bị Công nghệ Cơ khí Bách khoa (HiTechLab) Phịng Thí nghiệm Trọng điểm Quốc gia Điều khiển số Kỹ thuật Hệ thống (DCSELab)-Trường đại học Bách khoa TP.HCM giúp tiếp thu nhiều kiến thức chuyên môn cách làm việc chuyên nghiệp Tiếp theo, xin gửi lời cảm ơn đến quý thầy môn Cơ điện tử, môn Điện trường Đại học Bách khoa TP.HCM, quý thầy môn Điện trường Đại học Sư phạm kỹ thuật TP.HCM, quý thầy Viện kỹ thuật HUTECH trường Đại học cơng nghệ TP.HCM nhiệt tình giảng dạy góp ý cung cấp kiến thức chuyên ngành, giúp tơi hồn thành luận án Cuối cùng, tơi xin cảm ơn tất thành viên Hi-tech Mechatronics Lab, thành viên DCSELab người bạn làm việc, chia sẻ kiến thức kinh nghiệm thời gian học tập nghiên cứu Xin cám ơn Đảng ủy, BGH trường Đại học Sài gòn, Khoa Điện tử Viễn thơng, đồng nghiệp gia đình tạo điều kiện thuận lợi động viên giúp đỡ suốt thời gian học tập, nghiên cứu công tác Trân trọng! Tác giả luận án Nguyễn Xuân Tiên iv MỤC LỤC LỜI CAM ĐOAN .i TÓM TẮT ii ABSTRACT iii LỜI CÁM ƠN iv MỤC LỤC .v DANH MỤC CÁC HÌNH ẢNH viii DANH MỤC CÁC BẢNG BIỂU xii DANH MỤC CÁC TỪ VIẾT TẮT xiii MỞ ĐẦU Động lực nghiên cứu .2 Mục tiêu nghiên cứu .2 Nhiệm vụ giới hạn nghiên cứu Phương pháp nghiên cứu Điểm đề tài nghiên cứu .3 Giá trị thực tiễn nghiên cứu Bố cục luận án CHƯƠNG 1: TỔNG QUAN 1.1 Tổng quan vấn đề nghiên cứu 1.1.1 Tổng quan robot dạng người 1.1.2 Tổng quan vấn đề mơ hình hố robot dạng người .10 1.1.2.1 Gốc tọa độ cố định .11 1.1.2.2 Gốc tọa độ tự .11 1.1.3 Tổng quan vấn đề điều khiển robot dạng người 12 1.1.4 Tổng quan vấn đề giữ thăng robot dạng người .13 1.1.5 Tổng quan vấn đề liên quan bước robot dạng người .14 1.1.5.1 Kiểu bị động 15 1.1.5.2 Kiểu chủ động 16 1.2 Kết luận 19 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 20 v 2.1 Mô tả robot dạng người loại nhỏ 21 2.1.1 Số bậc tự phần đầu 21 2.1.2 Số bậc tự phần tay 21 2.1.3 Số bậc tự phần hông 22 2.1.4 Số bậc tự phần chân 22 2.1.5 Các tiêu chí cấu chấp hành 25 2.1.6 Các phương án lựa chọn cấu chấp hành đề xuất .25 2.2 Mơ hình hóa 28 2.2.1 Động học robot dạng người 28 2.2.1.1 Động học thuận tay 29 2.2.1.2 Động học nghịch tay 33 2.2.1.3 Động học thuận chân .36 2.2.1.4 Động học nghịch chân 41 2.2.2 Động lực học tổng quát robot dạng người 47 2.2.3 Động lực học robot dạng người có phần thân gồm 10 DoF 54 2.3 Tính tốn quỹ đạo ZMP 64 2.4 Giải thuật tạo quỹ đạo online cho robot dạng người .65 2.4.1 Thiết lập quỹ đạo 66 2.4.1.1 Quỹ đạo theo phương X 66 2.4.1.2 Quỹ đạo theo phương Y 68 2.4.1.3 Quỹ đạo theo phương Z 69 2.4.2 Xác định kiểm tra ZMP 69 2.4.2.1 Theo phương X 69 2.4.2.2 Theo phương Y 70 2.5 Kết luận 71 CHƯƠNG 3: ĐIỀU KHIỂN BƯỚC ĐI CHO ROBOT DẠNG NGƯỜI .72 3.1 Điều khiển trượt .72 3.2 Mô .74 3.2.1 Thiết lập liệu mô 74 3.2.2 Kết mô 75 vi , suy ra: (7) Vậy, (8) Từ đó, vector Vi tính theo cơng thức: (9) H 13 H 14 Hình 10 Hệ trục tọa độ địa phương gắn với thể người H 15 H 16 Hình 11 Các vector phương cần thiết cho việc tính tốn Bảng Ký hiệu tọa độ vector Vect or V1 Tiếp theo tính tốn Xét mơ hình Hình 12 Gọi V2 quanh trục x, y z V4 - Khớp vai phải: vector V5 xoay vector [1 0]T theo roll ( Tọa độ [x12 y12 z12] [x23 y23 z23] [x45 y45 z45] [x56 y56 z56] Tọa độ Vect or V7 [x78 y78 z78] V8 [x89 y89 z89] V10 [x1011 y1011 z1011] [x1112 y1112 z1112] V11 góc xoay cho động humanoid robot góc xoay khớp Pi Ta có: V1 kết phép hai phép xoay yaw ( ) ) (10) Khớp khuỷu tay phải: vector V2 kết phép xoay vector [1 0] T theo ba phép xoay pitch ( ), yaw ( ) roll ( ) (11) với Tiếp tục tính tốn tương tự cho tay trái hai chân: - Khớp vai trái: vector V4 kết phép xoay vector [-1 0] T theo hai phép xoay yaw ( ) roll ( ) (12) - Khớp khuỷu tay trái: vector V5 kết phép xoay vector [-1 0]T theo ba phép xoay pitch ( ), yaw ( ) roll ( ) (13) với - Khớp hông chân phải: vector V7 kết phép xoay vector [0 -1 0]T theo hai phép xoay roll ( ) yaw ( ) (14) - Khớp gối chân phải: vector V8 kết phép xoay vector [0 -1 0]T theo ba phép xoay roll ( roll ( ) yaw ( ) (15) với, ), - Khớp hông chân trái: vector V10 kết phép xoay vector [0 -1 0]T theo hai phép xoay roll ( ) yaw ( ) (16) - Khớp gối chân trái: vector V11 kết phép xoay vector [0 -1 0]T theo ba phép xoay roll ( ), roll ( ) yaw ( ) (17) với, H 17 H 18 H 19 Hình 12 Mơ hình humanoid robot nhóm nghiên cứu Vì có khác biệt lớn thể người mơ hình robot, dùng phương pháp tương tự để tính tốn góc cụm khớp cổ chân robot bị ngã Việc giữ cân cho humanoid robot vấn đề phức tạp Thông thường, việc điều khiển robot Kinect áp dụng cho phần tay Tuy nhiên, muốn có chuyển động phần chân mà không thiết phải giống hệt người điều khiển, nhóm nghiên cứu sử dụng giải thuật giữ cân tĩnh dựa vị trí điểm trọng tâm robot Cụ thể, góc xoay khớp gối khớp cổ chân robot tính tốn dựa theo góc xoay khớp hơng cho hình chiếu trọng tâm robot xuống mặt đất ln nằm gần với trọng tâm mặt phẳng chân đế (H 9) Giải thuật giúp robot thực động tác nhún chân chỗ, nhờ robot chuyển động cách sinh động hơn, phù hợp cần tạo chuyển động nhảy múa cho robot Y1 Thân robot Thân robot Y1 Z1 α X1 𝛾 L1 π-α-β β L2 β = f (α, L1, L2) 𝜋 −𝛾 H 20 H 21 Hình 13 Cân cho robot IV KẾT QUẢ THỰC NGHIỆM Nhóm nghiên cứu tiến hành thực nghiệm cần thiết Kết bổ sung sau V KẾT LUẬN Bài báo trình bày tính tốn động học ngược cần thiết để điều khiển robot đồng diễn bắt chước theo chuyển động người camera Kinect Kết mở vài hướng ứng dụng phát triển: - Sử dụng Kinect để tạo chuyển động cho humanoid robot thương mại, thay cho phương pháp truyền thống sử dụng phần mềm tạo chuyển động - Kết hợp Kinect humanoid robot để trình diễn kiện nhằm mục đích PR, quảng cáo có tính tương tác cao, dễ thu hút người xem - Sử dụng Kinect vào ứng dụng điều khiển robot từ xa, thay cho thiết bị cồng kềnh TÀI LIỆU THAM KHẢO http://www.japantrendshop.com/robi-robot-p-1622.html truy cập ngày 5/5/2018 Robert L Williams II (2012) , Ph.D., DARWIN-OP HUMANOID ROBOT KINEMATICS Kenichiro Nagasaka, Sony QRIO John J C., Introduction to Robotics, Pearson Education, 2005 Nghiên cứu tạo chuyển động cho robot đồng diễn sử dụng Kinect Study on Dancing Humanoid Motion Generation using Kinect 1Phạm Uyên Phương, 1Võ Văn Tân Nhật, 2Nguyễn Xuân Tiên, 1Nguyễn Tấn Tiến 1Trường ĐH Bách khoa, 268 Lý Thường Kiệt, Q.10, Tp HCM uyenphuong.pham333@gmail.com; vvtnhat@gmail.com; nttien@hcmut.edu.vn 2Trường ĐH Sài gòn, 73 An Dương Vương, Q.5, Tp HCM tien.nguyenxuan65@gmail.com Tóm tắt RBC Bài báo trình bày phương pháp tạo chuyển động cho robot đồng diễn sử dụng cảm biến thu nhận chuyển động người điều khiển Cụ thể, báo trình bày việc thu nhận liệu vị trí khớp thể người từ cảm biến Kinect phương pháp tính tốn giá trị góc điều khiển động robot Một giải pháp đơn giản để tạo chuyển động cho phần chân robot đề xuất Các tính tốn áp dụng với cảm biến Kinect V1 Microsoft robot HUNO Robobuilder Abstract This paper presents the dancing humanoid motion generation method using Kinect sensor In particular, this paper discusses about the joint position data acquisition from Kinect sensor and a method of calculating the data to control dancing humanoid robot A simple method to make motion for robot’s leg is also proposed The caculation is applied for Kinect sensor V1 and HUNO, a small dancing humanoid robot of Robobuilder Chữ viết tắt ROS Robot Operation System PC Personal Computer SDK Software Developement Kit DOF Degree Of Freedom ID Identification RoboBuilder Controller Tổng quan 1.1 Robot đồng diễn Humanoid robots robot có hình dáng tương tự với người, di chuyển sử dụng vật dụng đời sống người mà loại robot khác khó làm Quan trọng hơn, chúng đem lại cho người cảm giác gần gũi, thân thiện thích thú Sự phát triển cơng nghệ, đặc biệt loại động servo nhỏ gọn mạnh mẽ, thúc đẩy đời humanoid robots kích thước nhỏ (khoảng 0.5m), đem lại hội tiếp cận lĩnh vực humanoid với nguồn kinh phí thấp nhiều Humanoid robots kích thước nhỏ vừa phục vụ mục đích học thuật, vừa phục vụ mục đích giải trí Robot đồng diễn dạng phổ biến humanoid robots kích thước nhỏ Chúng robot có thiết kế đẹp mắt, chuyển động linh hoạt, kết hợp với ánh sáng âm nhạc để tạo biểu diễn group dancing đầy ấn tượng H.1 đồng diễn 1000 robots festival bia tỉnh Sơn Đông, Trung Quốc H 24 Robot HUNO HUNO humanoid robot kích thước nhỏ, lắp ráp từ kit Creator 5720 hãng Robobuilder HUNO có 16 DOF, gồm DOF cánh tay (khớp vai khớp khuỷu tay 1) DOF chân (khớp hông 2, khớp đầu gối khớp cổ chân 2), minh họa H Tương ứng với bậc tự động wCK H 22 Hơn 1000 robots đồng diễn Trung Quốc Theo thời gian, robot đồng diễn dần trở nên phổ biến nhờ chất lượng ngày tốt, giá phù hợp dễ dàng điều khiển Một số nhà sản xuất robot bật kể đến Robotis hay Robobuilder 1.2 Phương pháp tạo chuyển động cho robot đồng diễn Có nhiều phương pháp khác để tạo chuyển động cho robot đồng diễn, chia thành nhóm Nhóm thứ lập trình trước chuyển động sau robot thực theo chuyển động Nhóm thứ hai điều khiển trực tiếp robot thông qua controller Controller thiết bị sử dụng nút bấm (bàn phím, gamepad, ), cảm biến bắt chuyển động (Kinect sensor), cảm biến âm thanh, Bài báo tập trung vào phương pháp tạo chuyển động cho robot đồng diễn tương ứng với chuyển động người sử dụng cảm biến bắt chuyển động Đặt vấn đề 2.1 Tổng quan phương pháp H 23 Robot DARwin-OP DARwin-OP robot tiêu biểu Robotis, bao gồm 20 bậc tự (DOF): DOF tay, DOF chân DOF đầu, minh họa H Mỗi bậc tự truyền động động servo Dinamixel H 25 Điều khiển robot Kinect H.4 thể sơ đồ tổng quát phương pháp tạo chuyển động cho robot đồng diễn theo chuyển động người Theo đó, người điều khiển đứng trước camera thực động tác nhảy múa Các hình ảnh thu nhận truyền máy tính Tại đây, liệu xử lý thành tín hiệu để điều khiển robot Hiện có nhiều thiết bị tích hợp sẵn cơng nghệ xử lý ảnh đại, bắt chuyển động người Kinect Microsoft hay Play Station Camera Sony Trong phạm vi báo này, ta tập trung vào việc thu nhận liệu vị trí khớp thể người từ cảm biến Kinect, sau tính tốn lệnh điều khiển robot đồng diễn, không sâu vào thuật toán xử lý ảnh 2.2 Giới thiệu Kinect Kinect thiết bị cảm biến chuyển động công ty Microsoft Ban đầu, Kinect ứng dụng làm thiết bị điều khiển cho máy chơi game Xbox Với việc phát triển phần mềm Kinect for Window SDK hỗ trợ việc kết nối với PC thư viện để hỗ trợ lập trình, ứng dụng Kinect trở nên đa dạng nhiều, từ đơn giản ghi âm, quay video đến trung bình Skeleton Tracking, 3D mapping, nhận diện khuôn mặt, hay phức tạp lập trình game ứng dụng Hiện Kinect có hai phiên bản: Kinect V1 đời năm 2010 Kinect V2 đời năm 2013 phận thể người điều khiển Vị trí khớp xác định giao điểm phận Chi tiết kỹ thuật trình bày tài liệu [5] 2.3 Đặt vấn đề Như trình bày phần trước, robot HUNO có 16 bậc tự truyền động 16 động servo điều khiển cách gửi gói truyền chứa vị trí góc mong muốn động Để điều khiển robot chuyển động theo người, ta cần xác định giá trị góc tương ứng thể người Ta có vấn đề cần giải sau: Thu nhận liệu vị trí khớp thể người từ Kinect Tính tốn giá trị góc cần thiết từ liệu thu Chuyển đổi góc xoay khớp người thành góc xoay động Truyền liệu cho robot Giải vấn đề 3.1 Thu nhận liệu từ Kinect Cấu tạo Kinect gồm phận sau: phát hồng ngoại, camera hồng ngoại, camera RGB, microphone, vi xử lý linh kiện điện tử khác Tài liệu [2] phân tích chi tiết System on Chip cảm biến Kinect, cách vi xử lý kết hợp phần cứng để xử lý hình ảnh âm Điểm đặc biệt Kinect nằm chỗ nhận biết chuyển động người điều khiển Để làm điều này, Kinect sử dụng hai kỹ thuật đo chiều sâu nhận dạng phận thể Kinect V1 đo độ sâu theo nguyên lý triangulation Bộ phát hồng ngoại phát chùm chấm trịn vào khơng gian phía trước Kinect, sau camera hồng ngoại xác định vị trí kích thước chấm trịn đó, liệu truyền vi xử lý để tính tốn cho độ sâu điểm Chi tiết kỹ thuật trình bày tài liệu [3] Ở Kinect V2, nguyên lý đo chiều sâu sử dụng time of flight Tài liệu [4] trình bày thí nghiệm so sánh độ xác hai cảm biến, theo Kinect V2 có độ xác cao Tuy nhiên, mức độ chênh lệch khơng nhiều Sau có liệu độ sâu, Kinect so sánh với liệu thể người tạo phương pháp machine learning, từ xác định H 26 Hệ trục tọa độ gắn với Kinect H thể hệ trục tọa độ Oxyz gắn với Kinect Với thư viện Microsoft.Kinect phát triển Microsoft, ta dễ dàng có tọa độ khớp thể người hệ tọa độ dòng lệnh đơn giản Ví dụ tọa độ theo phương x khớp vai phải (ShoulderRight) viết ngôn ngữ Visual Basic sau: Skel As Skeleton Dim x1 As Double = Skel.Joints(JointType.ShoulderRight).Position.X Ký hiệu tọa độ khớp trình bày bảng B Ký hiệu tọa độ khớp Khớp Điểm Tọa độ Cột sống P [x0 y0 z0] Vai phải P1 [x1 y1 z1] Khuỷu tay phải P2 [x2 y2 z2] Cổ tay phải P3 [x3 y3 z3] Vai trái P4 [x4 y4 z4] Khuỷu tay trái P5 [x5 y5 z5] Cổ tay trái P6 [x6 y6 z6] Hông phải P7 [x7 y7 z7] Đầu gối phải P8 [x8 y8 z8] Cổ chân phải P9 [x9 y9 z9] Hông trái P10 [x10 y10 z10] Đầu gối trái P11 [x11 y11 z11] Cổ chân trái P12 [x12 y12 z12] (5) Cần lưu ý giá trị góc xoay phụ thuộc vào thứ tự phép xoay Một vector xoay quanh trục góc xoay quanh trục góc có kết khác với việc xoay quanh trục trước xoay quanh trục 3.2 Tính tốn góc Theo nội dung trình bày chương tài liệu [6], vector phương a kết phép xoay quanh trục x (roll), y (pitch) z (yaw) vector phương b theo cơng thức (1) với, (2) ma trận xoay vector quanh trục x góc (3) ma trận xoay vector quanh trục y góc (4) ma trận xoay vector quanh trục z góc H 27 Các vector phương cần thiết cho việc tính tốn B Ký hiệu tọa độ vector Vector Tọa độ V1 [x12 y12 z12] V2 [x23 y23 z23] V4 [x45 y45 z45] V5 [x56 y56 z56] V7 [x78 y78 z78] V8 [x89 y89 z89] V10 [x1011 y1011 z1011] V11 [x1112 y1112 z1112] vậy, (10) Từ đó, ta tính vector Vi theo công thức (11) H 28 Hệ trục tọa độ gắn với thể người Theo phân tích trên, ta xác định góc xoay khớp cách tính vector phương Vi (thể H.6), sau áp dụng cơng thức (1) với vector lại biết trước Tọa độ vector Vi (ký hiệu B 2) cần tính hệ trục tọa độ địa phương gắn với thể người Gọi Px1y1z1 hệ trục tọa độ địa phương đó, điểm P, P1 P4 xác định mặt phẳng Px1y1 (xem H 7) Vì ta cần xác định hướng vector nên bỏ qua phép tịnh tiến xem điểm O trùng với P Gọi ma trận xoay hệ trục tọa độ O thành P, để tính R ta tính ma trận xoay P thành O Cách tính cơng thức tính tốn khác phần sau trình bày chương tài liệu [6] Ta có Tiếp theo, ta tính góc xoay khớp Các phép tính trình bày áp dụng HUNO robot có cấu trúc giống với Việc áp dụng với robot có cấu trúc khác tương tự cần lưu ý đến thứ tự phép xoay Tay chân người cấu phức tạp gồm nhiều khâu khớp Nếu bỏ qua bàn tay cổ tay, phần lại tay gồm hai khớp: khớp vai xem khớp cầu (3-DOF) khớp khuỷu tay xem khớp lề (1-DOF) Tương tự, chân người (nếu bỏ qua cổ chân bàn chân) gồm hai khớp: khớp hông xem khớp cầu (3-DOF) khớp gối xem khớp lề (1-DOF) Gọi góc xoay quanh trục , khớp Pi Ta có: (6) tọa độ vector Px1 hệ trục tọa độ , mà Px1 vector phương vector P4P1 (xem H.7) Ta suy (7) H 29 Tay phải với tọa độ vector Py1 hệ trục tọa độ O, với Py1 vector phương vector PA (xem H.7) Ta suy (8) với , suy (9) H 30 Tay trái (14) Khớp khuỷu tay trái: vector V5 kết phép xoay vector [-1 0]T theo ba phép xoay pitch ( ), yaw ( ) roll ( ) (xem H.9) (15) với, H 31 Hai chân Khớp vai phải: vector V1 kết phép xoay vector [1 0]T theo hai phép xoay yaw ( ) roll ( Khớp hông chân phải: vector V7 kết phép xoay vector [0 -1 0]T theo hai phép xoay roll ( ) yaw ( ) (xem H.10) (16) ) (xem H 8) Khớp gối chân phải: vector V8 kết phép xoay vector [0 -1 0]T theo ba phép xoay roll ( ), roll ( ) yaw ( ) (xem H.10) (12) Khớp khuỷu tay phải: vector V2 kết phép xoay vector [1 0]T theo ba phép xoay pitch ( ), yaw ( ) roll ( (17) với, ) (xem H 8) Khớp hông chân trái: vector V10 kết phép xoay vector [0 -1 0]T theo hai phép xoay roll ( ) yaw ( ) (xem H.10) (18) (13) với, Khớp gối chân trái: vector V11 kết phép xoay vector [0 -1 0]T theo ba phép xoay roll ( ), roll ( ) yaw ( ) (xem H.10) (19) với, Vì có khác biệt số bậc tự khớp vai người robot nên kết khơng xác Tiếp tục tính tốn tương tự cho tay phải hai chân, ta có kết sau Khớp vai trái: vector V4 kết phép xoay vector [-1 0]T theo hai phép xoay yaw ( ) roll ( ) (xem H.9) Sau tính tốn xong giá trị góc điều khiển, ta sử dụng gói truyền đồng Synchronized Position Move [6] để truyền cho động PC giao tiếp với HUNO theo chuẩn giao tiếp RS232 (H.12) RBC HUNO đóng vai trò thiết bị trung gian truyền nhận liệu PC động wCK Gói thơng tin truyền đến HUNO định dạng theo frame truyền Synchronized Position Move tài liệu [1] với cấu trúc sau H 32 Cân cho robot Command packet Tới đây, ta gặp vấn đề khác liên quan đến cân robot Vì có khác biệt lớn thể người mơ hình robot, dùng phương pháp tương tự để tính tốn góc cụm khớp cổ chân robot bị ngã Đây vấn đề phức tạp, yêu cầu kỹ thuật điều khiển cao cấp Thông thường, việc điều khiển robot Kinect áp dụng cho phần tay Tuy nhiên, muốn có chuyển động phần chân mà không thiết phải giống hệt người điều khiển, tác giả đề xuất phương án đơn giản Đó tính góc xoay khớp gối khớp cổ chân theo góc xoay khớp hơng cho hình chiếu trọng tâm robot xuống mặt đất nằm gần với trọng tâm mặt phẳng chân đế (xem H.11) Lưu ý phương pháp hai chân người chuyển động đồng với 3.3 Chuyển đổi thành góc xoay động Vì giá trị góc tính mang tính tương đối, phụ thuộc vào việc chọn hệ quy chiếu, ta cần chuyển đổi chúng thành giá trị góc hệ quy chiếu robot trước truyền tín hiệu điều khiển Phương pháp chuyển đổi đơn giản sau (lấy khớp gối làm ví dụ): Xác định giới hạn chuyển động khớp thể người: Xác định giới hạn chuyển động động robot: Chọn khoảng giới hạn chung mà người robot đạt được: Tính khoảng giới hạn giá trị góc điều khiển động tương ứng: Dùng phương pháp chuyển đổi tỉ lệ, tính giá trị góc điều khiển từ giá trị góc ban đầu 1byte 1byte 1byte 1byte 1byte 1byte ID0 target lastID Checktarget sum Header Data1 Data2 Header = 0xFF Data1 Torque ID Torque:0(Max) 4(Min), tương ứng với ID: Data2 Torque ID Last ID + 1: ~ 31 (last wCK module’s ID + 1) ID[x] target: ~ 254 (vị trí mong muốn đạt động wCk có ID[x]) LastID target: ~ 254 (vị trí mong muốn đạt wCk module có ID cuối cùng) Checksum: (ID0 target XOR…XOR LastIDtarget) AND 0x7F Response packet: None (20) H 33 Giao tiếp PC HUNO 3.4 Gửi liệu đến HUNO Để minh họa, gói lệnh yêu cầu 16 động wCk HUNO (ID0 đến ID15) quay tới vị trí 0x7F (127) với mức torque lớn (mức 0) sau 0xFF 0x1F 0x10 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x7F 0x00 Đánh giá cách trực quan, phần tay robot chuyển động gần khớp với chuyển động người điều khiển, ngồi vị trí khơng thể đạt nêu Phần chân không chuyển động giống người có tác dụng làm cho robot sinh động Theo tài liệu [1], thời gian đáp ứng động wCK 20ms, tức tần số gửi gói lệnh đến robot HUNO phải bé 50Hz Tần số cảm biến Kinect 30Hz Vì vậy, tần số gửi gói lệnh đến robot HUNO tính theo tần số cảm biến Kinect 30Hz Kết Mơ hình bố trí thực nghiệm thể H.12, sử dụng Kinect V1 để điều khiển robot HUNO Khoảng cách từ Kinect đến người điều khiển khoảng a) b) H 34 Sơ đồ bố trí thực nghiệm H.14 thể số kết thực nghiệm Ở hình 14.a 14.b trường hợp robot chuyển động khớp với người điều khiển Hình 14.c trường hợp tay robot chuyển động khơng khớp Hình 14.d cho thấy robot thực động tác nhún chân nhờ vào phương pháp đề xuất [2] John S., Patrick O., Microsoft Corp., The Xbox One System on a Chip and Kinect Sensor, IEEE, 2014 [3] Khoshelham K., Accuracy analysis of kinect depth data, International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, vol XXXVIII-5/W12, 2011 [4] Diana P., Livio P., Calibration of Kinect for Xbox One and Comparison between the Two Generations of Microsoft Sensors, Sensors, vol 15, pp 27569-27589, 2015 [5] Jamie S., Andrew F., Mat C., Toby S., Mark F., Richard M., Alex K., Andrew B., Real-Time Human Pose Recognition in Parts from Single Depth Images, Communications of the ACM, pp 116-124, 2013 c) [6] John J C., Introduction to Robotics, Pearson Education, 2005 Phạm Uyên Phương nhận kỹ sư Cơ điện tử trường ĐH Công nghệ Tp HCM Hiện theo học chương trình thạc sỹ Cơ điện tử trường ĐH Bách khoa Tp Hồ Chí Minh, đồng thời thành viên HiTech Mechatronics Lab từ 2016 Lĩnh vực nghiên cứu humanoid in 3D d) H 35 Một số kết thực nghiệm: a) b) Robot chuyển động khớp với người c) Trường hợp robot chuyển động không khớp với người d) Robot thực động tác nhún chân 10 Kết luận Các kết thực nghiệm cho thấy tính khả thi phương pháp nêu Tuy nhiên, đánh giá trực quan, cần có thêm việc đo đạc so sánh góc khớp robot với góc khớp người điều khiển Để robot giữ cân tốt hơn, cần áp dụng thêm giải thuật nâng cao cho phần chân robot Tài liệu tham khảo [1] Robobuilder: wCK module User’s manual Võ Văn Tân Nhật sinh năm 1994, theo học chương trình đào kỹ sư chuyên ngành điện tử trường ĐH Bách khoa Tp Hồ Chí Minh, đồng thời thành viên HiTech Mechatronics Lab từ 2016 Lĩnh vực nghiên cứu humanoid robot kích thước nhỏ Nguyễn xuân Tiên sinh năm 1965, nhận Cử nhân Vật lý- chuyên ngành Điện tử Hạt nhân Trường ĐH Đà lạt năm 1988, nhận Thạc sỹ Kỹ thuật Cơ điện tử Trường Đại học công nghệ Tp HCM năm 2014 Từ năm 2016 anh Trợ giảng môn Điện- Điện tử, Khoa Điện tử Viễn thông Trường Đại học Sài gòn Lĩnh vực nghiên cứu điều khiễn robot; hệ thống điện tử ứng dụng Nguyễn Tấn Tiến sinh năm 1968, nhận kỹ sư Cơ khí Chế tạo máy trường ĐH Bách khoa Tp HCM (HCMUT) năm 1990, nhận Thạc sỹ Cơ điện tử năm 1998 Tiến sỹ Cơ điện tử năm 2001 Trường ĐHQG Pukyong, Hàn Quốc Từ năm 1990 anh giảng viên môn Thiết kế máy từ năm 2005 giảng viên môn Cơ điện tử, HCMUT Lĩnh vực nghiên cứu nay: lý thuyết điều khiển, humanoid robot, hệ thống điện tử ứng dụng lĩnh vực tự động hóa cơng nghiệp ... lực nghiên cứu .2 Mục tiêu nghiên cứu .2 Nhiệm vụ giới hạn nghiên cứu Phương pháp nghiên cứu Điểm đề tài nghiên cứu .3 Giá trị thực tiễn nghiên. .. tự Phương pháp nghiên cứu Về lý thuyết: Nghiên cứu tài liệu mơ hình hóa động học động lực học robot dạng người Nghiên cứu tài liệu sở lý thuyết bước robot dạng người, nghiên cứu phương pháp... từ phần nghiên cứu tổng quan Nội dung luận án tập trung nghiên cứu ba vấn đề nêu để điều khiển bước robot dạng người loại nhỏ Đây nội dung giới hạn nghiên cứu luận án tính đề tài nghiên cứu 19