1 package com.neuronrobotics.sdk.addons.kinematics;
3 import java.util.ArrayList;
5 import com.neuronrobotics.sdk.addons.kinematics.math.TransformNR;
37 ArrayList<DHLink> links = chain.
getLinks();
38 int linkNum = jointSpaceVector.length;
39 double [] inv =
new double[linkNum];
42 for(
int i=0;i<linkNum;i++){
45 double posOffset = 10;
50 boolean notArrived =
false;
51 boolean [] stop =
new boolean [increments.length];
56 for(
int i=increments.length-1;i>=0;i--){
57 stop[i]=increments[i].
step();
64 if(previousV>=vect && previousO>=orent){
65 for(
int i=0;i<inv.length;i++){
66 inv[i]=jointSpaceVector[i];
72 notArrived = (previousV > posOffset|| previousO > .001);
73 if(stopped ==
true && notArrived ==
true){
75 for(
int i=0;i<increments.length;i++){
84 }
while(++iter<200 && notArrived && stopped ==
false);
86 System.out.println(
"Numer of iterations #"+iter+
" \n\tStalled = "+stopped+
" \n\tArrived = "+!notArrived+
" \n\tFinal offset= "+vect+
" \n\tFinal orent= "+orent);
TransformNR forwardKinematics(double[] jointSpaceVector)
double[] getlowerLimits()
ArrayList< DHLink > getLinks()
double[] getUpperLimits()
double[] inverseKinematics(TransformNR target, double[] jointSpaceVector, DHChain chain)
GradiantDecent(DHChain dhChain, boolean debug)