1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực

81 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 3,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Robot tham gia trong các dây chuyền sản xuất công nghiệp, tự động hóa; trong y tế, chăm sóc sức khỏe; trong lĩnh vực giải trí; lĩnh vực khoa học hàng không, vũ trụ v.v… Trong đó, một hướ

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ KHOA HỌC

Xử lý thông tin và Truyền thông

TS NGUYỄN KIM KHÁNH

Hà Nội - 2010

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 3

DANH MỤC HÌNH 4

DANH MỤC BẢNG 5

MỞ ĐẦU 6

Chương 1 TỔNG QUAN 9

1.1 Giới thiệu chung 9

1.1.1 Cơ bản về Robot 9

1.1.2 Robot giống người – Humanoid 11

1.1.3 Vấn đề mô phỏng robot 14

1.1.4 Bài toán tạo chuyển động cho robot giống người 17

1.2 Tổng quan hệ thống 20

1.2.1 Sơ đồ tổng quan hệ thống 20

1.2.2 Hệ thống bắt chuyển động người 21

1.2.3 Biến đổi dữ liệu chuyển động 24

1.2.4 Môi trường mô phỏng robot 25

1.2.5 Giới thiệu nền tảng mô phỏng SIGVERSE 26

Chương 2 BIỂU DIỄN CHUYỂN ĐỘNG CON NGƯỜI 31

2.1 Mô hình khung cơ thể người 31

2.2 Nguyên lý hệ thống bắt chuyển động quang 32

2.3 Biểu diễn chuyển động quay 33

2.3.1 Biểu diễn bằng ma trận quay 34

2.3.2 Biểu diễn bằng các góc Euler 36

2.3.3 Biểu diễn bằng cặp góc-trục quay 37

2.3.4 Biểu diễn bằng quaternion 38

2.3.5 Đại số quaternion 38

2.4 Dữ liệu chuyển động con người trong hệ thống Optitrack 40

2.5 Bài toán động học trong biểu diễn chuyển động 45

Chương 3 MÔ PHỎNG CHUYỂN ĐỘNG CHO ROBOT 46

3.1 Bộ thư viện phát triển NatNet 46

3.1.1 Giới thiệu về bộ thư viện NatNet 46

3.1.2 Lớp NatNetClient 48

Trang 4

3.2 Biến đổi dữ liệu chuyển động thích nghi với robot 52

3.3 Chương trình xử lý dữ liệu 54

3.4 Sử dụng môi trường mô phỏng SIGVERSE 57

3.4.1 Mô hình sử dụng hệ thống mô phỏng 57

3.4.2 Khởi động SIGVERSE 58

3.4.3 Định nghĩa môi trường ảo trong SIGVERSE bằng xml 60

3.4.4 Sử dụng chế độ dịch chuyển và chế độ điều khiển 65

3.4.5 Tạo trình điều khiển cho tác nhân 65

3.5 Tạo chuyển động cho robot trong SIGVERSE 66

3.5.1 Các ràng buộc của robot 66

3.5.2 Điều khiển chuyển động của robot 67

Chương 4 KẾT QUẢ VÀ BÀN LUẬN 71

KẾT LUẬN 75

TÀI LIỆU THAM KHẢO 76

PHỤ LỤC 78

Một số thuật ngữ trong khoa học robot 78

Trang 5

LỜI CAM ĐOAN

Các nội dung trình bày trong luận văn này dựa trên nỗ lực nghiên cứu và tìm

hiểu của chính bản thân, đồng thời nhận được sự hướng dẫn, giúp đỡ của các thầy

hướng dẫn trong suốt thời gian thực hiện tại Viện Tin học Quốc gia Nhật Bản (NII)

và Trường Đại học Bách Khoa Hà Nội (HUST)

Tôi xin cam đoan các nội dung và kết quả trình bày trong luận văn này là

hoàn toàn chính xác và trung thực Luận văn không sao chép của bất kỳ tác giả nào

Tôi xin hoàn toàn chịu trách nhiệm với luận văn tốt nghiệp thạc sĩ khoa học chuyên

ngành xử lý thông tin và truyền thông của tôi

Phạm Ngọc Hưng

Lớp Cao học Xử lý Thông tin và Truyền thông

Khóa 2008-2010

Trang 6

DANH MỤC HÌNH

Hình 1-1 Robot tại trạm không gian quốc tế (ISS) 9

Hình 1-2 Một số kiểu thiết kế robot công nghiệp 10

Hình 1-3 Ví dụ về một robot di động (People Bot) 11

Hình 1-4 Minh họa các thành phần của người máy 11

Hình 1-5 ASIMO (trái) của Honda và Robonaut (phải) của NASA 14

Hình 1-6 Phần mềm mô phỏng Webots 15

Hình 1-7 Phần mềm mô phỏng Microsoft Robotics Studio 16

Hình 1-8 Phần mềm Choregraphe trong mô phỏng robot NAO 16

Hình 1-9 Sơ đồ mô tả khái quát nghiên cứu của Nakaoka [2] 18

Hình 1-10 Sơ đồ mô tả khái quát nghiên cứu của Nirut Naksuk [3] 18

Hình 1-11 Hành vi bắt chước con người của HRP-4 19

Hình 1-12 Chuyển động giống người của robot NAO 19

Hình 1-13 Sơ đồ tổng quan hệ thống 20

Hình 1-14 Hình ảnh diễn viên với hệ thống bắt chuyển động loại điện từ 22

Hình 1-15 Hệ thống bắt chuyển động trong làm phim 23

Hình 1-16 Hệ thống camera (a) bắt chuyển động của diễn viên (b) 24

Hình 1-17 Hình ảnh thu thập dữ liệu của các camera trên phần mềm Arena 24

Hình 1-18 Môi trường ảo được tạo ra trong hệ thống SIGVERSE 28

Hình 1-19 Cấu hình hệ thống mô phỏng SIGVERSE 30

Hình 2-1 Cấu trúc của mô hình khung cơ thể người 32

Hình 2-2 Biểu diễn trục quay và góc quay Euler 33

Hình 2-3 Biến đổi giữa các phương pháp biểu diễn chuyển động quay 34

Hình 2-4 Hệ tọa độ gắn với vật rắn trong biểu diễn ma trận quay 35

Hình 2-5 Ví dụ biểu diễn phép quay xung quanh trục z góc 𝜽 35

Hình 2-6 Biểu diễn các góc Euler 37

Hình 2-7 Biểu diễn cặp góc-trục quay 37

Hình 2-8 Sử dụng phần mềm Arena 41

Hình 3-1 Sơ đồ tổng quan các thành phần giao tiếp của thư viện NatNet 46

Hình 3-2 Giao diện minh họa chương trình nhận dữ liệu từ máy chủ NatNet 47

Hình 3-3 Các góc yaw, pitch, roll biểu diễn phép quay trong điều khiển robot 53

Hình 3-4 Minh họa thích nghi dữ liệu chuyển động cánh tay trên của robot 54

Hình 3-5 Sơ đồ khối hệ thống mô phỏng SIGVERSE 58

Hình 3-6 Giao diện Sigverse Viewer 60

Hình 3-7 Ba loại hệ tọa độ trong thế giới mô phỏng 61

Hình 3-8 Cấu trúc các joint của robot trong SIGVERSE 68

Hình 4-1 Thu thập các chuyển động cơ bản 71

Hình 4-2 Mô phỏng chuyển động tổng hợp theo thời gian thực 72

Hình 4-3 Quan sát chuyển động tương ứng của mô hình người và robot (a) 73

Hình 4-4 Quan sát chuyển động tương ứng của mô hình người và robot (b) 73

Trang 7

DANH MỤC BẢNG

Bảng 1 Một số hàm API cung cấp của hệ thống SIGVERSE 29

Bảng 2 Mô tả các loại dữ liệu từ hệ thống Optitrack cung cấp 41

Bảng 3 Mô tả gói tin DataSet Desciption 42

Bảng 4 Mô tả gói tin FrameOfMocapData 43

