Technical Article

Detailed Introduction to Dual Check Safety (DCS) in Robotic Work Cells

January 30, 2024 by Austin Futrell

Learn about FANUC’s Dual Check Safety (DCS) system and the various methods, how to configure the DCS parameters, and how to avoid and resolve issues associated with DCS positional alarms.

Dual Check Safety (DCS) is a process employed in FANUC robotics that involves redundant safety measures to enhance overall safety by minimizing the risk of accidents and ensuring a reliable safety net in human-robot interaction scenarios. These dual safety checks must confirm safe conditions before allowing the robotic system to proceed with potentially hazardous actions.

 

How Does Dual Check Safety Work?

The Dual Check Safety (DCS) system incorporates position and speed-checking capabilities to monitor the servo motor data within a robot controller. This functionality enables real-time detection of errors in both position and speed, triggering a motor power shutdown through two separate channels. The safety protocols are designed with redundancy, as both CPUs cross-check data with given parameters to ensure reliability.

Dual Check Safety eliminates the need for supplementary external sensors for speed and position monitoring, relying solely on the sensors within the servo motors. This approach enhances efficiency.

Additionally, the system conducts periodic self-diagnosis of safety hardware and software, proactively addressing potential issues and preventing failures. This check enhances the overall safety of a robotic system. Furthermore, the DCS functions are certified processes to meet the requirements of international standards ISO-13849-1 and IEC61508.

 

Functions of Dual Check Safety

DCS is not merely a single check of the joint and tool center point (TCP) position, but rather it encompasses a number of checks, both of position and speed in several coordinate systems.

 

FANUC DCS zone around a TCP

Figure 1. User model example for the robotic end of arm tooling. Image used courtesy of Fanuc

 

DCS Cartesian Position Check

The cartesian (linear x-y-z) position check function empowers programmers to initiate an automated emergency stop for the robot if it breaches a predefined area within the cell. This parameter typically defines areas where the robot must never venture or collide or an area where the speed should increase or decrease. This function minimizes concerns about the potential for operators to sustain injuries.

 

Setting Up DCS Cartesian Position Check

To configure a DCS zone, define the desired zone using the cartesian position check function. Next, define parameters by jogging the robot to different points within the cell and recording the positions within the diagonal or lines function. Secondly, establish a user model, composed of geometric shapes (commonly spheres or boxes) covering the robot and components attached to the robot flange or end of the arm. The zone check function then assesses whether the user model remains within or out of the predefined safe zone. This approach ensures a comprehensive safety evaluation by considering both the robot and supplementary elements attached to it.

 

DCS Lines and Diagonal Function

Within the diagonal function, the zone is established by upper and lower limits for X, Y, and Z within the DCS user frame. This approach involves defining the endpoints of the diagonal of a box, effectively outlining the designated area. In contrast, the Lines function defines the zone by specifying the vertex points of a polygon on the X-Y plane, with the Z dimension inputted manually. The Diagonal function is preferable for square or rectangular zones due to the simplicity of recording just two opposing sides. The Lines function is used for more intricate zone shapes, offering flexibility in handling complex geometries.

 

DCS Joint Position Check

A DCS joint position check involves verifying the positions of the robot's joints individually, as opposed to the linear boundaries of the cartesian check method. If any inconsistency or deviation is beyond acceptable limits between the readings, the joint position check triggers a safety response. This feature enhances the safety of robotic applications by adding a layer of verification for joint positions, reducing the risk of unintended movements or malfunctions.

 

A DCS zone set up around the perimeter of a robot work cell

Figure 2. Example of diagonal DCS cartesian positioning function. Image used courtesy of Fanuc

 

DCS Joint Speed Check

The DCS joint speed check involves a safety feature that allows programmers to set the speed limits of the robot’s joints. This feature gives users the ability to decide whether to prioritize the robot's longevity by controlling joint speeds within acceptable limits or enforcing constraints to prevent excessive speeds that may lead to unsafe conditions.

 

DCS Cartesian Speed Check

The DCS cartesian speed check is a safety mechanism implemented to manage the speed of the robot's movements along cartesian coordinates. This safety check ensures the robot operates within predefined speed limits, preventing it from surpassing safe thresholds. This feature also eliminates the ability of other programmers or operators to increase the speed of the robot without knowing the system password.

 

How to Recover from a DCS Positioning Alarm

To address a DCS positioning alarm, initiate the recovery process by resetting the alarm. Honestly, the issue can usually be resolved very easily, by pressing the shift key and simply jogging back into the DCS zone.

Sometimes, if the rate of travel is very rapid when entering the error zone, the robot may travel outside the zone by several cm or inches. It might continue to fault out when jogging, as it is still too far outside the safe zone. Simply reset the alarm again and continue jogging until finally exiting the error zone.

Obviously, It's advisable to alter the program and avoid navigating the robot into the same zone again. Additionally, it may be wise to consider redefining the DCS zone parameters to prevent a recurrence of the issue if it is determined that the current DCS parameters are limiting the robot and preventing the completion of desired tasks.