Doosan Robotics API Manual Logo
  • 1. Introduction
    • 1.1 Overview
      • 1.1.1 Copyright
      • 1.1.2 History of Document Creation/Revision
    • 1.2 Architecture & Library Structure
      • 1.2.1 API Layer Architecture
        • DRFC.h
        • DRFS.h
        • DRFL.h
        • DRFLEx.h
      • 1.2.2 Composition of Library
      • 1.2.3 Linking Library
        • Linux Library
        • Windows Library
      • 1.2.4 Using Header File
    • 1.3 Environment Setup
      • 1.3.1 System Requirements
        • Windows
        • Linux
      • 1.3.2 DRCF Version Compatibility
      • 1.3.3 Windows Environment (64-bit)
        • A. Install Required dependencies
        • B. Clone the DRFL repository
        • C. Open the provided Visual Studio solution
        • D. Modify solution code for your development environment
        • E. Setup Docker
      • 1.3.4 Linux (Ubuntu) Environment (64-bit)
        • A. Create a workspace
        • B. Clone the DRFL repository
        • C. Install required dependencies
        • D. Launch Simulator (Virtual Mode)
        • E. Build the project
        • F. Manual build (alternative)
    • 1.4 Realtime External Control
      • 1.4.1 Version
  • 2. Definitions
    • 2.1 Constant Type
      • 2.1.1 Boolean & Debug Constants
      • 2.1.2 Robot Configuration Constants
      • 2.1.3 String Size Constants
      • 2.1.4 I/O Configuration Constants
      • 2.1.5 I/O Configuration Constants (Version 3)
      • 2.1.6 Motion / Configuration Size Limits
      • 2.1.7 Modbus Configuration Constants
      • 2.1.8 Flange & Hardware Utility Macros
    • 2.2 Enumeration Type
      • 2.2.1 System Session
        • ROBOT_STATE
        • ROBOT_CONTROL
        • MONITORING_SPEED
        • SPEED_MODE
        • ROBOT_SYSTEM
        • UPDATE_TARGET
        • RELEASE_MODE
        • ROBOT_MODE
        • SERVO_MODE
      • 2.2.2 Access & Authority
        • MANAGE_ACCESS_CONTROL
        • MONITORING_ACCESS_CONTROL
      • 2.2.3 Program & DRL
        • DRL_PROGRAM_STATE
        • PROGRAM_STOP_CAUSE
        • SUB_PROGRAM
        • VARIABLE_TYPE
        • DATA_TYPE
      • 2.2.4 Motion Basics(Spaces & Axes)
        • ROBOT_SPACE
        • ROBOT_AXIS
        • JOG_AXIS
        • JOINT_AXIS
        • TASK_AXIS
        • COORDINATE_SYSTEM
        • MOVE_REFERENCE
      • 2.2.5 Move Execution Modes/Options
        • MOVE_MODE
        • MOVE_ORIENTATION
        • SPIRAL_DIR
        • ROT_DIR
        • PATH_MODE
        • MOVE_HOME
        • SINGULARITY_AVOIDANCE
        • BLENDING_SPEED_TYPE
        • DR_SERVOJ_TYPE
        • SPLINE_VELOCITY_OPTION
        • MOVEB_BLENDING_TYPE
        • STOP_TYPE
        • DR_MV_APP
        • CONTROL_MODE
      • 2.2.6 Tools/TCP/Payload
        • COG_REFERENCE
        • ADD_UP
      • 2.2.7 Force & Compliance
        • FORCE_AXIS
        • FORCE_MODE
      • 2.2.8 I/O & Modbus & Communication
        • GPIO_CTRLBOX_DIGITAL_INDEX
        • GPIO_CTRLBOX_ANALOG_INDEX
        • GPIO_TOOL_DIGITAL_INDEX
        • GPIO_TOOL_ANALOG_INDEX
        • GPIO_ANALOG_TYPE
        • OUTPUT_TYPE
        • BYTE_SIZE
        • STOP_BITS
        • PARITY_CHECK
        • ENCORDER_POLARITY
        • MODBUS_REGISTER_TYPE
      • 2.2.9 Safety
        • SAFE_STOP_RESET_TYPE
        • SAFETY_MODE
        • SAFETY_STATE
        • SAFETY_FUNC
        • SAFETY_MODE_EVENT
      • 2.2.10 Log & Message
        • MESSAGE_LEVEL
        • POPUP_RESPONSE
        • LOG_LEVEL
        • LOG_GROUP
    • 2.3 Structure
      • 2.3.1 System / Package / License
        • SYSTEM_VERSION
        • SYSTEM_VERSION_EX
        • SYSTEM_TIME
        • SYSTEM_IPADDRESS
        • SYSTEM_POWER
        • SYSTEM_CPUUSAGE
        • SYSTEM_DISKSIZE
        • FLANGE_VERSION
        • SYSTEM_UPDATE_RESPONSE
        • PACKAGE_LOCAL_UPDATE
        • PACKAGE_NETWORK_UPDATE
        • PACKAGE_UNZIP_COMMAND
        • PACKAGE_UNZIP_RESPONSE
        • PACKAGE_RESTORE
        • PACKAGE_RESTORE_LIST
        • SVM_NETWORK_UPDATE
        • LICENSE_TEXT_PARAM
      • 2.3.2 Monitoring & Status
        • ROBOT_MONITORING_JOINT
        • ROBOT_MONITORING_TASK
        • ROBOT_MONITORING_WORLD
        • ROBOT_MONITORING_USER
        • ROBOT_MONITORING_TORQUE
        • ROBOT_MONITORING_STATE
        • ROBOT_MONITORING_DATA
        • ROBOT_MONITORING_DATA_EX
        • MONITORING_MISC
        • MONITORING_DATA
        • MONITORING_FORCECONTROL
        • ROBOT_MONITORING_SENSOR
        • ROBOT_MONITORING_AMODEL
        • MONITORING_FLANGE_IO_CONFIG
        • MONITORING_DATA_EX
        • MONITORING_COCKPIT
        • MONITORING_MODBUS
        • READ_CTRLIO_INPUT
        • READ_CTRLIO_OUTPUT
        • READ_ENCODER_INPUT
        • READ_PROCESS_INPUT
        • READ_CTRLIO_INPUT_EX
        • READ_CTRLIO_INPUT_EX2
        • READ_CTRLIO_OUTPUT_EX
        • READ_CTRLIO_OUTPUT_EX2
        • MONITORING_CTRLIO
        • MONITORING_CTRLIO_EX
        • MONITORING_CTRLIO_EX2
      • 2.3.3 Operation & Feedback (Program / Message / Logs)
        • PROGRAM_SYNTAX_CHECK
        • PROGRAM_EXECUTION_EX
        • PROGRAM_WATCH_VARIABLE
        • PROGRAM_ERROR
        • MESSAGE_PROGRESS
        • MESSAGE_POPUP
        • MESSAGE_INPUT
        • REPORT_TCP_CLIENT
        • LOG_ALARM
        • ROBOT_LED_CONFIG
      • 2.3.4 Coordinates / Tools / TCP / Payload
        • USER_COORDINATE
        • CONFIG_USER_COORDINATE_EX
        • CONFIG_USER_COORDINATE_EX2
        • CONFIG_WORLD_COORDINATE
        • CONFIG_WORLD_COORDINATE_EX
        • USER_COORDINATE_MATRIX_RESPONSE
        • CONFIG_TOOL
        • CONFIG_TOOL_SYMBOL
        • CONFIG_TOOL_LIST
        • CONFIG_TOOL_SHAPE
        • CONFIG_TOOL_SHAPE_SYMBOL
        • CONFIG_TOOL_SHAPE_LIST
        • CONFIG_TCP
        • CONFIG_TCP_SYMBOL
        • CONFIG_TCP_LIST
        • CONFIG_TCP_SYMBOL_EX
        • CONFIG_TCP_LIST_EX
        • CONFIG_PAYLOAD_EX
      • 2.3.5 Kinematics & Robot Model (Pose / Wrenches / Positions / Link Info)
        • ROBOT_POSE
        • ROBOT_TASK_POSE
        • ROBOT_VEL
        • ROBOT_FORCE
        • INVERSE_KINEMATIC_RESPONSE
        • POSITION
        • POSITION_EX
        • POSITION_ADDTO
        • VECTOR3D
        • NORMAL_VECTOR
        • POINT_2D
        • POINT_3D
        • LINE
        • JTS_PARAM_DATA
        • FTS_PARAM_DATA
        • COUNTER_BALANCE_PARAM_DATA
        • CALIBRATION_PARAM_DATA
        • GRAVITY_PARAM_DATA
        • ROBOT_LINK_INFO
      • 2.3.6 Motion Primitives
        • MOVE_POSB
        • MOVE_MOVESINE
        • MOVE_MOVELISSAJOUS
      • 2.3.7 Measurement & Calibration
        • MEASURE_TOOL_RESPONSE
        • MEASURE_TCP
        • MEASURE_TCP_RESPONSE
        • MEASURE_TCP_WELDING
        • MEASURE_FRICTION
        • MEASURE_FRICTION_RESPONSE
        • MEASURE_CONVEYOR_COORD
        • MEASURE_CONVEYOR_COORD_RESPONSE
        • MEASURE_CONVEYOR_DISTANCE_RESPONSE
      • 2.3.8 Encoders / IO & Burst
        • CONFIG_ENCODER_POLARITY
        • CONFIG_ENCODER_MODE
        • GPIO_PORT
        • WRITE_SERIAL_BURST
      • 2.3.9 Industrial Communication (Modbus / Ethernet / Serial)
        • MODBUS_DATA
        • MODBUS_DATA_LIST
        • MODBUS_REGISTER_MONITORING
        • MODBUS_REGISTER
        • MODBUS_MULTI_REGISTER
        • UPDATE_MODBUS_MULTI_REGISTER
        • WRITE_MODBUS_DATA
        • WRITE_MODBUS_MULTI_DATA
        • WRITE_MODBUS_RTU_DATA
        • WRITE_MODBUS_BURST
        • MONITORING_MBUS_SLAVE_COIL
        • MONITORING_MBUS_SLAVE_HOILDING_REGISTER
        • CONFIG_INDUSTRIAL_ETHERNET
        • SETUP_OPERARION_INDUSTRIAL_ETHERNET
        • MONITORING_IE_GPR
        • MONITORING_IE_SLAVE
        • READ_IETHERNET_SLAVE_DATA
        • IETHERNET_SLAVE_DATA_EX
        • IETHERNET_SLAVE_RESPONSE_DATA_EX
        • FLANGE_SERIAL_DATA
        • FLANGE_SER_RXD_INFO
        • FLANGE_SER_RXD_INFO_EX
        • READ_FLANGE_SERIAL
        • READ_FLANGE_SERIAL_EX
        • SERIAL_PORT_NAME
        • SERIAL_SEARCH
      • 2.3.10 Industrial Applications (Conveyor / Welding / Machine Tending)
        • CONVEYOR_BASIC
        • CONFIG_CONVEYOR
        • CONVEYOR_COORD_EX
        • CONVEYOR_DISTANCE
        • MONITOR_CONVEYOR
        • CONVEYOR_OBJECT
        • CONVEYOR_TRACK
        • WELDING_CHANNEL
        • CONFIG_WELDING_INTERFACE
        • CONFIG_WELD_SETTING
        • ADJUST_WELDING_SETTING
        • CONFIG_TRAPEZOID_WEAVING_SETTING
        • CONFIG_ZIGZAG_WEAVING_SETTING
        • CONFIG_CIRCULE_WEAVING_SETTING
        • CONFIG_SINE_WEAVING_SETTING
        • CONFIG_WELDING_DETAIL_INFO
        • CONFIG_ANALOG_WELDING_INTERFACE
        • CONFIG_ANALOG_WELDING_SETTING
        • ANALOG_WELDING_ADJUST_SETTING
        • CONFIG_DIGITAL_WELDING_IF_MAPPING_DATA
        • CONFIG_DIGITAL_WELDING_INTERFACE_PROCESS
        • CONFIG_DIGITAL_WELDING_INTERFACE_MODE
        • CONFIG_DIGITAL_WELDING_INTERFACE_TEST
        • CONFIG_DIGITAL_WELDING_INTERFACE_CONDITION
        • CONFIG_DIGITAL_WELDING_INTERFACE_OPTION
        • CONFIG_DIGITAL_WELDING_INTERFACE_PROCESS2
        • CONFIG_DIGITAL_WELDING_INTERFACE_MONITORING
        • CONFIG_DIGITAL_WELDING_INTERFACE_OTHER
        • DIGITAL_WELDING_RESET
        • CONFIG_DIGITAL_WELDING_MODE
        • CONFIG_DIGITAL_WELDING_CONDITION
        • CONFIG_DIGITAL_WELDING_ADJUST
        • TACK_WELDING_SETTING
        • WEAVING_OFFSET
        • CONFIG_WEAVING_SETTING
        • ROBOT_WELDING_DATA
        • ROBOT_ALALOG_WELDING_DATA
        • ROBOT_DIGITAL_WELDING_DATA
        • DIGITAL_WELDING_COMM_STATE
        • MACHINE_TENDING_FOCAS_ERR_STRING
        • MACHINE_TENDING_FOCAS_CONNECT
        • MACHINE_TENDING_FOCAS_DISCONNECT
        • MACHINE_TENDING_FOCAS_PMC_DATA
        • MACHINE_TENDING_FOCAS_PMC
        • MACHINE_TENDING_FOCAS_CNC_PARAM
        • MACHINE_TENDING_RESPONSE_FOCAS_CNC_PARAM
        • MACHINE_TENDING_RESPONSE_FOCAS_PROGRAM_NUMBER
        • FOCAS_IS_ALIVE_RESPONSE
      • 2.3.11 Safety Configuration & Objects
        • JOINT_RANGE
        • CONFIG_JOINT_RANGE
        • GENERAL_RANGE
        • CONFIG_GENERAL_RANGE
        • CONFIG_INSTALL_POSE
        • CONFIG_SAFETY_FUNCTION
        • CONFIG_SAFETY_IO
        • CONFIG_SAFETY_IO_EX
        • CONFIG_SAFETY_IO_OP
        • SAFETY_CONFIGURATION_EX
        • SAFETY_CONFIGURATION_EX2
        • SAFETY_CONFIGURATION_EX2_V3
        • CONFIG_SAFETY_PARAM_ENABLE
        • SAFETY_OBJECT_SPHERE
        • SAFETY_OBJECT_CAPSULE
        • SAFETY_OBJECT_CUBE
        • SAFETY_OBJECT_OBB
        • SAFETY_OBJECT_POLYPRISM
        • SAFETY_OBJECT_DATA
        • SAFETY_OBJECT
      • 2.3.12 Safety Local Rules & Zones
        • LOCAL_ZONE_PROPERTY_JOINT_RANGE
        • LOCAL_ZONE_PROPERTY_JOINT_SPEED
        • LOCAL_ZONE_PROPERTY_TCP_FORCE
        • LOCAL_ZONE_PROPERTY_TCP_POWER
        • LOCAL_ZONE_PROPERTY_TCP_SPEED
        • LOCAL_ZONE_PROPERTY_TCP_MOMENTUM
        • LOCAL_ZONE_PROPERTY_COLLISION
        • LOCAL_ZONE_PROPERTY_SPEED_RATE
        • LOCAL_ZONE_PROPERTY_SPEED_REDUCTION
        • LOCAL_ZONE_PROPERTY_COLLISION_STOPMODE
        • LOCAL_ZONE_PROPERTY_TCPSLF_STOPMODE
        • LOCAL_ZONE_PROPERTY_TOOL_ORIENTATION
        • VIRTUAL_FENCE_OBJECT
        • CONFIG_VIRTUAL_FENCE
        • VIRTUAL_FENCE_RESPONSE
        • SAFETY_ZONE_SHAPE_SPHERE
        • SAFETY_ZONE_SHAPE_CYLINDER
        • SAFETY_ZONE_SHAPE_CUBOID
        • SAFETY_ZONE_SHAPE_TILTED_CUBOID
        • SAFETY_ZONE_SHAPE_MULTI_PLANE
        • SAFETY_ZONE_SHAPE_CAPSULE
        • SAFETY_ZONE_SHAPE_DATA
        • SAFETY_ZONE_SHAPE
        • SAFETY_ZONE_PROPERTY_SPACE_LIMIT
        • SAFETY_ZONE_PROPERTY_LOCAL_ZONE
        • SAFETY_ZONE_PROPERTY_DATA
        • CONFIG_PROTECTED_ZONE
        • CONFIG_COLLISION_MUTE_ZONE
        • CONFIG_COLLISION_MUTE_ZONE_PROPERTY
        • SAFETY_TOOL_ORIENTATION_LIMIT
        • CONFIG_TOOL_ORIENTATION_LIMIT_ZONE
        • ENABLE_SAFE_ZONE
        • CONFIG_ADD_SAFETY_ZONE
        • CONFIG_DELETE_SAFETY_ZONE
      • 2.3.13 Access & Remote Control
        • CONFIG_COCKPIT_EX
        • CONFIG_IDLE_OFF
        • CONFIG_NUDGE
        • CONFIG_CONFIGURABLE_IO
        • CONFIG_CONFIGURABLE_IO_EX
        • CONFIG_IO_FUNC
        • CONFIG_REMOTE_CONTROL
      • 2.3.14 Real-time Streams
        • RT_INPUT_DATA_LIST
        • RT_OUTPUT_DATA_LIST
    • 2.4 Callback Function
      • 2.4.1 Core State & Lifecycle
        • TOnMonitoringStateCB
        • TOnProgramStoppedCB
        • TOnHommingCompletedCB
        • TOnTpInitializingCompletedCB
        • TOnMasteringNeedCB
        • TOnDisconnectedCB
        • TOnMonitoringSpeedModeCB
      • 2.4.2 Monitoring Streams
        • TOnMonitoringDataCB
        • TOnMonitoringDataExCB
      • 2.4.3 I/O, Modbus & Communication
        • TOnMonitoringCtrlIOCB
        • TOnMonitoringCtrlIOExCB
        • TOnMonitoringCtrlIOEx2CB
        • TOnMonitoringModbusCB
      • 2.4.4 Safety System & Access Control
        • TOnMonitoringSafetyStateCB
        • TOnMonitoringSafetyStopTypeCB
        • TOnMonitoringRobotSystemCB
        • TOnMonitoringAccessControlCB
      • 2.4.5 Teach Pendant UI & Message
        • TOnTpPopupCB
        • TOnTpLogCB
        • TOnTpGetUserInputCB
        • TOnTpProgressCB
        • TOnLogAlarmCB
      • 2.4.6 Real-Time Stream
        • TOnRTMonitoringDataCB
      • 2.4.7 Welding Data
        • TOnMonitoringWeldingDataCB
        • TOnMonitoringAnalogWeldingDataCB
        • TOnMonitoringDigitalWeldingDataCB
  • 3. Mode
    • 3.1 Common
      • 3.1.1 Connection
        • open_connection
        • close_connection
      • 3.1.2 Mode/State
        • get_system_version
        • get_library_version
        • get_robot_mode
        • set_robot_mode
        • get_robot_state
        • set_robot_control
        • get_control_mode
        • get_robot_system
        • set_robot_system
        • get_robot_speed_mode
        • set_robot_speed_mode
        • manage_access_control
        • system_shut_down
      • 3.1.3 Monitoring/Callbacks
        • set_on_monitoring_state
        • set_on_monitoring_data
        • set_on_monitoring_data_ex
        • set_on_monitoring_ctrl_io
        • set_on_monitoring_ctrl_io_ex
        • set_on_monitoring_modbus
        • set_on_monitoring_speed_mode
        • set_on_monitoring_access_control
        • set_on_monitoring_safety_state
        • set_on_monitoring_robot_system
        • set_on_monitoring_safety_stop_type
        • set_on_log_alarm
        • set_on_program_stopped
        • set_on_homming_completed
        • set_on_tp_initializing_completed
        • set_on_mastering_need
        • set_on_disconnected
        • set_on_tp_popup
        • set_on_tp_get_user_input
        • set_on_tp_progress
        • set_on_tp_log
        • setup_monitoring_version
      • 3.1.4 Program/DRL_Execution
        • get_program_state
        • drl_start
        • drl_stop
        • drl_pause
        • drl_resume
        • change_operation_speed
        • save_sub_program
      • 3.1.5 Motion execution
        • stop
        • move_pause
        • move_resume
        • mwait
        • move_home
        • enable_alter_motion
        • alter_motion
        • disable_alter_motion
        • check_motion
      • 3.1.6 Position
        • get_current_posx
        • get_desired_posx
        • get_current_posj
        • get_desired_posj
        • get_current_tool_flange_posx
        • get_current_pose
        • get_control_space
        • get_current_solution_space
        • get_current_rotm
      • 3.1.7 Kinematics/Math
        • trans
        • ikin
        • ikin (extension)
        • ikin (with iteration threshold)
        • ikin_norm
        • fkin (forward kinematics)
        • addto
        • get_orientation_error
        • get_solution_space
        • coord_transform
        • calc_coord
        • get_robot_link_info
        • set_singularity_handling
      • 3.1.8 Velocity
        • get_current_velx
        • get_current_velj
        • get_desired_velx
      • 3.1.9 Force/Compliance
        • task_compliance_ctrl
        • set_stiffnessx
        • set_desired_force
        • release_compliance_ctrl
        • release_force
        • check_force_condition
        • check_position_condition_abs
        • check_position_condition_rel
        • check_position_condition
        • check_orientation_condition_abs
        • check_orientation_condition_rel
        • is_done_bolt_tightening
        • get_joint_torque
        • get_external_torque
        • get_tool_force
      • 3.1.10 Tool
        • set_tool
        • get_tool
        • add_tool
        • del_tool
        • set_tool_shape
        • get_tool_shape
      • 3.1.11 Tcp
        • set_tcp
        • get_tcp
        • add_tcp
        • del_tcp
      • 3.1.12 Payload
        • set_workpiece_weight
        • get_workpiece_weight
        • reset_workpiece_weight
      • 3.1.13 Coordinate
        • set_user_cart_coord1
        • set_user_cart_coord2 (3-point method)
        • set_user_cart_coord3 (vector method)
        • get_user_cart_coord
        • overwrite_user_cart_coord
        • set_ref_coord
        • get_user_home
        • set_user_home
      • 3.1.14 I/O
        • set_digital_output
        • get_digital_output
        • get_digital_input
        • set_analog_output
        • get_analog_input
        • set_mode_analog_input
        • set_mode_analog_output
        • set_tool_digital_output
        • get_tool_digital_input
        • get_tool_digital_output
        • get_tool_analog_input
        • set_tool_digital_output_level
        • set_tool_digital_output_type
        • set_mode_tool_analog_input
      • 3.1.15 Modbus
        • add_modbus_signal
        • del_modbus_signal
        • set_modbus_output
        • get_modbus_input
        • query_modbus_data_list
      • 3.1.16 Serial(Flange)
        • flange_serial_open
        • flange_serial_close
        • flange_serial_write
        • flange_serial_read
      • 3.1.17 TP
        • tp_popup_response
        • tp_get_user_input_response
        • config_program_watch_variable
      • 3.1.18 Report alarm
        • get_last_alarm
      • 3.1.19 LED
        • state_led_reset
        • set_state_led_off
        • set_state_led_color
        • get_state_led_rule
      • 3.1.20 Safety(Configuration parameter)
        • change_collision_sensitivity
        • set_palletizing_mode
        • set_auto_safety_move_stop
        • release_protective_stop
        • get_safety_configuration_ex (DRCF v2)
        • get_safety_configuration_ex_v3 (DRCF v3)
      • 3.1.21 Safety(State/Mode)
        • set_safety_mode
        • set_safe_stop_reset_type
      • 3.1.22 Servo Power
        • servo_off
        • set_auto_servo_off
    • 3.2 Manual Mode
      • 3.2.1 Jogging & Motion Control
        • jog (Manual Mode)
        • multi_jog (Manual Mode)
        • stop (Manual Mode)
        • move_pause (Manual Mode)
        • move_resume (Manual Mode)
        • mwait (Manual Mode)
        • get_current_posx (Manual Mode)
        • get_current_posj (Manual Mode)
        • get_current_velx (Manual Mode)
        • get_current_velj (Manual Mode)
        • get_control_mode (Manual Mode)
        • get_robot_mode (Manual Mode)
        • get_robot_state (Manual Mode)
        • enable_alter_motion (Manual Mode)
        • alter_motion (Manual Mode)
        • disable_alter_motion (Manual Mode)
      • 3.2.2 Coordinate Teaching
        • set_user_cart_coord (1-point, Manual Mode)
        • set_user_cart_coord (3-point, Manual Mode)
        • set_user_cart_coord (2-vector, Manual Mode)
        • overwrite_user_cart_coord (Manual Mode)
        • get_user_cart_coord (Manual Mode)
        • set_ref_coord (Manual Mode)
        • coord_transform (Manual Mode)
        • calc_coord (Manual Mode)
        • set_user_home (Manual Mode)
        • get_user_home (Manual Mode)
        • get_current_tool_flange_posx (Manual Mode)
        • trans (Manual Mode)
        • fkin (Manual Mode)
        • ikin (Manual Mode)
        • get_orientation_error (Manual Mode)
        • set_singularity_handling (Manual Mode)
        • get_current_rotm (Manual Mode)
      • 3.2.3 I/O Communication & Feedback
        • set_tool_digital_output (Manual Mode)
        • get_tool_digital_input (Manual Mode)
        • get_tool_digital_output (Manual Mode)
        • get_tool_analog_input (Manual Mode)
        • set_mode_tool_analog_input (Manual Mode)
        • set_tool_digital_output_level (Manual Mode)
        • set_tool_digital_output_type (Manual Mode)
        • set_digital_output (Manual Mode)
        • set_digital_output_ex (Manual Mode)
        • get_digital_input (Manual Mode)
        • get_digital_input_ex (Manual Mode)
        • get_digital_output (Manual Mode)
        • get_digital_output_ex (Manual Mode)
        • set_analog_output (Manual Mode)
        • get_analog_input (Manual Mode)
        • get_analog_input_ex (Manual Mode)
        • set_mode_analog_input (Manual Mode)
        • set_mode_analog_output (Manual Mode)
        • add_modbus_signal (Manual Mode)
        • del_modbus_signal (Manual Mode)
        • get_modbus_input (Manual Mode)
        • set_modbus_output (Manual Mode)
        • query_modbus_data_list (Manual Mode)
        • flange_serial_open (Manual Mode)
        • flange_serial_close (Manual Mode)
        • flange_serial_write (Manual Mode)
        • flange_serial_read (Manual Mode)
        • set_on_monitoring_ctrl_io_ex (Manual Mode)
        • set_on_monitoring_ctrl_io_ex2 (Manual Mode)
        • set_on_monitoring_modbus (Manual Mode)
      • 3.2.4 Safety & Servo Operations
        • set_robot_mode (Manual Mode)
        • set_robot_system (Manual Mode)
        • set_robot_speed_mode (Manual Mode)
        • servo_off (Manual Mode)
        • set_auto_servo_off (Manual Mode)
        • set_auto_safety_move_stop (Manual Mode)
        • change_collision_sensitivity (Manual Mode)
        • set_safety_mode (Manual Mode)
        • set_safe_stop_reset_type (Manual Mode)
        • release_protective_stop (Manual Mode)
        • manage_access_control (Manual Mode)
        • get_robot_system (Manual Mode)
        • get_robot_speed_mode (Manual Mode)
        • get_last_alarm (Manual Mode)
        • get_safety_configuration_ex2 (Manual Mode)
        • get_safety_configuration_ex2_v3 (Manual Mode)
        • check_motion (Manual Mode)
        • set_on_monitoring_safety_state (Manual Mode)
        • set_on_monitoring_safety_stop_type (Manual Mode)
      • 3.2.5 Force Control & Compliance Tuning
        • task_compliance_ctrl (Manual Mode)
        • set_stiffnessx (Manual Mode)
        • set_desired_force (Manual Mode)
        • release_compliance_ctrl (Manual Mode)
        • release_force (Manual Mode)
        • check_force_condition (Manual Mode)
        • check_position_condition_abs (Manual Mode)
        • check_position_condition_rel (Manual Mode)
        • check_position_condition (Manual Mode)
        • check_orientation_condition_abs (Manual Mode)
        • check_orientation_condition_rel (Manual Mode)
        • is_done_bolt_tightening (Manual Mode)
        • get_tool_force (Manual Mode)
        • get_external_torque (Manual Mode)
        • get_joint_torque (Manual Mode)
      • 3.2.6 TP Interaction
        • set_on_tp_popup (Manual Mode)
        • set_on_tp_get_user_input (Manual Mode)
        • tp_popup_response (Manual Mode)
        • tp_get_user_input_response (Manual Mode)
        • set_state_led_color (Manual Mode)
        • state_led_reset (Manual Mode)
        • set_state_led_off (Manual Mode)
        • get_state_led_rule (Manual Mode)
      • 3.2.7 TP Logging & Lifecycle
        • set_on_tp_progress (Manual Mode)
        • set_on_tp_log (Manual Mode)
        • set_on_tp_initializing_completed (Manual Mode)
        • set_on_program_stopped (Manual Mode)
      • 3.2.8 Watch Variables
        • config_program_watch_variable (Manual Mode)
    • 3.3 Auto Mode
      • 3.3.1 DRL Program Control
        • drl_start (Auto Mode)
        • drl_stop (Auto Mode)
        • drl_pause (Auto Mode)
        • drl_resume (Auto Mode)
        • change_operation_speed (Auto Mode)
        • get_program_state (Auto Mode)
        • get_last_alarm (Auto Mode)
      • 3.3.2 Motion Primitives-Basic Trajectory
        • movej (Auto Mode)
        • movel (Auto Mode)
        • movec (Auto Mode)
        • moveb (Auto Mode)
        • amovej (Auto Mode)
        • amovel (Auto Mode)
        • amovec (Auto Mode)
        • amoveb (Auto Mode)
      • 3.3.3 Motion Primitives-Advanced/Blending/Special Trajectories
        • movejx (Auto Mode)
        • movesj (Auto Mode)
        • movesx (Auto Mode)
        • amovejx (Auto Mode)
        • amovesj (Auto Mode)
        • amovesx (Auto Mode)
        • move_spiral (Auto Mode)
        • amove_spiral (Auto Mode)
        • move_periodic (Auto Mode)
        • amove_periodic (Auto Mode)
      • 3.3.4 Motion Control Utilities
        • stop (Auto Mode)
        • move_pause (Auto Mode)
        • move_resume (Auto Mode)
        • mwait (Auto Mode)
        • check_motion (Auto Mode)
      • 3.3.5 Home & Recovery Operations
        • move_home (Auto Mode)
        • set_user_home (Auto Mode)
        • get_user_home (Auto Mode)
      • 3.3.6 Force & Compliance Control
        • task_compliance_ctrl (Auto Mode)
        • set_desired_force (Auto Mode)
        • set_stiffnessx (Auto Mode)
        • release_force (Auto Mode)
        • release_compliance_ctrl (Auto Mode)
        • check_force_condition (Auto Mode)
        • check_position_condition (Auto Mode)
        • check_position_condition_abs (Auto Mode)
        • check_position_condition_rel (Auto Mode)
        • check_orientation_condition_abs (Auto Mode)
        • check_orientation_condition_rel (Auto Mode)
        • is_done_bolt_tightening (Auto Mode)
      • 3.3.7 Velocity & Servo Following
        • speedj (Auto Mode)
        • speedl (Auto Mode)
        • servoj (Auto Mode)
        • servol (Auto Mode)
        • servoj_g (Auto Mode)
        • servol_g (Auto Mode)
        • movesj_g (Auto Mode)
        • movesx_g (Auto Mode)
      • 3.3.8 Tools / TCP / Payload
        • set_workpiece_weight (Auto Mode)
        • get_workpiece_weight (Auto Mode)
        • reset_workpiece_weight (Auto Mode)
        • set_tool (Auto Mode)
        • add_tool (Auto Mode)
        • del_tool (Auto Mode)
        • get_tool (Auto Mode)
        • set_tcp (Auto Mode)
        • add_tcp (Auto Mode)
        • del_tcp (Auto Mode)
        • get_tcp (Auto Mode)
        • set_tool_shape (Auto Mode)
        • get_tool_shape (Auto Mode)
      • 3.3.9 GPIO / Modbus / Flange Serial
        • set_digital_output (Auto Mode)
        • get_digital_input (Auto Mode)
        • set_analog_output (Auto Mode)
        • get_analog_input (Auto Mode)
        • set_modbus_output (Auto Mode)
        • get_modbus_input (Auto Mode)
        • add_modbus_signal (Auto Mode)
        • del_modbus_signal (Auto Mode)
        • flange_serial_open (Auto Mode)
        • flange_serial_close (Auto Mode)
        • flange_serial_write (Auto Mode)
        • flange_serial_read (Auto Mode)
    • 3.4 RT Stream
      • 3.4.1 Realtime Instance Create/Destroy
        • create_robot_control_udp
        • destroy_robot_control_udp
      • 3.4.2 Realtime Session Lifecycle
        • connect_rt_control
        • start_rt_control
        • stop_rt_control
        • disconnect_rt_control
      • 3.4.3 Realtime Stream Schema & Version Negotiation
        • get_rt_control_input_version_list
        • get_rt_control_output_version_list
        • get_rt_control_input_data_list
        • get_rt_control_output_data_list
        • set_rt_control_input
        • set_rt_control_output
      • 3.4.4 Realtime Data Stream I/O
        • read_data_rt
        • write_data_rt
      • 3.4.5 Realtime Command (High-Frequency Control)
        • set_velj_rt
        • set_accj_rt
        • set_velx_rt
        • set_accx_rt
        • speedj_rt
        • speedl_rt
        • servoj_rt
        • servol_rt
        • torque_rt
      • 3.4.6 Realtime Diagnostics & Callbacks
        • set_on_rt_monitoring_data
        • set_on_rt_log_alarm
  • 4. Applications Extensions
    • 4.1 Welding Application
      • 4.1.1 Weave Path Configuration
        • app_weld_weave_cond_trapezoidal
        • app_weld_weave_cond_zigzag
        • app_weld_weave_cond_circular
        • app_weld_weave_cond_sinusoidal
      • 4.1.2 Analog Welding Interface Path
        • app_weld_enable_analog
        • app_weld_set_weld_cond_analog
        • app_weld_adj_welding_cond_analog
      • 4.1.3 Digital/Ethernet-ip Interface
        • app_weld_set_interface_eip_r2m_process
        • app_weld_set_interface_eip_r2m_mode
        • app_weld_set_interface_eip_r2m_test
        • app_weld_set_interface_eip_r2m_condition
        • app_weld_set_interface_eip_r2m_option
        • app_weld_set_interface_eip_m2r_process2
        • app_weld_set_interface_eip_m2r_monitoring
        • app_weld_set_interface_eip_m2r_other
        • app_weld_enable_digital
        • app_weld_disable_digital
        • app_weld_set_weld_cond_digital
        • app_weld_adj_welding_cond_digital
        • app_weld_reset_interface
      • 4.1.4 Monitoring & Signal Control
        • set_on_monitoring_welding_data
        • set_on_monitoring_analog_welding_data
        • set_on_monitoring_digital_welding_data
        • set_digital_welding_signal_output
        • set_digital_welding_monitoring_mode
      • 4.1.5 Calibration & Measurement
        • measure_welding_tcp
        • set_welding_cockpit_setting
        • set_welding_cockpit_setting_time_setting
      • 4.1.6 Motion Assistance
        • app_weld_adj_motion_offset
  • 5. Programming Instructions
    • 5.1 Robot Connection/Release
    • 5.2 Robot Initialization
    • 5.3 Management of Control Right
    • 5.4 Robot Operation Mode
    • 5.5 Robot Operation State
    • 5.6 Robot state transition
    • 5.7 Program Execution and Shutdown
    • 5.8 Limits on Robot Safety Setting Function
  • 6. Tutorials
    • 6.1 Operation Modes
      • 6.1.1 Virtual Mode
      • 6.1.2 Real Mode
    • 6.2 Basic Tutorials
      • Connection & Callback Registration
      • Access Control & ServoOn
      • Jog & Home
      • MoveJ / MoveL (Sync / Async)
      • DRL Mini Loop (Start / Stop)
      • I/O Basics (Control Box DO)
    • 6.3 Advanced Tutorials
      • Unified Stop / Pause / Resume
      • Safety Stop & Recovery
      • Alarm & Access Loss Handling
      • Monitoring & Logging
      • Custom Trajectory Planning
      • Servo Off & Reconnection
    • 6.4 Application Tutorials
      • 6.4.1 Welding Tutorials
        • Analog Welding Control
        • Digital Welding Control (EtherNet/IP)
        • Weaving Patterns
        • Real-time Parameter Adjustment
        • Welding TCP Calibration
        • Monitoring & Signal Output
    • 6.5 RT Tutorials
      • RT Connection Setup
      • RT Output Configuration
      • Start / Stop RT Control
      • RT Data Monitoring
      • Speed / Torque Commands (Extension)
      • Unified Safety Handling
    • 6.6 Scenario-based Examples
      • 6.6.1 minimal_motion_sample.cpp
        • Setup & Connection
        • Access Control & State monitoring
        • Connection & Version Information
        • Access control & STANDBY
        • Robot Mode Confiuguration
        • Motion Execution
      • 6.6.2 minimal_rt_monitoring_sample.cpp
        • Overview & Global Configuration
        • Realtime Connection Setup
        • RT Monitoring Callback
        • RT Output
        • Start & Stop RT Monitoring
      • 6.6.3 send_drl_script_sample.cpp
        • Setup & Connection
        • Access Control & State Monitoring Callback
        • Connection & Version Information
        • Access Control & StandBy
        • Robot Mode Configuration
        • DRL Script Definition & Execution
        • Program Control (Pause / Resume / Stop)
      • 6.6.4 minimal_welding_sample.cpp
        • Setup & Global Variables
        • Main Loop
        • Callback Registration
        • Connection to Controller
        • Control Authority & Servo On Handling
        • Robot Mode & System Configuration
        • DRL-based Welding Script
        • C++-based Welding Interface Configuration
      • 6.6.5 minimal_instruction_sample.cpp
        • Setup & Global Variables
        • Keyboard Menu & Main loop
        • Callback Registration
        • Connection to Controller
        • Control Authority Handling
        • Servo On & Monitoring Version
        • Robot Mode & System Configuration
        • Joint Motion Execution
        • Kinematics Test
        • DRL Script Execution
        • Xenomai / Real-time Environment Notes
      • 6.6.6. realtime_control_sample.cpp
        • Setup & Global Variables
        • Callback Registration
        • Connection & Version Information
        • Control Authority & Servo On
        • Robot Mode Configuration
        • RT Session Activation
        • Stop / Pause / Resume
        • Quintic Trajectory Planning
        • Realtime RT Loop
        • Stopping RT Control
  • 7. Troubleshooting
    • 7.1 Connection Refused (API Link Error)
      • A. Error Case
      • B. Root Cause Analysis
      • C. Solution
    • 7.2 Access Control Loss
      • A. Error Case
      • B. Root Cause Analysis
      • C. Solution
    • 7.3 Build Error: Poco Not Found
      • A. Error Case
      • B. Root Cause Analysis
      • C. Solution
Doosan Robotics API Manual
  • 1. Introduction
  • 1.1 Overview
  • 1.1.1 Copyright
  • View page source

1.1.1 Copyright

The copyright and intellectual property rights of the contents of this manual are held by Doosan Robotics. It is therefore prohibited to use, copy, or distribute the contents without written approval from Doosan Robotics. In the event of abuse or modification of the patent right, the user will be fully accountable for the consequences.

While the information in this manual is reliable, Doosan Robotics will not be held accountable for any damage that occurs due to errors or typos. The contents of this manual may be modified according to product improvement without prior notification.

© 2025 Doosan Robotics Inc., All rights reserved

Previous Next

© Copyright 2025, Doosan Robotics.

Built with Sphinx using a theme provided by Read the Docs.
1.33.1
Versions
1.33.1
1.33.0