Bảng 5 Tập hợp các điểm cảm biến gắn với mỗi đoạn cơ thể 44

Trang 8

MỞ ĐẦU

Khoa học robot đã và đang là một lĩnh vực được đầu tư phát triển mạnh mẽ tại nhiều phòng thí nghiệm, các trường đại học và các trung tâm nghiên cứu tại nhiều quốc gia hàng đầu trên thế giới Các nhà khoa học đã đạt được nhiều thành tựu to lớn, thể hiện ở vai trò quan trọng của robot trong nhiều lĩnh vực của đời sống

xã hội Có thể thấy sự có mặt của robot ở rất nhiều nơi Robot tham gia trong các dây chuyền sản xuất công nghiệp, tự động hóa; trong y tế, chăm sóc sức khỏe; trong lĩnh vực giải trí; lĩnh vực khoa học hàng không, vũ trụ v.v… Trong đó, một hướng nghiên cứu được quan tâm nhiều là phát triển các robot giống người (người máy) thông minh, hiện đại, nhắm tới mục đích ứng dụng người máy trong các hoạt động đời sống thực của con người, thay thế con người trong nhiều công việc, hoặc tham gia cộng tác với con người

Lĩnh vực nghiên cứu, phát triển người máy hiện nay đã đạt được nhiều thành tựu lớn, các phiên bản mới nhất của nhiều người máy hiện đại như ASIMO của hãng Honda, Nao của Aldebaran Robotics, Robonaut của NASA, HRP-4…có khả năng thực hiện các hành vi, hoạt động tương tự như con người Trong các nghiên cứu như vậy, việc bắt chước các hoạt động tương tự như con người cho các người máy luôn là một vấn đề cơ bản và quan trọng

Luận văn này trình bày về đề tài “Mô phỏng chuyển động của con người

cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực” Nội dung

nghiên cứu trong đề tài này không đề cập đến việc thực hiện trên các robot thật mà giới hạn ở phạm vi sử dụng một hệ thống mô phỏng, cũng là nhằm mục đích nghiên cứu, khai thác, ứng dụng nền tảng mô phỏng này Vì đây là một môi trường mô phỏng mới, đang được phát triển với nhiều tính năng khác biệt các môi trường mô phỏng trước đây Hơn nữa, nghiên cứu cũng nhắm tới mục tiêu xử lý dữ liệu từ một

hệ thống bắt chuyển động và truyền đến hệ thống mô phỏng robot để đạt được việc điều khiển robot trong thời gian thực Điều này rất có ý nghĩa trong việc nghiên cứu phát triển các ứng dụng con người điều khiển robot thông qua cử chỉ, hành vi, …

Trang 9

các ứng dụng hợp tác, giao tiếp giữa robot và con người Với mục đích như vậy, nội dung nghiên cứu của đề tài sẽ gồm 3 phần chính:

 Nghiên cứu về biểu diễn dữ liệu chuyển động của con người từ một hệ thống bắt chuyển động

 Phân tích phương án áp dụng dữ liệu bắt chuyển động của con người để tạo

ra chuyển động tương tự cho robot

 Khai thác khả năng của một hệ thống mô phỏng robot mới (SIGVERSE) Trong đó, bài toán này là một bài toán cơ bản để phát triển nhiều ứng dụng khác mà hệ thống mô phỏng này mong muốn đạt tới (mô phỏng giao tiếp xã hội)

Luận văn được trình bày với bố cục như sau:

Phần mở đầu

Giới thiệu về đề tài, lý do thực hiện và phương thức tiến hành nghiên cứu Tóm tắt các nội dung và mục tiêu chính của đề tài

Chương 1 Tổng quan

Chương này giới thiệu chung về những vấn đề cơ bản xoay quanh bài toán

mô phỏng chuyển động cho robot giống người Đưa ra mô hình tổng quan của hệ thống trong nội dung của đề tài nghiên cứu và giới thiệu khái quát về các thành phần tham gia trong hệ thống tổng thể này

Chương 2 Biểu diễn chuyển động con người

Chương này tiến hành phân tích về vấn đề biểu diễn dữ liệu chuyển động của con người thu thập từ một hệ thống bắt chuyển động

Chương 3 Mô phỏng chuyển động người cho robot

Trình bày cách sử dụng dữ liệu từ hệ thống bắt chuyển động đã đề cập, biến đổi thích nghi cho việc điều khiển robot trong môi trường mô phỏng Đồng thời cũng trình bày các tìm hiểu về khai thác, ứng môi trường mô phỏng SIGVERSE

Chương 4 Kết quả và bàn luận:

Trình bày các kết quả thực nghiệm đã được tiến hành

Trang 10

Kết luận

Luận văn được thực hiện trong khuôn khổ hợp tác nghiên cứu khoa học giữa Trường Đại học Bách khoa Hà Nội và Viện Tin học Quốc gia Nhật Bản (National Institute of Informatics, Japan), dưới sự hướng dẫn của Tiến sỹ Nguyễn Kim Khánh, Trường Đại học Bách Khoa Hà Nội, và Phó giáo sư Tetsunari Inamura, Viện Tin học Quốc gia Nhật Bản Tôi chân thành cảm ơn Tiến sỹ Nguyễn Kim Khánh, người đã hướng dẫn, chỉ bảo tận tình cho tôi trong quá trình thực hiện luận văn này Tôi chân thành cảm ơn giáo sư Tetsunari Inamura đã tận tình giúp đỡ, hướng dẫn tôi trong suốt 5 tháng thực tập tại phòng thí nghiệm Inamura, Viện Tin học Quốc gia Nhật Bản

Tôi cũng chân thành cảm ơn Trường Đại học Bách Khoa Hà Nội, Viện Đào tạo Sau đại học và Viện Công nghệ Thông tin và Truyền thông đã tạo điều kiện cho tôi trong quá trình tham gia chương trình cao học cũng như trong thời gian thực hiện luận văn tốt nghiệp này

Trang 11

Chương 1 TỔNG QUAN

1.1 Giới thiệu chung

1.1.1 Cơ bản về Robot

Khoa học robot đang là một lĩnh vực được quan tâm và phát triển mạnh mẽ,

từ những nghiên cứu cơ bản trong phòng thí nghiệm đến khả năng ứng dụng của robot trong thực tế Robot nói chung đang đóng một vai trò to lớn trong khoa học, kinh tế, công nghiệp, đời sống xã hội

Trong công nghiệp, robot được sử dụng trong dây chuyền sản xuất, lắp ráp sản phẩm, hàn, sơn, cắt gọt kim loại, v.v Robot làm việc trong các môi trường nguy hiểm, độc hại mà còn người khó tiếp cận như dưới biển sâu, môi trường hạt nhân, rà phá bom mìn, v.v… Hoặc thay thế con người trong những công việc có tính chất đơn điệu, buồn tẻ Ngoài ra, một lĩnh vực hiện đại khác có mặt của robot

đó là khám phá vũ trụ, thực hiện các công việc ngoài không gian, một lĩnh vực đang ngày càng được đầu tư, phát triển mạnh với nhiều ý nghĩa to lớn

Hình 1-1 Robot tại trạm không gian quốc tế (ISS)

Những điều này cho thấy vai trò quan trọng của lĩnh vực khoa học robot, trong đó phải kể đến các đóng góp, nghiên cứu trong các phòng thí nghiệm của nhiều quốc gia trên thế giới Với những thành tựu nghiên cứu đạt được, các nhà khoa học đã tạo ra rất nhiều những khả năng ứng dụng khác nhau của robot

Các loại hình thiết kế của robot khá đa dạng tùy những lĩnh vực ứng dụng khác nhau Robot trong công nghiệp thường là các cơ cấu chấp hành cơ khí được

Trang 12

điều khiển để thực hiện các nhiệm vụ, thao tác trong trường công tác và thường có các dạng thiết kế như:

 Robot kiểu hệ Đề-các (Castesian Robot)

 Robot kiểu hệ trụ (Cylindrical Robot)

 Robot kiểu hệ cầu (Spherical Robot)

 Robot kiểu khớp xoay (Articulated Robot)

 Robot SCARA (Selective Compliance Articulated Robot Arm)

