1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Động lực học và điều khiển rôbot có cấu trúc dạng mạch hở

82 310 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 82
Dung lượng 1,72 MB

Nội dung

Bằng cách đưa ra moment quán tính của vật rắn có khớp, ông ta cũng đưa ra công thức động lực học thuận cỡ On, trong đó, gia tốc khớp có thể tính toán mà không cần phải thực hiện phép tín

Trang 1

LỜI MỞ ĐẦU

Robot được thiết kế để thực hiện những chức năng thay thế con người, thao tác tương tự con người và thực hiện các tác vụ hỗ trợ con người Chúng ta sẽ điều khiển chúng Mục đích của luận văn này là để phát triển một framework cho phép tính toán và điều khiển một lớp các robot có cấu trúc mạch hở bất kỳ

Ngày nay, với sự phát triển nhanh chóng trong nghiên cứu robot, hàng loạt các mẫu robot được phát triển, phục vụ con người trên nhiều lĩnh vực với kết cấu đa dạng và phong phú Thế nhưng, xét trên khía cạnh cơ học thì có thể phân chia các robot này thành ba dạng chính Thứ nhất là dạng hệ có cấu trúc mạch hở, mà đại diện ra robot dạng tay máy, và dạng thứ hai là robot có cấu trúc mạch kín, tiêu biểu là robot song song Vấn đề tính toán động lực học và điều khiển cho hai loại robot này có nhiều điểm khác biệt Còn dạng thứ ba, đó là những loại robot có thể chuyển đổi qua lại giữa hai dạng trên, từ dạng hở sang dạng kín và ngược lại, đó

là các robot di động có chân, chẳng hạn robot dáng người Trong quá trình đi lại của robot, tùy vào từng thời điểm, ví dụ khi hai chân cùng tiếp xúc, thì robot có dạng hệ kín, còn khi chỉ

có một chân tiếp đất, thì robot lại có dạng hệ hở Trong phạm vi của luận văn này, chúng tôi phát triển những phương pháp cho phép thực hiện việc điều khiển cho các robot loại thứ nhất – dạng mạch hở Để thực hiện việc điều khiển được cho robot của dạng thứ hai, cách thức chúng tôi đang phát triển đó là thực hiện cắt liên kết để chuyển robot từ dạng mạch kín thành dạng mạch hở, và thay thế các vết cắt đó bởi cặp phản lực liên kết Việc lựa chọn điểm cắt được thực hiện dựa trên lý thuyết đồ thị để đảm bảo chọn ra được điểm cắt tốt nhất, thuận lợi nhất cho việc tính toán Và để thực hiện việc điều khiển cho dạng thứ ba, chúng tôi thực hiện

ý tưởng dùng một ngắt chuyển đổi chương trình điều khiển theo trạng thái của robot Tức là khi robot ở dạng hệ kín, nó sẽ sử dụng chương trình điều khiển cho hệ kín, và khi chuyển sang hệ hở, sẽ sử dụng chương trình điều khiển của hệ hở

Frameworks hiện tại được phát triển nhằm mục đích cho phép điều khiển thời gian thực,

vì thế chúng tôi tập trung chủ yếu vào các giải thuật có chi phí tính toán thấp, và viết trên nền tảng Matlab để thuận lợi cho việc thử nghiệm và kiểm tra Và tới đây, chúng tôi hi vọng sẽ có thể thử nghiệm được những kết quả tính toán này cho một mô hình robot cụ thể có kết cấu phức tạp – robot dáng người - để kiểm nghiệm tính đúng đắn của các giải thuật được đưa ra

Do những hạn chế về thời gian và trình độ hiểu biết nên chắc chắn sẽ không tránh khỏi những thiếu xót trong quá trình thực hiện luận văn tốt nghiệp Vì thế rất mong nhận được sự nhận xét, đánh giá của quý thầy cô và các bạn để luận văn được hoàn thiện hơn

Trang 2

LỜI CẢM ƠN

Trong suốt năm năm học đại học và hai năm học cao học tại trường Đại học Bách Khoa Hà Nội, tôi đã có cơ hội theo đuổi những nghiên cứu về một chủ đề rất hấp dẫn trong cuộc đời mình, đó là Robotics Thời gian học đại học cho tôi cơ hội được tìm hiểu về các robot di động và robot tay máy, và giờ đây, trong quá trình nghiên cứu ở cao học, tôi có điều kiện để tìm hiểu sâu hơn về một mô hình robot rất lý thú nhưng cũng rất phức tạp, đó là robot dáng người Việc nghiên cứu về robot dáng người có liên quan đến nhiều lĩnh vực khoa học, như robotics, nghiên cứu về vận động có chân (cơ - sinh), lập kế hoạch và thực thi điều khiển theo mức ưu tiên, điều khiển phi tuyến… Tôi đã học được nhiều điều trong mỗi lĩnh vực và kết hợp lại để hoàn thành mục tiêu nghiên cứu của mình

Việc viết và hoàn thành luận văn là một nỗ lực cá nhân mạnh mẽ, bởi lẽ những dự định nghiên cứu ban đầu không hoàn toàn giống với những kết quả thu được Nó đòi hỏi sự kiên nhẫn và phải chấp nhận rằng không phải mọi thực nghiệm đều đúng như mong đợi Trong quá trình thực hiện việc nghiên cứu, không ít lần tôi đã gặp thất bại hoặc đi sai hướng, nhưng những thất bại như những dòng suối nhỏ, hợp lại để giúp tôi đạt được những thành công, hoàn thành mục đích nghiên cứu đặt ra ban đầu của mình Và tôi nhận ra rằng, để thành công, không chỉ dựa trên những nỗ lực của cá nhân, mà còn cần có sự hợp tác với các giáo sư, nghiên cứu sinh, các sinh viên và những người có cùng niềm ham thích đôi với vấn đề mình quan tâm Tôi muốn được gửi lời cảm ơn chân thành đến những người đã giúp tôi hoàn thành luận văn này

Trước tiên tôi muốn cảm ơn thầy Nguyễn Văn Khang, giáo viên hướng dẫn của tôi, người đã truyền thụ cho tôi rất nhiều những kiến thức về động lực học và điều khiển, và cho tôi nhiều lời khuyên vô cùng hữu ích những lúc tôi dường như bế tắc Thầy cũng là người đã chỉ cho tôi phương pháp nghiên cứu, cách tìm hiểu và giải quyết vấn đề Đồng thời, tôi cũng muốn gửi lời cảm ơn tới thầy Phan Bùi Khôi, giáo viên hướng dẫn của tôi thời đại học, người

đã cho tôi cơ hội để được thiết kế, chế tạo thực robot, từ đó học được nhiều những kinh nghiệm thực tế vô cùng có giá trị đối với tôi Thầy cũng là người cho tôi nhiều lời khuyển chân tình về cuộc sống và công việc và nghiên cứu

Bên cạnh đó, tôi cũng muốn gửi lời cảm ơn đền những bạn bè của tôi, những người có cùng niềm ham mê nghiên cứu robot với tôi Cám ơn Lê Đức Đạt, người bạn đã đọc những bản thảo của tôi, cùng tôi trao đổi, cho tôi nhiều lời khuyên hữu ích và cũng là người giúp tôi tìm được nhiều bài báo giá trị Cám ơn Nguyễn Quốc Nam, người thường xuyên trao đổi với tôi về thiết kế robot và dạy tôi nhiều về vấn đề xử lý ảnh, một vấn đề tôi rất quan tâm Cám

