ฉันจะแปลงพารามิเตอร์ลิงก์และมุม (เป็น kinematics) เป็นเมทริกซ์การแปลงในตรรกะการเขียนโปรแกรมได้อย่างไร


10

ฉันกำลังทำวิจัยหุ่นยนต์ในระดับปริญญาตรีและฉันเข้าใจคณิตศาสตร์แนวความคิดเป็นส่วนใหญ่ อย่างไรก็ตามเมื่อพูดถึงการนำรหัสมาใช้จริงในการคำนวณจลศาสตร์การเคลื่อนที่ไปข้างหน้าสำหรับหุ่นยนต์ของฉันฉันก็ติดอยู่ ฉันแค่ไม่เข้าใจวิธีที่หนังสือหรือเว็บไซต์ที่ฉันพบอธิบาย

ฉันต้องการคำนวณมุม XYZ ที่กำหนดพารามิเตอร์ลิงก์ (พารามิเตอร์ Denavit-Hartenberg) เช่นต่อไปนี้ :

iαi1ai1diθi1000θ129000θ230a2d3θ3490a3d4θ459000θ569000θ6

ฉันไม่เข้าใจวิธีเปลี่ยนค่าของตารางนี้เป็นเมทริกซ์การแปลงที่เหมาะสมเพื่อรับ , ตำแหน่งคาร์ทีเซียนและการหมุนของลิงก์สุดท้าย จากตรงนั้นฉันหวังว่าฉันจะสามารถหามุม XYZ จากการอ่านหนังสือของฉันได้ แต่ความช่วยเหลือจะได้รับการชื่นชม0TN

คำตอบ:


6

ส่วนDH Matrixของหน้า DH ในวิกิพีเดียมีรายละเอียด

โดยทั่วไปคุณต้องการใช้ข้อมูลในตารางของคุณเพื่อสร้างชุดเมทริกซ์การแปลงแบบเอกพันธ์ เราทำเช่นนี้เพราะการแปลงแบบเอกพันธ์สามารถถูกคูณเพื่อหาความสัมพันธ์ระหว่างเฟรมที่แยกจากเฟรมอื่น ๆ อย่างน้อยหนึ่งเฟรม ยกตัวอย่างเช่นแสดงให้เห็นถึงการเปลี่ยนแปลงจาก 1 กรอบกรอบ 0 ในขณะที่แสดงให้เห็นถึงการเปลี่ยนแปลงจากกรอบ 2 กรอบ 1 โดยคูณพวกเขาที่เราได้รับการเปลี่ยนแปลงจากกรอบ 2 กรอบ 0 คือ^0T11T20T2=0T11T2

วิธีง่ายๆในการสร้างการแปลงแต่ละครั้งคือการแปลงแบบเอกพันธ์หรือเมทริกซ์การหมุนแบบเอกพันธ์สำหรับแต่ละคอลัมน์ในตารางและคูณพวกมันเข้าด้วยกัน ตัวอย่างเช่นการแปลงจาก 1 เป็น 0 (เช่น ) คือi1Ti,i=1

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

ที่ไหน

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]{bmatrix}

ในกรณีนี้

0T1=Rot(θ1)theta_1)

เมื่อคุณมีการแปลงทั้งหมดของคุณคุณจะคูณพวกเขาไปอีกเช่น

0TN=0T11T2...N1TN^

ในที่สุดคุณสามารถอ่านการกำจัดเวกเตอร์จากการแปลงแบบเอกพันธ์ (เช่น ) คุณสามารถอ่านเมทริกซ์การหมุนได้จากเพื่อหามุม XYZ0TNd=[0TN,14,0TN,24,0TN,34]T0TN


alpha_2 จะไม่เป็น -90 องศาหรือไม่
เกรซ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.