역 운동학을위한 자 코비안 행렬 계산


19

역 운동학을 풀기 위해 Jacobian 행렬을 계산할 때, 나는 여러 곳에서이 공식을 사용하여 Jacobian 행렬에서 관절의 각 열을 만들 수 있다는 것을 읽었습니다.

Ji=eϕi=[[ai×(eposri)]T[ai]T]

따라서 는 월드 공간의 회전 축이고 는 월드 공간 의 피벗 점이며 는 월드 공간의 엔드 이펙터 위치입니다.arepos

그러나 조인트에 둘 이상의 DOF가있는 경우 이것이 어떻게 작동하는지 이해할 수 없습니다. 다음을 예로 들어 보겠습니다.

여기에 이미지 설명을 입력하십시오

회전 DOF이다는 엔드 이펙터되면, 엔드 이펙터,의 목표입니다 , 및 관절이다.θegP1P2P3

먼저 다이어그램의 위 공식을 기반으로 Jacobian 행렬을 계산하면 다음과 같이됩니다.

J=[((0,0,1)×e)x((0,0,1)×(eP1))x((0,0,1)×(eP2))x((0,0,1)×e)y((0,0,1)×(eP1))y((0,0,1)×(eP2))y((0,0,1)×e)z((0,0,1)×(eP1))z((0,0,1)×(eP2))z000000111]