ơn Nguyễn Hải Nguyên, người bạn cùng phòng và cùng lớp cao học với tôi, người đã động viên, giúp đỡ tôi cố gắng đề hoàn thành luận văn này

Ngoài ra, tôi cũng muốn gửi lời cám ơn tới những người đã luôn ở bên tôi trong suốt thời gian tôi học cao học Tôi muốn cảm ơn mẹ tôi, người đã động viên tôi đi học cao học, luôn bên tôi, giúp đỡ tôi suốt thời gian qua và luôn hiểu tôi, chia sẻ với tôi những khó khăn

Trang 3

Tôi muốn cám ơn bố tôi, người cố vấn và giúp tôi đưa ra những quyết định quan trọng của mình, mặc dù bố tôi thường xuyên phải đi làm việc xa nhà

Trang 4

MỤC LỤC

LỜI MỞ ĐẦU 1 

LỜI CẢM ƠN 2 

CHƯƠNG 1 7 

GIỚI THIỆU 7 

1 Các vấn đề động học và động lực học của hệ nhiều vật 7 

2 Tóm tắt các chương 7 

CHƯƠNG 2 9 

NHỮNG VẤN ĐỀ CƠ BẢN CỦA ĐỘNG HỌC VÀ ĐỘNG LỰC HỌC HỆ NHIỀU VẬT 9 

1 Xây dựng mô hình 9 

1.1 Cấu trúc dữ liệu biểu diễn cho một vật rắn 9 

1.2 Quy tắc thiết lập quan hệ tọa độ trong hệ 12 

1.3 Lý thuyết đồ thị và ứng dụng trong bài toán hệ nhiều vật 13 

1.3.1 Cách thiết lập dữ liệu cho bài toán đồ thị 13 

1.3.2 Tìm kiếm ưu tiên độ sâu 16 

1.3.3 Ví dụ áp dụng với mô hình robot dáng người 21 

1.3.4 Tìm kiếm ưu tiên theo chiều rộng 24 

2 Bài toán động học 26 

2.1 Bài toán động học cho hệ dạng chuỗi nối tiếp 26 

2.1.1 Bài toán động học thuận 26 

2.1.2 Bài toán động học ngược 28 

2.1.2.1 Đặt bài toán và các công thức cơ bản 28 

2.1.2.2 Thuật toán xác địnhq0 =q( )t0 29 

2.1.2.3 Thuật toán xác định qk+1=q( )t k+1 (k=0, 1, , n* - 1) 30 

2.1.3 Các giải thuật bổ sung 31 

2.1.3.1 Xác định vận tốc góc và gia tốc góc của vật rắn 31 

2.1.3.2 Xác định vận tốc khối tâm của vật rắn: 33 

2.1.3.3 Giải thuật tính Jacobian J(q) 34 

2.1.3.4 Giải thuật tính ma trận J q&( ) 37 

2.1.3.5 Một số bài toán mở rộng ứng dụng trong trường hợp robot dư dẫn động 39 

2.1.3.6 Vấn đề giới hạn khớp trong bài toán động học ngược 40 

2.2 Bài toán động học cho hệ dạng cây 41 

2.2.1 Bài toán động học thuận 42 

2.2.2 Bài toán động học ngược 44 

3 Bài toán động lực học 46 

3.1 Bài toán động lực học ngược 46 

3.1.1 Bài toán động lực học ngược cho hệ dạng chuỗi nối tiếp 46 

3.1.1.1 Công thức xác định vận tốc góc và gia tốc góc 46 

Trang 5

3.1.1.2 Công thức xác định gia tốc khối tâm vật rắn 46 

3.1.1.3 Công thức xác định lực .47 

3.1.1.4 Công thức xác định mô men: 48 

3.1.1.5 Giải thuật Newton – Euler Recusive 49 

3.1.1.6 Các ví dụ áp dụng 51 

3.1.2 Bài toán động lực học ngược cho hệ dạng chuỗi nối tiếp với trường hợp có nhân tử lagrange liên kết 54 

3.1.2.1 Công thức xác định lực 54 

3.1.2.2 Công thức xác định mô men: 55 

3.1.3 Bài toán động lực học ngược cho hệ dạng cây 60 

3.2 Bài toán động lực học thuận cho hệ hở 62 

3.2.1 Giải thuật tính N q,q&( ) 63 

3.2.2 Giải thuật tính M q( ) 63 

3.2.3 Giải thuật mới để tính ma trận M(q) 63 

CHƯƠNG 3: 68 

KIẾN TRÚC ĐIỀU KHIỂN VÀ ỨNG DỤNG 68 

1 Kiến trúc điều khiển cho hệ 68 

KẾT LUẬN 72 

1 Tóm lược các kết quả và đóng góp 72 

2 Các nghiên cứu tương lai 72 

Tài liệu tham khảo 74 

PHỤ LỤC 79 

Phụ lục 1: 79 

Phụ lục 2: 82 

Trang 6

MỤC LỤC HÌNH ẢNH

Hình 2 1: Mô hình vật rắn và các cấu trúc nhập liệu 10 

Hình 2 2: Sơ đồ cách thức cấu hình hệ dạng chuỗi nỗi tiếp 12 

Hình 2 3: Đồ thị của cấu trúc liên kết của một hệ nhiều vật 14 

Hình 2 4: Lưu trữ dữ liệu đồ thị bằng ma trận kề dạng tam giác trên 14 

Hình 2 5: Lữu trữ dữ liệu bằng cấu trúc kề 15 

Hình 2 6: Phân tích nhập liệu cho hệ nhiều vật 16 

Hình 2 7: Lữu trữ dữ liệu bằng cấu trúc kề mở rộng 16 

Hình 2 8: Trình tự duyện qua các đỉnh và cạnh đồng thời xác định điểm cắt của một đồ thị bằng giải thuật DFS 18 

Hình 2 9: Tóm lược ý nghĩa của DFS 19 

Hình 2 10: Mô hình robot 35 DOFs được sử dụng trong luận văn 21 

Hình 2 11: Mô hình hóa robot sang dạng đồ thị 22 

Hình 2 12: Giải thuật duyệt theo chiều rộng 25 

Hình 2 13: Sơ đồ phân tầng 25 

Hình 2 14: Sơ đồ phương pháp số giải bài toán động học ngược 31 

Hình 2 15: Phép biến đổi từ hệ tọa độ tuyệt đối sang hệ tọa độ tương đối gắn với vật rắn 32 

Hình 2 16: Dùng DFS để phân tích cấu trúc robot dáng người thành các chuối nối tiếp 43 

Hình 2 17: DFS cho mô hình robot dáng người 45 

Hình 2 18: Tính phân cấp(2 mức) trong viêc tính toán động học/ động lực học cho hệ nhiều vật bằng phương pháp đệ quy 60 

MỤC LỤC BẢNG BIỂU Bảng 2 1: Ký hiệu và ý nghĩa các tham số biểu diễn vật rắn trong hệ nhiều vật 10 

Bảng 2 2: Kết quả sau hàm DFS đối với cấu trúc liên kết 23 

Bảng 2 3:giải thuật truy hồi tính động học thuận robot dạng chuỗi 27 

Bảng 2 4: Giải thuật tính J(q) 37 

Bảng 2 5: Giải thuật tính J q&( ) 38 

Bảng 2 6: Quy tắc ký hiệu cho hệ có cấu trục dạng cây 42 

Bảng 2 7: kết phân tách một hệ dạng cây thành các chuỗi nối tiếp 45 

Bảng 2 8: Giải thuật RNE tính động lực học cho hệ dạng chuỗi nối tiếp 49 