Hình 1-2 Một số kiểu thiết kế robot công nghiệp

Hình 1-2 lần lượt minh họa cho các kiểu robot hệ Đề-Các, robot hệ trụ, robot

hệ cầu và robot SCARA Các kiểu robot kể này thường có bệ gắn cố định ở một vị trí trong dây chuyền sản xuất, và vận hành cơ cấu chấp hành trong không gian làm việc 3 chiều Một loại thiết kế robot khác có khả năng di chuyển bằng bánh xe, chân

và các bộ phận quan trọng khác để định vị xung quanh không gian làm việc gọi là robot di động (mobile robot) Robot loại này có thể ứng dụng trong nhiều lĩnh vực

Trang 13

Chúng thường đòi hỏi có các bộ cảm biến tốt cho phép quan sát không gian hoạt động, tránh va chạm, và thực hiện các công việc

Hình 1-3 Ví dụ về một robot di động (People Bot)

Một hướng nghiên cứu khác được nhiều nhà khoa học quan tâm là phát triển các robot thông minh, có thể tham gia hoạt động, hợp tác giao tiếp với con người và môi trường xung quanh Robot này có thiết kế giống người để có thể thực hiện được các hành vi, hoạt động tương tự con người, gọi là các robot giống người hay người máy (humanoid robot) Hình sau minh họa các thành phần cơ bản thường có của người máy:

Hình 1-4 Minh họa các thành phần của người máy

1.1.2 Robot giống người – Humanoid

Robot giống người hay người máy (humanoid robot) là loại robot có diện mạo tổng thể dựa trên cấu trúc cơ thể người, cho phép khả năng tương tác với các

Trang 14

đối tượng hoặc môi trường xung quanh tương tự như hành vi của con người Thông thường, các người máy có một phần thân với đầu, 2 tay và 2 chân, hoặc có thể có vài dạng được chế tạo chỉ có phần thân Một số dạng phức tạp hơn có khuôn mặt với đầy đủ mắt và miệng

Giống như các robot cơ khí khác, người máy cũng dựa vào các thành phần cơ bản: Cảm biến, chấp hành, và điều khiển Do nó cố gắng mô phỏng cấu trúc và hành

vi của con người và lại là các hệ thống tự động, nên người máy phức tạp hơn nhiều

so với các loại robot khác Sự phức tạp này thể hiện trong tất cả các yếu tố như cơ khí, không gian, thời gian, mật độ năng lượng, hệ thống và độ phức tạp tính toán Trong đó đáng chú ý nhất là vấn đề năng lượng và sự phức tạp tính toán Với vấn đề năng lượng, một ví dụ có thể thấy, hầu hết các người máy chưa có khả năng “nhảy” (rời khỏi mặt đất), một trong những lý do là vấn đề tỷ lệ giữa năng lượng/trọng lượng chưa đủ tốt như đối với ở con người thực sự, lý do khác là sự phức tạp của vấn đề cân bằng động Ngoài ra, có rất nhiều giải thuật tốt cho các ứng dụng của người máy trên nhiều thành phần khác nhau, nhưng vấn đề kết hợp chúng trong một hệ thống hiệu quả là không dễ, đòi hỏi độ phức tạp tính toán cao, có nhiều vấn

đề khó khăn mà các nhà khoa học phải đương đầu

Các người máy được phát triển để thực hiện các nhiệm vụ cơ học và trí tuệ tương tự con người, hoặc thay thế con người trong những trường hợp môi trường làm việc khắc nghiệt, hoặc tham gia vào các hoạt động trong đời sống thực Các nhà khoa học và các chuyên gia từ nhiều lĩnh vực khác nhau bao gồm kỹ thuật, khoa học nhận thức, ngôn ngữ học, … cùng đóng góp những nỗ lực của họ để tạo ra các người máy hiện đại và tinh vi, với mục đích đạt được kết quả trong tương lai là các người máy có thể có trí tuệ như con người, suy luận và hành động giống con người Nếu người máy có thể làm được như vậy, chúng sẽ tham gia hợp tác với con người trong việc tạo ra các sản phẩm chất lượng cao hoặc phục vụ mạnh mẽ cho cuộc sống hiện đại của con người Ngoài ra, một lợi ích quan trọng khác của việc nghiên cứu phát triển người máy thông minh là để tìm hiểu về các qui trình trí tuệ hay sinh học của cơ thể con người, từ những hoạt động đơn giản đến khái niệm về ý thức, tinh thần

Trang 15

Về mặt cấu trúc cơ khí, người máy được chế tạo gồm một tập hợp các khâu liên kết (link), được kết nối với nhau qua các khớp liên kết (joint) Mô hình này có cấu trúc tương tự như kiểu thiết kế robot khớp xoay công nghiệp, và được sử dụng trong hầu hết các nghiên cứu về người máy Tuy nhiên, cũng có một số nghiên cứu dựa trên mô hình cơ sinh học, loại mô hình tương đồng với cấu trúc bộ khung xương người

Các nhà nghiên cứu cần hiểu về cấu trúc cơ thể và hành vi con người để xây dựng, phát triển các người máy Mặt khác, việc cố gắng bắt chước cơ thể con người khiến người ta hiểu biết tốt thêm về nó Tri thức con người là một lĩnh vực nghiên cứu mà tập trung về việc con người học như thế nào từ các thông tin cảm giác để đạt được các kỹ xảo nhận biết và vận động Tri thức này được sử dụng để phát triển các mô hình tính toán hành vi con người và ngày càng được cải tiến qua thời gian

Bên cạnh việc nghiên cứu, các người máy cũng đang được phát triển để thực hiện các nhiệm vụ của con người với vai trò như một người giúp việc cá nhân như trợ giúp bệnh nhân, người già, các công việc nguy hiểm Về mặt lý thuyết, các người máy có thể thực hiện bất cứ nhiệm vụ nào của con người miễn là chúng có phần mềm thích hợp Tuy nhiên, sự phức tạp của vấn đề này là rất lớn

Hiện nay, các người máy cũng rất phổ biến trong lĩnh vực giải trí Rất nhiều robot của các hãng giải trí như Universal Studios, Disney, … có thể thực hiện các hoạt động của con người như nhìn, di chuyển, nhảy, nói, hát Hơn nữa, chúng được thiết kế rất thật đến nỗi khó có thể phân biệt nếu quan sát từ khoảng cách xa, tuy vậy các người máy này vẫn chưa thể có tri thức và cảm giác vật lý như con người thực Một lĩnh vực khác, là các người máy tham gia trong các nhiệm vụ khám phá

vũ trụ, với các giải thuật trí tuệ nhân tạo, người ta đang mong muốn đưa các robot hiện đại vào không gian, làm các nhiệm vụ phức tạp thay thế con người, và không cần thiết phải quay trở về trái đất khi công việc hoàn thành

Hình dưới minh họa những người máy hiện đại hiện nay, ASIMO của hãng Honda và Robotnaut của NASA

Trang 16

Hình 1-5 ASIMO (trái) của Honda và Robonaut (phải) của NASA 1.1.3 Vấn đề mô phỏng robot

Mô phỏng là một kỹ thuật hiện đại, được áp dụng trong nhiều lĩnh vực nghiên cứu và sản xuất Khi nghiên cứu về robot, nhu cầu cần có một hệ thống mô phỏng là rất quan trọng

Một bộ mô phỏng robot sẽ cho phép tạo ra các ứng dụng điều khiển robot mà không phụ thuộc vào đặc điểm vật lý của thiết bị thật, do đó giúp tiết kiệm chi phí

và thời gian Hơn nữa, khi nghiên cứu phát triển các hệ thống phần cứng robot thật cũng đòi hỏi kèm theo bộ mô phỏng, và đa số trường hợp các ứng dụng trên mô phỏng có thể truyền sang phần cứng thật mà không cần phải sửa đổi thêm