이것은 모든 회전 축이 이고 모든 회전 축이 하나의 회전 DOF만을 갖는 것으로 가정합니다 . 따라서 각 열은 하나의 DOF (이 경우 해당한다고 생각합니다 .(0,0,1)θ#

자, 여기 문제가 있습니다 : 만약 모든 관절이 6 DOF를 가지고 있다면 어떨까요? 말은 지금, 모든 관절, 나는 모든 축에서 회전 자유도를 가지고, , 및 , 또한 모든 축에 병진 자유도 , 및 .θxθyθztxtytz

내 질문을 명확하게하기 위해 위의 수식을 모든 관절의 모든 DOF에 "강제로"적용하면 다음과 같이 야곱 행렬을 얻을 수 있다고 가정합니다.

여기에 이미지 설명을 입력하십시오

(전체 크기를 보려면 클릭하십시오)

그러나 모든 조인트에 대한 DOF의 6 개 열이 모두 같은 것을 반복하기 때문에 이것은 엄청나게 이상합니다.

동일한 수식을 사용하여 모든 DOF로 야곱 행렬을 만드는 방법은 무엇입니까? 이 경우 Jacobian 행렬은 어떻게 생겼습니까?


실제로이 질문을 수학, GamesDev 또는 물리학에 게시해야하는지 잘 모르겠습니다. 이 질문을 잘못된 곳에 올렸다는 느낌이 듭니다.
크세논

귀하의 실수는 각 DOF에 대해 a '를 변경하지 않았다는 것입니다. 그래서 모두 동일하게 보입니다.

답변:


11

나는 특정 공식을 자주 보지 못했음을 인정해야하지만, 하나 이상의 DOF의 경우 모든 열의 모든 관절에 대해 평가 한 다음 (아마도?) 결과를 곱할 것입니다. 각 열.

그러나 임의의 많은 DOF의 맥락에서 Jacobians에 대한 간단한 접근 방법을 제안하겠습니다. 기본적으로 Jacobian은 엔드 이펙터 프레임을 임의로 선택한 방향으로 움직일 때 각 조인트가 얼마나 멀리 이동하는지 알려줍니다. 하자 순방향 운동학 여기서 될 θ =를 [ θ 1 , . . . , θ의 N은 ] 관절이다 f를 POS하는 순방향 운동학의 위치 부분 F ROT 회전 부품. 그런 다음 관절 변수와 관련 하여 순 운동학차별화 하여 Jacobian을 얻을 수 있습니다 . f(θ)θ=[θ1,...,θn]fposfrot 는 조작자의 야 코비안입니다. 역전하면속도에 대한역학을 가진 역 운동학을 얻을 수있습니다. 각 관절이 당신이 어떤하여 엔드 이펙터를 이동할 경우 이동하는 방법까지 알고 싶다면 그것은 여전히 유용하지만 할 수 있습니다작은Δ는X(이 효과적으로 선형화 것 때문에 위치 수준에) 어떤 방향 : Δθ=J1Δx

J=fθ=[fposθ1,fposθ2...,fposθnfrotθ1,frotθ2...,frotθn]
Δx
Δθ=J1Δx

이것이 도움이되기를 바랍니다.


답장을 보내 주셔서 감사합니다! 그러나 이것은 수치를 수치로 계산해야한다는 것을 의미합니까? 사실, 난에서이 분석 예를 보았다 graphics.cs.cmu.edu/nsp/course/15-464/Fall09/handouts/IK.pdf 슬라이드 19에서 graphics.ucsd.edu/courses/cse169_w05/CSE169_13.ppt 슬라이드에 78. 슬라이드에서 나는 수치적인 방법을 거치지 않아도 될 것 같습니다. 차별화 할 실제 함수가없는 상황에서이 공식을 사용할 수 있습니다. 그러나 문제는 각 관절에 더 많은 DOF가있을 때 발생하는 것입니다.
크세논

내가 제대로 슬라이드를 이해한다면, 당신은 벡터를 결정하여 임의의 많은 (회전) 자유도의 사건을 처리하는 것 그 관절, 각 P i가 관절의 위치입니다. 따라서 46 개의 관절이 있다면 실제로 46 개의 열과 6 개의 행 (또는 엔드 이펙터의 방향을 무시하면 3)이있는 야 코비안을 얻게됩니다. 간단히 말해 :이 수식을 원하는 수의 관절에 적용 할 수 있으며 다른 관절과 "결합"할 필요는 없습니다. (eiPi)Pi
Daniel Eberts

그러나이 공동으로이 같은 많은 자유도가있는 경우 발생 , θ Y , θ Z 및 병진 자유도처럼 t X , t의 Y , T는 Z를 ? 이제 각 관절에는 6 개의 DOF가 있습니다. Jacobian 행렬이 IK에서 어떻게 작동하는지에 대한 나의 이해에서, 처음 6 개의 열은 6 개의 다른 DOF와 관련하여 엔드 이펙터의 파생물이 될 것이며, 첫 6 개의 열은 첫 번째 관절을 설명하는 것입니다. 다음 6 열은 6 DOF 등에 대한 두 번째 관절을 설명합니다. 방정식 사용 ( e iP i )θxθyθztxtytz(eiPi), 각 조인트의 6 개 열이 하나의 열에 자동으로 포장된다는 의미입니까?
크세논

3
아, 알겠습니다 아니요,이 경우 수식은 회전축이 한 개인 회전 조인트 용으로 설계되었으므로 작동하지 않습니다. 예를 들어 구형 조인트를 처리하려면 특정 조인트 유형을 처리하는 다른 공식이 필요하거나 로봇의 전방 운동학의 닫힌 형태가 필요합니다. 그것을 가지고 있다면 관절 구별하여 야곱을 얻을 수 있습니다. θ
Daniel Eberts

감사! :) 궁금한 점은 graphics.ucsd.edu/courses/cse169_w05/CSE169_13.ppt의 Slide 58 이 3 DOF가있는 회전 조인트에 수식을 사용할 수 있다는 것을 암시합니까? 관절에 병진 DOF가없고 순전히 3 개의 회전 DOF가있는 경우에도 여전히 가능합니까? 비록 다른 DOF를 얻기 위해 다양한 회전을 곱하는 데 왜 이 걸리는지 잘 모르겠습니다. (1,0,0,0)
크세논

2

6 개의 dof 관절에 대한 공식은 6 개의 모든 관절이 월드 프레임에 축 을 가지며 모든 관절이 회전한다고 가정합니다. 따라서 6 개의 관절이 동일하므로 Jacobian의 기둥도 동일합니다.(0,0,1)

