DUOLABS
포트폴리오

협동로봇 제어 소프트웨어

사람 옆에서 함께 일하는 산업용 협동로봇의 제어 장비에서 동작하는 소프트웨어를 개발했습니다. 이런 로봇은 용접 · 조립 · 물류처럼 사람이 함께 있는 공정에 들어갑니다. 화면을 그리는 앱과 달리 코드가 실제 기계의 움직임으로 이어지는 환경이라, 잘못된 상태 처리나 데이터 오류가 곧 로봇의 동작 오류가 됩니다. 입력값과 상태 변화, 예외를 보수적으로 다루는 것을 기준으로 삼았습니다. 작업은 제어 기능의 모듈 구조와, 설정값 · 제어 상태를 저장하고 읽는 데이터 관리에 걸쳐 있습니다.

Launch
2019
Client
국내 로봇 제조사
Type
제조·현장

01 / 04

코드가 곧 기계의 움직임이 되는 제어 소프트웨어

협동로봇은 제조 현장에서 사람과 나란히 작업하도록 만든 산업용 로봇이고, 이 로봇의 제어 장비에서 동작하는 소프트웨어를 개발했습니다. 이 로봇은 관절마다 힘을 재는 센서를 두고, 사람과 부딪히는 작은 힘까지 감지하면 멈추도록 만들어집니다. 사용자 화면을 그리는 앱과 달리, 이 코드는 실제 장비 동작과 바로 연결됩니다. 입력값과 상태 변화, 예외 처리는 앱을 만들 때보다 보수적으로 다뤘습니다.

코드가 곧 기계의 움직임이 되는 제어 소프트웨어
02 / 04

제어 단위마다 나눠 필요한 데이터만 오가는 모듈

협동로봇 제어 소프트웨어는 로봇 제어 기능을 제어 단위별 모듈로 나눠 구현했습니다. 모듈마다 독립적으로 동작하고 필요한 데이터만 주고받게 해, 제어 로직의 복잡도가 한곳에 몰리지 않도록 했습니다. 한 모듈을 고칠 때 다른 제어 기능까지 함께 손대지 않아도 되는 구조입니다.

제어 단위마다 나눠 필요한 데이터만 오가는 모듈
03 / 04

설정값과 제어 상태를 데이터베이스에 두는 관리 방식

협동로봇 제어에 쓰는 설정값, 제어 상태, 장비 동작에 필요한 데이터를 데이터베이스에 저장하고 읽는 구조를 구현했습니다. 제어 코드가 데이터를 읽고 쓰는 경로를 정리해, 데이터에 접근하는 흐름이 여러 갈래로 흩어지지 않게 했습니다. 장비 동작이 이 데이터를 따르기 때문에, 값 하나의 오류도 동작 오류로 이어질 수 있었습니다.

설정값과 제어 상태를 데이터베이스에 두는 관리 방식
04 / 04

기능보다 안정적인 동작을 먼저 둔 제어 흐름

협동로봇은 실제 물리 장비와 연결되어 있어, 잘못된 상태 처리나 데이터 오류가 곧 동작 오류가 됩니다. 제어 데이터와 코드 흐름을 신중하게 다루며, 기능을 더하는 것보다 안정적으로 동작하는 것을 먼저 두었습니다. 화면 중심의 앱 개발과 달리, 이 분야에서는 장비 동작의 안정성과 제어 로직의 신뢰성이 결과를 가릅니다.

기능보다 안정적인 동작을 먼저 둔 제어 흐름

이 작업의 포인트

01

제어 단위별로 나눠 필요한 데이터만 주고받는 모듈 구조

02

설정값 · 제어 상태를 데이터베이스에 저장하고 읽는 제어 데이터 관리

03

입력값 · 상태 변화 · 예외를 보수적으로 다룬 장비 제어 흐름

인사이트

블로그 전체 보기