Vấn đề mô phỏng robot cũng bao gồm nhiều mức độ, phân loại khác nhau với những đặc thù riêng Ví dụ trong mô phỏng robot di động, các bộ mô phỏng dựa trên hành vi cho phép người sử dụng tạo ra một môi trường ảo đơn giản với các đối tượng vật thể và lập trình để robot tương tác với các đối tượng trong môi trường đó Các bộ mô phỏng này cho phép các hoạt động có tính sinh học tự nhiên cao hơn so với các bộ mô phỏng nhị phân hoặc mô phỏng tính toán

Các bộ mô phỏng thường cung cấp các mô hình tính toán động học và động lực học của robot kết hợp với các phương pháp đồ họa trên máy tính Phương pháp

đồ họa phổ biến là mô hình 3D biểu diễn các robot môi trường ảo xung quanh

Trang 17

Robot ảo có thể mô phỏng các chuyển động của robot thật tương ứng với các công việc trong môi trường thật của nó Một số các bộ mô phỏng sử dụng một “cỗ máy vật lý” (physics engine) để tạo ra các chuyển động giống thật hơn cho robot ảo

Việc sử dụng bộ mô phỏng robot để phát triển các chương trình điều khiển robot rất được phổ biến cho dù có tồn tại robot thật tương ứng hay không Bộ mô phỏng cho phép các chương trình điều khiển có thể được viết thuận lợi, chạy thử, gỡ lỗi trên môi trường mô phỏng trước khi tới phiên bản cuối cùng được đưa vào robot thật Tuy nhiên, các hoạt động robot mà dựa trên cảm biến sẽ khó mô phỏng hơn nhiều bởi vì nó phụ thuộc nhiều vào các dữ liệu cảm biến đọc được trong thế giới thực Các hình ảnh dưới là ví dụ một vài bộ mô phỏng robot nổi tiếng

Hình 1-6 Phần mềm mô phỏng Webots

Trang 18

Hình 1-7 Phần mềm mô phỏng Microsoft Robotics Studio

Hình 1-8 Phần mềm Choregraphe trong mô phỏng robot NAO

Trang 19

1.1.4 Bài toán tạo chuyển động cho robot giống người

Tạo chuyển động cho robot nói chung và robot giống người (người máy) nói riêng là một vấn đề cơ bản và quan trọng trong nghiên cứu và phát triển robot Hầu hết các hoạt động, nhiệm vụ của robot đều liên quan đến sự vận động động học, các hành vi vật lý của robot Đối với người máy, bài toán này càng phức tạp hơn vì nhu cầu tạo ra các chuyển động tương tự như con người

Thông thường, các chuyển động đơn giản, hoặc có tính chất đặc biệt có thể được tạo ra bởi dữ liệu chuyển động được thiết kế, chuẩn bị bởi người lập trình trong chương trình điều khiển Ví dụ các hành vi cầm nắm, gắp đồ vật, đối tượng,

… chuyển động đi lại, ngồi, nằm, …được tạo ra dựa trên một mô hình tính toán các

dữ liệu chuyển động đó Công việc này đòi hỏi tốn nhiều công sức thiết kế, lập trình

ở khâu tạo dữ liệu chuyển động Tuy nhiên, một cách tiếp cận khác hiện nay là kỹ thuật tạo ra chuyển động giống người cho robot dựa trên những dữ liệu thu thập được từ chuyển động thực tế của con người

Rất nhiều nhà nghiên cứu đã công bố các kết quả của họ trong lĩnh vực này với những kỹ thuật phức tạp khác nhau Nakaoka và các đồng tác giả (Đại học Tokyo, Nhật Bản) đã tiến hành nghiên cứu tạo ra chuyển động của toàn bộ cơ thể cho robot HRP-1 dựa trên dữ liệu bắt chuyển động người thực hiện một điệu nhảy truyền thống của Nhật Hình 1-9 mô tả sơ đồ hệ thống các tác giả đã thực hiện

Trang 20

Hình 1-9 Sơ đồ mô tả khái quát nghiên cứu của Nakaoka [2]

Nirut Naksuk và các đồng tác giả đã nghiên cứu về bài toán truyền dữ liệu chuyển động của toàn bộ cơ thể người vào một hệ thống mô phỏng Hình 1-10 mô

tả khái quát nghiên cứu này

Hình 1-10 Sơ đồ mô tả khái quát nghiên cứu của Nirut Naksuk [3]

Ngoài ra, còn rất nhiều các nghiên cứu khác với sự đóng góp của nhiều nhà khoa học trong một quá trình lâu dài đã đạt được những kết quả cao, tạo ra những

Trang 21

robot hoạt động giống người rất tinh vi Có thể kể đến những điển hình nổi tiếng như robot ASIMO của hãng Honda, với khả năng đi lại, cầm nắm đồ vật, các hoạt động giao tiếp cơ bản với con người Robot HRP-4 mới được công bố với những khả năng bắt chước các hành vi, hoạt động của con người Robot NAO của hãng Aldebaran Robotics thi đấu RoboCup

Hình 1-11 Hành vi bắt chước con người của HRP-4

Hình 1-12 Chuyển động giống người của robot NAO

Như đã đề cập trong phần mở đầu, nội dung của đề tài này không giải quyết các vấn đề của bài toán trên robot thật (đòi hỏi phải xử lý đến các vấn đề về động lực học, trạng thái cân bằng động cho robot thật) như những kết quả nghiên cứu đã đạt được ở trên Chúng tôi nhắm tới việc xây dựng một mô hình hoàn chỉnh tích hợp

Trang 22

của các hệ thống: hệ thống bắt chuyển động, hệ thống mô phỏng và chương trình xử

lý truyền dữ liệu theo thời gian thực Mô hình tổng quan của hệ thống này sẽ được trình bày trong phần tiếp sau đây

Trang 23

mô phỏng được sử dụng là hệ thống mô phỏng SIGVERSE (Sigverse simulation platform)

Tóm lại, qui trình xử lý bao gồm 3 phần chính:

 Thu thập dữ liệu chuyển động người dùng hệ thống bắt chuyển động;

 Biến đổi dữ liệu và truyền đến môi trường mô phỏng;

 Thực hiện điều khiển robot trong môi trường mô phỏng dựa trên dữ liệu có được

1.2.2 Hệ thống bắt chuyển động người

Với kỹ thuật đạt được hiện nay, các robot có thể sử dụng các camera thu thập ảnh từ môi trường, xử lý để có các hành vi, chuyển động mong muốn Tuy nhiên, với mục đích tạo ra các chuyển động tương tự như con người cho robot, cần có một

dữ liệu chuyển động đầu vào thích hợp, dữ liệu này sẽ được thu thập sử dụng một

hệ thống bắt chuyển động (motion capture system) Hệ thống bắt chuyển động thu thập, ghi lại chuỗi vận động (movement) theo thời gian của đối tượng (con người)

và số hóa dữ liệu dựa trên một mô hình số của đối tượng đó Các hệ thống này được

sử dụng rất phổ biến trong khoa học quân sự, giải trí, làm phim, thể thao, ứng dụng

y tế và cũng rất có giá trị trong lĩnh vực đồ họa máy tính, khoa học robot

Thông thường có 2 loại hệ thống bắt chuyển động thường dùng: Hệ thống từ

và hệ thống quang Cả 2 hệ thống đều ghi lại dữ liệu vị trí của một tập hợp các

“điểm cảm biến” (markers) trong không gian 3 chiều Các điểm cảm biến được gắn trên người diễn viên (hoặc đối tượng) và chuyển động của diễn viên sẽ được ghi lại dựa trên chuyển động của tập hợp các điểm cảm biến

Hệ thống từ bao gồm một thiết bị phát từ trường và các cảm biến từ (magnetic sensors) chính là các điểm cảm biến vị trí Các cảm biến từ được điều khiển bởi bộ điều khiển của chúng Bộ điều khiển này được gắn trên cơ thể và dữ liệu thu thập được phát qua sóng điện từ Với hệ thống này, số lượng điểm cảm biến

