충전 문제가 로보틱스 엔지니어링 문제가 되다
개발 시간을 실제로 크게 방해한 첫 번째 문제는 ROS도 AI도 아니었다. 충전이었다.
일반적인 배터리 사용 방식은 긴 개발 세션에 불편했다. 특히 벤더 가이드는 충전 중에는 로봇을 작동시키지 말라는 것이었다.
그러면 개발 과정이 이렇게 된다.
develop
↓
battery gets low
↓
stop the robot
↓
charge
↓
lose the running development environment
↓
resume later
추가 배터리 커넥터, 12.6 V charging path, main power input, 가능한 BMS 개선, 그리고 stationary development를 위해 로봇을 별도 전원으로 구동할 수 있는지를 조사했다.
벤더로부터 확인한 가이드는 대략 다음과 같았다.
- 충전 중에는 로봇을 작동하지 않는다.
- 외부 DC 전원은 12 V main-power connection을 통해 사용할 수 있다.
- 최소 약 6 A를 공급할 수 있는 전원을 사용한다.
- 외부 전원을 사용할 때는 배터리를 분리한다.
- 외부 전원 사용 중에는 charging path를 사용하지 않는다.
- 전원공급장치를 먼저 켠 뒤 로봇을 켠다.
이 답변으로 개발 방식이 바뀌었다.
이동용 전원과 개발용 전원을 분리하기
긴 stationary session을 위해 Jesverty SPS-3010V bench power supply와 필요한 케이블을 선택했다. 이렇게 하면 배터리를 소모하지 않고 12 V로 로봇을 구동할 수 있다.
작동 모델은 다음처럼 분리된다.
MOBILE
battery → robot
STATIONARY DEVELOPMENT
bench PSU → robot
battery disconnected
이 구성이 완성되면 긴 SSH, ROS, camera, arm, debugging 세션이 훨씬 현실적으로 가능해질 것이다.
더 흥미로운 결과
처음에는 단순한 충전 불편 문제였지만 곧 더 큰 질문으로 이어졌다.
- power path를 개선할 수 있을까?
- main power를 언젠가 소프트웨어로 안전하게 switch할 수 있을까?
- charging state를 감지할 수 있을까?
- 로봇이 스스로 dock으로 이동할 수 있을까?
- 신뢰할 수 있는 charging dock은 어떤 구조여야 할까?
- 어떤 부품을 직접 제작하거나 3D print할 수 있을까?
불편한 배터리 제한이 미래의 로보틱스 프로젝트로 바뀌었다.
이 패턴은 이 저널에 계속 남길 가치가 있다. 개발을 느리게 만드는 문제들이 실제 production robot 역시 해결해야 하는 문제—uptime, energy management, charging, safe switching, recovery—를 가리키는 경우가 많다.