You're reading the documentation for an older, but still supported version (GL013300).
For information on the latest version, please have a look at GL013301.

move_resume (Manual Mode)

This section describes how to use move_resume during Manual (Teach) operations. While the function is defined in 3.1 Common, it is mainly used to continue a paused motion after move_pause has been called.

Typical usage

  • Resume a temporarily paused motion at the same velocity and trajectory.

  • Commonly used after workspace inspection, tool alignment, or safety verification.

  • Works in combination with mwait to ensure complete motion recovery.

Note

  • The robot must have been paused using move_pause before calling this function.

  • If the motion was stopped with stop, it cannot be resumed — a new motion command must be issued instead.

Example: Pause, Inspect, and Resume

#include "DRFLEx.h"
#include <thread>
#include <chrono>
using namespace DRAFramework;

int main() {
    CDRFLEx drfl;
    // Assume connection, Manual mode, and servo ON are set.

    // Start motion toward a workpiece
    float pos[6] = {500.0f, 150.0f, 400.0f, 180.0f, 0.0f, 90.0f};
    drfl.movel(pos, 50, 50);

    // Pause for visual inspection
    std::this_thread::sleep_for(std::chrono::milliseconds(800));
    drfl.move_pause();
    printf("Motion paused for inspection.\n");

    // Resume after confirmation
    std::this_thread::sleep_for(std::chrono::milliseconds(1200));
    drfl.move_resume();

    // Wait until motion completes
    drfl.mwait();

    return 0;
}

Tips

  • Use move_resume() immediately after inspection or alignment to continue the exact paused trajectory.

  • If the pause duration is long, recheck the robot state using get_robot_state before resuming to ensure communication and servo status are stable.

  • For emergency interruptions, use stop instead of pause/resume.