Bảng 2 9: giải thuật tính động lực học hệ dạng chuỗi nối tiếp khi có ngoại lực/moment tác dụng 58 

Bảng 2 10: Giải thuật tính ma trận M q( ) 66 

Trang 7

Hầu hết các phương pháp tính nhanh hiện nay đều dựa trên một phương thức tính là

đệ quy Stepanenko và cộng sự (Stepanenko Y, 1976) lần đầu tiên đã thiết lập phương thức

đệ quy Newton Euler cho chuỗi không gian dạng hở Trong công thức của họ, động học của các khâu được biểu thị trong các khung cố định Công thức Newton Euler Recursive được đề xuất bởi Luh và cộng sự (Luh JYS, 1980) sử dụng các khung toạ độ động dường như đã trở thành giải thuật hiệu quả nhất cho bài toán động lực học ngược, ít nhất cho cấu hình thông thường của tay máy dạng nối tiếp với 6 bậc tự do (DOFs) Chi phí tính toán của phương pháp này tỷ lệ tuyến tính với số lượng vật rắn có trong hệ, tức là độ phức tạp tính toán cỡ O(n), với

n là số lượng vật rắn có trong hệ Hollerbach (Hollerbach, 1980) đưa ra dạng đệ quy với cách tiếp cận theo dạng Lagrange, và từ đó đưa ra một giải thuật khác cũng có độ phức tạp cỡ O(n) (WM, 1982) được coi là tương đương về hiệu năng tính toán so với phương pháp NE

Sự phát triển giải thuật hiệu quả trong tính toán động lực học ngược được nhắc lại bởi Walker và Orin [50] được sử dụng như là cơ sở cho việc đưa ra giải thuật tính toán động lực học thuận Đó là giải thuật cỡ O(n3) và được gọi là composite inertia method Jain (Jain,

1991) đã đề xuất một giải thuật động lực học thuận được cho là hoàn hảo cho hệ nhiều vật

có cấu trúc nối tiếp cũng có chi phí tính toán cỡ O(n) Featherstone (FeatherStone, 1987) cũng phát triển một giải thuật đệ quy đầy đủ cỡ O(n) cho bài toán động lực học thuận của hệ dạng chuỗi hở sử dụng kí hiệu vector không gian Trong đó, sử dụng các kí hiệu twist và wrench là các vector 6x1 để đơn giản hóa việc phân tích động lực vật rắn Bằng cách đưa ra moment quán tính của vật rắn có khớp, ông ta cũng đưa ra công thức động lực học thuận cỡ

O(n), trong đó, gia tốc khớp có thể tính toán mà không cần phải thực hiện phép tính nghịch đảo của ma trận khối lượng Công thức cỡ O(n) của Featherstone đã có tác dụng rất lớn trong việc phát triển giải thuật động lực học đối với hệ dạng cây , hệ dạng kín và tay máy (Rodriguez G, 1991) Gần đây, Saha (Saha, 1999) đã phát triển giải thuật cỡ O(n) cho cả động lực học thuận và ngược của hệ nhiều vật dạng nối tiếp sử dụng ma trận DeNOC Trong luận văn này, tôi đã dựa trên ý tưởng giải thuật đệ quy Newton – Euler để thực hiện việc tính toán động lực học cho hệ nhiều vật dạng chuỗi nối tiếp và dạng cây Và áp dụng những kết quả đó cho mô hình robot dáng người

2 Tóm tắt các chương

Luận văn này được tổ chức như sau Trong chương 2, chúng tôi sẽ đưa ra các giải thuật

cơ bản dùng trong việc nhận dạng hệ nhiều vật, sử dụng các giải thuật của lý thuyết đồ thị

Trang 8

Tiếp đó, xây dựng các giải thuật đệ quy để thực hiện việc tính toán động học, động lực học của hệ nhiều vật dạng chuỗi nối tiếp và dạng cây Đây chính là cơ sở nền tảng để áp dụng cho các chương tiếp theo

Trang 9

là tối thiểu đảm bảo đủ thông tin Về bản chất, các phương pháp thiết lập hệ tọa độ này đều

có chung một mục đích là đề tìm ra ma trận chuyển từ hệ tọa độ gắn với vật rắn này sang hệ tọa độ gắn với vật rắn khác trong hệ Trong luận văn của mình, tôi đưa ra một phương pháp khác để thiết lập phép chuyển đổi giữa các hệ tọa độ của các vật rắn, phương pháp thiết lập này có ưu điểm là thuận lợi cho việc chuyển đổi dữ liệu từ các phần mềm thiết kế như Solidworks, Inventor sang mô hình tính toán trên matlab

1.1 Cấu trúc dữ liệu biểu diễn cho một vật rắn

Trang 10

z x y

CSJ

( )

k

k nJ

rP

( )

k

k nP

Q

τ

Hình 2 1: Mô hình vật rắn và các cấu trúc nhập liệu

Cách thức cấu hình cho hệ dựa trên dạng dữ liệu là các vật rắn, với các thông tin cần thiết như được mô tả trên hình 1 theo bảng sau:

Bảng 2 1: Ký hiệu và ý nghĩa các tham số biểu diễn vật rắn trong hệ nhiều vật

Dạng dữ liệu chung

# k Chỉ số vật rắn thứ (k) trong hệ

k

G

C Hệ tọa độ gắn với khối tâm của vật rắn #k Do Matlab

không hỗ trợ chỉ số 0, nên ở đây sử dụng nền làm vật rắn được đánh chỉ số là 1

I Tensor quán tính của vật rắn #k lấy so với hệ tọa độ

gắn với khối tâm của nó

C Hệ tọa độ gắn với khớp thứ (i) của vật rắn #k được

tính so với hệ tọa độ gắn với khối tâm của vật rắn #k

Ở đây có một số quy tắc thiết lập hệ tọa độ gắn với

Trang 11

khớp này như sau:

1 Nếu khớp (i) là khớp trượt thì hướng của trục z của

hệ tọa độ này sẽ phải trùng với trục quay của khớp

2 Nếu khớp (i) là khớp tịnh tiến thì trục z của hệ tọa

độ này phải trùng với hướng tịnh tiến của khớp Thực tế là hệ tọa độ này thực hiện chức năng chỉ hướng, vì thế có thể sử dụng 3 góc RPY, 3 góc Euler hoặc sử dụng quaternian để xác định Ở đây hiện tại

hỗ trợ việc sử dụng 3 góc Euler XYZ:

( )k [ ]3 1

i EUL = ×

r Vector nối khối tâm của vật rắn #k với gốc của hệ tọa

độ gắn với khớp (i) của nó

( ) , 1

k

J i= n Kiểu khớp: nếu khớp (i) là khớp quay thì có giá trị 1,

nếu khớp (i) là khớp tịnh tiến thì có giá trị 0

( ) [4 1 ,] 1

k

τ Mô ment ngoại tác dụng lên vật rắn thứ #k Cũng như

ngoại lực ở trên, môment ngoại này cũng có 4 thành phần có ý nghĩa tương tự

k

Q

n Tổng số moment ngoại tác dụng lên vật rắn #k

Sau khi nhập xong các dữ liệu này, chúng ta sẽ định nghĩa cách thức các vật rắn được kết nối với nhau để tạo thành hệ Việc đó được thực hiện bởi việc nhập dữ liệu cho mảng cell

JCon như sau:

( )k i [1 2], 1 k

J = × i= n Biểu thị kết nối của khớp (i) của vật rắn #k đến vật rắn

