![]() |
RMP Motion Controller
10.3.8
The RMP Motion Controller APIs
|
The Robot class for Path, G-Code and RapidRobot motion for any actuator. Use RobotCreate() to make one. Your kinematic model must be supported by RapidCode. More...
Static Functions | |
static Robot * | RobotCreate (MotionController *controller, MultiAxis *multiAxis, const char *const model_identifier) |
Create a Robot object to use G-Code, path motion, etc. More... | |
static void | RobotDelete (MotionController *controller, Robot *robot) |
Delete a Robot. | |
Functions | |
PathState | PathStateGet ()=0 |
Gets the path state of the Robot. More... | |
bool | PathStateWait (PathState stateWaitFor, uint64_t timeout_ms)=0 |
Waits for a specific path state. More... | |
bool | PathStateWaitChange (PathState stateWaitChange, uint64_t timeout_ms)=0 |
Waits for the path state to not be the specified state. More... | |
uint64_t | MotionCounterGet ()=0 |
Gets the current motion counter of the Robot. More... | |
bool | MotionCounterWait (uint64_t motionWaitFor, uint64_t timeout_ms)=0 |
Waits for the counter to be greater than or euqal to the specified state. More... | |
bool | MotionCounterWaitChange (uint64_t motionWaitChange, uint64_t timeout_ms)=0 |
Waits for the state to change off the specified counter value. More... | |
bool | IsRunning ()=0 |
Returns whether or not the executor is executing motion. More... | |
bool | MotionDoneGet ()=0 |
Check to see if motion is done and settled. More... | |
uint64_t | MotionDoneWait ()=0 |
Waits for a move to complete. More... | |
uint64_t | MotionDoneWait (uint64_t timeout_ms)=0 |
Waits for a move to complete. More... | |
bool | HasError ()=0 |
Get the error state of the underlying Trajectory Executor. More... | |
const char *const | ErrorMessageGet ()=0 |
Get the text of any error in the Trajectory Executor. More... | |
void | PathEStop ()=0 |
Commands a joint EStop and clears the loaded moves. More... | |
void | ClearFaults ()=0 |
Clears the MultiAxis fault then the Robot's error bit. | |
Pose | ActualPoseGet ()=0 |
Get the actual pose of the robot from the trajectory exectutor. More... | |
Pose | CommandPoseGet ()=0 |
Get the commanded pose of the robot from the trajectory exectutor. More... | |
Pose | PoseFromJointsGet ()=0 |
Get the Actual pose of the robot from the the joint MultiAxis positions. More... | |
void | JointsActualPositionsGet (double *positions, uint16_t sz)=0 |
Get the actual position of the axes in the underlying MultiAxis. More... | |
void | JointsCommandPositionsGet (double *positions, uint16_t sz)=0 |
Get the commanded position of the axes in the underlying MultiAxis. More... | |
void | InverseKinematics (Pose pose, double *outJoints, uint16_t outJointsSize)=0 |
Run the given pose through the current inverse kinematic model to see the joint positions the robot would choose. More... | |
const KinematicModel & | ModelGet ()=0 |
Get the model this robot was created with Visit our Topic Page for more information. | |
void | TranformSet (Pose transform)=0 |
Set a transform to be applied to all motion commands. More... | |
Pose | TranformGet ()=0 |
Get a transform to be applied to all motion commands Visit our Topic Page for more information. | |
const double | ScaleFactorBetweenUnitsGet (LinearUnits from, LinearUnits to)=0 |
Gets scaling for scale factor needed to convert from -> to units by multiplying More... | |
void | Move (Pose absolutePose)=0 |
Executes a point-to-point absolute motion in cartesian space. More... | |
void | MoveRelative (Pose relativePose)=0 |
Executes a point-to-point motion relative to the current end effector Pose. More... | |
void | PathClear ()=0 |
Clears out all loaded lines and arcs from the path. More... | |
void | PathVelocitySet (double velocity)=0 |
Sets the target linear cartesian velocity for each move (UserUnits/second). More... | |
double | PathVelocityGet ()=0 |
Gets the target velocity for the machine (UserUnits/second). More... | |
void | PathAccelerationSet (double acceleration)=0 |
Sets the target acceleration for the machine (UserUnits/second^2). Should be set apprpriately based on your hardware. More... | |
double | PathAccelerationGet ()=0 |
Gets the target acceleration for the machine (UserUnits/second^2). More... | |
void | PathProgrammingModeSet (PathMode mode)=0 |
Sets the programming mode (Relative/Absolute). More... | |
PathMode | PathProgrammingModeGet ()=0 |
Gets the programming mode (Relative/Absolute). More... | |
void | PathLine (const Pose &pose)=0 |
Appends a line on to the current path with end pose. More... | |
void | PathLine (const Vector3d &position)=0 |
Appends a line on to the current path with end pose. More... | |
void | PathLine (double x, double y, double z)=0 |
Appends a line on to the current path with end x,y,z location. More... | |
void | PathLineX (double x)=0 |
Appends a line on to the current path along x axis. More... | |
void | PathLineY (double y)=0 |
Appends a line on to the current path along y axis. More... | |
void | PathLineZ (double z)=0 |
Appends a line on to the current path along z axis. More... | |
void | PathLineXY (double x, double y)=0 |
Appends a line on to the current path on xy plane. More... | |
void | PathLineXZ (double x, double z)=0 |
Appends a line on to the current path on xz plane. More... | |
void | PathLineYZ (double y, double z)=0 |
Appends a line on to the current path on yz plane. More... | |
void | PathArc (RotationDirection direction, const Pose &endPose, const Vector3d ¢er)=0 |
Appends an arc on to the current path with end pose about a specific center. More... | |
void | PathArc (RotationDirection direction, double x, double y, double z, double i, double j, double k)=0 |
Appends an arc on to the current path with end pose about a specific center. More... | |
void | PathArcXY (RotationDirection direction, double x, double y, double i, double j)=0 |
Appends an arc on to the current on the XY plane. More... | |
void | PathArcXY (RotationDirection direction, double x, double y, double radius)=0 |
Appends an arc on to the current on the XY plane. More... | |
void | PathArcXZ (RotationDirection direction, double x, double z, double i, double k)=0 |
Appends an arc on to the current on the XZ plane. More... | |
void | PathArcXZ (RotationDirection direction, double x, double z, double radius)=0 |
Appends an arc on to the current on the XZ plane. More... | |
void | PathArcYZ (RotationDirection direction, double y, double z, double j, double k)=0 |
Appends an arc on to the current on the YZ plane. More... | |
void | PathArcYZ (RotationDirection direction, double y, double z, double radius)=0 |
Appends an arc on to the current on the YZ plane. More... | |
void | PathPlaneSet (Plane plane)=0 |
Sets the plane for the purposes of ambigous cases (arcs >= 180deg). Last set plane or XY plane is default. More... | |
Plane | PathPlaneGet ()=0 |
Gets the plane some arcs will be forced to be on. More... | |
void | PathLinearScalingSet (double scaleFactor)=0 |
Sets scaling between the input to path motion and output of path motion to the kinematic model. More... | |
double | PathLinearScalingGet () const =0 |
Gets scaling between input to path motion and output of path motion to the kinematic model. More... | |
void | PathUnitsSet (LinearUnits units)=0 |
Defines the units Cartesian Path Motion is in. More... | |
LinearUnits | PathUnitsGet () const =0 |
Gets the units of path motion. More... | |
void | PathProcessLoadedMoves ()=0 |
Processes our loaded moves. Used internally and to check whether loaded moves are valid, and must be called before both PathPlannedPointsGet and PathLoadedMovesExecutionTimeGet. | |
uint64_t | PathPlannedPointsGet (double *points, double *times, uint64_t startFrame, uint64_t frameCount)=0 |
Get points representing the planned motion in cartesian space that will happen when run is called. More... | |
double | PathLoadedMovesExecutionTimeGet ()=0 |
Get total (seconds) duration of the planned motion that will happen when run is called. More... | |
void | PathRun (bool blocking)=0 |
Run the loaded path lines/arcs. Default behavior is blocking. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | PathRun ()=0 |
bool | GcodeFileLoad (const char *const filePath)=0 |
Open a file at the specified file path. Calls GcodeStringLoad() with the contents of the file. More... | |
bool | GcodeStringLoad (const char *const text)=0 |
Interpret a string as contents of a G-Code file and prepare it for execution. More... | |
const char *const | GcodeProgramGet ()=0 |
Gets the raw file contents of the last loaded program. More... | |
void | GcodeFeedRateSet (double feedRate)=0 |
Sets the target feed rate for the machine (units/minute). Same as the "F" Command in a G-Code file. More... | |
double | GcodeFeedrateGet ()=0 |
Gets the target feed rate for the machine (GcodeUnitsGet()/minute). More... | |
void | GcodeAccelerationSet (double acceleration)=0 |
Sets the target acceleration for the machine (units/minute^2). Should be set apprpriately based on your hardware. More... | |
double | GcodeAccelerationGet ()=0 |
Gets the target acceleration for the machine (GcodeUnitsGet()/minute^2). More... | |
void | GcodeRun (bool blocking)=0 |
Run the last loaded item. Optional argument to prevent blocking. Check GcodeIsRunning(); to see if execution is done. More... | |
void | GcodeRun ()=0 |
Run the last loaded G-Code lines. Default behavior is blocking. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
int32_t | GcodeExecutingLineNumberGet ()=0 |
Returns the line number of the currently executing G-Code line or -1 if there is none. More... | |
void | GcodeUnitsSet (LinearUnits units)=0 |
Set the currently active unit (same as calling G20/G21) More... | |
LinearUnits | GcodeUnitsGet ()=0 |
Get the currently active unit as set by G20/G21. More... | |
void | GcodeProgrammingModeSet (PathMode mode)=0 |
Sets the programming mode (Relative/Absolute). More... | |
PathMode | GcodeProgrammingModeGet ()=0 |
Gets the G-Code programming mode (Relative/Absolute). More... | |
int32_t | GcodeErrorLineNumberGet ()=0 |
Gets the line number of any errors in the G-Code syntax. More... | |
int32_t | GcodeNumberOfLinesGet ()=0 |
Returns the total line number count in the last loaded item. More... | |
void | GcodeReload ()=0 |
Reloads the all lines from the last call to GcodeStringLoad(). Automatically called by GcodeStringLoad(). This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | GcodeReload (int32_t startLine, int32_t endLine)=0 |
Reloads the lines from the last call to GcodeStringLoad() but only between start and end line numbers. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | GcodeReload (int32_t startLine)=0 |
Reloads the lines from the last call to GcodeStringLoad() but only between start line and end of file. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
const char *const | GcodeLineTextGet (uint32_t lineNumber)=0 |
Gives you the text of a specific line from the last loaded program excluding all comments and with only once space between chunks. More... | |
void | GcodePlaneSet (Plane plane)=0 |
Set the plane for arcs (same as calling G17/G18/G19) More... | |
void | GcodeWorkOffsetConfigure (GCodeWorkOffset offset, Vector3d offsetValues)=0 |
Save an XYZ offset to be used with specified G-Code work offset. More... | |
void | GcodeWorkOffsetSelect (GCodeWorkOffset offset)=0 |
Apply the offset saved under the specified location. More... | |
GCodeWorkOffset | GcodeWorkOffsetGet ()=0 |
Gets the enum representing the location where the current offset is saved. More... | |
Vector3d | GcodeWorkOffsetValuesGet ()=0 |
Gets the actual values of the currently applied offset. More... | |
const char *const | VersionGet () |
Get the RSI RapidCode version. More... | |
int32_t | MpiVersionMajor () |
Get the major MPI version. | |
int32_t | MpiVersionMinor () |
Get the minor MPI version. | |
int32_t | MpiVersionRelease () |
Get the release MPI version. | |
int32_t | RSIVersionMajor () |
Get the major RSI version. | |
int32_t | RSIVersionMinor () |
Get the minor RSI version. | |
int32_t | RSIVersionMicro () |
Get the micro RSI version. | |
int32_t | RSIVersionPatch () |
Get the patch RSI version. | |
int32_t | NumberGet () |
Get the zero-based index of this object. More... | |
int32_t | ErrorLogCountGet () |
Get the number of software errors in the error log. More... | |
const RsiError *const | ErrorLogGet () |
Get the next RsiError in the log. More... | |
void | ErrorLogClear () |
Clear the error log. More... | |
void | ThrowExceptions (bool state) |
Configure a class to throw exceptions. More... | |
const char *const | RsiErrorMessageGet (RSIErrorMessage msg) |
Get the RSI-specific error message text for a specific RSIErrorMessage. | |
const char *const | ErrorMessageGet (RSIErrorMessage msg) |
Get the detailed text message for an RSIErrorMessage. | |
bool | WarningMsgCheck (RSIErrorMessage msg) |
Check to see if an RSIErrorMessage is a warning (true) or not (false). | |
void | Trace (bool state) |
Enables/Disables trace output. More... | |
void | TraceMaskOnSet (RSITrace maskOn) |
Turn on a particular trace output mask. More... | |
bool | TraceMaskOnGet (RSITrace maskOn) |
Check to see if a particular trace output mask is turned on. More... | |
void | TraceMaskOffSet (RSITrace maskOff) |
Turn off a particular trace output mask. More... | |
void | TraceMaskClear () |
Clear the trace output mask. More... | |
void | TraceFileSet (const char *const fileName) |
Channels Tracing messages to specified file. More... | |
void | TraceFileClose () |
Stops Logging to the file. More... | |
void | TraceInjectMessage (RSITrace traceLevel, const char *const message) |
Add a message to the Trace Log. More... | |
Static Attributes | |
static constexpr uint64_t | TimeoutForever = 0xFFFFFFFFFFFFFFFF |
Use this 64-bit value to wait forever in methods which accept a timeout_ms parameter. | |
Definition at line 495 of file cartesianrobot.h.