PDA

View Full Version : Giải số bài toán động học ngược tay máy


kstn
24-02-2008, 10:32 AM
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
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
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
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
Đ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
Đí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
Đí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
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
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

hikarusai
19-03-2009, 11:01 PM
Đ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

Em mới biết tí chút về matlab. Đại ca có tài liệu về Roboop up lên diễn đàn cho anh em học hỏi với.Thanks trươc.

duy0508
15-05-2009, 10:24 PM
hjc hjc có ai chỉ em làm nội suy spline bằng matlab hay maple gì cũng dc em sắp thueyt61 trình mà chả biết gì về nó hết

robotics154
01-01-2011, 09:55 PM
chào bạn, mình thấy nếu giải bài toán động lực học bạn nên dùng phương pháp ma trận Jacobian sẽ bao quát và dễ giải quyết hơn. Nếu bạn muốn mô phỏng thì mình có một gợi ý đó là bạn nên sử dung phần mềm Easy-rob, đơn giản, chính xác, dễ sử dụng. Đây là kết quả mình đã mô phong elbow và scara, bạn có thể xem và cho ý kiến. Cảm ơn!
http://www.youtube.com/watch?v=w84_8hbe9cg
http://www.youtube.com/watch?v=kOsvM0DoB6c

nhanconan030789
10-06-2011, 01:57 AM
sao không có ai dùng phương pháp sử dụng mạng neural kết hợp fuzzy để tìm động học ngược thế nhỉ?sử dụng thuật giải mờ sugeno để tìm quy luật,khi đã biết động học thuận,biết góc quay hoặc khoảng dịch chuyển ta biết được vị trị,ta sẽ xây dựng được một bộ data để trainning cho mạng,số lượng data càng nhiều thif độ chính xác đầu ra càng cao

mình đã ứng dụng fuzzy tool box của mat lab để làm thử,có khả quan!!

nguyenkienchung
10-11-2011, 01:49 AM
Easy-rob hiện không có bản phục vụ giải bài toán động học ngược mà chỉ động học thuận thôi, Em cũng làm vài cái trên Youtube.com cụ thể là ngày bên cạnh cái link trên. Nó chỉ phục vụ bài toán động học thuận thôi. Cụ thể là lập trình teach-in còn động học người điều khiển theo LIN và đường curve thì không có bản quyền thì không dùng được. Cái phần mềm này là mô phỏng kiểm nghiệm tính toán cho các cao thủ.