khác Ví dụ, giả sử nó sẽ kết nối với khớp s của vật rắn

Trang 12

#p, thì dữ liệu nhập vào sẽ có dạng: ( )k i [ ]

Con

J = p s Và tất nhiên, chúng ta cũng sẽ cần nhập dữ liệu

( )p s [ ]

Con

1.2 Quy tắc thiết lập quan hệ tọa độ trong hệ

Trong đoạn này ta chỉ xét các hệ vật rắn nối ghép với nhau bằng các khớp quay và các khớp tịnh tiến Khi đó quan hệ vị trí giữa hai khâu kế tiếp nhau có thể được xác định bởi hai tham số khớp Trên hình 3.1 khâu #i-1 nối với khâu #i bằng khớp i Trong đó khâu đầu tiên, thường là khâu cố định hoặc khâu có gia tốc góc và gia tốc dài đã biết, và được đánh chỉ số là khâu #0 Khớp vào của một khâu sẽ được đánh chỉ số khớp là 1, khớp ra của nó được đánh chỉ số khớp là 2 (như hình vẽ) Như vậy, trục z của hệ tọa độ khớp ra của vật rắn #i-1 sẽ trùng với trục z của hệ tọa độ khớp vào của vật rắn #i:

z z sẽ chính là trục quay của khớp, và biến khớp là góc quay θi

quanh trục quay đó theo chiều từ x2i−1 sang x1i Nếu chiều quay để đưa được x2i−1 về trùng với 1

Trang 13

Sau đây là một số quy ước :

• Với mỗi khấu sẽ gồm có ba hệ tọa độ gắn với nó Hệ tọa độ

C và

2

i J

C gắn với các khớp vào và khớp ra của nó Tức là hệ tọa độ

1

i J

C

sẽ trùng trục z và gốc tọa độ với hệ tọa độ

2 1

i J

C của khâu trước đó

• Ma trận cosin chỉ hướng chuyển từ hệ tọa độ

H R R R (Ở đây được thiết lập theo 3 góc Euler XYZ)

• Vector nối gốc C iđến gốc của

k

i J

C

k

i J

r với k = 1,2 xét trong hệ tọa độ gắn với khối tâm

i J

C sang hệ tọa độ

1

i J

C được thực

hiện quanh trục quay z1iz2i−1 góc quay làθi Ma trận thực hiện việc đó là:

00

i J

C sang hệ tọa độ

1

i J

C

được thực hiện bởi phép tịnh tiến dọc trục

1

1i ≡ 2i

z z đoạn d Ma trận thực hiện việc i

chuyển hướng hệ tọa độ đó là TR i =E Vector chuyển vị trí để thực hiện việc đó là 3 z1iθi

• Ma trận cosin chỉ hướng chuyển từ hệ tọa độ CG i−1 sang hệ tọa độ

• Khâu đầu tiên được gọi là khâu 0, có CG0 ≡WCS world cordinate system( )

• Tọa độ của cơ cấu chấp hành khâu cuối mặc dù không kết nối với vật rắn nào phía sau, nhưng để thuận lợi cho việc tính toán, ta đặt nó bởi hệ tọa độ

2

n J

C

1.3 Lý thuyết đồ thị và ứng dụng trong bài toán hệ nhiều vật

Trong các hệ nhiều vật thực tế, có rất nhiều các vật rắn được liên kết với nhau với cấu trúc rất phức tạp Để có thể tính toán được cho các hệ phức tạp đó, công việc đầu tiên bao giờ cũng là phân tích nó thành các hệ đơn giản hơn đã có cách tính toán, trong hệ nhiều vật, dạng đơn giản đó là dạng chuỗi đơn nối tiếp Công việc đơn giản hóa hệ nhiều vật có cấu trúc phức tạp này thành các chuỗi đơn thường được thực hiện nhờ phương pháp đồ thị đã có từ lâu trong toán học

1.3.1 Cách thiết lập dữ liệu cho bài toán đồ thị

Để xử lý các đồ thị bằng chương trình máy tính, trước hết chúng ta phải tìm cách biểu diễn được chúng trên máy tính Thông thường, với đồ thị người ta hay sử dụng hai phương pháp biểu diễn, đó là biểu diễn dạng ma trận kề (thích hợp với các bài toán có số lượng cạnh lớn) và biểu diễn dạng xâu kề (thích hợp với những bài toán có số lượng cạnh nhỏ )

Trang 14

Biểu diễn ma trận kề là cách thức biểu diễn trực quan nhất chúng ta sử dụng một mảng hai chiều kích thước VxV , mỗi phần tử của nó nhận một giá trị boolean, trong đó a[x,y] nhận giá trị true - 1 nếu có một cạnh từ đỉnh x nối tới đỉnh y và nhận giá trị false - 0 nếu ngược lại

Hình 2 3: Đồ thị của cấu trúc liên kết của một hệ nhiều vật

Ví dụ xét một cây như hình vẽ trên, thì bảng ma trận kề của nó sẽ có dạng như sau:

Hình 2 4: Lưu trữ dữ liệu đồ thị bằng ma trận kề dạng tam giác trên

Chú ý rằng mỗi cạnh được biểu diễn thực sự bằng hai bit, một cạnh nối x và y sẽ được biểu diễn bằng giá trị true trong cả hai phần tử của mảng a[x,y] và a[y,x] thông thường, để

tiết kiệm bộ nhớ ta có thể sử dụng một nửa của ma trận này như cách ở trên Nhưng trong

Trang 15

một số trường hợp khác, để giải thuật đơn giản, người ta có thể sử dụng ma trận đầy Tương

tự, người ta thường quy ước một cạnh nối từ một đỉnh tới chính nó luôn nhận giá trị true, tức

Hình 2 5: Lữu trữ dữ liệu bằng cấu trúc kề

Một lần nữa chúng ta hãy chú ý rằng, mỗi cạnh được biểu diễn hai lần: một cạnh nối x với y được biểu diễn bởi một nút chứa x nằm trong danh sách kề của y và một nút chứa y nằm trong danh sách kề của x Việc lưu trữ hai lần như trên rất quan trọng, vì nếu ngược lại thì các câu hỏi chẳng hạn như các nút nào được nối trực tiếp tới nút x sẽ không được trả lời nhanh chóng

Trong cách biểu diễn này, thứ tự xuất hiện các cạnh trong dữ liệu được nhập vào là vô cùng quan trọng, và tùy theo thứ tự các đỉnh được nhập vào mỗi xâu kề, ta lại có một dạng ma trận

kề khác nhau Nói cách khác, cùng một đồ thị, nhưng với cách nhập thứ tự các đỉnh trong các xâu kề khác nhau sẽ tạo ra các cấu trúc kề khác nhau Thứ tự các cạnh trong xâu kề cũng ảnh hưởng tới thứ tự xử lý nó trong thuật toán

Qua phân tích trên, có thể nhận thấy ý tưởng về cách thức lưu trữ của cấu trúc kề này rất thuận lợi cho việc áp dụng đối với bài toán nhận dạng hệ nhiều vật Và nó cũng là cơ sở cách thiết lập dữ liệu nhập được sử dụng trong chương trình tính toán robot dáng người mà e

sử dụng trong luận văn này Tuy nhiên, do có những đặc tính riêng cần thiết cho chương trình tính toán nên ở đây em phát triển dạng cấu trúc kề mở rộng: thay vì mỗi xâu kề chỉ là một danh sách các vật rắn được kết nối với vật rắn hiện tại, nó còn cần phải lưu trữ thêm chỉ số khớp của vật rắn hiện tại, chỉ số khớp của vật rắn được nó kết nối với và chỉ số vật rắn mà nó được kết nối với như được mô tả trong hình vẽ sau:

