Rockchip RV1103 한 칩에 스테레오 비전과 리눅스를 넣은 4층 보드, 설계 파일까지 공개
- Rockchip RV1103(1.1GHz Cortex-A7 코어 1개, DDR2 64MB, MIPI CSI-2)을 QFN-88 패키지째로 얹고 4층 PCB로 스테레오 비전 보드를 직접 설계함
- 설계 파일은 GitHub o7-machinehum/4reel에 공개했고, 부팅 후 시리얼로 깊이 데이터를 내보내 Arduino급 보드의 장애물 회피나 내비게이션에 붙이는 구성임
- OS는 Buildroot로 sdcard.img를 만들어 부팅했지만 MIPI 드라이버와 하드웨어 가속기는 업스트림에 없어 Rockchip 벤더 BSP에서 가져와 아웃오브트리 커널로 빌드함
- 깊이 계산은 SoC 안의 SAD(sum of absolute differences) 엔진에 전용 librve.a로 작업을 걸어 처리하고, 카메라 한 대당 V4L2 노드 11개가 /dev/videoX로 노출됨
- 첫 주문에서 SoC를 잘못 사고 렌즈 마운트 구멍이 2.2mm 대신 1.8mm로 뚫리고 0.9V 트레이스가 가늘었지만, 나머지는 1차 시도에서 대체로 동작함
Hacker News 의견들
이거 BOM 비용이 얼마나 나오냐? 하나 만들어볼까 싶은데 부품값이 궁금함
SAD 방식 재밌는데 계산 시간은 얼마나 걸리냐? 오프셋 탐색 범위가 엄청 넓지 않나 싶고, 최소 거리를 제한해서 그걸 줄이는 건가? 반복 패턴 있는 물체를 멀리 있는 걸로 잘못 읽는 경우도 있을 것 같은데
SAD는 평범한 데스크톱 CPU에서도 실시간보다 빠르고 파이에서도 돌아감. 글쓴이가 스테레오 캘리브레이션 과정을 거의 다 생략했는데, 카메라 두 개 붙여서 매처만 돌리면 되는 게 아님. disparity는 거리에 반비례해서 탐색 범위가 작고, 캘리브레이션이 맞으면 무한원점 disparity가 0이라 수평으로만 찾으면 픽셀당 64 연산 정도임. census 비교에 hamming distance 쓰는 쪽이 더 안정적이고, 반복 텍스처도 문제지만 빈 벽처럼 텍스처가 아예 없는 게 보통 더 나쁨
수평 패스만 하려면 손볼 게 엄청 많음. 센서가 단단히 고정돼야 하고 두 축으로 기계적 캘리브레이션을 해야 하고, 센서 사이 재료의 열팽창 계수까지 따져야 함. 잘 만든 스테레오 시스템은 카메라를 무거운 합금 덩어리에 붙여놓더라
이거 멋지게 잘 만들었네. 쓸 데가 있으면 하나 사고 싶은데 지금은 필요가 없어서 아쉽다
베이스라인 거리랑 클럭 신호 분배 문제는 왜 언급이 없냐? 그리고 그냥 PS5 카메라 사면 되는 거 아닌가, PS5는 USB 플러그로 바뀌었고 PS4 카메라용 어댑터도 있는 걸로 아는데
오픈소스나 오픈하드웨어 프로젝트 볼 때마다 '그냥 상용품 사면 되는 거 아니냐'고 묻는 거임?
일반적인 결론을 내리려면 두 번째 플랫폼에서도 빌드해보는 걸 보여줘야 할 듯
같은 블로그의 하드웨어 스타트업 실패기 글이 재밌었음. 성공담도 창업 가이드도 아니고 그냥 실패 이야기인데, 실패는 창피해서 잘 안 꺼내놓으니까 이런 글은 드묾