envire::smurf::GraphLoader getLoaderWithStructuredGraph(const smurf::Robot & robot)
{   
    envire::core::Transform iniPose;
    std::shared_ptr<envire::core::EnvireGraph> transformGraph(new envire::core::EnvireGraph) ;
    iniPose.transform.orientation = base::Quaterniond::Identity();
    iniPose.transform.translation << 1.0, 1.0, 1.0;
    envire::smurf::GraphLoader graphLoader(transformGraph, iniPose);
    envire::core::FrameId center = "center";
    transformGraph->addFrame(center);
    graphLoader.loadStructure(transformGraph->getVertex(center), robot);
    return graphLoader;
}
Example #2
0
  void updateSigma2_MII(int *seed,
			const int *nTry,
			int *nAccept,
			const double *epsilon,
			double *sigma2,
			const int *Q,
			const int *G,
			const int *S,
			const double *x,
			const int *psi,
			const double *nu,
			const int *delta,
			const double *Delta,
			const double *gamma2,
			const double *r,
			const double *rho,
			const double *phi,
			const double *t,
			const double *l,
			const double *tau2R,
			const double *tau2Rho,
			const double *a,
			const double *b,
			const double *Omega,
			const int *nClique,
			const int *oldClique,
			const int *nOldComponents,
			const int *nNewComponents,
			const int *oldComponents) {
    unsigned int seedU = (unsigned int) *seed;

    
    vector<vector<vector<double> > > OmegaTransformed;
    vector<int> oldCliqueTransformed;
    vector<vector<int> > oldComponentsTransformed;
    transformGraph(nClique,oldClique,nOldComponents,oldComponents,oldCliqueTransformed,oldComponentsTransformed);
    transformOmega(nClique,nOldComponents,nNewComponents,Omega,OmegaTransformed);
    
    updateSigma2_HyperInverseWishart(&seedU,*nTry,nAccept,*epsilon,sigma2,*Q,*G,S,x,psi,nu,
				     delta,Delta,*gamma2,r,rho,phi,t,l,tau2R,tau2Rho,a,b,
				     OmegaTransformed,oldCliqueTransformed,oldComponentsTransformed);

    *seed = (int) seedU;

    return;
  }
Example #3
0
  void updateBDDeltaStar_MII(unsigned int *seed,
			     int *nTry,
			     int *nAccept,
			     double *epsilon,
			     double *b,
			     double *Delta,
			     const int *Q,
			     const int *G,
			     const int *S,
			     const double *x,
			     const int *psi,
			     const double *nu,
			     const int *delta,
			     const double *r,
			     const double *sigma2,
			     const double *phi,
			     const double *tau2R,
			     const double *pB0,
			     const double *pB1,
			     const double *alphaB,
			     const double *betaB,
			     const double *Omega,
			     const int *nClique,
			     const int *oldClique,
			     const int *nOldComponents,
			     const int *nNewComponents,
			     const int *oldComponents) {
    unsigned int seedU = (unsigned int) *seed;
    
    
    vector<vector<vector<double> > > OmegaTransformed;
    vector<int> oldCliqueTransformed;
    vector<vector<int> > oldComponentsTransformed;
    transformGraph(nClique,oldClique,nOldComponents,oldComponents,oldCliqueTransformed,oldComponentsTransformed);
    transformOmega(nClique,nOldComponents,nNewComponents,Omega,OmegaTransformed);
    
    updateBDDeltaStar_HyperInverseWishart(&seedU,*nTry,nAccept,*epsilon,b,Delta,*Q,
					  *G,S,x,psi,nu,delta,r,sigma2,phi,tau2R,
					  *pB0,*pB1,*alphaB,*betaB,
					  OmegaTransformed,oldCliqueTransformed,
					  oldComponentsTransformed);
    
    *seed = (int) seedU;
  }
Example #4
0
  void updateOmega_MII(unsigned int *seed,
		       int *nAccept,
		       double *Omega,
		       const int *Q,
		       const int *G,
		       const double *Delta,
		       const double *r,
		       const double *sigma2,
		       const double *tau2R,
		       const double *b,
		       const double *zeta,
		       const double *D,
		       const int *nClique,
		       const int *oldClique,
		       const int *nOldComponents,
		       const int *nNewComponents,
		       const int *oldComponents) {
    unsigned int seedU = (unsigned int) *seed;

		       
    vector<vector<vector<double> > > OmegaTransformed;
    vector<vector<vector<double> > > DTransformed;
    vector<int> oldCliqueTransformed;
    vector<vector<int> > oldComponentsTransformed;
    transformGraph(nClique,oldClique,nOldComponents,oldComponents,oldCliqueTransformed,oldComponentsTransformed);
    transformOmega(nClique,nOldComponents,nNewComponents,D,DTransformed);
    transformOmega(nClique,nOldComponents,nNewComponents,Omega,OmegaTransformed);

    updateOmega_HyperInverseWishart(&seedU,nAccept,OmegaTransformed,*Q,*G,Delta,r,sigma2,
				    tau2R,b,*zeta,DTransformed,oldCliqueTransformed,
				    oldComponentsTransformed);

    inverseTransformOmega(OmegaTransformed,Omega);
		       
    *seed = (int) seedU;
  }