PIC Vietnam

Go Back   PIC Vietnam > Robotics > Công nghệ robot

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Công nghệ robot Tất cả các vấn đề về robot di động, tay máy, haptics....

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 23-04-2008, 05:17 PM   #1
111959331
Nhập môn đệ tử
 
Tham gia ngày: Apr 2008
Bài gửi: 3
:
tay máy robot đúng là có nhiều tài liệu nên nhiều khi bị lẫn lộn. quý vị ai biết tài liệu nào mà cho người mới bắt đầu tìm hiểu thì post giùm nhé!
111959331 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-07-2008, 04:53 PM   #2
tuanphan
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 8
:
Bài toán động học ngược của robot có thể có nhiều nghiệm. Chẳng hạn trường hợp 2 khâu thì ở nhiều vị trí nó cũng có 2 nghiệm. Vậy, nếu dùng nghiệm biểu thức giải tích dưới dạng atan2 thì làm thế nào để chọn được nghiệm nào cho phù hợp? Vì có trường hợp em chọn cố định 1 biểu thức giải tích duy nhất, thì khi đi qua điểm kỳ dị (trường hợp robot 2 khâu, là điểm có q2 = 0 tức khâu 2 duỗi thẳng ra), đồ thị nghiệm thu được nó sẽ bị gấp khúc. Trong trường hợp này nếu từ điểm này trở đi, ta chọn biểu thức nghiệm thứ 2 thì đồ thị nghiệm thu được sẽ ổn. Như vậy, tại mỗi vị trí, ta cần phải chọn biểu thức nghiệm nào phù hợp? Các anh có biết cách chọn nghiệm như thế nào không?
tuanphan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-07-2008, 07:17 PM   #3
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Trích:
Nguyên văn bởi tuanphan View Post
Bài toán động học ngược của robot có thể có nhiều nghiệm. Chẳng hạn trường hợp 2 khâu thì ở nhiều vị trí nó cũng có 2 nghiệm. Vậy, nếu dùng nghiệm biểu thức giải tích dưới dạng atan2 thì làm thế nào để chọn được nghiệm nào cho phù hợp? Vì có trường hợp em chọn cố định 1 biểu thức giải tích duy nhất, thì khi đi qua điểm kỳ dị (trường hợp robot 2 khâu, là điểm có q2 = 0 tức khâu 2 duỗi thẳng ra), đồ thị nghiệm thu được nó sẽ bị gấp khúc. Trong trường hợp này nếu từ điểm này trở đi, ta chọn biểu thức nghiệm thứ 2 thì đồ thị nghiệm thu được sẽ ổn. Như vậy, tại mỗi vị trí, ta cần phải chọn biểu thức nghiệm nào phù hợp? Các anh có biết cách chọn nghiệm như thế nào không?
http://www.mathworks.com/matlabcentr...bjectType=FILE

Anh nhớ có một chương trình mô phỏng nhỏ nữa bằng matlab nhưng quên mất ở đâu. Nó có đầy đủ bài toán thuận và ngược.

Về điểm kỳ dị. Thực ra người ta hay nói nó là điểm kỳ dị, nhưng đúng thì nó phải gọi là vùng kỳ dị, là vùng mà robot phải "vận động" khó khăn và chậm mới đạt đến được. Như vậy, nó liên quan tới cấu trúc của robot, và có những ràng buộc (constrains) nhất định. Dựa vào những constrain này, người ta tìm ra các nghiệm phù hợp đối với mỗi mô hình robot.

