libnifalcon
1.0.1
|
#include <FalconKinematic.h>
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 |
![]() | |
FalconCore () | |
virtual | ~FalconCore () |
int | getErrorCode () |
Additional Inherited Members | |
![]() | |
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.