PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Công nghệ robot (http://www.picvietnam.com/forum/forumdisplay.php?f=50)
-   -   Giải số bài toán động học ngược tay máy (http://www.picvietnam.com/forum/showthread.php?t=2021)

kstn 24-02-2008 10:32 AM

Giải số bài toán động học ngược tay máy
 
Việc giải bài toán ngược tay máy theo phương pháp giải tích khá phức tạp(với các tay máy có bậc tự do lớn). Vì vậy người ta đã đưa ra các phương pháp giải số để giải nhanh bài toán dộng học ngược. Có 2 kiểu giải số bài toán động học ngược:
Cách thứ nhất, viết phương trình động học thuận x=f(q) rồi sử dụng lặp Newton-Raphson để giải phương trình này. PP này có chi phí tính toán lớn và kô phải lúc nào cũng hội tụ(phụ thuộc vào điều kiện đầu)
Cách thứ hai: sử dụng chuỗi Taylor và ma trận Jacobi để viết phương trình xấp xỉ toạ độ đầu ra. Từ phương trình xấp xỉ đó ta xây dựng thuật toán hội tụ tới nghiệm yêu cầu. Thuật toán hội tụ có 2 kiểu là sai phân tới và sai phân lùi. Sử dụng lược đồ sai phân tới khi muốn có kết quả nhanh, tuy nhiên sai số tích lũy sẽ khá lớn qua nhiều bước lấy mẫu(vì pp này kô cho kết quả chính xác theo yêu cầu cho trước). Sử dụng lược đồ sai phân lùi có thể cho kết quả chính xác tùy ý(có thể đạt tới 1e-12), tuy nhiên phải giải lặp tại từng bước lấy mẫu.
Sử dụng ma trận Jacobi và lược đồ sai phân lùi có thể cho kết quả chính xác cao đối với bài toán động học ngược(vị trí, vận tốc, gia tốc). Tôi đã sử dụng phương pháp này giải được các cơ cấu cánh tay máy phẳng
Với các cơ cấu cánh tay máy 3d(vd kuka). Việc áp dụng các thuật toán trên có một số khó khăn, đơn cử như nếu sử dụng tọa độ Euler để mô tả góc quay trong không gian thì sẽ bị suy biến khi ma trận cosin chỉ hướng là đơn vị, vì vậy thuật toán kô hội tụ ngay tại bước lặp đầu tiên. Để giải quyết khó khăn này, tôi đã đề ra một giải thuật lặp mới, xây dựng lại ma trận Jacobi với ngõ ra là 12 biến(3 toạ độ + 9 chỉ phương). Kết quả tính rất tốt với trường hợp robot 6 dof(kuka).
Hiện nay, tôi đang gặp rắc rối với bộ data để thí nghiệm, có bạn nào có bộ data ngõ ra (tọa độ + các vector chỉ phương) hay có bộ mô phỏng hay training robot nào có xuất ra các data đó thì hãy chỉ cho tôi.
Sư huynh nào có cao kiến hay đóng góp gì xin hãy giúp đỡ.

black_electron 25-02-2008 10:32 PM

Bạn thử search phần mềm Easy Robot có thể có khả quan đấy.Nó mô phỏng hầu hết tất cả các tay máy robot của nhiều hãng nổi tiếng,ngoài ra bạn có thể lập trình để nó chuyển động theo quỹ đạo mình muốn.
Chúc vui !

conso0 13-08-2008 10:16 AM

Trích:

Nguyên văn bởi kstn (Post 14456)
Việc giải bài toán ngược tay máy theo phương pháp giải tích khá phức tạp(với các tay máy có bậc tự do lớn). Vì vậy người ta đã đưa ra các phương pháp giải số để giải nhanh bài toán dộng học ngược. Có 2 kiểu giải số bài toán động học ngược:
Cách thứ nhất, viết phương trình động học thuận x=f(q) rồi sử dụng lặp Newton-Raphson để giải phương trình này. PP này có chi phí tính toán lớn và kô phải lúc nào cũng hội tụ(phụ thuộc vào điều kiện đầu)
Cách thứ hai: sử dụng chuỗi Taylor và ma trận Jacobi để viết phương trình xấp xỉ toạ độ đầu ra. Từ phương trình xấp xỉ đó ta xây dựng thuật toán hội tụ tới nghiệm yêu cầu. Thuật toán hội tụ có 2 kiểu là sai phân tới và sai phân lùi. Sử dụng lược đồ sai phân tới khi muốn có kết quả nhanh, tuy nhiên sai số tích lũy sẽ khá lớn qua nhiều bước lấy mẫu(vì pp này kô cho kết quả chính xác theo yêu cầu cho trước). Sử dụng lược đồ sai phân lùi có thể cho kết quả chính xác tùy ý(có thể đạt tới 1e-12), tuy nhiên phải giải lặp tại từng bước lấy mẫu.
Sử dụng ma trận Jacobi và lược đồ sai phân lùi có thể cho kết quả chính xác cao đối với bài toán động học ngược(vị trí, vận tốc, gia tốc). Tôi đã sử dụng phương pháp này giải được các cơ cấu cánh tay máy phẳng
Với các cơ cấu cánh tay máy 3d(vd kuka). Việc áp dụng các thuật toán trên có một số khó khăn, đơn cử như nếu sử dụng tọa độ Euler để mô tả góc quay trong không gian thì sẽ bị suy biến khi ma trận cosin chỉ hướng là đơn vị, vì vậy thuật toán kô hội tụ ngay tại bước lặp đầu tiên. Để giải quyết khó khăn này, tôi đã đề ra một giải thuật lặp mới, xây dựng lại ma trận Jacobi với ngõ ra là 12 biến(3 toạ độ + 9 chỉ phương). Kết quả tính rất tốt với trường hợp robot 6 dof(kuka).
Hiện nay, tôi đang gặp rắc rối với bộ data để thí nghiệm, có bạn nào có bộ data ngõ ra (tọa độ + các vector chỉ phương) hay có bộ mô phỏng hay training robot nào có xuất ra các data đó thì hãy chỉ cho tôi.
Sư huynh nào có cao kiến hay đóng góp gì xin hãy giúp đỡ.

Mình cũng đã từng giải bài toán động học ngược của Robot bằng phương pháp số nhưng chỉ dừng ở mức 3 bậc tự do, hệ phương trình động học của mình (2 phương trình giải quyết về vị trí + 1 phương trình giải quyết về hướng) . Quỹ đạo của nó được xây dựng theo kiểu nội suy Spline trong Matlab hoặc trong Pro Engineer, ko biết có giúp gì được cho bạn không?

kebitmat_f 28-11-2008 10:59 PM

anh kstn có tài liệu về pp giải Taylor + Jacobian ko? cho e xin với.
E đang mắc khi dùng pp Newton Raphson, bị nhảy nghiệm. hic

polaris2511bk 02-12-2008 10:35 PM

Trích:

Nguyên văn bởi kstn (Post 14456)
Việc giải bài toán ngược tay máy theo phương pháp giải tích khá phức tạp(với các tay máy có bậc tự do lớn). Vì vậy người ta đã đưa ra các phương pháp giải số để giải nhanh bài toán dộng học ngược. Có 2 kiểu giải số bài toán động học ngược:
Cách thứ nhất, viết phương trình động học thuận x=f(q) rồi sử dụng lặp Newton-Raphson để giải phương trình này. PP này có chi phí tính toán lớn và kô phải lúc nào cũng hội tụ(phụ thuộc vào điều kiện đầu)
Cách thứ hai: sử dụng chuỗi Taylor và ma trận Jacobi để viết phương trình xấp xỉ toạ độ đầu ra. Từ phương trình xấp xỉ đó ta xây dựng thuật toán hội tụ tới nghiệm yêu cầu. Thuật toán hội tụ có 2 kiểu là sai phân tới và sai phân lùi. Sử dụng lược đồ sai phân tới khi muốn có kết quả nhanh, tuy nhiên sai số tích lũy sẽ khá lớn qua nhiều bước lấy mẫu(vì pp này kô cho kết quả chính xác theo yêu cầu cho trước). Sử dụng lược đồ sai phân lùi có thể cho kết quả chính xác tùy ý(có thể đạt tới 1e-12), tuy nhiên phải giải lặp tại từng bước lấy mẫu.
Sử dụng ma trận Jacobi và lược đồ sai phân lùi có thể cho kết quả chính xác cao đối với bài toán động học ngược(vị trí, vận tốc, gia tốc). Tôi đã sử dụng phương pháp này giải được các cơ cấu cánh tay máy phẳng
Với các cơ cấu cánh tay máy 3d(vd kuka). Việc áp dụng các thuật toán trên có một số khó khăn, đơn cử như nếu sử dụng tọa độ Euler để mô tả góc quay trong không gian thì sẽ bị suy biến khi ma trận cosin chỉ hướng là đơn vị, vì vậy thuật toán kô hội tụ ngay tại bước lặp đầu tiên. Để giải quyết khó khăn này, tôi đã đề ra một giải thuật lặp mới, xây dựng lại ma trận Jacobi với ngõ ra là 12 biến(3 toạ độ + 9 chỉ phương). Kết quả tính rất tốt với trường hợp robot 6 dof(kuka).
Hiện nay, tôi đang gặp rắc rối với bộ data để thí nghiệm, có bạn nào có bộ data ngõ ra (tọa độ + các vector chỉ phương) hay có bộ mô phỏng hay training robot nào có xuất ra các data đó thì hãy chỉ cho tôi.
Sư huynh nào có cao kiến hay đóng góp gì xin hãy giúp đỡ.

bài bạn gửi hồi tháng 2.vậy bạn mô phỏng robot kuka xong chưa?còn các thông số thì mình có đầy đủ nếu bạn cần thì mình send.mình cũng đang mô phỏng KUKA.làm được 1 nữa rồi,nhưng chưa hoàn thiện

hikarusai 19-12-2008 06:08 PM

Tớ cũng đang làm về robot nối tiếp 6 khâu bạn nào có bài robot kuka làm ơn gửi cho mình để tham khảo. Xin gửi vào hòm thư bkcdt2008@gmail.com
Cám ơn rất nhiều.

vqh2008 28-12-2008 01:17 AM

Anh nào làm xong phần động lực học robot kuka cho em xin với.
hòm thư vuquyhoan@gmail.com
ngàn lần cảm ơn các đại ca.

buidinhba 29-12-2008 02:06 PM

Phần động lực học này không dễ ai làm được post lên anh em tham khảo chút hi

hikarusai 14-02-2009 01:00 AM

Trích:

Nguyên văn bởi kstn (Post 14456)
Việc giải bài toán ngược tay máy theo phương pháp giải tích khá phức tạp(với các tay máy có bậc tự do lớn). Vì vậy người ta đã đưa ra các phương pháp giải số để giải nhanh bài toán dộng học ngược. Có 2 kiểu giải số bài toán động học ngược:
Cách thứ nhất, viết phương trình động học thuận x=f(q) rồi sử dụng lặp Newton-Raphson để giải phương trình này. PP này có chi phí tính toán lớn và kô phải lúc nào cũng hội tụ(phụ thuộc vào điều kiện đầu)
Cách thứ hai: sử dụng chuỗi Taylor và ma trận Jacobi để viết phương trình xấp xỉ toạ độ đầu ra. Từ phương trình xấp xỉ đó ta xây dựng thuật toán hội tụ tới nghiệm yêu cầu. Thuật toán hội tụ có 2 kiểu là sai phân tới và sai phân lùi. Sử dụng lược đồ sai phân tới khi muốn có kết quả nhanh, tuy nhiên sai số tích lũy sẽ khá lớn qua nhiều bước lấy mẫu(vì pp này kô cho kết quả chính xác theo yêu cầu cho trước). Sử dụng lược đồ sai phân lùi có thể cho kết quả chính xác tùy ý(có thể đạt tới 1e-12), tuy nhiên phải giải lặp tại từng bước lấy mẫu.
Sử dụng ma trận Jacobi và lược đồ sai phân lùi có thể cho kết quả chính xác cao đối với bài toán động học ngược(vị trí, vận tốc, gia tốc). Tôi đã sử dụng phương pháp này giải được các cơ cấu cánh tay máy phẳng
Với các cơ cấu cánh tay máy 3d(vd kuka). Việc áp dụng các thuật toán trên có một số khó khăn, đơn cử như nếu sử dụng tọa độ Euler để mô tả góc quay trong không gian thì sẽ bị suy biến khi ma trận cosin chỉ hướng là đơn vị, vì vậy thuật toán kô hội tụ ngay tại bước lặp đầu tiên. Để giải quyết khó khăn này, tôi đã đề ra một giải thuật lặp mới, xây dựng lại ma trận Jacobi với ngõ ra là 12 biến(3 toạ độ + 9 chỉ phương). Kết quả tính rất tốt với trường hợp robot 6 dof(kuka).
Hiện nay, tôi đang gặp rắc rối với bộ data để thí nghiệm, có bạn nào có bộ data ngõ ra (tọa độ + các vector chỉ phương) hay có bộ mô phỏng hay training robot nào có xuất ra các data đó thì hãy chỉ cho tôi.
Sư huynh nào có cao kiến hay đóng góp gì xin hãy giúp đỡ.

Sư huynh pro quá có thể gửi cho đàn em tham khảo với. em sử dụng phương pháp thứ 2 nhưng chạy hoài không ra.

kstn 16-02-2009 10:31 PM

1 Attachment(s)
Đoạn code đính kèm mô tả các bước thuật toán trong matlab. Hiện nay tôi khuyên dùng thư viện roboop vì nó hỗ trợ thuật toán này + qui ước Denavit-Hatenberg. Roboop có thể giải bài toán động lực học

kstn 16-02-2009 10:44 PM

1 Attachment(s)
Đính kèm là demo sử dụng roboop để mô hình cánh tay máy kuka 6 dof. Dùng phím 'i' 'o' để zoom, nhấn chuột phải để chọn khớp, dùng '[' ']' để thay đổi giá trị từng khớp. Hiện nay tôi tạm dừng dự án này vì kô có bài toán cụ thể nào để áp dụng. Ai có ý tưởng gì hay xin hãy đóng góp

conso0 17-02-2009 08:55 AM

Trích:

Nguyên văn bởi kstn (Post 22651)
Đính kèm là demo sử dụng roboop để mô hình cánh tay máy kuka 6 dof. Dùng phím 'i' 'o' để zoom, nhấn chuột phải để chọn khớp, dùng '[' ']' để thay đổi giá trị từng khớp. Hiện nay tôi tạm dừng dự án này vì kô có bài toán cụ thể nào để áp dụng. Ai có ý tưởng gì hay xin hãy đóng góp

Bạn thử cho Robot của bạn vẽ ra một chữ gì đó hay một bông hoa hay 1 hình kỳ thú gì đó trên một mặt phẳng xem....

kstn 17-02-2009 11:27 PM

1 Attachment(s)
Thêm 1 demo bổ sung một số chức năng tương tác (điều khiển end effector) (chi tiết xem file manual)

kebitmat_f 12-03-2009 12:23 AM

Trích:

Nguyên văn bởi kstn (Post 22686)
Thêm 1 demo bổ sung một số chức năng tương tác (điều khiển end effector) (chi tiết xem file manual)

sao minh chay toan bi loi nhi? ko bit la vi sao?

phuc_ctm3_k49 16-03-2009 12:45 AM

pac kstn oi.cho em hoi bác đã giải quyết xong bài toán động lực học robot chưa,cụ thể là con kuka.em đi theo hướng lập các phương trình vi phân chuyển động của các khâu.sau đó đưa lên simmulink trong mathlab để giải.Nhưng có 1 sự cố không lập được tọa độ của các điểm di chuyển đến của con kuka.bác có lời giải về động lực học của nó thì có thể share cho em được không.địa chỉ hòm thư của em nè: phuc_haiduong@yahoo.com


Múi giờ GMT. Hiện tại là 05:23 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam