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.

stop (Auto Mode)

This section explains how to use stop during Auto (Run) operations to halt the currently active robot motion.

The stopping behavior depends on the selected STOP_TYPE (e.g., quick, slow, hold). Unlike an emergency stop, this function affects only the current motion segment, not the entire robot system.

Typical usage

  • Interrupt an ongoing motion when a sensor condition is triggered.

  • Perform a smooth (slow) stop for safe task transitions.

  • Execute a quick stop for urgent motion cancellation.

  • Use in adaptive automation where motion may need to be cancelled mid-trajectory.

Note

  • STOP_TYPE_QUICK → Fast deceleration, immediate halt

  • STOP_TYPE_SLOW → Smooth deceleration, minimal jerk

  • STOP_TYPE_HOLD → Stop and maintain current position

  • Only affects the current motion; does not cancel or stop the DRL program itself

Example: Interrupting Motion With a Slow Stop

#include "DRFLEx.h"
using namespace DRAFramework;

int main() {
    CDRFLEx drfl;

    // 1) Start an asynchronous linear motion
    float target[6] = {784, 543, 970, 0, 180, 0};
    drfl.amovel(target, 100, 200);
    printf("Motion started.\n");

    // 2) Wait 2 seconds before stopping the motion
    Sleep(2000);

    // 3) Perform a slow stop for smooth deceleration
    if (!drfl.stop(STOP_TYPE_SLOW)) {
        printf("Failed to stop motion.\n");
        return -1;
    }

    printf("Motion stopped with slow deceleration.\n");
    return 0;
}

In this example, the robot begins moving asynchronously to a target pose. After a delay, the program issues a slow stop command to smoothly halt the motion without abruptly cancelling the DV trajectory.

Tips

  • Use Quick Stop for fast interruption when timing is critical.

  • Use Slow Stop during normal automation flows to keep movement smooth.

  • Use Hold Stop when precise endpoint stability is required.

  • Combine with check_motion for intelligent stop timing.

  • Helpful for safety-aware automation where real-time conditions require mid-motion intervention.