Industrial robots have come front and center on the international stage as they’ve become widespread in the industrial sector. As they’ve become more powerful, more advanced and more productive, the need for robot safety has increased.
There are a number of ways manufacturers can introduce safety measures in their automated operations. The type and complexity of these safety measures will vary by the robotic application, with the aim to make AGVs safer, there are certain safety rules and standards that these collaborative robots must comply with, in Europe are found in EN ISO 3691-4:2020 “Industrial trucks — Safety requirements and verification — Part 4: Driverless industrial trucks and their systems” and ISO 12100:2010 6.4.3.
For Robotnik as an experimented robot manufacturer and within the collaborative environment of the HR-Recycler project, this aspect is especially important since humans and robots will be working side by side. The solution proposed to routing materials inside a factory has to be done in a safe manner, in this case, the robots designed are the RB-Kairos (mobile robotic manipulator) and the RB-Ares (pallet truck) and as AGV the main aspects will be show the intention of motion, elevate or manipulate. To ensure the correct operation within the complex framework of this project, Robotnik has equipped its robots with sensors and signalers that allow the robot to proceed safely and show its intentions in advance.
This post aims to give to the reader a brief description about what, why and how all the premises of the ISO will be reached.
First of all, what does the normative include? The standards on warning systems say:
- When any movement begins after a stop condition of more than 10 seconds, a visible or acoustic warning signal will be activated for at least 2 seconds before the start of the movement.
- A visible or acoustic warning signal will be activated during any movement.
- If the human detection means are active, the signal will be different.
- When robots change their direction from a straight path, a visible indication will be given of the direction to take before the direction changes in case that the robot is driving autonomously.
- When the lift is active, there must be special signage.
The solution proposed is a two-steps software that will manage the signals of the robot, explained after the diagram and on yellow cells:

The robot_local_control is a manager node, it has information about the status of the whole robot, that is, status of the elevator, goal active, mission ended, etc. On the right side, a group of nodes that manages the movement of the robot with a level of priority:
- Robotnik_pad_node: The worker uses a PS4 pad to control the robot and this node will transmit the orders, non autonomous mode.
- Path planning nodes: like Move_base, it controls the robot and we speak of it as autonomous mode.
Robotnik has installed on its AGVs two ways to alert facility users, acoustic devices or light indicators through the acoustic_safety_driver and leds_driver.
As you can see, there are two steps to link the top and bottom parts, a node to transform the movement into signals to show the intention of the robot and another one to orchestrate the both signal types and manage the requirements of the normative.
The turn_signaling_controller aims to solve the first and the fourth requirements of the normative depending on the robot mode (autonomous or not autonomous).
In non autonomous mode, and as the norm says, the motion depends on an appropriately authorised and trained personnel so it is enough to show that the robot is moving by reading the movement command and checking the velocity applied.
In autonomous mode the robot navigates to a goal point through a path calculated by the planner, furthermore it manages the AGV to avoid obstacles dynamically and for this reason it is important to alert workers every moment. The pipeline goes as follows:

This is a very brief description of the function, it bears the plan in mind and recalculates at the same time that the planner does just to be able to show the most up-to-date prediction of motion.
Last but not least, the robot_signal_manager aims to solve the rest of the problems since it has access to the robot status, it shows a light signaling or an acoustic signal 2 seconds before the motion, it gives priority to the emergency signals (consistent with the behaviour of the robot, red signals means that the robot will be stopped) and the signals that are not exclusive are showed using beacons or acoustic signals.

The occupied zone is one of the non exclusive signals, robots have some extra beacons that blinks on red when there is something on the protective zone (close to the intention of motion of the robot, inside the critic zone) and on yellow when there is something on the warning zone (near the protective zone).
Summarizing, safety is not only stopping the robot or avoiding a crash when human-robot collaboration takes place. With the development of these nodes Robotnik aims not only to decrease the probability of accident or comply with the safety ISO premises, but also to help workers feel more comfortable with the AGV’s decisions and bring human-robot collaboration closer showing clear signals about how the robot will perform.