이상부터 공동는이 축이 가정 점을 통과 R . e를 엔드 이펙터의 위치로 하자 . a , re 의 좌표 는 모두 월드 프레임에 제공되며 로봇이 이동함에 따라 업데이트됩니다. 축 a의 길이는 1 입니다.arearea1

관절이 회전하면 관절의 자 코비안 기둥이

Jθ(a,r)=[a×(er)a]

관절이 프리즘 형인 경우 기둥은

Jp(a)=[a0]

구형 일뿐만 아니라 공간에서도 변환 할 수 있는 6 개의 dof 조인트 가 있다고 가정 합니다. 공동의 축이 가정 X , YZ 조인트에 대한 자 코비안은하게되도록하고, 그 각각 리볼와 프리즘 조인트 주 축axayaz

J=[Jp(ax)Jp(ay)Jp(az)Jθ(ax,r)Jθ(ay,r)Jθ(az,r)]

축의 X , y로 하고 Z는 로봇의 전방 역학에 의존한다. 설명 을 위해 월드 프레임에서 k 번째 관절 의 변형을axayazk

Fk=i=1kLiTi

여기서 변환 상수 및 변환 T는 접합 변수에 의존한다. 하자 R에 C ( Q )P의 C ( 질문을 ) 에 의해 회전 및 번역 변형 될 Q 대해 축이라는 좌표 C (중 , X , Y 또는 Z가 ).LiTiRc(q)Pc(q)qcxyz

하자 코비안의 도움으로 계산 될 변위, 상기 용 I 번째 조인트. 하자 Δ T = P (X) ( Δ P X ) P (Y) ( Δ P의 Y ) P의 Z ( Δ의 P의 ZΔq=(Δpx,Δpy,Δpz,Δθx,Δθy,Δθz)iΔT=Px(Δpx)Py(Δpy)Pz(Δpz)Rx(Δθx)Ry(Δθy)Rz(Δθz)

TiTiΔT

axayaziFirFi


0

6 DOF 조인트에 대한 야 코비 행렬을 원한다는 질문을 이해하는 한.

로봇 공학의 기초부터 시작하겠습니다. 로봇 공학 학습의 초기 단계는 다양합니다. 각 조인트는 하나의 DOF를 나타내므로 회전식이거나 프리즘 조인트 일 수 있습니다.

구형 조인트에 관한 한, 3 개의 상호 수직 축을 갖는 3 개의 회전 조인트로 변환 될 수있다. 이제 구면 조인트를 단순화했습니다.

Moving forward to Jacobian matrix. It contain 6 rows. First 3 rows represents orientation and last 3 rows indicated position with reference to a particular coordinate system. Each column in matrix indicate a single joint. So the number of joint/DOF you have the same number column you have in Jacobian matrix.

Here is the more clear view to your question: A single joint never fulfil more than one DOF, because it complicates the joint and precise control will never achieve. Even if we consider hypothetically a joint with more than one DOF, you need to convert that joint into multiple joints with 1 DOF each to simplify the mathematics and solution.

6 개의 회전 조인트가있는 6 DOF 로봇이 실제 문제에서 대부분 작동합니다. 그러나 귀하의 질문에 따라 각 DOF에 18 DOF 로봇을 만드는 3 개의 DOF가있는 6 개의 조인트 로봇을 고려했습니다. 이것은 중복 DOF (즉, 18-6 = 12 중복 DOF)를 제공합니다. 따라서 어떤 방향 으로든 로봇 엔드 이펙터에 도달하려면 무한 다른 솔루션을 갖게됩니다 (솔루션은 각 조인트의 회전을 의미 함). 따라서 이런 종류의 역 운동학 문제를 해결하려면 역 운동학의 반복 방법이 필요합니다.

희망, 나는 당신의 질문에 더 명확하게 대답했습니다. 기본 로봇 공학을 배우려면 John J. Craig-로봇 공학 기계 및 제어 소개 -Pearson Education, Inc.를 참조하십시오.

감사합니다. Manan Kalasariya

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.