4 Safety

4.1 Overview of Safety Features

The RO1 robot includes many safety features for operating in either collaborative or industrial applications. The exact implementation of these features will depend upon the application and risk assessment. The final performance level of the system will depend on the integration and must be calculated by the integrator.

The RO1 has parameters for the below settings that can be fully customized for the end application and allow for integration with a wide variety of industrial safety components.

/pagebreak ### Response Time

The RO1 responds to safety events within the tolerances in the below chart:

Safety Input Event Worst Cast Detection Time Worst Cast Power Off Time Worst Case Response Time
Internal Emergency Stop 50ms 600ms 600ms
External Emergency Stop 50ms 600ms 600ms
External Safety IO Slow Speed Input 50ms N/A 600ms
External Safety IO Emergency Stop 50ms 600ms 600ms
Tablet or Browser E-Stop 1000ms* 1600ms* 1600ms*

*Network Latency Dependent

Safety Output Event Worst Case Response Time
Robot E-Stop 50ms

4.1.1 Performance Level

The RO1 safety circuitry, including E-Stop circuitry and all digital inputs and outputs is PLe Cat 4.

4.2 Safety Settings

Safety Settings can be accessed by tapping the robot menu, then Settings > Safety.

Settings are locked by default; click the “Unlock” button and re-enter the robot PIN to make the settings here editable.

Safety settings do not take effect until you tap “Apply Settings.”

4.2.1 Speed Limits

4.2.1.1 How Limits Work

The RO1 has several levels of limits; the robot is always gated to the lowest of all of these:

All of these settings are described below.

4.2.1.2 Editing Global Limits

The first tab of safety settings allows setting limits on the speed and acceleration of both the tooltip and the joints of the robot.

4.2.1.2.1 Using Factory Presets

By default, you will be presented with the choice of several presets.

The “default” (middle) setting restricts the robot to a tooltip speed of 0.75m/s, which is safe for most collaborative settings. Several others are available; if there are factors that may require more caution (such as the robot’s payload or end effectors), it may be desirable to select a more conservative setting.

Remember that many factors can affect whether a given speed is safe. Before putting the robot into production, you should always conduct a full safety assessment per ISO 10218-2 to determine the proper values for these settings and any other mitigations required.

[Presets] (src/images/safety_presets.png)

To review the values set for these factory presets, you can scroll down.

4.2.1.2.2 Custom Limits

To edit these limits, switch off “Use Factory Preset”; the limits should then become editable:

Editing custom limits in Safety Settings

The following can be customized, both for when the robot operates at its full speed and in a “slow” mode that can be triggered via Safety I/O settings:

4.2.2 Speed Modifier % Slider

The robot can be slowed down from its maximum as needed inside the robot menu.

This is useful for trying out a routine before putting it into production.

Setting this slider only applies a cap to the maximum limits that would otherwise be set in Safety Settings; movements that were already slower than that are not affected.

Modifying the global speed


4.2.3 Customizing Speed Limits For A Step

When editing a “Move” step, the “Motion Speed” setting allows you to affect the speed for only that step. This is useful for delicate movements or when required for safety.

Step-specific setting

By tapping “Edit”, several options are available. The motion can be restricted to percentage of the maximum (as with the global speed modifier in the robot menu), or to a new set of custom limits.

Note that these limits apply whether the robot is operating at full speed or at any “slow” speed mode defined in safety settings. The robot will always apply the lowest of all limits in effect. It is also not possible to set torque limits on a per-step basis.


Editing speed limits applied to an individual step

4.3 Safety I/O

The “I/O” tab shows settings for Safety I/O, which allows you to configure safety devices like extra E-stop buttons, area scanners, light curtains, and more.

At present, only inputs are supported here; support for safety outputs for controlling other devices will be added in a future software update.


Safety I/O Settings


/pagebreak ### Configuring Safety Inputs

The sixteen 24V inputs on the control box are all safety-rated and can be used in pairs. Safety devices are connected in pairs to eliminate the possibility of a stray signal keeping the robot operating while actually in an unsafe condition. Therefore, if either of the paired inputs is below 24V, it will be treated as a “low” signal.

The following options are available:

4.4 Collisions & Protective Stops

When the robot is running a routine and encounters a collision, it will stop. The routine can be re-started with the “Play” button in the top toolbar. Every time a collision occurs, it will also log the time and force measured, which can be reviewed in the Notification (bell) section.

Collisions are detected with two methods: 1) by monitoring the current coming out of the joint motor to measure torque and find discrepancies, 2) by monitoring an IMU (accelerometer) inside each joint.

4.4.1 Adjusting Collision Sensitivity

Depending on the environment and safety requirements, it may be desirable to change the sensitivity of collision detection. This can be done in the “Collisions” section of Safety IO.

This allows adjusting the thresholds used for both methods: the torque shock threshold (in newton-meters) and the acceleration threshold used by the IMU (in m/s²).


Collision sensitivity settings

4.5 Setting the Robot’s Payload Mass

The robot’s knowledge of its payload mass affects its ability to balance and sense collisions. It’s important for overall safety to configure the payload as part of setting up a robot cell with the RO1.

There are two ways to set the payload:

  1. By adding a Set Payload step to a routine
  2. By setting the payload parameter within an Actuate Gripper step. This is useful for situations where the payload changes as a result of the gripper.

The payload mass entered should account not only for the mass of the payload itself but also that of any attached end effectors. The spec sheet for the end effector should include this information.