Kiro Building Note 7 (v0.3)

v0.3
7월 24일부터 8월 14일까지 총 22일의 여정이 오늘로 끝이 났다. 하드웨어, 제어, 전자책 변환까지 모든 부분에서 대폭 개선되었다.
11페이지 연속으로 넘기는 무편집 풀영상 공개한다.
이렇게 스캔한 것을 전자책으로 변환하면 아래처럼 나온다!

Arm
디스크 + 턴암 구조가 아닌 암베이스 (암 3개 모아놓은 곳) + 리프트암 (오른쪽 종이 드는 암) + 턴암 (리프트암이 든 종이를 넘기는 암) + 홀드암 (턴암이 넘긴 종이를 왼쪽에 고정시키는 암) 구조로 변경했다.
Lift Arm
책 기준 좌우 방향의 힘을 주게 되면 1장만 들리는 것이 보장이 안되기에 반드시 위로만 들어야 했고, 들면서 떨어지지 않기 위해서는 회전축이 책등이어야 했다. 이 조건을 만족하는 구조로 리프트 암을 설계했다.

Lift Arm Tip
암팁으로는 양면테이프, 실리콘테이프, 흡착, ElectroAdhesion 4개 방법이 존재했다. 양면테이프는 접착력이 너무 세고, 흡착은 1장만 들리는 것이 보장이 안되며, ElectroAdhesion은 구현이 어려워 실리콘테이프를 선택했다.
Plate
종이박스에서 더 단단한, 고정할 수 있는 플레이트가 필요했다. 아크릴 레이저 커팅을 하기에는 플레이트 모델링이 확정 나지 않아서 내가 직접 언제든 수정할 수 있으면서 단단한 재질이어야 했다. 제일 적절한 MDF를 선택했다. 워크벤치, 샌딩 블럭, 목공용 본드, 손톱, 클램프, 가이드 자 등을 구매하고 제작했다.
Head

위 헤드에는 LED를 위한 공간이 있지만 현재 LED를 쓰지 않는 것으로 결정했다. 헤드에 필요한 것이 넥과 튼튼하게 연결될 수 있어야 하고, 카메라를 책 중심 위에서 고정할 수 있어야 했다. 이런 것을 만족하는 기성품을 찾긴 어려워 직접 3D 모델링하고 프린트했다.
Neck
종이박스, MDF, 3D프린팅, PVC닥트, 알루미늄 프로파일 정도의 후보가 있었다. 헤드가 흔들리지 않도록 단단하게 고정되며 카메라 선을 안 보이게 숨겨서 플레이트까지 연결시켜줄 수 있어야 했다. MDF로 하기엔 시간이 오래 걸리고 3D프린팅으로 하기엔 길이 제한에 걸리고, 알루미늄 프로파일은 가격이 있어 PVC닥트를 선택했다. 1미터짜리를 사고 톱으로 48cm 잘라서 사용 중이다.
Control
1. Observation -> State (Perception): Contour, mask, 외곽선 근사 등 OpenCV 알고리즘
2. State -> Action (Policy): 알고리즘
아래처럼 state diagram을 그렸다.

Policy는 바로 알고리즘으로 정하고 구현했다.
그 다음 Perception에 대해서 알고리즘, ML, VLM, Hybrid 4개 다 시도해보고 최종적으로 위 OpenCV 알고리즘만을 활용해 제어하고 있다. VLM은 디테일이 떨어져 올바른 판단을 할 확률이 낮아서 포기했다. ML은 image classification, object detection, semantic segmentation, keypoint detection 4가지 태스크로 시도해봤다. 4가지 모두 키로의 상황이 워낙 특수해 정상적으로 동작하지 않았다. 직접 데이터를 모아야 했는데 이는 피하고 싶었다.
암이 워낙 특수한 구조라 오히려 알고리즘으로 인식하는 것이 할 만 했다. 초반에는 OpenCV를 잘 몰라서 어려움을 겪었는데 전통적인 알고리즘 중에 괜찮은 것들이 많았고 이런 것들을 적극적으로 활용하고 조합했다.
이 알고리즘을 지속적으로 발전시키고 속도를 높이기 위해 디시전로깅 시스템, 라벨링 시스템, 리플레이 시스템 3개를 개발했다.
Epub
전자책 변환도 크게 3가지를 개선했다.
- 페이지 넘길 때 끊긴 내용 잇기
- 글자 스타일 적용
- 문장 구조 모두 똑같이
좌우를 잘라서 각 페이지별로 OCR하고, 프롬프트 개선하고, 전자책 변환할 때 내용이 보다 자연스럽게 이어지도록 했다.
최종 구성 요소
분류 | 품목 | 가격 |
---|---|---|
💻 제어 보드 | Raspberry Pi 3 B+ | 55,000원 |
🎥 카메라 | Logitech C270 웹캠 | 25,070원 |
⚙️ 모터 | MG90S 3개 | 6,000원 |
🔌 전원 | 5V 2A 어댑터 / 5V 6A 어댑터 | 20,100원 |
🔋 저장장치 | SanDisk microSD 32GB | 6,100원 |
🧠 케이블 & 회로 | WAGO커넥터, 점퍼케이블, USB-A to 마이크로5핀, 컨버터 | 5,000원 + 100원 + 3, 830원 + 330원 = 9,260원 |
🦾 바디 구조물 | MDF (플레이트), 필라멘트 (암베이스, 암, 헤드), PVC닥트 (넥) | 14,000원 * 1/2 + 31,350원 * 1/5 + 2,750원 * 1/2 = 14,645원 |
총합 | 135,700원 |
(LED를 삭제했다.)
최종적으로 v0.3에서 원가는 135,700원이다. v1.0까지는 원가 절감하진 않고 그 이후에 진행할 계획이다.
v1.0
Kiro 상용화
8/15부터 8/25까지 11일 동안 진행한다.
- 홀드 시스템
- 하드커버 책이 아니면 넘어간 책이 다시 돌아올려는 힘이 너무 강해서 문제가 생김
- 넘어간 책 튼튼하게 고정
- 고도화
- 100페이지 연속으로 넘길 수 있도록 제어 고도화
- 전자책 변환 고도화 (암에 가려진 부분 처리하고, 인식되지 않는 부분들까지 인식)
- 11대 생산 준비
- 8/26부터 바로 판매 들어갈 예정
- 그 전에 11대 생산 준비 미리 해두고 2-3대는 만들어둘 예정
- 키로 스튜디오
- 스캔 결과 확인
- 전자책 다운로드
- (Optional) 스캔 결과 수정
- 배포
- Wifi 설정
- 설명서
OTA는 스킵하기로 했다. 파이쪽 코드를 수정할 일이 없을 것 같다.
11대 판매가 슬슬 눈 앞에 보인다. 아직 해결해야 할 건 많이 남았다. v1.0까지 하루하루 정말 소중하게 보내면서 꼭 목표 달성하자. v0.3 하면서 완전 엔지니어가 됐는데 다시 엔지니어를 놓아야 한다. 완벽하게 100%일 수 없고 99%일텐데 나머지 1%를 어떻게 처리해야 사용자 입장에서 제일 편한지 계속 고민하자.
8월 꼭 11대 팔아보자!!!