Làm cách nào để chuyển đổi các tham số và góc liên kết (trong động học) thành ma trận biến đổi trong logic lập trình?


10

Tôi đang làm nghiên cứu về robot như một sinh viên, và tôi hiểu phần lớn toán học khái niệm; tuy nhiên, khi thực sự triển khai mã để tính toán động học chuyển tiếp cho robot của tôi, tôi bị mắc kẹt. Tôi chỉ không hiểu cách mà cuốn sách hoặc trang web mà tôi tìm thấy giải thích nó.

Tôi muốn tính toán các góc XYZ cho các tham số liên kết (tham số Denavit-Hartenberg), chẳng hạn như sau :

iαi−1ai−1diθi1000θ12−90∘00θ230a2d3θ34−90∘a3d4θ4590∘00θ56−90∘00θ6

0TN

Câu trả lời:


6

Phần DH Matrix của trang DH trên wikipedia có các chi tiết.

0T11T20T2=0T11T2

i−1Ti,i=1

0T1=Trans(d1)∗Rot(θ1)∗Trans(a2)∗Rot(α2)

Ở đâu

Trans(d1)=[10000100001d1=00001],

Rot(θ1)=[cos(θ1)−sin(θ1)00sin(θ1)cos(θ1)0000100001],

Trans(a2)=[100a2=0010000100001],

Rot(α2)=[10000cos(α2=0)−sin(α2=0)00sin(α2=0)cos(α2=0)00001]

Trong trường hợp này

0T1=Rot(θ1)

Khi bạn có tất cả các biến đổi của mình, bạn nhân chúng lên, ví dụ:

0TN=0T1∗1T2...N−1TN

0TNd=[0TN,14,0TN,24,0TN,34]T0TN


Sẽ không alpha_2 là -90 độ?
— Grace
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.