-
Notifications
You must be signed in to change notification settings - Fork 0
Utils
Utils는 대기, 색상, 음성·소리, 키보드 입력, 디버그 등 로봇/AI 공통으로 쓰는 정적 유틸리티 함수를 제공합니다.
모든 함수는 Utils.함수명(...) 형태로 호출합니다.
지정한 시간(초) 동안 프로그램 실행을 멈춘 뒤 다음 명령을 실행합니다. 아주 짧은 값(예: 0.001)을 주면 한 프레임만 대기하는 용도로도 쓸 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| sec | 입력값 | 대기 시간 (초) | 0 이상 실수 | - |
예제
Utils.wait(2)
Utils.wait(0.001) # 약 한 프레임 대기프로그램의 실행을 멈추고 무한히 대기합니다. 이벤트·인식 결과를 계속 기다려야 하는 프로그램의 마지막에 주로 사용합니다.
매개변수: 없음
예제
Utils.wait_forever()미리 정의된 색상 프리셋 이름을 [R, G, B] 리스트로 변환해 반환합니다. 정해진 색상 이름만 받을 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| name | 색상 | 색상 프리셋 | 검정색(black), 빨간색(red), 노란색(yellow), 초록색(green), 청록색(cyan), 파란색(blue), 자홍색(magenta), 흰색(white) | - |
반환값: [R, G, B] 형태의 리스트 (각 0~255)
예제
Utils.color('red') # [255, 0, 0]색상 휠/명도 슬라이더로 조합한 RGB 값을 [R, G, B] 리스트로 반환합니다. 세 값 모두 정수여야 합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| r | 입력값 | 빨강 값 | 0 ~ 255 정수 | - |
| g | 입력값 | 초록 값 | 0 ~ 255 정수 | - |
| b | 입력값 | 파랑 값 | 0 ~ 255 정수 | - |
반환값: [r, g, b] 리스트
예제
Utils.color_slider(255, 128, 0)빨강·초록·파랑 값을 각각 지정하여 [R, G, B] 리스트를 만듭니다. color_slider와 동일하게 세 값 모두 정수여야 합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| r | 입력값 | 빨강 값 | 0 ~ 255 정수 | - |
| g | 입력값 | 초록 값 | 0 ~ 255 정수 | - |
| b | 입력값 | 파랑 값 | 0 ~ 255 정수 | - |
반환값: [r, g, b] 리스트
예제
Utils.color_rgb(red, green, blue)호출될 때마다 무작위 RGB 색상을 생성하여 반환합니다.
매개변수: 없음
반환값: 무작위 [R, G, B] 리스트 (각 0~255)
예제
Utils.random_color()입력된 텍스트를 음성(TTS)으로 변환하여 말합니다. 사용할 언어와 음성은 set_tts로 미리 설정할 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| text | 입력값 | 말할 텍스트 | 문자열 | - |
예제
Utils.speak('안녕하세요')speak로 소리를 재생할 때 사용할 언어와 음성을 설정합니다. 다양한 언어 및 목소리를 선택해 더 자연스러운 음성을 출력할 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| lang | 입력값 | 언어 코드 | 시스템 TTS 언어 (예: 'ko-KR', 'en-US') |
- |
| name | 입력값 | 음성 이름 | 시스템 TTS 음성 이름 (예: 'Google 한국의') |
None |
예제
Utils.set_tts('ko-KR', 'Google 한국의')원하는 소리를 지정한 볼륨으로 재생합니다. repeat를 True로 하면 선택한 소리를 계속 반복 재생합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| file | 입력값 | 사운드 클립 이름 | 사운드 라이브러리 클립 이름 | - |
| volume | 입력값 | 볼륨 | 0 ~ 100 정수 | 100 |
| repeat | 입력값 | 반복 재생 여부 | True / False | False |
예제
Utils.play_sound('', 80, True)
Utils.play_sound('', 80, False)특정 키가 현재 눌려 있는지 여부를 참(True) / 거짓(False)으로 반환합니다. 인식되지 않는 키 이름이면 항상 False를 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| key | 입력값 | 키 이름 | 문자열: space, up, left, right, down, a |
- |
반환값: True 또는 False
예제
if Utils.keypressed('space'):
print('스페이스 키가 눌렸습니다')특정 변수나 속성 값을 실시간으로 콘솔 창에 출력합니다. 태그와 단위를 함께 표시할 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 출력할 값 | 임의 값 | - |
| tag | 입력값 | 로그 태그 | 문자열 | None |
| unit | 입력값 | 단위 표시 | 문자열 | None |
예제
Utils.log(value, 'speed', 'cm/s')특정 값의 변화를 실시간 그래프 형태로 스코프 창에 표시합니다. 그래프의 이름, 최소/최대 값, 색상을 설정할 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| name | 입력값 | 그래프 이름 | 문자열 | - |
| min_val | 입력값 | 그래프 최소값 | 실수 | - |
| max_val | 입력값 | 그래프 최대값 | 실수 | - |
| color | 색상 | 그래프 색상 (hex) | hex 문자열 | - |
| signal | 입력값 | 그래프 신호 값 | 실수 | - |
예제
Utils.scope('channel1', -100, 100, '#f00', signal)값을 가장 가까운 정수로 반올림하여 반환합니다. 음수에서도 0.5를 기준으로 반올림하며(예: -2.5 → -3), 숫자가 아닌 값을 넣으면 0을 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| value | 입력값 | 반올림할 값 | 정수 또는 실수 | - |
반환값: 반올림된 정수 (숫자가 아니면 0)
예제
Utils.round(2.4) # 2
Utils.round(2.5) # 3
Utils.round(-2.5) # -3여러 개의 함수를 동시에(병렬로) 실행합니다. 실행할 함수들을 인자로 전달하면 함께 실행됩니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| *functions | 입력값 | 병렬로 실행할 함수들 | 호출 가능한 함수 (가변 인자) | - |
예제
def task1():
...
def task2():
...
Utils.parallel(task1, task2)프로그램 실행을 즉시 중단합니다. 특정 조건에서 강제 종료 기능을 추가할 때 유용합니다.
매개변수: 없음
예제
Utils.exit()