Trang 16

Hình 2 6: Phân tích nhập liệu cho hệ nhiều vật

Trong đó kí hiệu # để chỉ vật rắn, còn chỉ số nhỏ để chỉ số thứ tự của các khớp của vật rắn đó Chú ý là các khớp phải được đánh số từ 1 cho đến tổng số khớp của vật rắn đó

Hình 2 7: Lữu trữ dữ liệu bằng cấu trúc kề mở rộng

Chú ý, đáng lẽ mỗi thành phần phải được lưu bởi 3 chỉ số, nhưng để tiết kiệm lượng biến cần lưu, nên mỗi thành phần ta chỉ cần phải lưu hai chỉ số như ở trên hình vẽ ví dụ, với vật rắn #2, Nó được kết nối khớp 1 với vật rắn #0 bởi chỉ số khớp 1 của vật rắn #0 đó Tiếp

đó, khớp 2 của nó sẽ được nối với khớp 3 của vật rắn #8 Khớp 3 của nó được nối với khớp 1 của vậ rắn #3 Và khớp 4 của nó được nối với khớp 1 của vật rắn #9

Đây cũng chính là nguyên tắc nhập dữ liệu cho ma trận Jcon trong chương trình Tác dụng của cách biểu thị ma trận như thế này sẽ được thấy ở phần sau, đó là giải thuật để duyệt đồ thị

1.3.2 Tìm kiếm ưu tiên độ sâu

Trong bài toán đồ thị, có các câu hỏi thường đặt ra như sau: Đồ thị có liên thông hay không, nếu không, hãy cho biết các thành phần liên thông của đồ thị? Đồ thị có một chu trình nào hay không? Các xác định ra các chu trình tối thiểu? Những câu hỏi như vậy, và nhiều các câu hỏi khác có thể được giải quyết bằng một giải thuật, được gọi là tìm kiếm ưu tiên theo độ sâu (Depth First Search) Đây là một phương pháp tự nhiên để duyệt qua tất cả các nút và các cạnh của đồ thị một cách có hệ thống

Sau đây sẽ là dạng giải thuật DFS đệ quy để áp dụng với cấu trúc kề mở rộng đã nói ở trên:

Trang 17

function visit(k)

i=1;

if visited(JCon{k}(i,1)) = 0 % neu VR chua duoc duyet thi duyet no

visited(JCon{k}(i,1)) = 1; % bao vat ran do da duoc duyet

% ham duyet vat ran

visit (Jcon{k}(i,1)); % chuyen sang VR do de duyet cac VR ket noi voi no

visited = zeros(length(JCon),1); % luc dau, tat ca cac VR trong he deu chu duoc duyet

for i = 1:length(JCon) % duyet tat ca cac vat ran trong he

if visited(i) = 0 % neu VR i chu duoc duyet

visit(i); % thi duyet VR do

Trang 19

Hình 2 9: Tóm lược ý nghĩa của DFS

Với giải thuật DFS như ở trên, có thể nhận biết được ngay số lượng các thành phần liên thông của đồ thị, nó chính bằng số lượng các lần được gọi đến hàm visit trong hàm DFS Đồng thời, nó cũng cho phép ta xác định được hệ có chu trình hay không, và cạnh nào sẽ là cạnh tạo vòng kín Ở đây, cạnh tạo vòng kín là cạnh mà tại đó nút trong hàm visit ở trên, nó gặp nút đã được duyệt rồi

Cách xây dựng giải thuật DFS như ở trên, được gọi là DFS đệ quy Sự đệ quy đó có thể được khử bằng cách sử dụng một ngăn xếp Việc khử đệ quy sẽ cho ta một cài đặt thuật toán khác đơn giản hơn, và hiển nhiên, tiết kiệm bộ nhớ hơn so với phương pháp đệ quy Và đây cũng là phương pháp được sử dụng trong luận văn trong việc duyệt cây

Để thực hiện được giải thuật này, trước hết ta cần xây dựng một ngăn xếp Các đỉnh đã được

“gặp” nhưng chưa được “thăm” sẽ lưu vào ngăn xếp đó Để thăm một đỉnh, chúng ta sẽ duyệt qua tất cả các cạnh của nó và đặt vào ngăn xếp bất kì đỉnh nào chưa được thăm và chưa có trong ngăn xếp Với hệ nhiều vật, trong chương trình cài đặt một ngăn xếp được hỗ trợ bởi các hàm push và pop như sau:

% a: chi so vat ran

% b: chi so khop lien ket cua VR do

% c: chi so vat ran ke tiep phia sau cua VR do

% d: chi so khop lk cua VR sau do voi VR hien tai

% e: chi so khop vao cua VR hien tai

Trang 20

Và ứng dụng giải thuật DFS vào việc phân tích một hệ nhiều vật dạng cây ra thành một hệ các nhánh cây có dạng nối tiếp, được lưu vào cell SB như sau:

n = length(JCon); % so luong vat ran trong he

SBid = 1; % chi so mang cua SB

Trang 21

if Checked(CObjID) == 1 % neu vat ran dc ket noi da duyet -> vong kin

% -> pha vo lien ket tai day.

1.3.3 Ví dụ áp dụng với mô hình robot dáng người

Mô hình robot dáng người 35 DOFs được sử dụng ở đây như sau:

Hình 2 10: Mô hình robot 35 DOFs được sử dụng trong luận văn

Dạng mô hình hóa:

Trang 24

Ở đây ta giải thích các thành phần của ma trận nhánh SB{i} như sau:

Cột đầu tiên của ma trận là chỉ số của vật rắn

Cột thứ 2 cho ta biết chỉ số “khớp vào” của vật rắn đó

Cột thứ 3 cho ta biết chỉ số “khớp ra” của vật rắn

Cột thứ 4 cho ta chỉ số biến khớp của khớp kết nối giữa vật rắn hiện thời với vật rắn nằm ở hàng dưới nó

Khớp vào và khớp ra ở đây có ý nghĩa để xác định được thứ tự vật rắn trong chuỗi tính

từ gốc lên

Để hiểu rõ hơn, ta lấy một ví dụ: Xét SB{1}, như vậy vật rắn #1 (nằm ở hàng 1, cột 1)

sẽ không được kết nối với vật rắn nào trước đó (do chỉ số vào của nó = 0), hay nó chính là vật rắn gốc (base) Vật rắn #1 đó kết nối với vật rắn #23 (nằm ở hàng 2, cột 1) bởi khớp số 1 của nó(chính là chỉ số ra của #1) Và ngược lại, vật rắn #23 được kết nối với vật rắn #1 bởi khớp

