inverseKinematics
역기구학 솔버 만들기
설명
inverseKinematics
System object™는 역기구학(IK) 솔버를 만들어 지정된 강체 트리 모델을 기반으로 원하는 엔드 이펙터 자세에 대한 조인트 컨피규레이션을 계산합니다. rigidBodyTree
클래스를 사용하여 로봇의 강체 트리 모델을 만듭니다. 이 모델은 솔버가 적용하는 모든 조인트 제약 조건을 정의합니다. 해를 구하는 것이 가능한 경우 로봇 모델에 지정된 조인트 제한을 준수합니다.
엔드 이펙터 자세 외에 조준 제약 조건, 위치 경계, 방향 타깃 등 더 많은 제약 조건을 지정하려면 generalizedInverseKinematics
를 사용해 보십시오. 이 객체를 사용하면 다중 제약 조건이 있는 IK 해를 계산할 수 있습니다.
닫힌 형식의 해석적 IK 해에 관해서는 analyticalInverseKinematics
항목을 참조하십시오.
원하는 엔드 이펙트 자세를 위한 조인트 컨피규레이션을 계산하려면 다음을 수행합니다.
inverseKinematics
객체를 만들고 속성을 설정합니다.함수를 호출하는 것처럼 인수를 사용하여 객체를 호출합니다.
System object의 작동 방식에 대해 자세히 알아보려면 System object란? 항목을 참조하십시오.
생성
설명
는 역기구학 솔버를 만듭니다. 솔버를 사용하려면 ik
= inverseKinematicsRigidBodyTree
속성에 강체 트리 모델을 지정합니다.
는 하나 이상의 ik
= inverseKinematics(Name,Value
)Name,Value
쌍 인수를 사용하여 역기구학 솔버를 만듭니다. 여기서 Name
은 속성 이름이고 Value
는 대응하는 값입니다. Name
은 작은따옴표(''
)로 묶어야 합니다. Name1,Value1,...,NameN,ValueN
과 같이 여러 개의 이름-값 쌍 인수를 임의의 순서로 지정할 수 있습니다.
속성
사용
설명
[
는 지정된 엔드 이펙터 자세를 구현하는 조인트 컨피규레이션을 구합니다. 컨피규레이션에 대한 초기 추측값과 configSol
,solInfo
] = ik(endeffector
,pose
,weights
,initialguess
)pose
의 6개 성분의 허용오차에 대해 원하는 가중치를 지정합니다. 알고리즘 실행과 관련된 해 정보 solInfo
는 조인트 컨피규레이션 해 configSol
과 함께 반환됩니다.
입력 인수
출력 인수
객체 함수
객체 함수를 사용하려면 System object를 첫 번째 입력 인수로 지정하십시오. 예를 들어 obj
라는 System object의 시스템 리소스를 해제하려면 다음 구문을 사용합니다.
release(obj)
예제
참고 문헌
[1] Badreddine, Hassan, Stefan Vandewalle, and Johan Meyers. "Sequential Quadratic Programming (SQP) for Optimal Control in Direct Numerical Simulation of Turbulent Flow." Journal of Computational Physics. 256 (2014): 1–16. doi:10.1016/j.jcp.2013.08.044.
[2] Bertsekas, Dimitri P. Nonlinear Programming. Belmont, MA: Athena Scientific, 1999.
[3] Goldfarb, Donald. "Extension of Davidon’s Variable Metric Method to Maximization Under Linear Inequality and Equality Constraints." SIAM Journal on Applied Mathematics. Vol. 17, No. 4 (1969): 739–64. doi:10.1137/0117067.
[4] Nocedal, Jorge, and Stephen Wright. Numerical Optimization. New York, NY: Springer, 2006.
[5] Sugihara, Tomomichi. "Solvability-Unconcerned Inverse Kinematics by the Levenberg–Marquardt Method." IEEE Transactions on Robotics Vol. 27, No. 5 (2011): 984–91. doi:10.1109/tro.2011.2148230.
[6] Zhao, Jianmin, and Norman I. Badler. "Inverse Kinematics Positioning Using Nonlinear Programming for Highly Articulated Figures." ACM Transactions on Graphics Vol. 13, No. 4 (1994): 313–36. doi:10.1145/195826.195827.