DUOLABS
Work

Collaborative-robot control software

We developed software that runs on the controller of an industrial collaborative robot built to work beside people. Robots like this go into processes such as welding, assembly, and logistics where people work alongside them. Unlike an app that draws screens, this code turns into the movement of a real machine, so a mishandled state or a data error becomes a motion error. Handling inputs, state changes, and exceptions conservatively was the rule. The work covers the module structure of the control functions and the data handling that stores and reads settings and control state.

Launch
2019
Client
A Korean robotics manufacturer
Type
Manufacturing & Field

01 / 04

Control software where code becomes the machine's movement

A collaborative robot is an industrial robot built to work side by side with people on the factory floor, and we developed software that runs on its controller. A collaborative robot carries force sensors in its joints and is built to stop when it senses even a small force, such as contact with a person. Unlike an app that draws a user interface, this code connects directly to the equipment's actual motion. Inputs, state changes, and exception handling were treated more conservatively than in app work.

Control software where code becomes the machine's movement
02 / 04

Modules split by control unit, passing only the data they need

In the collaborative robot's control software, the robot control functions were split into modules by control unit. Each module runs independently and exchanges only the data it needs, so the complexity of the control logic does not pile up in one place. Changing one module does not mean reworking the other control functions along with it.

Modules split by control unit, passing only the data they need
03 / 04

Keeping settings and control state in a database

We implemented the structure that stores and reads the settings, control state, and other data the collaborative robot needs to operate in a database. The paths by which the control code reads and writes data were tidied so access to data does not scatter in many directions. Because the equipment's motion follows this data, a single wrong value could lead to a motion error.

Keeping settings and control state in a database
04 / 04

A control flow that puts stable motion ahead of features

A collaborative robot is connected to real physical equipment, so a mishandled state or a data error becomes a motion error. We handled control data and code flow carefully and put stable operation ahead of adding features. Unlike screen-centred app development, in this field the stability of the equipment's motion and the reliability of the control logic decide the outcome.

A control flow that puts stable motion ahead of features

Highlights

01

A module structure split by control unit, passing only the data each needs

02

Control-data handling that stores and reads settings and control state in a database

03

An equipment control flow that treats inputs, state changes, and exceptions conservatively

Insights

Read the blog