Em có thể xem thêm cuốn Robot Motion Planning của Jean Claude Latomb (anh không nhớ chính xác tên) để có thể giải cho từng trường hợp cụ thể

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-07-2008, 12:45 PM   #4
tuanphan
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 8
:
Em xem qua chương trình Matlab ở đường link của anh thấy chương trình này sử dụng phương pháp lặp (phương pháp số), còn ở đây em sử dụng phương pháp giải tích. Em cũng thử tìm quyển sách của anh (bản soft) (tác giả là Jean Claude Latombe) nhưng chỉ có bản view giới hạn trên google book thôi, xem qua cũng thấy khó hiểu. Có lẽ em nên đưa chương trình của em lên anh xem thế nào, vì ko có chương trình đó ở đây, nên em type lại thôi (chắc là không có lỗi), anh chịu khó copy, paste đoạn script vào trong matlab thì sẽ xem được kết quả chạy. Nếu cần thì em sẽ copy hình sau.
Đây là đoạn chương trình giải động học ngược robot 2 khâu phẳng. Đầu tiên em cho biến q1, q2 (biến khớp) chạy theo 1 hàm, sau đó tính động học thuận, rồi tính lại động học ngược. Có thể thấy tại giá trị q2=pi (điểm kỳ dị) thì đồ thị của q1, q2 (cuối cùng) bị gãy khúc. Nếu tại thời điểm đó trở đi đến giá trị suy biến tiếp theo em thay lại hàm S2=-sqrt(abs(1-C2.^2)); thì đồ thị lại không bị gãy khúc nữa. Nhưng em không biết cách làm sao để chọn 1 trong 2 hàm đó tại mỗi thời điểm t để đồ thị vẫn luôn ổn.
Code:
clear all;
hold on; grid on;
t=0:0.1:3.5;  % t là thời gian
l1=300*ones(1,length(t));  %Chiều dài khâu 1
l2=300*ones(1,length(t));  %Chiều dài khâu 2
q1=0.4*cos(t);
q2=1*sin(t);
plot(t,q1,'b');
plot(t,q2,'b');
x=l1.*cos(t)+l2.*cos(q1+q2);
y=l1.*sin(t)+l2.*sin(q1+q2);
C2=(x.^2+y.^2-l1.^2-l2.^2)/2./l1./l2;
S2=sqrt(abs(1-C2.^2));%nghiệm còn lại là S2=-sqrt(abs(1-C2.^2));
q2=atan2(S2,C2);
S1=y.*(l1+l2.*C2)-x.*l2.*S2; %Thực tế S1 và C1 còn có mẫu số nữa nhưng nó trùng %với mẫu số của C1 nên lúc dùng atan2 mình bỏ mẫu số đi để tránh trường hợp mẫu số %nó gần về 0
C1=y.*l2.*S2+x.*(l1+l2.*C2);
q1=atan2(S1,C1);
plot(t,q1,'r');
plot(t,q2,'r');
tuanphan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-07-2008, 03:06 PM   #5
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Trích:
Nguyên văn bởi tuanphan View Post
Em xem qua chương trình Matlab ở đường link của anh thấy chương trình này sử dụng phương pháp lặp (phương pháp số), còn ở đây em sử dụng phương pháp giải tích. Em cũng thử tìm quyển sách của anh (bản soft) (tác giả là Jean Claude Latombe) nhưng chỉ có bản view giới hạn trên google book thôi, xem qua cũng thấy khó hiểu. Có lẽ em nên đưa chương trình của em lên anh xem thế nào, vì ko có chương trình đó ở đây, nên em type lại thôi (chắc là không có lỗi), anh chịu khó copy, paste đoạn script vào trong matlab thì sẽ xem được kết quả chạy. Nếu cần thì em sẽ copy hình sau.
Đây là đoạn chương trình giải động học ngược robot 2 khâu phẳng. Đầu tiên em cho biến q1, q2 (biến khớp) chạy theo 1 hàm, sau đó tính động học thuận, rồi tính lại động học ngược. Có thể thấy tại giá trị q2=pi (điểm kỳ dị) thì đồ thị của q1, q2 (cuối cùng) bị gãy khúc. Nếu tại thời điểm đó trở đi đến giá trị suy biến tiếp theo em thay lại hàm S2=-sqrt(abs(1-C2.^2)); thì đồ thị lại không bị gãy khúc nữa. Nhưng em không biết cách làm sao để chọn 1 trong 2 hàm đó tại mỗi thời điểm t để đồ thị vẫn luôn ổn.
Code:
clear all;
hold on; grid on;
t=0:0.1:3.5;  % t là thời gian
l1=300*ones(1,length(t));  %Chiều dài khâu 1
l2=300*ones(1,length(t));  %Chiều dài khâu 2
q1=0.4*cos(t);
q2=1*sin(t);
plot(t,q1,'b');
plot(t,q2,'b');
x=l1.*cos(t)+l2.*cos(q1+q2);
y=l1.*sin(t)+l2.*sin(q1+q2);
C2=(x.^2+y.^2-l1.^2-l2.^2)/2./l1./l2;
S2=sqrt(abs(1-C2.^2));%nghiệm còn lại là S2=-sqrt(abs(1-C2.^2));
q2=atan2(S2,C2);
S1=y.*(l1+l2.*C2)-x.*l2.*S2; %Thực tế S1 và C1 còn có mẫu số nữa nhưng nó trùng %với mẫu số của C1 nên lúc dùng atan2 mình bỏ mẫu số đi để tránh trường hợp mẫu số %nó gần về 0
C1=y.*l2.*S2+x.*(l1+l2.*C2);
q1=atan2(S1,C1);
plot(t,q1,'r');
plot(t,q2,'r');
Em có thể gửi mô hình robot của em lên đây, hình vẽ, để anh xem kiểu của em là kiểu nào. Nhìn phương trình em viết anh không có thời gian xem kỹ.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-07-2008, 03:47 PM   #6
tuanphan
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 8
:
Đây là hình robot 2 khâu phẳng của em
Hình Kèm Theo
File Type: jpg 2DoF.JPG (20.9 KB, 242 lần tải)
tuanphan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-07-2008, 04:55 AM   #7
tuanphan
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 8
:
Em sửa lại đoạn code hôm trước, hôm nay mới có máy kiểm tra lại thấy có 1 lỗi nhỏ. Code mới như sau, anh xem hộ em.
Code:
clear all; clc;
hold on; grid on;
t=0:0.1:3.5;  % t là thời gian
l1=300*ones(1,length(t));  %Chiều dài khâu 1
l2=300*ones(1,length(t));  %Chiều dài khâu 2
q1=0.4*cos(t);
q2=1*sin(t);
plot(t,q1,'b');
plot(t,q2,'b');
x=l1.*cos(q1)+l2.*cos(q1+q2);
y=l1.*sin(q1)+l2.*sin(q1+q2);
C2=(x.^2+y.^2-l1.^2-l2.^2)/2./l1./l2;
S2=sqrt(abs(1-C2.^2));%nghiệm còn lại là S2=-sqrt(abs(1-C2.^2));
q2=atan2(S2,C2);
S1=y.*(l1+l2.*C2)-x.*l2.*S2; 
%Thực tế S1 và C1 còn có mẫu số nữa nhưng nó trùng với mẫu số của C1 nên lúc dùng %atan2 mình bỏ mẫu số đi để tránh trường hợp mẫu số nó gần về 0
C1=y.*l2.*S2+x.*(l1+l2.*C2);
q1=atan2(S1,C1);
plot(t,q1,'r');
plot(t,q2,'r');
tuanphan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-07-2008, 01:49 AM   #8
phtv77
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 1
:
Tài liệu cơ bản về robot tay máy bằng tiếng Việt, các bạn có thể search trong thư viện BK Hà nội, phần luận văn.
Keywords: Robot, xử lý ảnh, thị giác máy, kalman.
Chúc may mắn.
phtv77 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-11-2008, 11:17 PM   #9
kebitmat_f
Đệ tử 1 túi
 