sẽ bị hạn chế do sự phức tạp của hệ thống các điểm cảm biến Tuy nhiên, do các điểm cảm biến có khả năng nhận biết cả vị trí và hướng nên các hệ thống này chỉ

Trang 24

cần một số lượng điểm cảm biến đủ cho đa số các trường hợp ứng dụng Ngoài việc

bị hạn chế số lượng điểm các biến, các hệ thống từ còn có thể bị gây nhiễu bởi các vật thể kim loại trong môi trường xung quanh, gây khó khăn trong việc thu thập dữ liệu Tuy nhiên, hệ thống từ cũng rất hữu dụng vì khả năng thu thập dữ liệu chính xác theo thời gian thực, và có thể dễ dàng tháo lắp, di chuyển

Hình 1-14 Hình ảnh diễn viên với hệ thống bắt chuyển động loại điện từ

Hệ thống quang bao gồm một tập hợp các camera và các điểm cảm biến nhạy quang Trong hầu hết các hệ thống, tia hồng ngoại được sử dụng để định vị các điểm cảm biến Trong trường hợp đó, các camera phát hồng ngoại, các điểm cảm biến (markers) được làm từ các vật liệu có khả năng phản quang tốt Để loại bỏ những điểm nhiễu từ môi trường xung quanh, thông thường diễn viên phải mặc một

bộ đồ đơn màu (màu tối) với tập hợp các điểm cảm biến được gắn trên đó Mỗi camera có vị trí và hướng khác nhau, cho phép chụp được các điểm cảm biến có thể không “nhìn thấy” bởi một số các camera khác

Trang 25

Hình 1-15 Hệ thống bắt chuyển động trong làm phim

So với hệ thống từ, hệ thống quang chỉ có thể thu thập vị trí của các điểm cảm biến, mà không thu thập được hướng Tuy nhiên, điều này không phải là vấn đề bởi vì hệ thống có thể sử dụng một số lượng đủ các điểm cảm biến để thu thập các chuyển động ở mức chi tiết đến mức độ nào mà các điểm cảm biến còn có thể được nhận biết Hệ thống quang không bị hạn chế về phạm vi không gian sử dụng như hệ thống từ, do các camera có thể bố trí để thu ảnh ở không gian rộng hơn không gian của các cảm biến từ Tuy nhiên, hệ thống quang cũng đòi hỏi cần phải có bước tiền

xử lý bởi người dùng cho việc tính toán vị trí các điểm các biến, và quá trình xử lý tính toán cũng thường tiêu tốn nhiều thời gian CPU hơn

Hệ thống bắt chuyển động sử dụng trong nghiên cứu này là một hệ thống quang Optitrack với trang bị 16 camera có tốc độ bắt hình lên đến 100 fps, 34 điểm cảm biến cho phép thu thập dữ liệu chuyển động toàn bộ cơ thể của diễn viên với mức độ chi tiết và “độ mượt” cao

Trang 26

(a) (b) Hình 1-16 Hệ thống camera (a) bắt chuyển động của diễn viên (b)

Dữ liệu vị trí trong không gian 3 chiều của các điểm cảm biến được thu thập

và tính toán dựa trên việc kết hợp vài hình ảnh từ các góc nhìn khác nhau của các

camera theo nguyên lý trắc địa không gian 3 chiều

Hình 1-17 Hình ảnh thu thập dữ liệu của các camera trên phần mềm Arena 1.2.3 Biến đổi dữ liệu chuyển động

Dữ liệu chuyển động tại đầu ra của hệ thống bắt chuyển động chưa thể thích nghi trực tiếp đến robot Đây là lý do vì sao cần có bước xử lý biến đổi dữ liệu Thông thường, các robot được điều khiển bởi các thuộc tính của khớp liên kết

Trang 27

(joint) như góc, vận tốc góc, mô men Ngoài ra, có sự khác nhau trong cấu trúc cơ thể và khả năng vận động giữa cơ thể người và các robot Sự khác nhau này cũng trở thành một ràng buộc cần xem xét khi mô phỏng một chuyển động cho robot tương tự như thực hiện bởi con người Thông qua bước biến đổi dữ liệu chuyển động, dữ liệu đầu ra từ hệ thống bắt chuyển động sẽ được xử lý theo một phương án khả thi để tương thích với dữ liệu chuyển động đòi hỏi đối với trình điều khiển của robot Nội dung này sẽ được thảo luận chi tiết hơn trong chương 3

1.2.4 Môi trường mô phỏng robot

Hiện nay, có nhiều hệ thống mô phỏng robot được phát triển trên thế giới để

mô phỏng động học robot Một trong những ví dụ nổi tiếng là OpenHRP (Open Architecture Humanoid Robotics Platforms), một bộ mô phỏng robot phát triển bởi Viện Khoa học và Công nghệ tiên tiến (AIST), Đại học Tokyo, và Trung tâm sản xuất Khoa học và Công nghệ (MSTC), Nhật Bản, để đẩy mạnh nghiên cứu trong lĩnh vực điều khiển robot giống người (humnoid) Một ví dụ khác là phần mềm Webots, một sản phẩm thương mại, cho phép người sử dụng mô phỏng động học trong môi trường nhiều robot Microsoft cũng đưa ra thị trường Robotics Studio để phát triển một phần mềm của các tác nhân tự động trên một nền mô phỏng Các hệ thống nói trên cung cấp môi trường đa tác nhân với các mô phỏng động học, nhưng không có nhiều liên quan đến mô phỏng của các giác quan, tri giác

Môi trường mô phỏng robot được sử dụng trong nghiên cứu này là nền tảng

mô phỏng SIGVERSE (SIGVERSE simulation platform) Đây là một nền tảng mô phỏng đang được nghiên cứu, phát triển tại Viện Tin học Quốc gia Nhật Bản (NII), một bộ mô phỏng với nhiều khả năng mới cho phép không chỉ mô phỏng vật lý mà còn mô phỏng các giao tiếp xã hội (social communication) Như đã đề cập, việc sử dụng nền tảng mô phỏng này cũng nhằm mục tiêu nghiên cứu khai thác khả năng ứng dụng của nó Và mặc dù nội dung nghiên cứu của đề tài cũng chỉ sử dụng tính năng mô phỏng động học của robot, tuy vậy nó là vấn đề quan trọng cần giải quyết trong nhiều bài toán khác Phần tiếp theo sẽ giới thiệu khái quát về bộ mô phỏng này

Trang 28

1.2.5 Giới thiệu nền tảng mô phỏng SIGVERSE

SIGVERSE là thuật ngữ viết tắt kết hợp từ các khái niệm Social, Intelligence, và Genesis, được ra đời và phát triển phục vụ cho nghiên cứu cơ cấu thông minh của con người và động vật là một trong những cách tiếp cận quan trọng

để phát triển các hệ thống robot thông minh Bởi vì các cơ chế của các hệ thống thông minh trong đời sống thực như vậy là rất phức tạp, đòi hỏi các kiến thức hiểu biết trong nhiều lĩnh vực

Để nghiên cứu các cơ chế của trí thông minh con người và phát triển các hệ thống robot thông minh, có 2 loại tương tác thường được xem xét: Tương tác vật lý giữa các tác nhân và môi trường và tương tác xã hội giữa các tác nhân Trong lĩnh vực khoa học xã hội, có một số các hệ thống mô phỏng đa tác nhân đã được đề xuất

để thực hiện tương tác xã hội, phát triển ngôn ngữ, v.v… Trong lĩnh vực robot, các nhà nghiên cứu thường sử dụng các bộ mô phỏng động học và cảm biến Tuy nhiên, chưa có một hệ thống tích hợp cả mô phỏng vật lý và mô phỏng giao tiếp xã hội SIGVerse là một nền tảng mô phỏng mới mà đáp ứng được điều này, nó hướng tới kết hợp mô phỏng cả động học, mô phỏng tri giác và mô phỏng giao tiếp xã hội

Mô phỏng tri giác

