KrisLibrary  1.0.0
RLG.h
1 #ifndef ROBOTICS_RLG_H
2 #define ROBOTICS_RLG_H
3 
4 #include "JointStructure.h"
5 
13 class RLG
14 {
15 public:
16  RLG(RobotKinematics3D& robot, const JointStructure& js);
17  void SampleFrom(int k);
18  void Sample(const vector<IKGoal>& ik);
19  void Sample(const IKGoal& goal);
20 
21  void IterateParent(int k);
22  void IterateChild(int k);
23  void SampleParent(int k);
24  void SampleChild(int k);
25  void GetAnglesParent(int k,vector<AngleSet>& a) const;
26  void GetAnglesChild(int k,vector<AngleSet>& a) const;
27  virtual bool SolveAnalyticIKParent(int k) const { return false; }
28  virtual bool SolveAnalyticIKChild(int k) const { return false; }
29 
30  RobotKinematics3D& robot;
31  const JointStructure& js;
32 };
33 
40 class FreeRLG : public RLG
41 {
42 public:
43  FreeRLG(RobotKinematics3D& robot, const JointStructure& js);
44  void SampleFromRoot();
45  virtual bool SolveAnalyticIKParent(int k) const;
46 };
47 
48 #endif
A structure defining a link&#39;s desired configuration for IK.
Definition: IK.h:14
A sampler for closed-chain kinematics that takes joint workspace bounds into account.
Definition: RLG.h:13
RLG that sets a virtual linkage of free dof&#39;s using analytic IK.
Definition: RLG.h:40
Class defining kinematics of a robot, and commonly used functions.
Definition: RobotKinematics3D.h:33
Calculates workspace bounds for a robot with constrained links.
Definition: JointStructure.h:30