Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Tôi có một bài toán thế này: Kinematics of 3R robot are: T03=[c1c23 -c1s23 s1 l1c1+l2c1c2;s1c23 -s1s23 -c1 l1s1+l2s1c2;s23 c23 0 l2s2;0 0 0 1]. Find oJ(), which, when multiplied by the joint velocity vector, gives the linear velocity of the origin of frame {3} to frame {0} (Bài tập 5.18-Introduction to robotics by John Craig). Tôi không biết giải kiểu gì, vì cho mỗi ma trận cuối cũng mà không cho các ma trận trung gian??? Nhờ các bác chỉ giúp
Bài này cho phương trình động học của robot 3 khớp quay. Tìm ma trận Jacobian thôi.
Bạn có thể tìm theo phương pháp đạo hàm riêng vector vị trí theo các góc quay (biến).
Bạn Shool có thể nói rõ hơn được phương pháp đó không, tôi đọc quyển sách Introduction to Robotics của John Craig nhưng không thấy nói đến. Quyển đó các phần khác đọc thì dễ hiểu, có mỗi phần tìm ma trận Jacobian là viết ít quá,nên khó làm bài tập quá. Theo như trong sách đó thì muốn tìm được Jacobian thì phải biết ma trận quay của các khớp, tuy nhiên ở đây chỉ cho ma trận quay của khớp cuối cùng so với hệ tọa độ cố định.
Tôi có một bài toán thế này: Kinematics of 3R robot are: T03=[c1c23 -c1s23 s1 l1c1+l2c1c2;s1c23 -s1s23 -c1 l1s1+l2s1c2;s23 c23 0 l2s2;0 0 0 1]. Find oJ(), which, when multiplied by the joint velocity vector, gives the linear velocity of the origin of frame {3} to frame {0} (Bài tập 5.18-Introduction to robotics by John Craig). Tôi không biết giải kiểu gì, vì cho mỗi ma trận cuối cũng mà không cho các ma trận trung gian??? Nhờ các bác chỉ giúp
Bạn đọc cái bài F viết đi.
Ma trận J sẽ có dạng 3 cột dạng Revolution Joint (mục 5). Từ cái T03 của bạn có thể tìm ra Oi và P thì có ngay đây rồi.
zi thì bạn thấy nhìn vào đây sẽ biết nó xoay theo thứ tự nào, và biết ngay cái zi của mỗi joint nó thế nào.
ma trận T03 mà bạn nói đó chính là phương trình động học quan hệ giữa hệ tọa độ cố định (hệ 0) với hệ tọa độ làm việc (hệ 3). ma trận (3x3) (3 hàng đầu + 3 cột đầu) chính là ma trận định hướng, ma trận (3x1) (cột thứ 4)(mình ký hiệu là [px py pz]T) chính là ma trận vị trí. Ma trận Jacobian sẻ là (3x3) có các phần tử tương ứng khi bạn lấy đạo hàm riêng theo 3 góc theta 1-2-3.
Ex: j11=d(px) / d(theta1) ; j12= d(px) / d(theta2)...; j21=d(py) / d(theta1) tương tự tính các jxx còn lại.
Ma trận T03 mà bạn nói đó chính là phương trình động học quan hệ giữa hệ tọa độ cố định (hệ 0) với hệ tọa độ làm việc (hệ 3). Ma trận (3x3) (3 hàng đầu + 3 cột đầu) chính là ma trận định hướng, ma trận (3x1) (cột thứ 4, mình ký hiệu là [px py pz]T) chính là ma trận vị trí. Ma trận Jacobian sẻ là (3x3) có các phần tử tương ứng khi bạn lấy đạo hàm riêng theo 3 góc theta 1-2-3.
Ex: j11=d(px) / d(theta1) ; j12= d(px) / d(theta2)...; j21=d(py) / d(theta1) tương tự tính các jxx còn lại.
ma trận T03 mà bạn nói đó chính là phương trình động học quan hệ giữa hệ tọa độ cố định (hệ 0) với hệ tọa độ làm việc (hệ 3). ma trận (3x3) (3 hàng đầu + 3 cột đầu) chính là ma trận định hướng, ma trận (3x1) (cột thứ 4)(mình ký hiệu là [px py pz]T) chính là ma trận vị trí. Ma trận Jacobian sẻ là (3x3) có các phần tử tương ứng khi bạn lấy đạo hàm riêng theo 3 góc theta 1-2-3.
Ex: j11=d(px) / d(theta1) ; j12= d(px) / d(theta2)...; j21=d(py) / d(theta1) tương tự tính các jxx còn lại.
Thân!!
Cách này thì có thể sử dụng để giải toán, nhưng nếu lập trình thì làm sao tính đạo hàm?
Tôi cũng đã biết cách tính như F viết rồi, nhưng tôi nghĩ cách đó chỉ áp dụng được khi DH là gốc, còn trong trường hợp của tôi là DH modified, tức là hệ tọa độ {1} trùng với hệ tọa độ {0}, và trên bảng DH sẽ là anfa(i-1) a(i-1) di thetai. Tôi đã thử áp dụng cả 2 cách trên với vào 3DOF palanar robot với T01=[c1 -s1 0 0;s1 c1 0 0;0 0 1 0;0 0 0 1],T12=[c2 -s2 0 l1;s2 c2 0 0;0 0 1 0;0 0 0 1],T23=[1 0 0 l2;0 1 0 0;0 0 1 0;0 0 0 1]. Xong kết quả không chính xác với đáp án. (Đáp án là:J=[-l1s1-l2s12 -l2s12;l1c1+l2c12 l2c12]).
Tôi cũng đã biết cách tính như F viết rồi, nhưng tôi nghĩ cách đó chỉ áp dụng được khi DH là gốc, còn trong trường hợp của tôi là DH modified, tức là hệ tọa độ {1} trùng với hệ tọa độ {0}, và trên bảng DH sẽ là anfa(i-1) a(i-1) di thetai. Tôi đã thử áp dụng cả 2 cách trên với vào 3DOF palanar robot với T01=[c1 -s1 0 0;s1 c1 0 0;0 0 1 0;0 0 0 1],T12=[c2 -s2 0 l1;s2 c2 0 0;0 0 1 0;0 0 0 1],T23=[1 0 0 l2;0 1 0 0;0 0 1 0;0 0 0 1]. Xong kết quả không chính xác với đáp án. (Đáp án là:J=[-l1s1-l2s12 -l2s12;l1c1+l2c12 l2c12]).
Không chính xác, chỉ cần thay đổi một chút thôi là ra.
Cách của F bản chất là từ công thức hình học mà giải ra và giải thuần theo kiểu toán vật lý. Do vậy nếu bạn viết lại công thức tính từ đầu (xem lại phương pháp này) thì bạn sẽ có thể chỉ ra được nguyên tắc của cách viết với hệ trục được dịch đi.
Hai cách đặt bảng này có tên tuổi của nó đàng hoàng. Cách sau thì làm cho người ta thấy có vẻ dễ dàng hơn (nhất là đối với sinh viên đang nghiên cứu), tính toán hình thức và mô phỏng sẽ dễ hơn. Nhưng cách 1 được dùng trong thực tế nhiều hơn, vì thực tế khối lượng tính toán số ít hơn (thử tính độ phức tạp thuật toán, thì sẽ ra được).
Cám ơn bạn F và School, quả thật tôi trước đây tôi học về điều khiển, ngành điện, bây giờ mới nghiên cứu về điều khiển robot nên cũng mới tìm hiểu được một thời gian thôi. Tôi đã giải được rồi.
Dạ từ bé cháu chỉ dám loanh quanh ở bản thôi ạ hông dám ra ngoài đâu. Chú nhat...với bác vi... nên hạn chế uống rượu, giành thời gian trồng rau, tập dưỡng sinh và thi thoảng ăn chay ạ...
Cảm ơn meomuop đã chỉ dẫn. Mình làm theo lời khuyên đầu tiên của bạn " tìm dây và nối lại". Mắt tuy kém nhưng ngồi bình tĩnh vẫn tìm được và đã nối xong như hình. Cảm ơn bạn rất nhiều nhé....
Dạ chú tìm dây và nối lại ạ. Ko thì chú cắt vứt cuộn ấy đi rồi nối dây bỏ qua cuộn ấy. Hoặc là quấn lại cuộn ấy thì càng tốt, chú ý số vòng dây và hướng quấn để đấu nối...
Comment