
--- README.md
+++ README.md
... | ... | @@ -1,1 +1,63 @@ |
1 |
-# 아두이노-5p1축-로봇-펌웨어 |
|
1 |
+# 5+1 DOF 로봇 펌웨어 |
|
2 |
+ |
|
3 |
+이 펌웨어는 아래의 로봇을 조종하는 펌웨어입니다. |
|
4 |
+ |
|
5 |
+ |
|
6 |
+ |
|
7 |
+아래의 로봇은 아두이노 우노 rev.3 보드와 SensorShield v5.0 이 합체되어 로봇의 6개 서보를 조종합니다. |
|
8 |
+ |
|
9 |
+조이스틱 컨트롤러는 아날로그신호에 연결되어있으나, 기능은 없습니다. 수입사 SCIPIA가 제공한 코드를 바탕으로 로봇을 테스트하기위하여 부착되어있으며, 이 코드는 SCIPIA 코드와 무관합니다. |
|
10 |
+ |
|
11 |
+로봇은 반드시 12v DC 전원장치를 SensorShield v5.0에 연결해야 작동합니다. 없이는 전원이 부족하여 작동하지 않습니다. 현재 보유중인 장치는 DC 입력과 점퍼캐이블, 볼티지 레귤레이터가 다 달려 꽃기만 하면 됩니다. 없다면 최악의 경우 볼티지 레귤레이터 부품을 직접 만들어야 할 수도 있습니다. 다른 모든 부품은 중국에서 수입만 했는데 볼티지 레귤레이터만 SCIPIA가 직접 만들고 인증 받은것으로 보입니다. |
|
12 |
+ |
|
13 |
+### 예시 전원 장치 |
|
14 |
+ |
|
15 |
+ |
|
16 |
+ |
|
17 |
+ |
|
18 |
+ |
|
19 |
+## 로봇 제어 방법 |
|
20 |
+ |
|
21 |
+### 서보 설정 |
|
22 |
+ |
|
23 |
+서보는 0번부터 시작하여 5번까지 번호가 매겨져있으며 0번이 맨 아래이고 순서대로 번호가 매겨져 5번이 집게를 열고 닫는 역할을 합니다. |
|
24 |
+ |
|
25 |
+3번 서보와 5번 서보는 기동 각도가 다른 서보와 다르며, 3번은 130도, 5번은 105~8도 정도입니다. |
|
26 |
+ |
|
27 |
+5번이 0도일때 집게가 열린 상태이고 108도일때 완전히 닫힌 상태입니다. |
|
28 |
+ |
|
29 |
+**기동 불가능한 범위에 서보를 강제로 작동 시키거나, 서보 모터에 토크락이 걸린 상태에서 무리하게 서보를 움직이면 서보모터의 회로에 "스탈 토크"라는 현상이 일어나 과전류가 흐르고, 내부가 <u>불타 망가져버리니</u> 조심하시길 부탁드립니다.** |
|
30 |
+ |
|
31 |
+**이것은 특히 무거운 물건을 들어올릴려 할때 문제가 크게 됩니다. 100g 이상의 물건을 들어올리려 하지 마십시오.** |
|
32 |
+ |
|
33 |
+0번 서보는 3번 포트에, 1번은 2번에 3번은 8번에, 4번은 12번에, 5번은 13번에 꽃혀있으며 이는 코드상에서 변경 가능합니다. |
|
34 |
+ |
|
35 |
+### 시리얼 통신 |
|
36 |
+ |
|
37 |
+아두이노의 Serial Monitor나 시리얼 통신 터미널을 통하여 명령을 내릴 수 있습니다. |
|
38 |
+ |
|
39 |
+<video src="asset/monitor.webm"></video> |
|
40 |
+ |
|
41 |
+#### 직접조종 |
|
42 |
+ |
|
43 |
+```{S<서보번호>:각도, ...}```형태의 명령어를 통해 서보를 직접 조종할 수 있으며, 코드에 미리 정의된 한계각도범위를 벗어나면 수정됩니다. ```SERVO_MAX``` ```SERVO_MIN``` 행렬 변수에 의하여 코드상에서 선언되어 있습니다. |
|
44 |
+ |
|
45 |
+#### 녹화 |
|
46 |
+ |
|
47 |
+```RECORD``` 명령어를 통하여 행동에 대한 녹화가 가능하며, 1초에 한번의 명령을 수행한다고 할때, 약 30초의 명령을 저장 할 수 있을 것입니다. 아두이노 우노 기준으로 이미 SRAM이 부족해 이 이상은 어려우며, 하드코딩으로 30초 제한을 걸어두었습니다. 만약 다른 ESP32기기에 이식하게 된다면, 그때는 ```RECORD_TIMEOUT_MS``` 변수를 수정해 변경하는것을 고려 해 보십시오. 행동에 대한 녹화는 앞서 언급한 서보 직접 조종 명령어를 기록하여 수행됩니다. |
|
48 |
+ |
|
49 |
+#### 중지 |
|
50 |
+ |
|
51 |
+```STOP```은 ```RECORD```, ```PLAY``` 와 ```SEQUENCE```를 중단하는 기능입니다. |
|
52 |
+ |
|
53 |
+#### 재생 |
|
54 |
+ |
|
55 |
+```PLAY``` 는 ```RECORD```로 기록한 행동을 다시 재생합니다. |
|
56 |
+ |
|
57 |
+#### 시연 용 움직임 재생 |
|
58 |
+ |
|
59 |
+```SEQUENCE```는 코드상에 하드코딩된 행동을 재생합니다. 현재 들어가 있는 명령어는 병뚜껑을 잡아 오른쪽에 있는 컵에 넣는 행위를 기록한 것입니다. 빠른 시연을 위하여 만들어졌습니다. 아래의 영상을 참조하세요. |
|
60 |
+ |
|
61 |
+<video src="asset/demonstration.mp4"></video> |
|
62 |
+ |
|
63 |
+<video src="asset/demonstration.webm"></video>(파일 끝에 줄바꿈 문자 없음) |
+++ asset/IMG_6643.HEIC
Binary file is not shown |
+++ asset/IMG_6648.HEIC
Binary file is not shown |
+++ asset/IMG_6651.jpg
Binary file is not shown |
+++ asset/demonstration.mp4
Binary file is not shown |
+++ asset/monitor.webm
Binary file is not shown |
+++ asset/robot.jpg
Binary file is not shown |
+++ asset/스크린샷 2025-04-23 13-33-30.png
Binary file is not shown |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?