set_robot_system (Manual Mode)

This section explains how to use set_robot_system during Manual (Teach) operations. This function configures the operating system type of the controller — whether to control a real robot, a virtual simulation, or an emulator environment. It is typically used when switching between simulation and real hardware during teaching, testing, or debugging.

Typical usage

  • Switch from virtual (simulation) to real robot control before live motion testing.

  • Configure the controller to emulator mode for offline DRL program validation.

  • Automatically change system type when deploying a teaching procedure from PC to actual hardware.

  • Verify system consistency before issuing move or I/O commands.

Note

  • Some system changes may require a controller reboot or reinitialization to take effect.

  • It is recommended to ensure servo power is OFF before switching between real and virtual modes.

Example: Switch to real robot system before starting teaching

// Preconditions:
// - Connection established (open_connection)
// - No motion currently in progress

printf("[System] Setting robot system to REAL hardware...\n");
if (drfl.set_robot_system(ROBOT_SYSTEM_REAL))
    printf("[System] Robot system set to REAL.\n");
else
    printf("[System] Failed to change robot system.\n");

// Verify configuration
ROBOT_SYSTEM sysType = drfl.get_robot_system();
printf("[System] Current system type: %d\n", sysType);

// Continue with manual teaching sequence
float qTarget[6] = {0, -30, 90, 0, 90, 0};
drfl.movej(qTarget, 30, 30);

Tips

  • Always verify system mode before starting motion to avoid commanding a virtual robot unintentionally.

  • Use get_robot_system to confirm the current system state after change.

  • When switching between environments, ensure all safety configurations match the target hardware.

  • For DRL program debugging, emulator mode is ideal for safe verification before real execution.