SIGVerse cũng cung cấp mô phỏng các giác quan cảm nhận: nhìn, âm thanh, lực và tiếp xúc Hệ thống sử dụng OpenGL cho mô phỏng thị giác, cung cấp cho

Trang 29

mỗi tác nhân khả năng “nhìn” với một ảnh trực quan từ điểm quan sát và góc nhìn của tác nhân đó trong môi trường mô phỏng

Để mô phỏng thính giác, SIGVerse cho phép thực hiện giao tiếp với dữ liệu

âm thanh, hệ thống cũng có khả năng mô phỏng sự thay đổi cường độ âm thanh theo khoảng cách trong môi trường mô phỏng bằng cách thiết lập cho các điều chỉnh trên các tác nhân, hoặc cũng có thể thiết lập khả năng “nghe” trong một khoảng cách ngưỡng được yêu cầu

Đối với giác quan cảm giác, SIGVerse có khả năng mô phỏng lực và mômen giữa các đối tượng, được tính toán chủ yếu bởi ODE Hệ thống cũng có thể tắt/bật chức năng mô phỏng xúc giác khi cần thiết

Mô phỏng giao tiếp

Thiết kế của hệ thống cho phép điều khiển nhiều chế độ mô phỏng giao tiếp, không chỉ qua khả năng “nghe” mà còn các chức năng giao tiếp bằng các tín hiệu quang, hoặc mạng không dây Với giao tiếp quang, hệ thống có thể kiểm tra xem có ánh sáng nhận được bởi mô phỏng thị giác bằng cách dùng một cảm biến thu nhận ánh sáng như một camera Với giao tiếp không dây, hệ thống có thể thiết lập các ràng buộc như phạm vi truyền tín hiệu

Với hệ thống SIGVerse, ngoài khả năng mô phỏng giao tiếp của các tác nhân với nhau trong môi trường ảo, nó cũng có thể cung cấp chức năng cho phép tương tác giữa môi trường ảo và người sử dụng trong thế giới thực Một ví dụ của môi trường ảo được chỉ ra trong hình 1-18

Trang 30

Hình 1-18 Môi trường ảo được tạo ra trong hệ thống SIGVERSE

Có một số hệ thống với những nghiên cứu liên quan như SecondLife, Playing Games (RPGs), tuy nhiên về cơ bản các hệ thống này lại không cung cấp

Role-mô phỏng động học và Role-mô phỏng các giác quan

Cấu hình của bộ mô phỏng SIGVerse

SIGVerse có mô hình client/server, với các xử lý tính toán động học được xử

lý trên máy chủ trung tâm Các đối tượng mà sử dụng các giác quan và thực hiện các hành động được gọi là các tác nhân (agents), ví dụ như robot và người đại diện (human avatar) là các tác nhân trong hệ thống này Việc mô phỏng được thực hiện bằng cách gọi các hàm C++ APIs Bảng 1 liệt kê danh sách của một số hàm APIs tiêu biểu được cung cấp trong SIGVerse

Trang 31

setJointAngle(arg1, arg2) Thiết lập góc của khớp liên kết arg1 giá trị arg2

setJointTorque(arg1, arg2) Thiết lập mô men của khớp liên kết arg1 giá trị

arg2

getPosition Lấy vị trí 3D của đối tượng đích

getRawSound Nhận thông tin âm thanh từ các tác nhân khác sendRawSound Phát ra thông tin âm thanh

sendText(text, distance) Phát một thông điệp text đến các tác nhân trong

phạm vi distance

captureView Lấy ảnh từ góc nhìn của một tác nhân

detectEntities(arg) Liệt kê tất cả các thực thể được quan sát thấy bởi

tác nhân arg

getObj(arg) Lấy ID của một đối tượng arg

getObjAttribution(arg1, arg2) Lấy giá trị thuộc tính arg2 của đổi tượng arg1

Bảng 1 Một số hàm API cung cấp của hệ thống SIGVERSE

Các nhân vật đại diện trong môi trường mô phỏng không chỉ hành xử như được lập trình mà chúng còn có thể hoạt động theo những chỉ dẫn cơ bản được đưa

ra bởi người vận hành trong thời gian thực

Với mô hình client/server, để mô phỏng các giác quan như đã đề cập, hệ thống sẽ được cấu hình để cho phép việc tính toán xử lý không chỉ trên server trung tâm mà còn có thể sử dụng các servers mô phỏng tri giác được cài đặt riêng lẻ Cấu hình của hệ thống được chỉ ra như hình 1-19:

Trang 32

Hình 1-19 Cấu hình hệ thống mô phỏng SIGVERSE

Trong sơ đồ cấu hình này, hệ thống SIGVERSE gồm có:

 Một máy chủ trung tâm thực hiện xử lý mô phỏng động học, động lực học

và giao tiếp

 Các trình điều khiển tác nhân (Agent Controller) do người sử dụng viết sẽ được gắn với tác nhân tạo ra trong môi trường mô phỏng Các ứng dụng trên máy khách cũng có thể được thực thi để quan sát các nội dung mô phỏng

 Ngoài ra, hệ thống còn có các dịch vụ thứ cấp phục vụ mô phỏng các loại cảm giác, tri thức đang được hoàn thiện (Có thể chạy trên các server thứ cấp riêng)

Trang 33

Chương 2 BIỂU DIỄN CHUYỂN ĐỘNG CON NGƯỜI

2.1 Mô hình khung cơ thể người

Cơ thể người bao gồm tập hợp các xương và khớp liên kết, mà có thể mô hình hóa dưới dạng cấu trúc phân cấp hình cây Bởi vì cơ thể người rất phức tạp, thông thường để biểu diễn số các chuyển động, chúng ta cần lựa chọn một mô hình biểu diễn xấp xỉ Hầu hết các chuyển động của người được thực hiện dựa trên bộ khung xương (skeleton) Bộ khung xương có thể được biểu diễn như một tập hợp các đoạn xương (hoặc cụm xương) cơ bản (segments hay link) kết nối với nhau thông qua các khớp liên kết (joints) Các đoạn xương có thể chuyển động tương đối nhau để tạo ra tư thế (posture) của toàn bộ cơ thể Mỗi đoạn xương có một kích thước vật lý, kết nối với đoạn khác thông qua các khớp liên kết Góc của khớp liên kết sẽ xác định hướng của xương kết nối đến khớp liên kết đó Số vị trí độc lập cần thiết để xác định trạng thái của khớp liên kết được gọi là số bậc tự do (DOF – Degree of Freedom), tương tự như trong robot Số bậc tự do của một mô hình xương là tổng số bậc tự do của tất cả các khớp liên kết Sự chuyển động của một xương, hoặc phép quay của khớp liên kết cũng ảnh hưởng đến tất cả các xương và khớp liên kết nối với nó

Cấu trúc phân cấp của khung xương sẽ thay đổi khi thay đổi gốc (root) của khung xương, nhưng sự thay đổi này không ảnh hưởng đến mối quan hệ giữa các xương Hình 2-1 chỉ ra một trong những mô hình khung xương người đơn giản và cấu trúc hình cây tương ứng

Mỗi đoạn xương (hoặc cụm xương) cơ bản được coi như một đoạn cơ thể rắn (rigid body) trong mô hình khung xương người Dữ liệu chuyển động của mỗi đoạn này được tính toán từ dữ liệu thu thập của các điểm cảm biến (marker) gắn kết với

nó khi sử dụng hệ thống bắt chuyển động

Trang 34

Hình 2-1 Cấu trúc của mô hình khung cơ thể người 2.2 Nguyên lý hệ thống bắt chuyển động quang

Hệ thống bắt chuyển động người sẽ tiến hành số hóa dữ liệu chuyển động

dựa trên mô hình khung cơ thể người như trên Dữ liệu đầu vào của hệ thống là

chuỗi vận động liên tục của cơ thể người được được ghi lại bởi các camera và lấy

mẫu theo thời gian để thu được các khung hình chuyển động rời rạc (liên tiếp với

“độ mượt” nhất định) Mỗi khung hình chuyển động sẽ là một tư thế trong chuỗi

