คำถามติดแท็ก kinematics

3
ปัญหาจลศาสตร์ผกผันสามารถแก้ไขได้อย่างไร?
จลนศาสตร์ไปข้างหน้าของแขนหุ่นยนต์สามารถแก้ไขได้อย่างง่ายดาย เราสามารถเป็นตัวแทนของแต่ละข้อต่อโดยใช้เมทริกซ์การแปลงDenavit – Hartenberg ตัวอย่างเช่นถ้าข้อต่อเป็นตัวกระตุ้นเชิงเส้นอาจมีเมทริกซ์การแปลง:ผมt hithi^{th} Tผม= ⎡⎣⎢⎢⎢10000100001000dผม1⎤⎦⎥⎥⎥Ti=[10000100001di0001]T_i = \left[\begin{matrix} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&d_i\\ 0&0&0&1 \end{matrix} \right] โดยที่ความยาวส่วนขยายถูกกำหนดโดยdผมdid_i ในขณะที่การเชื่อมโยงหมุนอาจจะ: Tผม= ⎡⎣⎢⎢⎢10000cosαผมบาปαผม00- บาปαผมcosαผม0L001⎤⎦⎥⎥⎥Ti=[100L0cos⁡αi−sin⁡αi00sin⁡αicos⁡αi00001]T_i = \left[\begin{matrix} 1&0&0&L\\ 0&\cos\alpha_i&-\sin\alpha_i&0\\ 0&\sin\alpha_i&\cos\alpha_i&0\\ 0&0&0&1 \end{matrix} \right]โดยที่คือ angle และคือความยาวของลิงก์Lαα\alphaLLL จากนั้นเราจะสามารถหาตำแหน่งและทิศทางของ effector ท้ายที่สุดโดยการคูณเมทริกซ์ทุกการเปลี่ยนแปลง:{t_i}Π Tผม∏Ti\prod{T_i} คำถามคือเราจะแก้ปัญหาที่ตรงกันข้ามได้อย่างไร ศาสตร์สำหรับที่ต้องการตำแหน่งสิ้นสุด effectorหาพารามิเตอร์ ,ดังกล่าวว่าM มีวิธีการใดในการแก้สมการนี้MMMdผมdid_iαผมαi\alpha_iΠ Tผม= M∏Ti=M\prod{T_i} = M