Tham gia ngày: May 2006
Bài gửi: 12
:
Topic này die rồi hả các bác?
Em có vấn đề khi giải động học ngược robot bằng pp Newton Raphson, có hiện tượng nhảy nghiệm ( root jumping). Bác nào có cách giải quyết chỉ dùm em cái.
kebitmat_f vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-03-2009, 08:13 PM   #10
neo_kata
Nhập môn đệ tử
 
Tham gia ngày: Mar 2009
Bài gửi: 3
:
chào các bác .mình cũng đang lam một đồ an1 về cánh tay robot.tiec một cái tui mình mới năm 3 chưa dc hoc các phần mềm vẽ.hiện jo tụi mình đã xó anh của cánh tay rui but ko co bản vẽ cung như các chỉ số.mấy bác co thể júp mình được ko?minh sẽ post hình len sau.a chỉ mình cách post hình lun nha.
neo_kata vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-03-2009, 08:13 PM   #11
neo_kata
Nhập môn đệ tử
 
Tham gia ngày: Mar 2009
Bài gửi: 3
:
bang chủ júp đỡ đệ nha.hihih
neo_kata vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-04-2009, 01:36 AM   #12
trungvoicoi
Nhập môn đệ tử
 
Tham gia ngày: Dec 2007
Bài gửi: 5
:
Vấn đề này thực sự hay.
Đệ xin có một số đóng góp như sau:
1. Giải bài toán động học ngược bằng phương pháp số có ưu điểm là có thể áp dụng cho mọi mô hình Robot với cùng thuật giải. Còn giải bằng phương pháp giải tích thì máy tính sẽ phải tính toán ít hơn, nhưng nhược điểm là mỗi một mô hình Robot lại giải khác nhau.
2. Giải bài toán động học ngược cũng sẽ phân ra các trường hợp thế này
Nếu gọi n là số tọa độ suy rộng. Vị trí của khau thao tác (hiểu theo nghĩa vị trí và hướng) được xác định thông qua m thông số, ví dụ x,y và góc của khâu thao tác với trục z chẳng hạn thì ta có m = 3
Khi đó
m = n thì Robot có cấu trúc động học cân bằng (chuẩn), và việc nghiệm của bài toán động học ngược có thể có nghiệm duy nhất
m < n Robot có cấu trúc dư dẫn động. Để giải bài toán người ta đưa các điều kiện phụ vào ví dụ như gắn thêm các rằng buộc cho khâu thao tác, hoặc thêm các điều kiện toán học ví như tìm nghiệm tối ưu theo một nghĩa nào đó ...
m > n để bài toán có nghiệm thì cần các rằng buộc về toạ độ suy rộng

Hiểu một cách nôm ma là hệ phương trình tuyến tính với n là số ẩn và m là số phương trình.

Em gõ lại một phần lý thuyết được học của ông thầy. Hi vọng sẽ được trao đổi với mọi người (mặc dù em bị ông đó đá đít rồi).

Em chẳng có tý kinh nghiệm nào về cái vụ Robot cho lắm. Mới chỉ có dùng MatLab để chứng minh lý thuyết điều khiển là OK, còn về lập trình VC++ thì mù tịt, thực tế chưa có tý nào chẳng biết làm một cái tay máy cần có những kiến thức gì nữa ...

Rất mong được mọi người giúp đỡ và cùng học tập.

@F: tài liệu trong topic này chẳng down được. Anh có time check lại nhé :|
trungvoicoi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 02:39 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam