Skip to content
Robomation RnD Center edited this page Jul 8, 2026 · 1 revision

Utils (유틸리티)

Utils는 대기, 색상, 음성·소리, 키보드 입력, 디버그 등 로봇/AI 공통으로 쓰는 정적 유틸리티 함수를 제공합니다.
모든 함수는 Utils.함수명(...) 형태로 호출합니다.

대기/시간

wait

지정한 시간(초) 동안 프로그램 실행을 멈춘 뒤 다음 명령을 실행합니다. 아주 짧은 값(예: 0.001)을 주면 한 프레임만 대기하는 용도로도 쓸 수 있습니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
sec 입력값 대기 시간 (초) 0 이상 실수 -

예제

Utils.wait(2)
Utils.wait(0.001)   # 약 한 프레임 대기

wait_forever

프로그램의 실행을 멈추고 무한히 대기합니다. 이벤트·인식 결과를 계속 기다려야 하는 프로그램의 마지막에 주로 사용합니다.

매개변수: 없음

예제

Utils.wait_forever()

색상

color

미리 정의된 색상 프리셋 이름을 [R, G, B] 리스트로 변환해 반환합니다. 정해진 색상 이름만 받을 수 있습니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
name 색상 색상 프리셋 검정색(black), 빨간색(red), 노란색(yellow), 초록색(green), 청록색(cyan), 파란색(blue), 자홍색(magenta), 흰색(white) -

반환값: [R, G, B] 형태의 리스트 (각 0~255)

예제

Utils.color('red')   # [255, 0, 0]

color_slider

색상 휠/명도 슬라이더로 조합한 RGB 값을 [R, G, B] 리스트로 반환합니다. 세 값 모두 정수여야 합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
r 입력값 빨강 값 0 ~ 255 정수 -
g 입력값 초록 값 0 ~ 255 정수 -
b 입력값 파랑 값 0 ~ 255 정수 -

반환값: [r, g, b] 리스트

예제

Utils.color_slider(255, 128, 0)

color_rgb

빨강·초록·파랑 값을 각각 지정하여 [R, G, B] 리스트를 만듭니다. color_slider와 동일하게 세 값 모두 정수여야 합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
r 입력값 빨강 값 0 ~ 255 정수 -
g 입력값 초록 값 0 ~ 255 정수 -
b 입력값 파랑 값 0 ~ 255 정수 -

반환값: [r, g, b] 리스트

예제

Utils.color_rgb(red, green, blue)

random_color

호출될 때마다 무작위 RGB 색상을 생성하여 반환합니다.

매개변수: 없음

반환값: 무작위 [R, G, B] 리스트 (각 0~255)

예제

Utils.random_color()

소리·음성

speak

입력된 텍스트를 음성(TTS)으로 변환하여 말합니다. 사용할 언어와 음성은 set_tts로 미리 설정할 수 있습니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
text 입력값 말할 텍스트 문자열 -

예제

Utils.speak('안녕하세요')

set_tts

speak로 소리를 재생할 때 사용할 언어음성을 설정합니다. 다양한 언어 및 목소리를 선택해 더 자연스러운 음성을 출력할 수 있습니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
lang 입력값 언어 코드 시스템 TTS 언어 (예: 'ko-KR', 'en-US') -
name 입력값 음성 이름 시스템 TTS 음성 이름 (예: 'Google 한국의') None

예제

Utils.set_tts('ko-KR', 'Google 한국의')

play_sound

원하는 소리를 지정한 볼륨으로 재생합니다. repeatTrue로 하면 선택한 소리를 계속 반복 재생합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
file 입력값 사운드 클립 이름 사운드 라이브러리 클립 이름 -
volume 입력값 볼륨 0 ~ 100 정수 100
repeat 입력값 반복 재생 여부 True / False False

예제

Utils.play_sound('', 80, True)
Utils.play_sound('', 80, False)

키보드 입력

keypressed

특정 키가 현재 눌려 있는지 여부를 참(True) / 거짓(False)으로 반환합니다. 인식되지 않는 키 이름이면 항상 False를 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
key 입력값 키 이름 문자열: space, up, left, right, down, az, 09, shift, ctrl, alt, enter, tab, esc, backspace -

반환값: True 또는 False

예제

if Utils.keypressed('space'):
    print('스페이스 키가 눌렸습니다')

디버그

log

특정 변수나 속성 값을 실시간으로 콘솔 창에 출력합니다. 태그와 단위를 함께 표시할 수 있습니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
data 입력값 출력할 값 임의 값 -
tag 입력값 로그 태그 문자열 None
unit 입력값 단위 표시 문자열 None

예제

Utils.log(value, 'speed', 'cm/s')

scope

특정 값의 변화를 실시간 그래프 형태로 스코프 창에 표시합니다. 그래프의 이름, 최소/최대 값, 색상을 설정할 수 있습니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
name 입력값 그래프 이름 문자열 -
min_val 입력값 그래프 최소값 실수 -
max_val 입력값 그래프 최대값 실수 -
color 색상 그래프 색상 (hex) hex 문자열 -
signal 입력값 그래프 신호 값 실수 -

예제

Utils.scope('channel1', -100, 100, '#f00', signal)

기타

round

값을 가장 가까운 정수로 반올림하여 반환합니다. 음수에서도 0.5를 기준으로 반올림하며(예: -2.5 → -3), 숫자가 아닌 값을 넣으면 0을 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
value 입력값 반올림할 값 정수 또는 실수 -

반환값: 반올림된 정수 (숫자가 아니면 0)

예제

Utils.round(2.4)    # 2
Utils.round(2.5)    # 3
Utils.round(-2.5)   # -3

parallel

여러 개의 함수를 동시에(병렬로) 실행합니다. 실행할 함수들을 인자로 전달하면 함께 실행됩니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
*functions 입력값 병렬로 실행할 함수들 호출 가능한 함수 (가변 인자) -

예제

def task1():
    ...

def task2():
    ...

Utils.parallel(task1, task2)

exit

프로그램 실행을 즉시 중단합니다. 특정 조건에서 강제 종료 기능을 추가할 때 유용합니다.

매개변수: 없음

예제

Utils.exit()

Clone this wiki locally