SW Version Information
Release Date: 2025.07.23
DOWNLOAD HERE
| INTEGRATED VERSION NAME | V3.4.0 | |
| RELEASE DATE | 2025.07.23 | |
| TARGET MODELS | H2017 H2515 M0609 M0617 M1013 M1509 A0509 A0509s A0509f A0912 A0912s A0912f E0509 P3020 | |
| DETAILED VERSION BY SOFTWARE | Application | GV03040000 (NEW) |
| Inverter | GA33040000 (NEW) | |
| Safety | GD33040000 (NEW) | |
| Platform | GF03040000 (NEW) | |
| System | GS03040000 (NEW) | |
| OS | GK03020000 | |
| SDK VERSION | Current SDK Version | 4 |
| Compatible SDK Version | 1, 2, 3, 4 | |
| DART-BRIDGE | v1.4.0 | |
※ Switching from V2.12.3 to V3.4: a manual reboot is required after the first boot. The robot's unique parameters were changed to improve accuracy, and the robot may malfunction if the reboot is skipped.
Key Features
Dart-Platform
Screen Layout Optimization
- The desktop now shows information about the connected robot, with the key modules listed on the right side. The background color changes in virtual mode so that virtual mode and real mode are easy to tell apart.
- Authority and status changes, previously dropdown buttons in the footer, are now larger toggle buttons. The status change function has moved to the header.
- Backdrive Mode and Recovery Mode can be entered from a single button at the bottom-left corner.
- Clicking the Dart-Platform icon in the top-right header lets you change authority, activate Backdrive Mode, enter Recovery Mode, or power off the system.
- When an Operator opens an item or module that requires Supervisor authority, a password popup appears. Entering the Supervisor password elevates the authority immediately and opens the item.
- Coach Mark guides explaining these changes appear the first time you enter the platform after updating to V3.4.
Support for New Model P3020 The P3020 is a new collaborative robot optimized for palletizing, with a maximum payload of 30 kg and a working range of 2030 mm. It has no 4th axis, so it can operate freely even at singularities.
- All axis motion settings show the 4th axis as inactive. In DRL, any value other than
0.0entered for the 4th axis is ignored. - A 3D simulation of the P3020 is available from the Monitoring tab in Jog Plus, Quick Control, Task Editor, and the safety zone configuration tab of the Robot Parameters module.
-
Projection: with only five joints, not every six-value Task coordinate can be reached exactly. If a coordinate cannot be expressed with five joints, the Projection function adjusts it to minimize rotation and shows a guidance alarm. Use the Project Pose button in each Task motion setting, or the DRL command
get_projected_posx. - Rotation in Task space is expressed as Flange Tilting (Tilt) and Flange Rotation (Rot.). Position coordinates behave the same as other models.
- Palletizing Jog prevents rotational changes relative to the Base while jogging. Enable it from the Task menu or Jog Plus when the Flange Z-axis is aligned with the Base Z-axis. If they are not aligned, press Align to Z first.
Toast / Snackbar Position Setting Popups previously overlapped the Speed Bar at the bottom-right. You can now place popups in one of six positions (top / bottom × left / center / right) under Dart-Platform > Settings > Notification.
Homing Popup Homing status is now shown in a popup, so you no longer need to watch the robot to confirm that homing has finished.
Simulator Controller IP Lookup (Windows Dart-Platform) When connecting Dart-Platform to the simulator through Dart-Services, the virtual IP address is now discovered automatically instead of having to be entered by hand.
Task Editor Module
Set Signal Command (EtherNet/IP, Profinet, Modbus Slave) Communication signals previously had to be configured with DRL in Custom Code. A new Set Signal command is available in the Signal Command section of the Command tab; configure it in the Properties tab.
Variable-Editing Optimization The Variable-Editing window for Global, System, and Define variables now supports:
- Filtering by variable type from the dropdown at the top
- Searching by variable name
- Sorting ascending or descending by Name or Date
- Copy, Cut, Paste, and Delete on one or more selected variables
New "Intent" Orientation for Move C Previously, the TCP position followed the arc through the intermediate point, but the tool orientation (Rx, Ry, Rz) went directly from the start to the target along the shortest rotation, ignoring the intermediate point. The new Intent orientation makes the motion pass through the position and orientation of the start, intermediate, and target points. Select it in the MoveC Properties tab, or in DRL set ori=DR_MV_ORI_INTENT (or 3) in movec.
Move Spiral — Direction and Blending
- Two radial directions are supported: outward → inward and inward → outward. The rotation direction around the spiral axis can be forward (+) or reverse (−).
- The end point can be defined either by Maximum Radius (Maximum Radius and Maximum Axial Distance, as before) or by Coordinate Values (X, Y, Z of the target position).
- A blending radius can now be set so that motions connect smoothly. Blending is supported for synchronous motions only.
- Each setting has a question-mark button with a description. The enhanced command is also supported in DRL and the API (DRFL).
TCP Speed Clamping Adjusts a motion's time scaling so that the configured TCP speed is never exceeded. When Reduced Speed mode is activated through Safety I/O during motion, the speed is lowered gradually so that the Safety Speed Limit is not triggered. This also fixes cases where duplicate blending in Task-to-Task blending exceeded the safety speed limit.
-
Task global limit: in the Task Editor, set the Task Global TCP Speed in the MainSub properties and enable TCP Speed Clamping. In DRL:
set_velx(2000, 180, clamp=DR_ON)applies the Task global velocity as the TCP speed limit for allmovej/movejxmotions. -
Local limit for one joint motion: in the MoveJ / MoveJX Properties tab, choose Global (follow the MainSub Task velocity) or Local (a speed for this motion only). In DRL, add the
velxparameter tomovejormovejx. - Priority: the Global Safety TCP Speed (Robot Limits) always wins if it is lower. Otherwise the Local speed applies, and if no Local speed is set, the Task global speed applies.
Solution Space Calculation for Move JX Moves the robot to the target with the least joint movement from the starting pose, avoiding problems such as unexpected 4th-axis orientation changes. Set sol_space=DR_SOL_AUTO (or 255) in movejx, ikin, or ikin_norm. In ikin it returns the optimal solution space for the given position.
Improved Debug Mode
- Run the whole program, or select Run Checked to execute only checked lines or a start-to-end line range.
- Custom Code programs can be debugged in the same way: click Expand in the Properties tab to open the script window and activate Debug Mode.
- The Log tab supports log-level filtering, and Log Clear clears the debug window without deleting the logs.
Robot Parameters Module
Tilted Cuboid in Safety Zone Configuration The old four-point method had many strict conditions. A tilted cuboid is now defined by three points (Point 1–3) for the base plus a height.
- The direction of Point 4 follows the right-hand rule from Points 1–3. Enter negative length, width, or height to reverse the direction.
- Offset values per axis can shift the cuboid to fit site constraints.
- Use Move To to check the calculated points: the robot moves to Point 1, then to each calculated point in turn. If a point is out of reach, the robot moves linearly toward it and stops at the limit.
Deactivating the Protective Stop Device in Manual Mode In Safety Input settings, the Protective Stop signal from an external device on a specified port can be invalidated in the Manual, Recovery, and Handguide Control (HGC) states. The signal is re-enabled automatically when switching to Auto Mode.
Settings Module
Industrial Ethernet Slave Extensions (Profinet, EtherNet/IP)
- EtherNet/IP: a Full GPR Map option was added to the EtherNet/IP Slave Data Map (Settings > PLC tab), supporting Bit, Integer, and Float GPR registers.
- Profinet: a Slot function lets you enable or disable individual data tables with checkboxes in the Profinet tab. The total data size of the selected slots is shown.
- A robot reboot is required after saving EtherNet/IP or Profinet Slave settings.
Save Confirmation Popup Leaving a menu with unsaved changes now prompts you to save in: Language & Format, Notifications, Safety Password, Supervisor Password, Controller, IDE Connection, PLC, Idle Servo Off, and Friction Calibration. The Date & Time menu has moved into Language & Format; the Time Format option (manual controller time) appears only on the Teach Pendant.
Module Update With an internet connection, free and paid modules can be updated from the Store via Settings > Installed Modules List > Update.
Cumulative Switch-On Time and Task Running Time The System Information tab now shows Controller Run Time, Total Task Play Time, and Total Task Play Count.
Status Module
Slave Monitoring Window GPRs at specified addresses can be monitored for each slave type (EtherNet/IP, Profinet) in the new Slave Monitoring tab.
Remote Control Module
Operator Permission Operator-level users can now start and exit Remote Control Mode. Detailed settings remain restricted to Supervisors.
Dart-Studio
- License key visibility — the font for the license key (Help > Program Info) was changed so characters are easier to distinguish.
- Calibration parameters in Fault Log — calibration parameters can be checked under Service Tool > Fault Log. See How to Read Robot Logs with Fault Log Analysis.
- Inverter Gain Table — gains can be tuned to reduce vibration without an update procedure: Service Tool > Inverter Setting > Inverter Gain tab, enter the gain, select the axis, apply, then reboot the robot. Check the applied values in the Gain Table tab.
- New simplified JTS Calibration — calibrates JTS offset values with the working tool installed, using only the default home posture, so it can be done where the robot is installed. The tool weight must be set correctly first. It requires Dart-Studio with a valid license and cannot be run from the Teach Pendant. In manual mode, after Servo On, go to Service Tool > JTS Calibration and click Start Simplified Calibration Motion for Offset. Recommended when false collision detection or TCP force limit errors occur after long-term storage or extended operation of M/H series robots. See JTS Calibration in DART-Studio.
Programming DRL / API
Robot Status LED Configuration Set the LED color during program execution.
- DRL:
set_state_led_color(r,g,b),set_state_led_off(),set_led_reset(). Applied only while the program runs; the LED reverts when the program ends. - API:
CDRFLEx.set_state_led_color(r,g,b),CDRFLEx.set_state_led_off(),CDRFLEx.state_led_reset(). Applied immediately; the LED reverts when control authority is transferred.
Motion Pause / Resume including Force Control motion_pause pauses only ongoing motion or force control, leaving other asynchronous functions running. motion_resume resumes toward the original target.
Improved Force / Compliance Control for the As Series
- Stable operation up to a TCP speed of 300 mm/s. Above that, tune
set_force_factorandset_damping_factor. Use is restricted in singularity poses. -
set_external_force_reset(all models) resets the measured external force to 0. Use it in a non-contact state before compliance control to remove model / sensor error, or before starting force control in a contact state to avoid a contact-force alarm. It does not remove the actual contact force, so take that force into account. - The reset affects TCP force shown on the Teach Pendant,
check_force_condition,get_external_torque, andget_tool_force. It is cleared when the program ends. Safety functions (collision detection, TCP SLF) are not affected, so contact forces can still trigger them.
Welding Seam Tracking Two DRL commands for weaving: app_weld_get_extreme_point(time) returns the outermost points reached during weaving, considering the delay time; app_weld_adj_motion_offset(offset) shifts the path in real time during seam tracking, and the motion ends at the offset path without returning to the original end point.
Operator Intervention The robot can pause a program because of an external device problem (such as the welding machine) or at the operator's request, and then resume from the paused point.
- Welding machine signals (Analog Welding Machine module, Welding Input Signal settings): assign a port and High / Low contact status for Arc Active (abnormal if the signal is lost longer than the Time Out), and for Gas Off, Wire Stick, and Machine Error (abnormal if the signal is detected).
- Operator request: in Robot Parameters > Normal I/O, enable Request Intervention (F) on an input port. A falling edge during Move L, Move B, or Move C triggers intervention.
- Status output: enable Operator Intervention (L) on an output port. It stays High in normal operation and switches to Low when an intervention occurs.
- The intervention popup offers: Use Handguiding (requires a pre-configured collaborative workspace with the robot inside it), Stop Move, an Offset Move field (negative = backward along the path, positive = forward), Return to Stop Point, Move by Distance (moves along the path to the stop point, or by the offset if one is entered), quick step buttons −10 / −5 / −1 / +1 / +5 / +10 mm, Task Resume, and Task Stop.
Automatic Acceleration Adjustment Brought over from the legacy controller. When enabled with set_auto_acceleration_mode(), acceleration and some speeds are adjusted automatically for movej, movejx, movel, moveb, and movec. It is activated automatically when the workpiece weight exceeds the model limit on:
- M1013: 10 < x ≤ 12 kg | M0617: 6 < x ≤ 8 kg | M1509: 15 < x ≤ 17 kg
- Not applied to blending motion, where driving torque may exceed the allowable limit — not recommended with blending. Avoid tools with an unbalanced center of gravity when exceeding the weight limit, and fix the orientation components in Task motions. Cycle time may increase.
-
Known issue: blending motions are skipped when
set_auto_acceleration_mode()is executed during program operation. This is fixed in V3.5. On V3.4, comment out the lines containing this command if the issue occurs.
Force Control Gain and Damping (all models; A / E series without sensors are limited to 3 translational degrees of freedom)
-
set_damping_factor— speed-proportional damping for Force and Compliance Control, range 0.1–2.0, default 1.0. Lower values respond faster but may cause vibration. -
set_force_factor— responsiveness to the target force in Force Control only (Compliance Control always uses 1.0), range 0.1–2.0, default 1.0. Lower values respond faster but may cause vibration.
Improved Servo Functions
-
servojhas a new Queue Mode (mode=DR_SERVO_QUEUE) that remembers waypoints and passes through them. The previous behavior ismode=DR_SERVO_OVERRIDE. -
speedj/speedlno longer stop when no new command arrives within 0.1 s; they keep the most recent command. Setvel=0to stop, and usemwait()to exit servo motion.
Orientation Type Input More DRL commands accept all posx orientation types (such as Euler angles): set_conveyor_ex, get_conveyor_obj, set_user_cart_coord, check_position_condition, align_axis, parallel_axis, and get_normal. See the V3.4 Programming Manual.
Blending from Reduced Speed to Normal Mode Speed no longer increases in the blending section when switching from reduced mode back to normal mode, so the path stays as intended.
DRL for Reading Safety Configuration New functions return the safety configuration currently applied to the controller:
| Command | Returns |
|---|---|
get_cockpit() |
Cockpit information |
get_collision_sensitivity() |
Collision sensitivity |
get_configurable_io() |
Configured Normal I/O settings |
get_current_tool_shape() |
Current tool geometry |
get_current_tool() |
Current tool information |
get_general_range() |
TCP / robot limit values |
get_idle_off() |
Idle Servo Off information |
get_install_pose() |
Installation posture |
get_io_speed_ratio() |
Safety I/O speed reduction ratio |
get_joint_range() |
Joint angle limits |
get_modbus_data_list() |
All configured Modbus information |
get_nudge() |
Nudge information |
get_safety_function() |
Safe Stop Mode value |
get_safety_io() |
Safety I/O information |
get_safety_zone_cnt() |
Number of safety zones |
get_safety_zone_list() |
All safety zone information |
get_tcp_list() |
All registered TCPs |
get_tcp_symbol() |
Name of the active TCP |
get_tool_list() |
All registered tools |
get_tool_shape_list() |
All registered tool shapes |
get_tool_shape_symbol() |
Name of the active tool shape |
get_tool_symbol() |
Name of the active tool |
get_user_coord_cnt() |
Number of user coordinate systems |
get_user_coord() |
All user coordinate information |
get_world_coord() |
World coordinate information |
Cockpit Button Status get_cockpit_input(index) (DRL / API) returns the pressed / released state of the specified Cockpit button.
Additional Improvements
- Robot alarm code monitoring from external devices — alarm codes are available in the monitoring data of Profinet Slave, EtherNet/IP Slave, and Modbus TCP Slave. The latest IO map, EDS files, and related documents are in the Technical Notes on Doosan Robotics Training & Service.
-
Controller logs analyzable as Fault Logs — export from Dart-Platform (Settings > Export Logs > Controller), extract the
tar.gz, then load theBackLogfolder in Dart-Studio under Service Tool > Fault Log Analysis. - JTS-based direct teaching (H series) — the sensitivity algorithm from the P series now also applies to the H series. Friction is estimated from the difference between JTS and current-based torque and compensated. Axes 1–5 and axis 6 are handled separately for smoother teaching near singularities during constrained motion.
- Collision sensitivity for M0609 / M1509 / M0617 — a torque-variation-rate detection algorithm was added. It is active only when collision sensitivity is set to 76% or higher.
- Restricted zone conflicts — a new Space Limit Zone, joint limit, or zone override that conflicts with the robot's current pose is not applied (joint limits revert to the previous setting). Zone joint limits and TCP force / speed limits must be ≤ the Robot Limits values, and zone collision sensitivity must be ≥ the Robot Limits value. A zone that conflicts with the global settings cannot be activated, and if the global settings conflict with active zones, all active zones are deactivated. On control authority transfer or controller reboot, the safety settings are applied even if they conflict with the current pose.
- Force control with a TCP Z offset over 300 mm — the maximum TCP offset for force and compliance control was raised from 300 mm to 500 mm. Follow the guidelines and precautions in the manual.
- Safety zone violation popups now show the name of the related safety zone and clearly indicate violations of global safety settings.
Bug Fixes
Task Editor Module
- Fixed an issue where Sub Tasks saved within a Task could not be executed with
sub_program_runin Custom Code.
Remote Control Module
- Fixed CPU errors when using the Protective Stop Auto Reset & Resume signal in Remote Control Mode.
Logs Module
- Fixed Teach Pendant slowdowns and robot stoppages caused by excessive log messages. The controller now deletes older logs automatically to keep the log volume under a threshold. Intermittent log loss was also fixed.
Programming DRL / API
-
Flange serial — fixed
flange_serial_read(DRL) andflangeSerialReadOn(Dart-API) always returning the last received data, and the timeout not working. Fixed malfunctions on older flanges when sending or receiving without callingflangeSerialOpenOn. The Flange Serial guide in the API Guide and DRL Programming Manual now includes timing sheets and examples. - Blending motion — fixed vibration when the program is paused during blending; collision detection errors and noise at the start of blending; incorrect speed limit calculation in the blending section on the P3020 that slowed the robot; blending not possible when switching to joint motion in T2J blending; acceleration spikes in J2T blending.
- Palletizing Mode — fixed collision or external force errors, and speed reduction near singularities.
- Welding — C-Wave weaving is smoother; fixed jerking during welding motion; with a digital welding machine, the Arc On signal is now output and the next motion proceeds regardless of the Machine Ready signal.
-
P3020 — fixed axis limit alarms when using
set_workpiece_weight, and SS2-Violation when stopping the 6th axis. - Move and Homing commands called through the API now work in automatic mode (except with HoldToRun). Previously they worked correctly only in manual mode and could leave the robot in Servo Off depending on the call method.
- Fixed the
servoj_rtstructure not being transmitted properly. - Fixed joint motion with a specified time occasionally failing to generate and raising [4.1025] Position Following Error or [5.7073] Joint Position Control Error.
- Fixed Robot_mode and Robot_state not updating in real-time monitoring.
CDRFLEx.get_rt_control_output_data_listnow returns correct Robot_mode, Robot_state, and Control_mode values. - Fixed the 6th axis rotating in the opposite direction with Move C radial posture in Compliance On mode compared with Compliance Off.
- Fixed MoveSJ intermittently moving slowly or not moving at all.
- Fixed
set_tool_digital_outputsandget_tool_digital_inputsnot working on the A series.
Others
- Fixed an occasional "No space left on device" error during program execution.
- Fixed intermittent collision alarms.
- Fixed SS2_violation during SS2 stops in specific motions on the H series.
- Fixed certain motions slowing down on the P3020 due to speed limit function errors.
- Fixed direction errors in automatic rotation-direction control after configuring a TCP flipped by 180 degrees.
- Fixed axis angle limit errors in Recovery Mode on the P3020.
- Fixed a position error after rebooting following a power shutdown.
- Fixed the Cockpit pose save button not working.
- Fixed Safety Limit Force errors in certain blending functions while using override modes.
- Fixed TCP precision when calibration parameters are applied.
- Fixed the reducer temperature sensor causing collision detection and end-effector force limit errors below 0 °C.
- Fixed an intermittent Precharge Over Current error at Servo On on the E series with certain grippers attached.
- Fixed rotation malfunction and instability near singularities in Palletizing Mode with DH parameters applied.
- Fixed the Reduced Speed setting not going below 10% even when set lower.
- Fixed Compliance / Force commands failing with a Joint Torque Limits error when only the posture changed and the weight did not.
- Fixed robot coordinates becoming misaligned after a Protective Stop in the Compliance ON state.
- Fixed Modbus TCP Slave failing to accept Master connections when the Master connected and disconnected in rapid cycles.
- Fixed Inverter EEPROM errors.
- Fixed a different subnet mask being applied when the default value was changed.
- Fixed a pause of more than 5 seconds before motion when restarting a DRL program with two or more threads after a Protective Stop.
- Fixed Servo Off in Remote Control Mode caused by an internal connection drop while using FOCAS for MCT integration.
- Fixed motion commands occasionally failing after performing the initial homing twice in a row.
- Fixed a Connection Error after a period of time when connecting to a FOCAS target machine that is turned off.
NEWER RELEASE
- V3.5 SW Release Notes — 2025.12.19
Comments
0 comments
Please sign in to leave a comment.