vận động của cơ thể người Các khung hình chuyển động này chứa dữ liệu vị trí của

các điểm cảm biến đã được gắn trên toàn bộ cơ thể Trong đó, mỗi cụm điểm cảm

biến sẽ cho phép xác định chuyển động của một đoạn cơ thể mà các điểm cảm biến

đó gắn với Dữ liệu số chuyển động của toàn bộ cơ thể sẽ là tập hợp dữ liệu chuyển

động của tất cả các đoạn cơ thể (có tính tương đối với nhau theo cấu trúc hình cây

của mô hình khung cơ thể người)

Như vậy, để biểu diễn dữ liệu chuyển động người khi thực hiện một chuỗi

vận động, hệ thống qui về việc biểu diễn chuyển động của từng đoạn cơ thể khi biến

đổi từ khung hình này sang khung hình kế tiếp Trong mô hình toán học, mỗi đoạn

Trang 35

cơ thể là một vật rắn (rigid body) và phép biến đổi của nó từ một khung hình này sang một khung hình kế tiếp được biểu diễn bởi một phép quay của đoạn cơ thể đó

Có nhiều phương pháp khác nhau để biểu diễn phép quay này, mỗi phương pháp có những ưu nhược điểm riêng mà tuy từng trường hợp sẽ được vận dụng Các vấn đề

cơ bản về biểu diễn chuyển động quay này sẽ được trình bày trong phần tiếp sau đây

2.3 Biểu diễn chuyển động quay

Trong hình học, biểu diễn phép quay dùng để mô tả hướng của một đối tượng hoặc một hệ tọa độ so với một hệ tọa độ tham chiếu Theo lý thuyết phép quay của Euler: Bất kỳ một chuyển động quay hữu hạn (hay một chuyển động xung quanh một điểm cố định) của một vật rắn (rigid body) có thể được biểu diễn bằng một phép quay theo một góc xung quanh một trục cố định (góc quay Euler và trục quay Euler) Tức là một chuyển động quay bất kỳ của vật rắn sẽ tìm được trục quay

và góc quay gắn với một hệ tọa độ để thực hiện hay biểu diễn phép quay đó, minh họa như hình 2-2

Hình 2-2 Biểu diễn trục quay và góc quay Euler

Điều này cho phép sử dụng phép quay để biểu diễn hướng của một đối tượng (vật rắn) từ một hệ tọa độ tham chiếu Phép quay như vậy có thể được mô tả duy

Trang 36

nhất bởi tối thiểu 3 tham số Tuy nhiên, vì những lý do khác nhau, có nhiều cách để biểu diễn một phép quay Có 4 phương pháp thường được dùng:

 Biểu diễn bằng ma trận quay

 Biểu diễn bằng cặp góc/trục quay

 Biểu diễn bằng các góc Euler

 Biểu diễn bằng quaternion

Các phương pháp trên có những ưu và nhược điểm riêng, mà tùy theo trường hợp ứng dụng, nên có những lựa chọn phù hợp Các phương pháp này đều có thể biến đổi qua lại nhau theo mô tả như hình dưới:

Hình 2-3 Biến đổi giữa các phương pháp biểu diễn chuyển động quay 2.3.1 Biểu diễn bằng ma trận quay

Để biểu diễn chuyển động quay của một vật rắn, người ta có thể gắn một hệ tọa độ cho vật rắn đó, khi đó mối tương quan giữa tư thế (vị trí và hướng) cuối và đầu của phép quay sẽ được xác định bằng mối quan hệ hình học giữa trạng thái cuối

và đầu của hệ tọa độ đã gắn với vật rắn đó

Trang 37

Hình 2-4 Hệ tọa độ gắn với vật rắn trong biểu diễn ma trận quay

Trong không gian Euclide (2 chiều, 3 chiều, hoặc n chiều), ma trận quay là một phương pháp biểu diễn đại số đơn giản nhất của các phép quay Biểu diễn này được sử dụng rất nhiều trong tính toán ở các lĩnh vực hình học, vật lý và đồ họa máy tính

Ví dụ trong mặt phẳng, ma trận quay R(𝜃) = 𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃

𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 biểu diễn phép quay một điểm hoặc vector theo hướng ngược chiều kim đồng hồ một góc 𝜃, được thực hiện theo công thức:

Hình 2-5 Ví dụ biểu diễn phép quay xung quanh trục z góc 𝜽

Ma trận quay của phép quay này là một ma trận quay cơ bản:

Trang 38

𝑅𝑧(𝜃) =

𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 0𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0

Tương tự với các ma trận quay cơ bản của phép quay quanh trục x, trục y:

2.3.2 Biểu diễn bằng các góc Euler

Phương pháp phổ biến nhất là sử dụng các góc Euler Phương pháp này có nhiều ưu điểm tuy nhiên không phải là thích hợp trong mọi trường hợp cho tất cả các phép quay Phương pháp các góc Euler có thể gặp vấn đề Gimber lock, khi đó phương pháp biểu diễn bởi cặp góc-trục quay có thể được sử dụng để loại bỏ vấn đề này Tuy nhiên, phương pháp này lại không hiệu quả trong việc tính toán tổng hợp của nhiều phép quay diễn ra liên tiếp Phương pháp biểu diễn bằng Quaternion tỏ ra

ưu điểm trong trường hợp có nhu cầu đó Quaternion định nghĩa cặp góc-trục quay theo một cách khác, bằng cách thêm vào các đặc điểm mới để biểu diễn

Các góc Euler mô tả một phép quay như là một chuỗi các phép quay quanh 3 trục của hệ trục tọa độ trực giao trong không gian Các trục này có thể là của hệ trục tọa độ toàn cục hoặc cục bộ, trong đó các phép quay thực hiện trên các điểm trong không gian Khi thực hiện phép quay, các hệ trục tọa độ là cố định Các phép quay này được áp dụng theo một thứ tự chọn trước cố định, và phép quay tiếp sau sẽ chịu tác động từ kết quả của phép quay trước đó Có 6 thứ tự thực hiện chuỗi 3 phép quay tuần tự theo các trục khác nhau Thứ tự chính xác trong đó các phép quay được áp dụng sẽ dẫn đến các hướng khác nhau

Trang 39

Hình 2-6 Biểu diễn các góc Euler 2.3.3 Biểu diễn bằng cặp góc-trục quay

Cặp góc-trục quay mô tả một phép quay bởi một góc quanh xung quanh một trục cố định Trục này có thể được định nghĩa theo bất kỳ một hướng nào, nhưng thông thường sử dụng biểu diễn là một vector có gốc tại gốc tọa độ hiện tại Biểu diễn này gồm 4 thành phần: 1 góc quay (theta) và 3 thành phần vị trí (x,y,z) biểu diễn vector trục quay

Hình 2-7 Biểu diễn cặp góc-trục quay

Trang 40

2.3.4 Biểu diễn bằng quaternion

Lý thuyết quaternion được đề xuất bởi William Hamilton từ năm 1843 Mặc

dù đã tồn tại trên 150 năm, nhưng công dụng hiệu quả của việc sử dụng quaternion đơn vị trong lĩnh vực đồ họa mới chỉ từ những năm 1980 Một quaternion giống như

sự mở rộng của một số phức nhưng với 1 thành phần thực và 3 thành phần ảo (quaternion – bộ bốn) Một số phức thông thường biểu diễn phép quay trong 2 chiều, thì quaternion biểu diễn phép quay trong không gian 3 chiều Phương pháp biểu diễn phép quay bằng quaternion như là một sự mở rộng của phương pháp biểu diễn cặp góc-trục quay So với phương pháp các góc Euler, quaternion tuy khó sử dụng hơn nhưng lại là một phương pháp giải quyết được nhiều vấn đề mà phương pháp các góc Euler gặp phải Ngoài ra, biểu diễn quaternion rất thuận tiện cho việc

xử lý tính toán trên máy tính, ví dụ như với nhu cầu tính toán phép quay tổng hợp từ nhiều phép quay liên tiếp, tìm ngược phép quay nếu biết các trạng thái đầu và cuối, v.v…

