|
libnifalcon
1.0.1
|
#include <FalconKinematic.h>
Inheritance diagram for libnifalcon::FalconKinematic:
Collaboration diagram for libnifalcon::FalconKinematic:Public Types | |
| enum | { FALCON_KINEMATIC_OUT_OF_RANGE = 5000 } |
Public Member Functions | |
| FalconKinematic () | |
| virtual | ~FalconKinematic () |
| double | getTheta (int encoder_value) |
| virtual bool | getAngles (std::array< double, 3 > &position, std::array< double, 3 > &angles)=0 |
| virtual bool | getPosition (std::array< int, 3 > &encoders, std::array< double, 3 > &position)=0 |
| virtual void | getWorkspaceOrigin (std::array< double, 3 > &origin)=0 |
| virtual bool | getForces (const std::array< double, 3 > &position, const std::array< double, 3 > &cart_force, std::array< int, 3 > &enc_force)=0 |
Public Member Functions inherited from libnifalcon::FalconCore | |
| FalconCore () | |
| virtual | ~FalconCore () |
| int | getErrorCode () |
Additional Inherited Members | |
Protected Attributes inherited from libnifalcon::FalconCore | |
| int | m_errorCode |
The Kinematic base class provides virtual functions for forward and inverse kinematic functions, as well as utility functions that all kinematics cores can share.
| anonymous enum |
|
inline |
Constructor
|
inlinevirtual |
Destructor
|
pure virtual |
Given a caretesian position (in meters), return the angle of the legs requires to achieve the positions
| position | Position to get the angles for (in cartesian coordinates, meters) |
| angles | Array to write result into |
Implemented in libnifalcon::FalconKinematicStamper.
|
pure virtual |
Given a caretesian position (in meters), and force vector (in newtons), return the force values that need to be sent to the firmware. Force values are capped at 4096.
| position | Current position of the end effector |
| cart_force | Force vector to apply to the end effector |
| enc_force | Force to be sent to the firmware |
Implemented in libnifalcon::FalconKinematicStamper.
|
pure virtual |
Given a set of encoder values, return the cartesian position (in meters) of the end effector in relation to the origin. Note: Origin subject to change based on kinematics system. Use the workspaceOrigin() function to get what the system thinks its origin is.
| encoders | Encoder values for the 3 legs |
| position | Array to write result into |
Implemented in libnifalcon::FalconKinematicStamper.
|
inline |
Given an encoder value, return the angle (in degrees) the leg is at (in the leg's local reference frame)
| encoder_value | Encoder ticks for a leg |
|
pure virtual |
Returns the center point of the workspace. May not always be [0,0,0].
| origin | Array to store values in |
Implemented in libnifalcon::FalconKinematicStamper.
1.8.10