move_pause
This function temporarily suspends the currently active robot motion in the robot controller. If there is no active motion, the function call is ignored.
Definition
DRFLEx.h within class CDRFLEx, public section (line 764)
bool move_pause() { return _move_pause(_rbtCtrl); };
Parameter
None
Return
Value |
Description |
|---|---|
0 |
Error occurred while attempting to pause motion. |
1 |
Successfully paused the current motion. |
Example
#include "DRFLEx.h"
#include <thread>
#include <chrono>
using namespace DRAFramework;
int main() {
CDRFLEx Drfl;
// Define target joint position
float j1[NUM_JOINT] = {0, 0, 90, 0, 0, 90};
// Start asynchronous joint motion
Drfl.movej(j1, 20, 40);
while (true) {
// Get current joint position
LPPOSE pPose = Drfl.get_current_posx();
// Pause motion if the 3rd joint exceeds 45 degrees
if (pPose->_fTargetPos[2] >= 45) {
Drfl.move_pause(); // Temporarily suspend motion
std::this_thread::sleep_for(std::chrono::seconds(5)); // Wait for 5 seconds
break;
}
}
// Resume motion
Drfl.move_resume();
return 0;
}
This example demonstrates how to temporarily pause a robot’s motion.
When the robot’s 3rd joint reaches 45°, the motion is suspended for 5 seconds using move_pause(),
and then resumed using move_resume().