1 package com.neuronrobotics.sdk.addons.kinematics;
 
    3 import java.util.ArrayList;
 
    5 import com.neuronrobotics.sdk.addons.kinematics.math.TransformNR;
 
   26     double startingIncrement = 1.5;
 
   50         ArrayList<DHLink> links = chain.
getLinks();
 
   66             if(vect<10 && orent< .05){
 
   68                 System.out.println(
"SearchTreeSolver Success stats: \n\tIterations = "+i+
" out of "+iter+
"\n"+conf);
 
   72                 System.err.println(
"SearchTreeSolver FAILED stats: \n\tIterations = "+i+
" out of "+iter+
"\n"+conf);
 
  140         public searchTree(
double[] jointSpaceVector,
double startingIncrement){
 
  141             nodes = 
new searchNode [jointSpaceVector.length];
 
  142             for(
int i=0;i<jointSpaceVector.length;i++){
 
  143                 nodes[i] = 
new searchNode(i,jointSpaceVector[i],startingIncrement);
 
  155             ArrayList<configuration> configurations = 
new ArrayList<configuration> ();
 
  156             for(
int i=0;i<jointSpaceVector.length;i++){
 
  159             double [] tmp = 
new double[6];
 
  161             for(
int i=0;i<num;i++){
 
  163                     tmp[0]=nodes[0].get(i);
 
  164                     for(
int i1=0;i1<num;i1++){
 
  166                             tmp[1]=nodes[1].get(i1);
 
  167                             for(
int i2=0;i2<num;i2++){
 
  169                                     tmp[2]=nodes[2].get(i2);
 
  170                                     for(
int i3=0;i3<num;i3++){
 
  172                                             tmp[3]=nodes[3].get(i3);
 
  173                                             for(
int i4=0;i4<num;i4++){
 
  175                                                     tmp[4]=nodes[4].get(i4);
 
  176                                                     for(
int i5=0;i5<num;i5++){
 
  178                                                             tmp[5]=nodes[5].get(i5);
 
  179                                                             boolean same = 
false;
 
  186                                                                 configurations.add(tempConf);
 
  187                                                         }
catch(Exception ex){}
 
  189                                                 }
catch(Exception ex){}
 
  191                                         }
catch(Exception ex){}
 
  193                                 }
catch(Exception ex){}
 
  195                         }
catch(Exception ex){}
 
  197                 }
catch(Exception ex){}
 
  202             double orent=configurations.get(0).getOffsetOrentationMagnitude();
 
  203             double vect =configurations.get(0).getOffsetVectorMagnitude();
 
  205                 double tmpOrent = c.getOffsetOrentationMagnitude();
 
  206                 double tmpVector= c.getOffsetVectorMagnitude();
 
  217             return configurations.get(best);
 
  248             this.joints = 
joints.clone();
 
  302             for(
int i=0;i<6;i++){
 
  347                 throw new RuntimeException(
"Increment must be positive");
 
  369                 throw new RuntimeException(
"Limit bounded");
 
  385                 throw new RuntimeException(
"Limit bounded");
 
  405         double get(
int index){
 
  414                 throw new RuntimeException(
"Index must be 0-2");
 
TransformNR forwardKinematics(double[] jointSpaceVector)
 
double[] getlowerLimits()
 
ArrayList< DHLink > getLinks()
 
double[] getUpperLimits()
 
TransformNR getTransform()
 
double getOffsetVectorMagnitude()
 
configuration(double[] joints, TransformNR t)
 
double getOffsetOrentationMagnitude()
 
boolean same(configuration c)
 
final double startingIncrement
 
searchNode(int link, double start, double inc)
 
void setCurrent(double d)
 
searchTree(double[] jointSpaceVector, double startingIncrement)
 
configuration getBest(double[] jointSpaceVector)
 
double[] inverseKinematics(TransformNR target, double[] jointSpaceVector, DHChain chain)
 
void setTarget(TransformNR target)
 
TransformNR fk(double[] jointSpaceVector)
 
void setDhChain(DHChain dhChain)
 
SearchTreeSolver(DHChain dhChain, boolean debug)