1 của nó (chính là chỉ số vào của #23)

Ngoài ra, ở vật rắn #36 chẳng hạn, chỉ số ra của nó bằng 0 có nghĩa là nó không kết nối thêm với vật rắn nào phía sau cả

1.3.4 Tìm kiếm ưu tiên theo chiều rộng

Cũng như tìm kiếm ưu tiên theo chiều sâu, tìm kiếm ưu tiên theo chiều rộng là một giải thuật phổ biến trong duyệt đồ thị Việc duyệt theo chiều rộng được thực hiện theo ý tưởng phân tầng các đối tượng được duyệt, sau đó duyệt trong từng tầng đó Ý tưởng này chính là nền tảng cơ bản để em đưa ra đề xuất giải thuật duyệt hệ kín và cắt liên kết “tốt” để chuyển từ

hệ kín thành hệ hở tương ứng Trước hết, chúng ta hãy cùng xem một ví dụ về trình tự duyệt một hệ theo chiều rộng như thế nào:

Trang 25

Hình 2 12: Giải thuật duyệt theo chiều rộng

Một đặc điểm rất đáng quan tâm của phương pháp duyệt cây theo chiều rộng này đó là

nó thể hiện tính chất phân tầng của từng vật rắn chứa trong hệ Như vậy, vị trí tầng mà một vật rắn đang đứng cũng chính bằng với số vật rắn trung gian để đi được từ gốc lên đến nó Hay nói cách khác, duyệt cây theo chiều rộng sẽ cho chúng ta tìm được con đường ngắn nhất

từ gốc đến một vật rắn bất kì trong hệ, đây là nền tảng cơ bản để giúp tối ưu hóa việc chọn điểm cắt trong bài toán hệ kín Để thấy rõ điều đó, chúng ta hãy xem lại thí dụ trên, nhưng được nhìn theo ý nghĩa phân tầng:

có chỉ số thấp hơn, nên ta sẽ chọn được điểm cắt tại liên kết (6, 8); Tương tự, với vòng kín (2,3, 4, 5, 19, 18, 17, 15, 12, 8), có thể chọn được hai điểm cắt là (17, 18) và (19, 18) Nhưng

do ưu tiên cho liên kết với chỉ số thấp hơn, nên ta sẽ chọn được điểm cắt là liên kết (19, 18)

Trang 26

Sau khi thực hiện việc duyệt theo chiều rộng và tách thành các nhánh đơn, ta có được

kết quả như sau:

Hình 2.14: Kết quả chuyển từ hệ kín thành hệ dạng cây sau BFS

Đến lúc này chúng ta có thể sử dụng lại giải thuật DFS để thực hiện việc chia nhỏ hệ

dạng cây này thành các hệ chuỗi đơn như ở phần trước đã nêu

2 Bài toán động học

2.1 Bài toán động học cho hệ dạng chuỗi nối tiếp

Bài toán động học cho hệ dạng chuỗi nối tiếp chính là cơ sở cơ bản để phát triển cho hệ

dạng cây sau này Bời như trong phần lý thuyết đồ thị trong mục 2, chúng ta đã thấy được

rằng có thể biến đổi một hệ có dạng cây thành một tập các nhánh dạng chuỗi

2.1.1 Bài toán động học thuận

Theo quy ước thiết lập các hệ tọa độ ở trên, Ma trận cosin chỉ hướng chuyển từ WCS

sang hệ tọa độ CSi của khâu thứ i sẽ đc xác định bởi công thức:

i i i

T R T

Như vậy, cách thức trên cho phép chúng ta xác định được một giải thuật truy hồi để xác định

được hướng của hệ tọa độ gắn với khối tâm của khâu thứ n là A Từ đó có thể xác định n

được hệ tọa độ gắn với bàn kẹp là: 2

n

n

A H

Trang 27

Vấn đề thứ hai là phải xác định hướng của điểm cuối khâu thao tác đó Ở đây, ta cũng

sẽ đi tìm một công thức truy hồi cho phép xác định được vị trí này:

Từ hình (2.2) ta thấy vị trí trọng tâm của vật rắn thứ i được xác định bởi:

=

=

Công thức (2.5) cho ta một biểu thức truy hồi xác định được vị trí của khối tâm vật

rắn thứ #n trong hệ tọa độ tuyệt đối Và từ đó xác định được vị trí của điểm cuối khâu thao

Như vậy có thể tóm lại giải thuật để thực hiện tính toán bài toán thuận này theo công

thức truy hồi như sau:

Bảng 2 3:giải thuật truy hồi tính động học thuận robot dạng chuỗi

Trang 28

2.1.2 Bài toán động học ngược

Bài toán động học ngược rôbốt là bài toán cơ bản, đặt nền tảng cho bài toán điều

khiển rôbốt Bài toán động học ngược là bài toán xác định các toạ độ, vận tốc, gia tốc của các

biến khớp khi cho biết quỹ đạo chuyển động trong không gian thao tác với một cấu hình

rôbốt đã cho Khó khăn của bài toán động học ngược là phương trình động học cần giải là

một phương trình phi tuyến với nhiều hàm lượng giác Bài toán động học ngược có thể có 0,

1, 2, nhiều hoặc vô số lời giải tuỳ theo vị trí trong không gian thao tác và cấu hình của rôbốt

Có hai cách tiếp cận cho bài toán động học ngược của rôbốt công nghiệp dạng chuỗi

là phương pháp giải tích và phương pháp số Phương pháp giải tích là phương pháp dựa vào

các phương trình động học thuận để đưa được các phương trình dưới dạng tường minh mối

quan hệ của toạ độ, vận tốc, gia tốc các khớp theo quỹ đạo cho trong không gian thao tác

Đây là phương pháp được sử dụng cho hầu hết các rôbốt công nghiệp hiện nay, vì nó đảm

bảo tốc độ tính toán trong điều khiển thời gian thực Tuy nhiên, để áp dụng giải thuật với một

cách tổng quát, ứng dụng cho một lớp các cấu hình robot dạng hở, nên giải thuật số ở đây

được xem là hiệu quả hơn

2.1.2.1 Đặt bài toán và các công thức cơ bản

Cho biết

( ) , R m,

Khi m < n, rôbốt có số bậc tự do f = n lớn hơn số toạ độ xác định vị trí của bàn kẹp (m), rôbốt

được gọi là rôbốt dư dẫn động

Đạo hàm 2 vế của (2.8) theo thời gian, ta suy ra

Trang 29

Đạo hàm 2 vế của (2.14) theo thời gian thu được:

Ma trận J&( )q(t) thu được bằng cách đạo hàm trực tiếp Jacobian J( )q(t)

Thay vào (2.13) ta tìm được gia tốc q&& (t)

Các công thức (2.12),(2.13) và (2.15) cho phép ta xác định được vector vận tốc suy rộng và

vector gia tốc suy rộng, nếu như biết q(t) tại thời điểm khảo sát và các quy luật

1( ) ( ) ( ) ( ) ( )( )

Từ đó, ta có sơ đồ tính toán như sau:

1) Tìm q (Dùng phương pháp lặp), sau đó tính được 0 J(q0),J+(q0),J&(q0)

Theo (2.12) tìm được q& =(0) q&0, theo (2.13) tìm được q& =&( )0 q&0

2) Cho k = 0, 1, 2, , n*-1, tính q(tk+ 1)theo (2.17), theo (2.12) và (2.13) tìm được

q& & ,q&(tk+1)= q&k+1

Nhận xét: Tính q(tk+ 1) theo (2.17) là khá thô Vì vậy để nâng cao độ chính xác cần phải nêu

ra một thuật toán xác định q(tk+ 1) chính xác hơn

2.1.2.2 Thuật toán xác địnhq0 =q( )t0

Giả sử t0 =0 là thời điểm đầu Ta có thể xác định giá trị gần đúng ~q của 0 q bằng cách vẽ 0

(hoặc bằng thực nghiệm) Sau đó áp dụng khai triển Taylor tìm gần đúng tốt hơn của q như 0

sau:

Giả sử lấy q(t0)=~q0 +∆q0

Theo phương trình (2.8) ta có

Trang 30

)

~()

~()

~()()t

∂+

=

∆+

=

q

f q f q q f q f x