3
การคำนวณเมทริกซ์ Jacobian สำหรับ Inverse Kinematics
เมื่อคำนวณ Jacobian matrix เพื่อแก้ Inverse Kinematic นั้นฉันอ่านจากหลาย ๆ ที่ที่ฉันสามารถใช้สูตรนี้เพื่อสร้างคอลัมน์แต่ละข้อของข้อต่อใน Jacobian matrix: Ji=∂e∂ϕi=[[a′i×(epos−r′i)]T[a′i]T]Ji=∂e∂ϕi=[[ai′×(epos−ri′)]T[ai′]T]\mathbf{J}_{i}=\frac{\partial \mathbf{e}}{\partial \phi_{i}}=\left[\begin{array}{c}{\left[\mathbf{a}_{i}^{\prime} \times\left(\mathbf{e}_{p o s}-\mathbf{r}_{i}^{\prime}\right)\right]^{T}} \\ {\left[\mathbf{a}_{i}^{\prime}\right]^{T}}\end{array}\right] ดังกล่าวที่เป็นแกนหมุนในพื้นที่โลกเป็นจุดหมุนในพื้นที่โลกและคือตำแหน่งของ effector ปลายในพื้นที่โลกa′a′a'r′r′r'eposepose_{pos} อย่างไรก็ตามฉันไม่เข้าใจว่าวิธีนี้สามารถทำงานได้เมื่อข้อต่อมีมากกว่าหนึ่งอานนท์ ใช้ตัวอย่างต่อไปนี้: เป็นอานนท์หมุนที่เป็น effector ท้ายที่สุดเป็นเป้าหมายของ effector ท้ายที่สุดที่ ,และมีข้อต่อθθ\thetaeeegggP1P1P_1P2P2P_2P3P3P_3 ก่อนอื่นถ้าฉันต้องคำนวณเมทริกซ์ของจาโคเบียนตามสูตรข้างต้นสำหรับแผนภาพฉันจะได้อะไรแบบนี้ J= ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢( ( 0 , 0 , 1 ) × e⃗ )x( ( 0 , 0 , 1 ) …

2
คำนวณตำแหน่งของหุ่นยนต์ขับเคลื่อนต่าง
คุณคำนวณหรืออัพเดทตำแหน่งของหุ่นยนต์ขับเคลื่อนที่แตกต่างด้วยเซ็นเซอร์แบบเพิ่มหน่วยได้อย่างไร มีเซ็นเซอร์เพิ่มความละเอียดหนึ่งอันติดอยู่กับล้อเฟืองท้ายสองอัน เซ็นเซอร์ทั้งสองเป็นตัวกำหนดระยะทางหายใจ ล้อของพวกเขาได้รีดในช่วงเวลาที่รู้จักกัน\ Delta TΔ R ฉันกรัมเอชทีΔ ทีΔleftΔleft\Delta leftΔrightΔright\Delta rightΔtΔt\Delta t ก่อนอื่นสมมติว่าศูนย์กลางระหว่างล้อทั้งสองทำเครื่องหมายตำแหน่งของหุ่นยนต์ ในกรณีนี้เราสามารถคำนวณตำแหน่งเป็น: x=xleft+xright2y=yleft+yright2x=xleft+xright2y=yleft+yright2 x = \frac{x_{left}+x_{right}}{2} \\ y = \frac{y_{left}+y_{right}}{2} "การรับ" สมการเหล่านั้นภายใต้สมมติฐานที่ว่าล้อทั้งสองหมุนเป็นเส้นตรง (ซึ่งควรจะถูกต้องสำหรับระยะทางเล็กน้อย) ฉันได้รับ: ΔxΔt=12(ΔleftΔt+ΔrightΔt)cos(θ)ΔyΔt=12(ΔleftΔt+ΔrightΔt)sin(θ)ΔxΔt=12(ΔleftΔt+ΔrightΔt)cos(θ)ΔyΔt=12(ΔleftΔt+ΔrightΔt)sin(θ) \frac{\Delta x}{\Delta t} = \frac{1}{2}\left( \frac{\Delta left}{\Delta t} + \frac{\Delta right}{\Delta t}\right)cos(\theta) \\ \frac{\Delta y}{\Delta t} = \frac{1}{2}\left( \frac{\Delta left}{\Delta t} + \frac{\Delta …

2
ความแตกต่างระหว่าง Ackermann steering และ bi / tricycles มาตรฐานที่เกี่ยวข้องกับ kinematics หรือไม่?
ฉันได้รับคำถามการบ้านต่อไปนี้: อะไรคือความแตกต่างทั่วไประหว่างหุ่นยนต์ที่มี Ackermann steering และจักรยานหรือ tricycles มาตรฐานที่เกี่ยวข้องกับการเคลื่อนไหว แต่ผมไม่เห็นสิ่งที่แตกต่างมีควรจะเป็นเพราะรถเหมือนหุ่นยนต์ (2 ล้อหลังคงที่และ 2 ขึ้นอยู่กับล้อหน้าปรับได้) สามารถมองเห็นเป็นรถสามล้อเหมือนหุ่นยนต์ (ที่มีล้อหน้าเดียวปรับใน กลาง). จากนั้นถ้าคุณปล่อยให้ระยะห่างระหว่างล้อหลังทั้งสองเข้าใกล้ศูนย์คุณจะได้รถจักรยาน ดังนั้นฉันไม่เห็นความแตกต่างระหว่างหุ่นยนต์มือถือทั้งสาม มีบางอย่างที่ฉันขาดหายไปหรือไม่?

2
การเคลื่อนไหวของเซอร์โวราบรื่นสำหรับหุ่นยนต์ที่คลาน
เมื่อไม่นานมานี้ฉันได้สร้างหุ่นยนต์ตัวเล็กตัวหนึ่งซึ่งมีสองขาที่มีอิสระสององศาแต่ละตัวดังนั้น RC 4 เซอร์โวจึงรวมกัน ในขณะที่ฉันกำลังเขียนโปรแกรมการเคลื่อนไหวของขาฉันสังเกตเห็นว่าพวกเขาเคลื่อนไหวค่อนข้างแข็งทื่อ มันสมเหตุสมผลแล้วที่คอนโทรลเลอร์ภายใน RC servo จะมีการตอบสนองอย่างรวดเร็วมากต่อคำสั่งตำแหน่ง แต่ฉันต้องการให้โปรแกรมรวบรวมข้อมูลของฉันเคลื่อนที่ในลักษณะที่ดูราบรื่นและเหมือนจริงมากขึ้นเล็กน้อย โซลูชันของฉันคือสร้างฟังก์ชันลูกบาศก์เวลาที่อธิบายเส้นทางของเซอร์โวจากนั้นตั้งค่าตำแหน่งของพวกเขาในการเพิ่มเวลาเล็ก ๆ ส่งผลให้การเคลื่อนไหวราบรื่นขึ้น โดยพื้นฐานแล้วสิ่งที่ฉันทำคือแก้หาค่าสัมประสิทธิ์ในสมการลูกบาศก์โดยใช้ช่วงเวลาเริ่มต้นและสิ้นสุดตำแหน่งของเซอร์โวและอัตราเริ่มต้นและสิ้นสุดที่เซอร์โวควรเคลื่อนไหว (ซึ่งเป็นเพียงอนุพันธ์ของตำแหน่ง):aiaia_i แก้ปัญหาสำหรับ , ,และ :a0a0a_0a1a1a_1a2a2a_2a3a3a_3 position(t)=a0+a1t+a2t2+a3t3position(t)=a0+a1t+a2t2+a3t3 position(t) = a_0 + a_1t + a_2t^2 + a_3t^3 rate(t)=position′(t)=a1+2a2t+3a3t2rate(t)=position′(t)=a1+2a2t+3a3t2 rate(t) = position'(t) = a_1 + 2a_2t + 3a_3t^2 ให้ไว้: , , ,position(0)position(0)position(0)position(tf)position(tf)position(t_f)rate(0)rate(0)rate(0)rate(tf)rate(tf)rate(t_f) ฉันกำหนดอัตราของเซอร์โวระหว่างการเคลื่อนไหวของคู่ให้เป็นศูนย์หากการเคลื่อนไหวอยู่ในทิศทางตรงกันข้ามและเป็นบวกหรือลบหากการเคลื่อนไหวนั้นอยู่ในทิศทางบวกหรือลบตามลำดับ วิธีนี้ใช้ได้ค่อนข้างดี แต่วิธีนี้มี จำกัด ในบางวิธี สำหรับหนึ่งมันเป็นเรื่องยากที่จะตัดสินใจว่าอัตราระหว่างการเคลื่อนไหวที่ไปในทิศทางเดียวกันควรจะเป็นเท่าไหร่ ฉันใช้ค่าเฉลี่ยของความลาดชันด้านหน้าและด้านหลังของตำแหน่งเฉพาะระหว่างการเคลื่อนไหว …

2
อะไรคือข้อดีของการใช้การเป็นตัวแทน Denavit-Hartenberg
เมื่อหนึ่งต้องการที่จะรูปแบบห่วงโซ่จลนศาสตร์และโดยเฉพาะอย่างยิ่งการกำหนดกรอบที่แนบมากับร่างกายแต่ละมันเป็นเรื่องธรรมดาที่จะใช้พารามิเตอร์ Denavit-Hartenberg อะไรคือข้อดีของการเป็นตัวแทนนี้ ฉันสามารถเข้าใจถึงความสนใจในการมีการนำเสนอแบบปกติ แต่ส่งผลกระทบต่อประสิทธิภาพของอัลกอริทึมหรือไม่ อัลกอริทึมไม่น่ารำคาญที่จะใช้สิ่งที่กำไรเราสามารถคาดหวังจากนี้แทนเช่นเพียงแค่การแก้ไขกรอบอ้างอิงด้วยมือ (เช่นพล) เช่นนี้จะทำในรูปแบบหุ่นยนต์หลายอย่างเช่นURDF
11 kinematics 

1
ฉันจะแปลงพารามิเตอร์ลิงก์และมุม (เป็น kinematics) เป็นเมทริกซ์การแปลงในตรรกะการเขียนโปรแกรมได้อย่างไร
ฉันกำลังทำวิจัยหุ่นยนต์ในระดับปริญญาตรีและฉันเข้าใจคณิตศาสตร์แนวความคิดเป็นส่วนใหญ่ อย่างไรก็ตามเมื่อพูดถึงการนำรหัสมาใช้จริงในการคำนวณจลศาสตร์การเคลื่อนที่ไปข้างหน้าสำหรับหุ่นยนต์ของฉันฉันก็ติดอยู่ ฉันแค่ไม่เข้าใจวิธีที่หนังสือหรือเว็บไซต์ที่ฉันพบอธิบาย ฉันต้องการคำนวณมุม XYZ ที่กำหนดพารามิเตอร์ลิงก์ (พารามิเตอร์ Denavit-Hartenberg) เช่นต่อไปนี้ : i123456αi−10−90∘0−90∘90∘−90∘ai−100a2a300di00d3d400θiθ1θ2θ3θ4θ5θ6iαi−1ai−1diθi1000θ12−90∘00θ230a2d3θ34−90∘a3d4θ4590∘00θ56−90∘00θ6\begin{array}{ccc} \bf{i} & \bf{\alpha_i-1} & \bf{a_i-1} & \bf{d_i} & \bf{\theta_i}\\ \\ 1 & 0 & 0 & 0 & \theta_1\\ 2 & -90^{\circ} & 0 & 0 & \theta_2\\ 3 & 0 & a_2 & d_3 & \theta_3\\ 4 & …

3
ด้วยหุ่นยนต์ 6 แกนให้ตำแหน่ง end-effector และช่วงของการวางแนววิธีการหาค่ารอยต่อที่ดีที่สุด
ด้วยแขนหุ่นยนต์หกเหลี่ยมที่มีแขนจับเครื่องมือที่ปลายเอฟเฟกต์ถ้าฉันมีตำแหน่งเครื่องมือและการวางแนวเครื่องมือที่ต้องการจะมีวิธีแก้ปัญหา 1 อย่างเดียวสำหรับสมการจลศาสตร์ผกผันสำหรับหุ่นยนต์ที่ไปถึงตำแหน่งนั้น (หรือมากกว่า 16 โซลูชั่นที่แตกต่างกันขึ้นอยู่กับช่วงของข้อต่อ) แต่ถ้าหุ่นยนต์กำลังถืออะไรบางอย่างเช่นปากกาและฉันต้องการให้หุ่นยนต์ทำเครื่องหมายจุดเฉพาะด้วยปากกานั้นบนเป้าหมายฉันไม่สนใจว่าปากกาจะถูกวางแนวอย่างไรตราบใดที่มันตั้งฉากกับพื้นผิวที่ทำเครื่องหมายไว้ ดังนั้นสมการผกผัน - จลนศาสตร์จะมีคำตอบมากมาย ฉันจะเลือกวิธีการกำหนดค่าร่วมที่ใกล้เคียงกับการกำหนดค่าปัจจุบันที่สุดได้อย่างไร: วิธีหนึ่งที่จะต้องใช้การเคลื่อนไหวน้อยที่สุดในการเข้าถึง (หรือการกำหนดค่าข้อต่อที่เหมาะสมที่สุดตามเกณฑ์อื่น ๆ ที่คล้ายกันเช่นว่ามุมรอยต่อทั้งหมดอยู่ไกลจากสูงสุดและต่ำสุด?)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.