get_robot_state (Manual Mode)
This section explains how to use get_robot_state during Manual (Teach) operations. While defined in 3.1 Common, this function is essential to monitor the real-time operational state of the robot before or during teaching.
Typical usage
Confirm if the robot is currently moving, stopped, paused, or in error state.
Used in conjunction with mwait to ensure safe sequencing.
Display current robot status on pendant or GUI during manual operation.
Note
Common states include:
- STATE_STANDBY : Idle, ready to move.
- STATE_MOVING : Motion active.
- STATE_PAUSED : Motion paused by operator.
- STATE_EMERGENCY_STOP : Emergency stop engaged.
Example: Check Robot State before Next Command
#include "DRFLEx.h"
#include <thread>
using namespace DRAFramework;
int main() {
CDRFLEx drfl;
// Start a short jog
drfl.jog(JOG_AXIS_TASK_Z, MOVE_REFERENCE_BASE, -10.0f);
std::this_thread::sleep_for(std::chrono::milliseconds(400));
drfl.stop(STOP_TYPE_SLOW);
// Poll robot state until stopped
ROBOT_STATE state;
do {
state = drfl.get_robot_state();
std::this_thread::sleep_for(std::chrono::milliseconds(100));
} while (state == STATE_MOVING);
printf("Robot motion stopped. Safe for next command.\n");
return 0;
}
Tips
Regularly query
get_robot_state()during manual teaching to monitor motion progress.Use it to implement “wait until stop” logic or automatic UI updates.
Combine with get_robot_mode to distinguish Manual vs. Auto operation.