Nếu ∆q0 ≥ε1 thì ta lại tiếp tục thế (2.19) vào phương trình (2.18) và lại giải phương trình

này Quá trình lặp này được dừng tại ∆q0 <ε1

Sau đó lấy:

0:= 0

Biết được nghiệm q của phương trình (2.8) tại thời điểm 0 t0 =0 Thay vào (2.12),(2.13) ta

tìm được q& =(0) q&0và q& =&(0) q&0

Giá trị sai số cho phép ε xác định theo yêu cầu về độ chính xác của bài toán 1

( k 1 k 1 k 1 k 1 k 1 k1 ∆ k 1+

∂+

=

∆+

f q q

f q

f x

Biết được q(tk+ 1), ta tính q&(tk+1) theo công thức (2.12) và q&&(tk+1) theo công thức (2.13)

Giá trị sai số cho phép ε xác định theo yêu cầu về độ chính xác của bài toán 2

Trang 31

Hình 2 14: Sơ đồ phương pháp số giải bài toán động học ngược

Trong phần trên chúng ta đã cùng xem xét cách giải quyết bài toán động học ngược, tuy nhiên cũng có những vấn đề nhất định cần bàn luận Trước hết chúng ta cần xem xét hàm f(q) được nêu ra trong giải thuật là hàm gì, như thế nào và làm sao xác định được nó

Hàm f(q) trong thực tế được chọn như sau: ( ) T

f q& = ⎣⎡X& Y& Z& ω ω ω ⎤⎦

2.1.3 Các giải thuật bổ sung

2.1.3.1 Xác định vận tốc góc và gia tốc góc của vật rắn

Biểu thức tính vận tốc góc của vật rắn i so với WCS:

Trang 32

p u

P r C r

Hình 2 15: Phép biến đổi từ hệ tọa độ tuyệt đối sang hệ tọa độ tương đối gắn với vật rắn

Ta chọn điểm P tùy ý thuộc vật khâu i, từ hình vẽ ta có:

ur uur uur

(2.27) Đạo hàm biểu thức trên theo thời gian trong hệ quy chiếu cố định WCS ta có:

WCS WCS

C P

ur uur uur uur ur uur

(2.28) Nếu sử dụng kí hiệu ma trận trong hệ tọa độ tuyệt đối ta có:

Trang 33

T T& H T H H T H& H T H H T H& H T T H& (2.38)

Với trường hợp khớp quay, ta có:

²

( )

σσσ

2.1.3.2 Xác định vận tốc khối tâm của vật rắn:

Vị trí trọng tâm của vật rắn thứ i được xác định bởi:

Trang 34

( ) ( )

Vậy tọa độ của điểm cuối khâu thao tác là:

( ) 0 ( ) 0

r& r& A r& r& ω A r (2.50)

2.1.3.3 Giải thuật tính Jacobian J(q)

Như đã thấy ở phần trên, nếu sử dụng bằng phương pháp symbolic thì việc tính toán

ma trận Jacobian được thực hiện bằng cách đạo hàm symbolic biểu thức hàm f(q) Cách thức

đạo hàm này có hạn chế là tốc độ tính toán khá chậm, đặc biệt với trường hợp hệ có số lượng

vật rắn lớn Vì thế ở đây đề xuất một phương án mới là giải thuật tính số theo phương pháp

truy hồi với chi phí tính cỡ O(N) để tính ma trận Jacobian này

Như phân tích ở phần trên, vector X gồm có hai thành phần ( )0

P

r vàφ, vì thế, ở đây ta cũng phân chia Jacobian ra làm hai thành phần, đó là Jacobian do thành phần chỉ vị trí

q q& Tiếp theo sau đây ta

sẽ tìm giải thuật để tìm ra được các ma trận Jacobian này

=

r J

& là cột thứ j của ma trận Jacobian quay:

( ) 0

n R

=

ω J

Trang 35

Như vậy công thức (2.54) cho ta một biểu thức tính được ma trận Jacobian quay

Tiếp theo ta tìm công thức tính ma trận Jacobian tịnh tiến

Trang 36

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

j n

Ta thấy nếu cho j = n thì biểu thức (2.62) sẽ trở thành (2.56) Như vậy biểu thức (2.62) có thể

coi là biểu thức chung để tính được cột thứ j của ma trận Jacobian tịnh tiến

Từ những phân tích trên, ta đưa ra giải thuật số để tính ma trận Jacobian J(q) như sau:

Trang 37

Vậy giải thuật đệ quy như trên nêu ra cho phép chúng ta tính được ma trận Jacobian J(q) với

chi phí tính toán là 9n phép tính nhân và 5n phép tính cộng ma trận

2.1.3.4 Giải thuật tính ma trận J q&( )

Trong giải thuật được nêu ra ở mục 2.1.2.2 , để tính giá trị của q&&thì chúng ta cần thiết

phải xác định được ma trận J q&( ) Với trường hợp tính ma trận này bằng phương pháp

symbolic thì chúng ta chỉ cần thực hiện đạo hàm trực tiếp theo thời gian biểu thức của

jacobian J(q) Tuy nhiên ở đây, chúng ta đang muốn xây dựng được một phương pháp số nên

Trang 38

việc tìm ra một giải thuật số để thực hiện được việc tính toán ra J q&( )là cần thiết Vì thế ở

đây đề xuất thêm một giải thuật mới để xác định giá trị này

Cũng như trong 2.1.3.3 Ở đây ta cũng phân chia ra làm hai thành phần, đó là vi phân

của Jacobian chỉ vị tríJ q&T( ) và vi phân Jacobian chỉ hướngJ q&R( ) Ta sẽ đi tìm cách thức

Vậy ta có giải thuật để thực hiện được việc tính vi phân của ma trận Jacobian là:

Bảng 2 5: Giải thuật tính J q&( )Chiều thuận:

quay ( )0 ( )0

1

Trang 39

2.1.3.5 Một số bài toán mở rộng ứng dụng trong trường hợp robot dư dẫn động

Nghiệm thu được theo phương pháp trên là nghiệm có chuẩn nhỏ nhất trong tập vô số nghiệm

vận tốc của bài toán động học ngược Trong trường hợp nghiệm tổng quát có dạng:

= + −

với z là vectơ được chọn phù hợp để rôbốt thoả mãn thêm các yêu cầu cho phép

Để thực hiện ta đưa vào hàm mục tiêu φ(q), khi đó z được chọn (xem [2], [14])

Trang 40

α: hằng số dương nếu hàm φ(q)cần cực đại hoá, hằng số âm nếu )φ(q cần cực tiểu

(q = J q JT q

Hàm này triệt tiêu tại cấu hình suy biến Do đó, cực đại hàm này sẽ giúp rôbốt tránh được các

điểm suy biến trong quá trình hoạt động

2) Hàm khoảng cách tới giới hạn khớp:

2 n

1

i i

qq

qqn

1)

Với qiM (qim) là ký hiệu của giới hạn lớn nhất (nhỏ nhất) và q là giá trị giữa của khoảng làm i

việc của khớp Do đó, cực đại khoảng cách này, tính dư dẫn động sẽ được khai thác để giữ

cho các biến khớp gần giá trị giữa của khoảng làm việc của rôbốt, tránh được các giới hạn

khớp

3) Hàm khoảng cách tới vật cản

o q p

q)=min ( )−

