-
Notifications
You must be signed in to change notification settings - Fork 0
RaccoonBot
라쿤봇 로봇을 제어하기 위한 함수입니다.
라쿤봇은 4개의 관절(joint)을 가진 로봇 팔 모듈입니다.
속도 제어 모드와 각도 제어 모드로 관절을 움직이거나, xyz 좌표 기반으로 말단 장치를 이동시킬 수 있으며, 컨베이어 등 주변 장치와 연동할 수 있습니다.
raccoonbot = RaccoonBot(0)| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| index | 입력값 | 인스턴스 번호 (0부터 시작) | 0 이상 정수 | 0 |
각 관절 모터에 가해져 있는 제어를 풀지 유지할지 결정합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 관절 번호 | 모든 관절(-1), 1번(1), 2번(2), 3번(3), 4번(4) | - |
| on | 체크박스 | 모터 제어 ON / OFF | True / False | True |
예제
raccoonbot = RaccoonBot(0)
# 모든 관절, 모터 제어 끔
raccoonbot.motor(-1, False)
# 1번 관절, 모터 제어 켬
raccoonbot.motor(1, True)선택한 관절의 속도를 설정합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| joint | 드롭다운 옵션 | 관절 번호 | 모든 관절(-1), 1번(1), 2번(2), 3번(3), 4번(4) | - |
| data | 입력값 | 관절 속도 | -100 ~ 100 정수 | - |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.set_speed_joint(1, 100)선택한 관절의 속도를 입력값만큼 변경합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| joint | 드롭다운 옵션 | 관절 번호 | 모든 관절(-1), 1번(1), 2번(2), 3번(3), 4번(4) | - |
| data | 입력값 | 변경할 속도 차 | -200 ~ 200 정수 | - |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.change_speed_joint(1, 50)네 관절의 속도를 한 번에 설정합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| j1 | 입력값 | 1번 관절 속도 | -100 ~ 100 정수 | - |
| j2 | 입력값 | 2번 관절 속도 | -100 ~ 100 정수 | - |
| j3 | 입력값 | 3번 관절 속도 | -100 ~ 100 정수 | - |
| j4 | 입력값 | 4번 관절 속도 | -100 ~ 100 정수 | - |
예제
raccoonbot = RaccoonBot(0)
# 네 관절 속도 설정
raccoonbot.set_speed_joints(10, 20, 30, 40)
# 변수 배열 언패킹
raccoonbot.set_speed_joints(*arr)각도 제어 모드에서 관절을 제어할 속도를 설정합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 각도 제어 최대 속도 | 0 ~ 100 정수 | - |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.angle_max_speed(100)선택한 관절의 각도를 설정합니다.
| joint | min | max |
|---|---|---|
| 1 | -120 | 120 |
| 2 | -90 | 30 |
| 3 | -150 | 0 |
| 4 | -105 | 105 |
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| joint | 드롭다운 옵션 | 관절 번호 | 모든 관절(-1), 1번(1), 2번(2), 3번(3), 4번(4) | - |
| data | 입력값 | 관절 각도 (도) | 위 표 참조 (자동 clamp) | - |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.set_angle_joint(1, 90, wait=True)선택한 관절의 각도를 입력값만큼 변경합니다.
| joint | min | max |
|---|---|---|
| 1 | -240 | 240 |
| 2 | -120 | 120 |
| 3 | -150 | 150 |
| 4 | -210 | 210 |
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| joint | 드롭다운 옵션 | 관절 번호 | 모든 관절(-1), 1번(1), 2번(2), 3번(3), 4번(4) | - |
| data | 입력값 | 변경할 각도 차 (도) | 위 표 참조 (자동 clamp) | - |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.change_angle_joint(1, 10, wait=True)네 관절의 각도를 한 번에 설정하거나, 미리 정의된 자세('zero', 'park', 'home')로 설정합니다. 첫 번째 인자에 자세 이름 문자열을 넣으면 나머지 인자는 무시됩니다.
자세 프리셋:
-
'zero'→[0, 0, 0, 0] -
'park'→[0, 25, -145, -60] -
'home'→[0, -10, -140, 60]
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| j1 | 입력값 또는 드롭다운 | 1번 관절 각도 또는 자세 이름 | 정수/실수, 또는 'zero' / 'park' / 'home'
|
- |
| j2 | 입력값 | 2번 관절 각도 (자세 이름 사용 시 생략) | 정수/실수 | None |
| j3 | 입력값 | 3번 관절 각도 (자세 이름 사용 시 생략) | 정수/실수 | None |
| j4 | 입력값 | 4번 관절 각도 (자세 이름 사용 시 생략) | 정수/실수 | None |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
raccoonbot = RaccoonBot(0)
# 명시적 각도
raccoonbot.set_angle_joints(0, 0, 0, 0, wait=True)
# 자세 프리셋
raccoonbot.set_angle_joints('home', wait=True)선택한 기준점(origin)에서 특정(x/y/z) 좌표를 지정한 값으로 설정합니다. 변환된 관절 각도가 가동 범위(reach) 또는 관절 한도를 벗어나면 동작을 건너뜁니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| origin | 드롭다운 옵션 | 기준점 | 손목(wrist), 말단 장치(end_effector) | - |
| pos | 드롭다운 옵션 | 축 | x, y, z | - |
| data | 입력값 | 좌표값 | x: -20 ~ 20cm, y: -10 ~ 20cm, z: -2 ~ 28cm | - |
| unit | 드롭다운 옵션 | 단위 | cm, mm, 인치(inch) | cm |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
raccoonbot = RaccoonBot(0)
# x 좌표를 10cm 로 정하기
raccoonbot.set_coordinate('wrist', 'x', 10, 'cm', wait=True)
# end_effector 기준 z 좌표
raccoonbot.set_coordinate('end_effector', 'z', 15, 'cm', wait=True)선택한 기준점에서 특정 좌표를 현재 값에서 지정한 양만큼 증감합니다. 변환된 관절 각도가 가동 범위(reach) 또는 관절 한도를 벗어나면 동작을 건너뜁니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| origin | 드롭다운 옵션 | 기준점 | 손목(wrist), 말단 장치(end_effector) | - |
| pos | 드롭다운 옵션 | 축 | x, y, z | - |
| data | 입력값 | 변경할 좌표 차 | 실수 | - |
| unit | 드롭다운 옵션 | 단위 | cm, mm, 인치(inch) | cm |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.change_coordinate('wrist', 'y', 5, 'cm', wait=True)x, y, z 좌표를 각각 지정한 값으로 한 번에 설정해 로봇 팔을 이동시킵니다. 변환된 관절 각도가 가동 범위(reach) 또는 관절 한도를 벗어나면 동작을 건너뜁니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| origin | 드롭다운 옵션 | 기준점 | 손목(wrist), 말단 장치(end_effector) | - |
| x | 입력값 | x 좌표 | 실수 | - |
| y | 입력값 | y 좌표 | 실수 | - |
| z | 입력값 | z 좌표 | 실수 | - |
| unit | 드롭다운 옵션 | 단위 | cm, mm, 인치(inch) | cm |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
raccoonbot = RaccoonBot(0)
# 리터럴 좌표
raccoonbot.set_coordinates('wrist', 0, 15, 20, 'cm', wait=True)
# 변수 배열 언패킹
raccoonbot.set_coordinates('wrist', *xyz, wait=True)말단 장치를 고정할 방향을 설정합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| mode | 드롭다운 옵션 | 고정 방향 | 고정 안 함(none), 수평(horizontal), 수직(vertical) | - |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.lock('horizontal')말단 장치로 사물을 집습니다.
매개변수: 없음
예제
raccoonbot = RaccoonBot(0)
raccoonbot.pick()말단 장치로 집은 사물을 놓습니다.
매개변수: 없음
예제
raccoonbot = RaccoonBot(0)
raccoonbot.place()현재 연결되어 있는 말단 장치 종류를 반환합니다. (1, 3, 4 → 집게 / 2 → 진공)
매개변수: 없음
반환값: 말단 장치 종류를 나타내는 정수(int). 0이면 미장착/미감지, 1·3·4는 집게류, 2는 진공입니다.
예제
raccoonbot = RaccoonBot(0)
raccoonbot.end_effector_device()말단 장치 상태를 반환합니다. (0 → 놓음, 1 → 잡음)
매개변수: 없음
반환값: 말단 장치 상태를 나타내는 정수(int). 0은 놓음, 1은 잡음입니다.
예제
raccoonbot = RaccoonBot(0)
raccoonbot.end_effector_status()라쿤봇이 지정된 음계를 재생합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| note | 드롭다운 옵션 | 음계 | 도(C), 도#(C#), 레(D), 레#(D#), 미(E), 파(F), 파#(F#), 솔(G), 솔#(G#), 라(A), 라#(A#), 시(B) | - |
| octave | 드롭다운 옵션 | 옥타브 | 1, 2, 3, 4, 5, 6, 7 | 4 |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.sound_note('D', 5)라쿤봇이 특정 사운드 클립을 재생합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| clip | 드롭다운 옵션 | 사운드 클립 이름 |
'mute', 'beep', 'beep2', 'beep3', 'beep_repeat', 'siren', 'siren_repeat', 'engine', 'robot', 'connect', 'wake_up', 'start', 'bye' 등 |
- |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.sound_clip('siren', wait=True)라쿤봇의 소리를 끕니다.
매개변수: 없음
예제
raccoonbot = RaccoonBot(0)
raccoonbot.sound_off()선택한 관절의 엔코더 값을 반환합니다. -1 을 입력하면 4개 관절의 엔코더 값 배열을 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| joint | 드롭다운 옵션 | 관절 번호 (또는 모든 관절) | 1, 2, 3, 4, 모든 관절(-1) | -1 |
반환값: 특정 관절을 지정하면 해당 관절의 엔코더 값(int/float). -1을 입력하면 [joint1, joint2, joint3, joint4] 형태의 4-element 배열을 반환합니다.
예제
raccoonbot = RaccoonBot(0)
# joint = 1
raccoonbot.encoder(1)
# 모든 관절
raccoonbot.encoder(-1)전달한 관절 각도 배열을 그대로 반환합니다. 변수에 현재 관절 각도 값을 저장하는 블록에 대응하며, 실제 변수 바인딩은 바깥쪽 변수 = ... 구문이 수행합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 (배열) | 저장할 관절 각도 배열 | 4-element 배열 또는 빈 배열 | - |
반환값: 입력으로 전달한 배열(list)을 그대로 반환합니다.
예제
raccoonbot = RaccoonBot(0)
encoder = raccoonbot.save_encoder([3, -6, -73, 60])기준점의 현재 xyz 좌표를 반환합니다. pos 를 생략(None)하면 [x, y, z] 전체 배열을, 지정하면 해당 축 값만 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| origin | 드롭다운 옵션 | 기준점 | 손목(wrist), 말단 장치(end_effector) | wrist |
| pos | 드롭다운 옵션 | 축 (또는 전체) | x, y, z, 또는 생략(None) | None |
반환값: pos 를 지정하면 해당 축의 좌표 값(int/float). 생략하면 [x, y, z] 형태의 3-element 배열(list)을 반환합니다.
예제
raccoonbot = RaccoonBot(0)
# 특정 축
raccoonbot.get_xyz('wrist', 'x')
# 전체 (3-element 배열)
raccoonbot.get_xyz('wrist')라쿤봇 본체의 버튼이 눌려있는지 여부를 반환합니다. unit 이 'any' 면 모든 버튼을 합쳐서 검사합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 버튼 이름 | 학습(teach), 재생(play), 전원(power), 삭제(delete), 어떤 버튼이든(any) | - |
| event | 드롭다운 옵션 | 이벤트 종류 | 눌림(pressed), 클릭(click), 길게 클릭(long_click) | - |
반환값: pressed 는 눌림 상태를 정수(int)로, click / long_click 은 이벤트 발생 여부를 참(True) / 거짓(False)으로 반환합니다.
예제
raccoonbot = RaccoonBot(0)
raccoonbot.button('teach', 'pressed')라쿤봇의 신호 세기 값을 반환합니다.
매개변수: 없음
반환값: 신호 세기 값(int/float).
예제
raccoonbot = RaccoonBot(0)
raccoonbot.signal_strength()라쿤봇의 배터리 전압 값을 반환합니다.
매개변수: 없음
반환값: 배터리 전압 값(int/float).
예제
raccoonbot = RaccoonBot(0)
raccoonbot.battery()컨베이어의 속도를 설정합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 컨베이어 속도 | -100 ~ 100 정수 | - |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.conveyor_speed(100)현재 컨베이어 속도에 입력값을 더해 새로운 속도를 설정합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 변경할 속도 차 | -200 ~ 200 정수 | - |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.change_conveyor_speed(10)컨베이어로 일정 거리만큼 이동시킵니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 이동 거리 | 실수 | - |
| unit | 드롭다운 옵션 | 거리 단위 | cm, mm, 인치(inch) | cm |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
raccoonbot = RaccoonBot(0)
raccoonbot.conveyor_move(50, 'cm', wait=True)컨베이어의 이동을 멈춥니다.
매개변수: 없음
예제
raccoonbot = RaccoonBot(0)
raccoonbot.stop_conveyor()컨베이어가 동작 중인지 여부를 참(True) / 거짓(False)으로 반환합니다.
매개변수: 없음
반환값: 컨베이어가 동작 중이면 True, 아니면 False (bool).
예제
raccoonbot = RaccoonBot(0)
raccoonbot.conveyor_running()컨베이어 모듈의 버튼이 눌렸있는지 또는 클릭했는지 여부를 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| event | 드롭다운 옵션 | 이벤트 종류 | 눌려있는가(pressed), 클릭했는가(click), 길게 클릭했는가(long_click) | - |
반환값: pressed 는 눌림 상태를 정수(int)로, click / long_click 은 이벤트 발생 여부를 참(True) / 거짓(False)으로 반환합니다.
예제
raccoonbot = RaccoonBot(0)
raccoonbot.conveyor_button('pressed')