2.3.5 Đại số quaternion

Để hiểu rõ về quaternion, phần tiếp theo sẽ trình bày về cách biểu diễn và các

xử lý đại số của quaternion, vấn đề cần thiết khi áp dụng phương pháp biểu diễn này

Có thể xem quaternion là kết hợp của một giá trị vô hướng 𝒘 ∈ 𝑹 và một vector 𝒖 ∈ 𝑹𝟑, kí hiệu là 𝒒 = (𝑤, 𝒖𝑻)𝑻 Phép cộng, trừ và nhân quaternion với một số được tính đơn giản như với vector 4D bình thường:

Ngày đăng: 07/12/2021, 23:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] N. Pollard, J. Hondgins, M.J.Riley, C. Atkeson. “Adapting human motion for the control of a humanoid robot” In Proceedings of IEEE International Conference on Robotics and Automation, pp.1390-1397, 2002 Sách, tạp chí
Tiêu đề: Adapting human motion for the control of a humanoid robot”
[2] Shinichiro Nakaoka, Atsushi Nakazawa, Kazuhito Yokoi, Hirohisa Hirukawa, Katsushi Ikeuchi. “Generating Whole Body Motions for a Biped Humanoid Robot from Captured Human Dances” in IEEE International Conference on Robotics and Automation, pp. 3905–3910, 2003 Sách, tạp chí
Tiêu đề: Generating Whole Body Motions for a Biped Humanoid Robot from Captured Human Dances”
[3] Nirut Naksuk and C. S. George Lee and Shirley Rietdyk. “Whole-Body Human- to-Humanoid Motion Transfer”. In Proceedings of 2005 5th IEEE-RAS International Conference on Humanoid Robots Sách, tạp chí
Tiêu đề: Whole-Body Human-to-Humanoid Motion Transfer”
[4] Marcia Riley, Ales Ude, Christopher G. Atkeson. “Methods for motion generation and interaction with a humanoid robot: Case studies of dancing and catching” AAAI and CMU Workshop on Interactive Robotics and Entertainment 2000, April 2000 Sách, tạp chí
Tiêu đề: Methods for motion generation and interaction with a humanoid robot: Case studies of dancing and catching”
[5] Daisuke Matsui, Takashi Minato, Karl F. MacDorman, and Hiroshi Ishiguro. “Generating Natural Motion in an Android by Mapping Human Motion” Sách, tạp chí
Tiêu đề: Generating Natural Motion in an Android by Mapping Human Motion
[6] Qiang HUANG, Zhaoqin PENG, Weimin ZHANG, Lige ZHANG, and Kejie LI. “Design of Humanoid Complicated Dynamic Motion Based on Human Motion Capture” Sách, tạp chí
Tiêu đề: Design of Humanoid Complicated Dynamic Motion Based on Human Motion Capture
[7] Feng DUAN, Jeffrey Too Chuan TAN and Tamio ARAI. “Using Motion Capture Data to Regenerate Operator’s Motions in a Simulator in Real Time”.Proceedings of the 2008 IEEE. International Conference on Robotics and Biomimetics. Bangkok, Thailand, February 21 - 26, 2009 Sách, tạp chí
Tiêu đề: Using Motion Capture Data to Regenerate Operator’s Motions in a Simulator in Real Time”
[9] Wael Suleiman, Eiichi Yoshida, Fumio Kanehiro, Jean-Paul Laumond and Andr´e Monin. “On Human Motion Imitation by Humanoid Robot”. 2008 IEEE International Conference on Robotics and Automation, Califorina : United States Sách, tạp chí
Tiêu đề: On Human Motion Imitation by Humanoid Robot”
[10] Alla Safonova, Nancy S. Pollard, and Jessica K. Hodgins. “Optimizing Human Motion for the Control of a Humanoid Robot” Sách, tạp chí
Tiêu đề: Optimizing Human Motion for the Control of a Humanoid Robot
[11] Tetsunari Inamura and et al. “Simulator platform that enables social interaction simulation SIGVerse: SocioIntelliGenesis simulator”.Special Interest Group: http://socio.iir.nii.ac.jp/index-e.html Sách, tạp chí
Tiêu đề: Simulator platform that enables social interaction simulation SIGVerse: SocioIntelliGenesis simulator
[12] Takashi Hashimoto, Tetsunari Inamura, Tomohiro Shibata and Hideaki Sena: "Combining constructive and realistic simula-tions: Development of SIGVerse as an integrative simulator for sociointelligenesis," 4th International Nonlinear Science Con-ference(INSC 2010), 2010 Sách, tạp chí
Tiêu đề: Combining constructive and realistic simula-tions: Development of SIGVerse as an integrative simulator for sociointelligenesis
[15] Noel H. Hughes. “Quaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods”. Braxton Technologies, Colorado Springs, Colorado, 80915 Sách, tạp chí
Tiêu đề: Quaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods
[14] Optitrack – Optical motion capture solutions http://www.naturalpoint.com/optitrack/products/motion-capture/ Link

HÌNH ẢNH LIÊN QUAN

Hình 1-1. Robot tại trạm không gian quốc tế (ISS) - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 1. Robot tại trạm không gian quốc tế (ISS) (Trang 11)
Hình 1-2. Một số kiểu thiết kế robot công nghiệp - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 2. Một số kiểu thiết kế robot công nghiệp (Trang 12)
Hình 1-5. ASIMO (trái) của Honda và Robonaut (phải) của NASA  1.1.3. Vấn đề mô phỏng robot - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 5. ASIMO (trái) của Honda và Robonaut (phải) của NASA 1.1.3. Vấn đề mô phỏng robot (Trang 16)
Hình 1-6. Phần mềm mô phỏng Webots - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 6. Phần mềm mô phỏng Webots (Trang 17)
Hình 1-7. Phần mềm mô phỏng Microsoft Robotics Studio - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 7. Phần mềm mô phỏng Microsoft Robotics Studio (Trang 18)
Hình 1-8. Phần mềm Choregraphe trong mô phỏng robot NAO - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 8. Phần mềm Choregraphe trong mô phỏng robot NAO (Trang 18)
Hình 1-9. Sơ đồ mô tả khái quát nghiên cứu của Nakaoka [2] - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 9. Sơ đồ mô tả khái quát nghiên cứu của Nakaoka [2] (Trang 20)
Hình 1-10. Sơ đồ mô tả khái quát nghiên cứu của Nirut Naksuk [3] - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 10. Sơ đồ mô tả khái quát nghiên cứu của Nirut Naksuk [3] (Trang 20)
Hình 1-11. Hành vi bắt chước con người của HRP-4 - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 11. Hành vi bắt chước con người của HRP-4 (Trang 21)
Hình 1-12. Chuyển động giống người của robot NAO - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 12. Chuyển động giống người của robot NAO (Trang 21)
1.2.1. Sơ đồ tổng quan hệ thống - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
1.2.1. Sơ đồ tổng quan hệ thống (Trang 22)
Hình 1-15. Hệ thống bắt chuyển động trong làm phim - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 15. Hệ thống bắt chuyển động trong làm phim (Trang 25)
Hình 1-17. Hình ảnh thu thập dữ liệu của các camera trên phần mềm Arena.  1.2.3. Biến đổi dữ liệu chuyển động - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 17. Hình ảnh thu thập dữ liệu của các camera trên phần mềm Arena. 1.2.3. Biến đổi dữ liệu chuyển động (Trang 26)
Hình 1-16. Hệ thống camera (a) bắt chuyển động của diễn viên (b) - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 16. Hệ thống camera (a) bắt chuyển động của diễn viên (b) (Trang 26)
Hình 1-18. Môi trường ảo được tạo ra trong hệ thống SIGVERSE - Mô phỏng chuyển động của con người cho robot sử dụng hệ thống bắt chuyển động theo thời gian thực
Hình 1 18. Môi trường ảo được tạo ra trong hệ thống SIGVERSE (Trang 30)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w