(

Với o là vectơ vị trí của một điểm thích hợp trên chướng ngại vật (ví dụ tâm trong trường hợp

mô hình vật cản là hình cầu) và p là vectơ vị trí suy rộng cấu trúc của rôbốt Do đó, cực đại

khoảng cách này sẽ giúp rôbốt tránh được vật cản trong quá trình hoạt động Trên thực tế

rôbốt không gian, việc mô hình các vật cản cũng như xác định giá trị hàm này là khá phức tạp

2.1.3.6 Vấn đề giới hạn khớp trong bài toán động học ngược

Bài toán giới hạn khớp là một trong những bài toán thực tế rất quan trọng cần giải

quyết, bởi lẽ, nó cho chúng ta biết được hệ thực có đáp ứng được nghiệm giải ra hay không

Trong trường hợp nếu như nghiệm giải ra trong bài toán động học ngược nằm ngoài giới hạn

khớp cho phép, thì có nghĩa là kết quả giải đó hệ thực không thể đáp ứng được, hay nói cách

khác, kết quả giải như vậy là vô nghĩa Vì thế, trong bài toán động học ngược, chúng ta cần

Ngày đăng: 24/07/2017, 22:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. A, J. (1991). Unified formulation of dynamics for serial rigid multibody systems. . Journal of Guidance, Control and Dynamics , 531-542 Sách, tạp chí
Tiêu đề: Journal of Guidance, Control and Dynamics
Tác giả: A, J
Năm: 1991
2. Anderson, F. and M. Pandy (2001). Static and dynamic optimization solutions for gait are practically equivalent. Journal of Biomechanics 34, 153–161 Sách, tạp chí
Tiêu đề: Static and dynamic optimization solutions for gait are practically equivalent
Tác giả: Anderson, F. and M. Pandy
Năm: 2001
3. Angeles, J. (2003). Fundamentals Of Robotic Mechanical Systems Theory Methods And Algorithms 2Nd Edition. Springer Sách, tạp chí
Tiêu đề: Fundamentals Of Robotic Mechanical Systems Theory Methods And Algorithms 2Nd Edition
Tác giả: Angeles, J
Năm: 2003
4. Arai, H. and O. Khatib (1994, 81-84). Experiments with dynamic skills. In Proceedings of The Japan-USA Symposium on Flexible Automation, Kobe, Japan Sách, tạp chí
Tiêu đề: Experiments with dynamic skills
5. Arai, H. and S. Tachi (1991, April). Dynamic control of a manipulator with passive joints in an operational coordinate space. In Proceedings of the IEEE International Conference on Robotics and Automation, Sacramento, USA Sách, tạp chí
Tiêu đề: Dynamic control of a manipulator with passive joints in an operational coordinate space
Tác giả: Arai, H. and S. Tachi
Năm: 1991
6. Arbib, M. (1981). Perceptual Structures and Distributed Motor Control. In: Brooks VB (ed) Handbook of physiology (Section 2: The nervous system, Vol. IL Motor control, Part I). American Physiological Society, pp. 1449-1480 Sách, tạp chí
Tiêu đề: Perceptual Structures and Distributed Motor Control
Tác giả: Arbib, M
Năm: 1981
8. Bachar, Y. (2004). Developing Controllers for Biped Humanoid Locomotion. Master of Science: University of Edinburgh Sách, tạp chí
Tiêu đề: Developing Controllers for Biped Humanoid Locomotion
Tác giả: Bachar, Y
Năm: 2004
9. Bae DS, H. E. (1987). A recursive formulation for constrained mechanical system dynamics: Part II. Closed loop systems. Int. J. of Mechanics of Structures and Machines , 481-506 Sách, tạp chí
Tiêu đề: Int. J. of Mechanics of Structures and Machines
Tác giả: Bae DS, H. E
Năm: 1987
10. Bae DS, H. E. (1987). A recursive formulation for constrained mechanical system dynamics:Part I. Open systems. Int. J. of Mechanics of Structures and Machines , 359-382 Sách, tạp chí
Tiêu đề: Int. J. of Mechanics of Structures and Machines
Tác giả: Bae DS, H. E
Năm: 1987
11. Baerlocher, P. and R. Boulic (1998, October). Task-priority formulation for the kinematic control of highly redundant articulated structures. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Victoria, Canada Sách, tạp chí
Tiêu đề: Task-priority formulation for the kinematic control of highly redundant articulated structures
Tác giả: Baerlocher, P. and R. Boulic
Năm: 1998
12. Baginski, B. (1998). Motion Planning for Manipulators with Many Degrees of Freedom - The BB Method. Munich: Doctoral Thesis Sách, tạp chí
Tiêu đề: Motion Planning for Manipulators with Many Degrees of Freedom - The BB Method
Tác giả: Baginski, B
Năm: 1998
13. Brock, O. and O. Khatib (2002). Elastic strips: A framework for motion generation in human environments. International Journal of Robotics Research 21(12), 1031–1052 Sách, tạp chí
Tiêu đề: A framework for motion generation in human environments
Tác giả: Brock, O. and O. Khatib
Năm: 2002
14. Brock, O., O. Khatib, and S. Viji (2002). Task-consistent obstacle avoidance and motion behavior for mobile manipulation. In Proceedings of the IEEE International Conference on Robotics and Automation, Washingtion, USA, pp. 388–393 Sách, tạp chí
Tiêu đề: Task-consistent obstacle avoidance and motion behavior for mobile manipulation
Tác giả: Brock, O., O. Khatib, and S. Viji
Năm: 2002
16. Buckley, C. (1986). The application of continuum methods to path planning. Ph. D. thesis, Stanford University, Stanford, USA Sách, tạp chí
Tiêu đề: ). The application of continuum methods to path planning
Tác giả: Buckley, C
Năm: 1986
17. Chang, K. and O. Khatib (2000, April). Operational space dynamics: Effcient algorithms for modeling and control of branching mechanisms. In Proceedings of the IEEE International Conference on Robotics and Automation Sách, tạp chí
Tiêu đề: Effcient algorithms for modeling and control of branching mechanisms
Tác giả: Chang, K. and O. Khatib
Năm: 2000
18. Cole, A., J. Hauser, and S. Sastry (1989). Kinematics and control of multifingered hands with rolling contact. IEEE Transaction on Automation and Control 34 (4), 398–404 Sách, tạp chí
Tiêu đề: Kinematics and control of multifingered hands with rolling contact
Tác giả: Cole, A., J. Hauser, and S. Sastry
Năm: 1989
19. Delp, S. and J. Loan (2000). A computational framework for simulating and analyzing human and animal movement. IEEE Computational Science and Engineering 2(5), 46–55 Sách, tạp chí
Tiêu đề: A computational framework for simulating and analyzing human and animal movement
Tác giả: Delp, S. and J. Loan
Năm: 2000
20. Dimity M. Gorinevsky, A. M. (1997). Force control of robotic systems. CRC Press Sách, tạp chí
Tiêu đề: Force control of robotic systems
Tác giả: Dimity M. Gorinevsky, A. M
Năm: 1997
21. Edsinger, A. L. (2007). Robot Manipulation in Human Environments. Doctor of Philosophy in Electrical Engineering and Computer Science Sách, tạp chí
Tiêu đề: Robot Manipulation in Human Environments
Tác giả: Edsinger, A. L
Năm: 2007
23. Featherstone, R., S. Thiebaut, and O. Khatib (1999, May). A general contact model for dynamically-decouled force/motion control. In Proceedings of the IEEE International Conference on Robotics and Automation, Detroit, USA Sách, tạp chí
Tiêu đề: ). A general contact model for dynamically-decouled force/motion control
Tác giả: Featherstone, R., S. Thiebaut, and O. Khatib
Năm: 1999

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w