엣지는 실행 장소이고 부품 이름은 역할의 전부가 아니다
엣지 컴퓨팅은 센서/로봇 가까운 장치에서 처리를 수행하는 구성이다. 카메라 영상을 로컬에서 전처리하고 정책을 추론하거나 원격 서버로 일부를 보내는 구성이 모두 가능하다. 로컬이라는 말만으로 지연이 작거나 인터넷 없이 모든 기능이 동작한다고 보장되지 않는다. 센서 취득·복사/큐·모델/통신·실행의 경로를 실제로 나눠 확인해야 한다.
Raspberry Pi도 제품군을 구분한다. 제조사 공식 문서는 Linux를 실행하는 단일 보드 컴퓨터(SBC)와 일반 Linux를 실행하지 않는 Pico 계열 마이크로컨트롤러를 구별한다. 여기서 SBC는 CPU/메모리·주변 인터페이스가 한 보드에 있는 컴퓨터, 마이크로컨트롤러(MCU)는 제한된 메모리/주변장치 제어에 맞춘 소형 제어 칩/보드라는 뜻으로 사용한다. 같은 회사 제품이라고 동일한 Python 패키지·운영체제·모델을 실행할 수 있는 것은 아니다.
로봇에서는 상위 컴퓨터가 영상/정책을 처리하고 별도 제어기가 구동 루프를 담당할 수 있다. 실제 분담은 장치/드라이버 계약에 따른다. SBC에서 프로그램이 실행된다는 사실로 정해진 제어 기한이 보장되지는 않는다. 반대로 특정 언어/보드 종류만으로 로봇 제어 가능 여부를 결정할 수도 없다. 명령 단위·주기/만료, 상태 피드백과 장애 시 행동을 계층 사이에 정의한다.
파일 크기와 실행 중 메모리를 다른 열에 적는다
저장 공간은 모델/영상·로그 파일을 보관하는 공간이고 RAM은 실행 중 데이터를 놓는 작업 공간이다. RAM의 가용량은 제품에 적힌 총량에서 운영체제/서비스 등이 사용하는 양을 뺀 값이다. 가중치 파일이 저장 장치에 들어간다고 모델이 RAM에서 실행되는 것은 아니다. 정밀도/직렬화·런타임 변환 때문에 파일과 실행 가중치 크기도 다를 수 있다.
메모리의 MiB는 2의 20승 byte, MB는 10의 6승 byte다. 아래 가상 예는 모두 MiB를 사용한다. 가용 RAM이 512 MiB이고 모델 가중치 160, 활성값/작업 공간의 관측 peak 120, 카메라 버퍼/복사 80, 기타 런타임 64 MiB가 동시에 필요하면 합은 424 MiB다. 512−424=88 MiB가 남는다. 활성값은 입력을 처리하며 생기는 중간 텐서이고 작업 공간은 연산 도구가 임시로 쓰는 영역이다. 항목이 중복 계상되지 않았는지와 실제로 같은 시점의 peak인지도 확인한다.
운영 예비량을 64 MiB로 정한 이 합성 요구에서는 424+64=488 MiB라 24 MiB 여유다. 입력 해상도를 바꾸며 추가 버퍼 96 MiB가 동시에 생기면 584 MiB가 되어 72 MiB 초과한다. 파일 160 MiB만 비교하면 이 실패를 놓친다. 예비량 64 MiB는 과제 입력이며 모든 장치의 권장 비율이 아니다. 실제 peak에는 allocator/드라이버·공유 메모리/다른 프로세스가 영향을 줄 수 있다.
입력이 RGB uint8이고 행 padding 없이 640×480×3 byte라고 가정하면 한 장은 921,600 byte다. float32 변환은 성분당 4 byte라 3,686,400 byte가 된다. 원본과 변환본 두 개가 동시에 있으면 단순 합도 4,608,000 byte다. batch/시간창·큐에 복사본이 더 있으면 그 수를 함께 곱한다. 실제 카메라의 encoding/stride는 별도 확인하며 이 식을 모든 영상 저장 형식에 적용하지 않는다.
전력과 에너지는 시간의 유무가 다르다
전력 P의 단위 W는 초당 에너지 J이며 같은 DC 경계에서 전압 V(volt)와 전류 I(ampere)의 곱으로 P=VI를 계산한다. 에너지는 일정한 전력을 시간 h 동안 사용하면 Wh로 P×h다. 전원 장치의 출력 가능 정격과 실제 부하의 소비 전력은 다르다. 커넥터 모양/정격 전압 일치만으로 주변장치 포함 전력·전류/과도 부하와 호환이 보장되지 않는다.
가상 전원 출력 경계에서 컴퓨터 6 W, 카메라 2 W, 기타 주변장치 1 W를 동시에 소비한다고 주면 합은 9 W다. 이 9 W를 5 V 경계의 전류로 바꾸면 1.8 A다. 특정 Raspberry Pi의 정격/실측값이 아니며, 모터/구동 전원은 포함하지 않은 합성 표다. 다른 전압 경계의 전류를 그대로 더하지 않고 변환 손실과 부하를 먼저 정의해야 한다.
배터리에 사용할 수 있는 에너지가 20 Wh이고 부하까지 변환 효율이 일정한 0.8이라면 전달 가능한 에너지는 16 Wh다. 부하 9 W가 일정할 때 시간은 16/9≈1.78 h다. 효율을 두 번 곱하거나 W를 Wh와 같은 값으로 취급하지 않는다. 카메라/부하 변화, 배터리 상태·온도/차단 조건이 바뀌면 이 시간도 달라진다. 실제 전원 연결/방전 시험을 요구하지 않는다.
짧은 추론 성공과 지속 운용을 구분한다
제조사 문서는 부하에 따른 열 관리와 주파수 조정을 설명한다. 그러므로 짧은 실행의 처리 시간만으로 지속 운용을 승인하지 않는다. 냉각/케이스·주변 온도, 전원과 주변장치 조건을 함께 기록하고 안정화 전후의 지연·메모리/오류를 비교한다. 이 단위는 특정 온도 한계를 모든 제품에 일반화하지 않는다.
가상 기록에서 초기 처리 시간이 40 ms였지만 지속 부하 뒤 65 ms가 되고 과제 기한이 50 ms라면 초기에는 10 ms 여유, 후반에는 15 ms 초과다. 열 때문에 느려졌다는 결론은 아직 가설이다. 온도/주파수·전원 상태, 경쟁 프로세스·입력/큐 길이를 같은 시간축에서 기록하고 조건을 통제해 원인을 구별한다. 평균만 줄었다고 deadline 누락이나 메모리 부족이 사라진 것도 아니다.
재현 표에는 제품/메모리 구성, OS/아키텍처, 모델/런타임·전처리 버전, 입력 해상도/주기, 스레드/주변장치와 지속 시간·온도/전원 조건을 적는다. 본 교재의 ROS 선택 경로는 Jazzy/Ubuntu 24.04 기준이지만 모든 보드/주변 패키지의 지원을 자동 보장하지 않는다. 기존 6.2 정량 진단으로 측정 경계를 연결하자. 아래 표 계산의 통과는 실제 Pi/로봇의 성능이나 안전 승인과 별도다.