GlobalIKSemiBreadth Class Reference

Expands all nets until a resolution has been reached, then search only for a single solution. More...

#include <MemoryX/libraries/helpers/KinematicBezierMaps/kbm.h>

+ Inheritance diagram for GlobalIKSemiBreadth:

Public Member Functions

 GlobalIKSemiBreadth (Real _semiBreadthRecursion, int _solutionSelect=Models::KBM::COVERED)
 
GlobalIKBase::SolutionSet runDijkstra (KBM::Inverse::GraphNode initial)
 
- Public Member Functions inherited from GlobalIKBase
 GlobalIKBase ()
 
void solve (Models::KBM_ptr kbm, const Vector lower, const Vector upper, Real resolution=2.0f *M_PI/180.0f)
 

Public Attributes

int misses
 
- Public Attributes inherited from GlobalIKBase
SolutionSet solutions
 

Protected Member Functions

unsigned int recurse (unsigned int level, Models::KBM_ptr kbm) override
 
- Protected Member Functions inherited from GlobalIKBase
void subdivideAngles (Side side, unsigned int recursion, Models::KBM_ptr kbm, Vector &center, Vector &spreadAngles)
 Subdivides the joint angles only. Can be used to select in which direction to subdivise first.
 
Models::KBM_ptr subdivideKBM (GlobalIKBase::Side side, unsigned int recursion, Models::KBM_ptr kbm)
 Subdivides the kbm and creates new KBM. Calls GlobalIKBase::subdivideAngles().
 

Protected Attributes

Real semiBreadthRecursion
 
int solutionSelect
 
Real targetVolume
 
- Protected Attributes inherited from GlobalIKBase
Real resolution
 
Vector targetLower
 
Vector targetUpper
 

Additional Inherited Members

- Public Types inherited from GlobalIKBase
enum  Side { LOWER , UPPER , END }
 
using SolutionSet = std::vector<Solution>
 

Detailed Description

Expands all nets until a resolution has been reached, then search only for a single solution.

This is the most promising approach for large kinematics.

Constructor & Destructor Documentation

◆ GlobalIKSemiBreadth()

GlobalIKSemiBreadth ( Real _semiBreadthRecursion,
int _solutionSelect = Models::KBM::COVERED )

Member Function Documentation

◆ recurse()

unsigned int recurse ( unsigned int level,
Models::KBM_ptr kbm )
overrideprotectedvirtual

Implements GlobalIKBase.

◆ runDijkstra()

Member Data Documentation

◆ misses

int misses

◆ semiBreadthRecursion

Real semiBreadthRecursion
protected

◆ solutionSelect

int solutionSelect
protected

◆ targetVolume

Real targetVolume
protected

The documentation for this class was generated from the following files: