LiDAR 탐색기 연습문제 정답
시행일·최종 수정일: 2026년 9월 1일
정답을 보기 전에
먼저 각 문제에 자신의 말로 답해본 뒤 해설과 비교해 보세요. 표현이 달라도 핵심 개념과 계산 과정이 맞으면 정답으로 볼 수 있습니다.
1. 사용 중인 LiDAR의 측정 방식·Wavelength·Scan Rate·각도 해상도·Return Mode를 조사하세요.
정답과 해설
Datasheet와 Driver Parameter에서 Pulsed ToF·Phase·FMCW 등 방식, nm 단위 파장, Hz, 수평·수직 각도 간격과 First·Strongest·Last Return을 기록합니다. 각 수치의 반사율·거리·햇빛 조건도 함께 적습니다.
2. LaserScan의 모든 유효 Point를 XY로 바꾸고 정면 Sector의 최소 거리를 계산하세요.
정답과 해설
angle=angle_min+i*angle_increment, x=r*cos(angle), y=r*sin(angle)를 사용합니다. finite이며 range_min/max 안인 값만 쓰고 정면 각도 범위의 최소값과 해당 각도를 반환합니다.
3. angle_increment가 음수인 가상 Scan에서도 동작하는 Test를 만드세요.
정답과 해설
Index 중앙을 정면으로 가정하지 않고 공식으로 각도를 계산합니다. 양·음 증분의 동일 Geometry Scan을 만들어 정면 Sector의 Point와 최소 거리 결과가 같고 배열 경계를 넘지 않는지 Test합니다.
4. 유리·거울·검은 천·얇은 봉의 유효율과 거리 오차를 측정하세요.
정답과 해설
알려진 거리·각도에서 재질별 수백 Scan의 Return 비율, 평균 Error·표준편차·Intensity와 Ghost Point를 기록합니다. 거리·입사각·햇빛 조건을 바꾸고 검출 실패가 Free Space로 잘못 해석되지 않게 정책을 세웁니다.
5. PointCloud2의 fields·point_step·row_step을 검사하는 Program을 작성하세요.
정답과 해설
필수 x·y·z Field의 Datatype·Offset을 찾고 Field 끝이 point_step 안인지 확인합니다. len(data) >= row_step*height, row_step과 point_step·width 관계, Endian을 검증하며 Padding을 허용합니다.
6. LiDAR–base_link Extrinsic을 벽·바닥 Target으로 검증하세요.
정답과 해설
평면 벽과 바닥을 여러 Robot 자세에서 측정해 변환 후 Plane Normal·거리 Residual을 구합니다. 고정 Target이 자세 변화에도 같은 base/map 위치에 겹치는지 확인하고 xyz·roll·pitch·yaw를 독립 검증 Data로 평가합니다.
7. 최고 속도에서 한 Scan 중 이동·회전 오차를 계산하세요.
정답과 해설
Scan Time T에 대해 Translation은 vT, Rotation은 ωT입니다. 거리 R의 Target에 대한 회전 횡오차는 소각도에서 대략 RωT입니다. 최고 직진·회전과 먼 Target 조건으로 Deskew 요구를 정합니다.
8. Deskew 전후 평면 잔차와 Scan Matching Score를 비교하세요.
정답과 해설
동일 Bag에서 Raw와 Deskew Cloud를 생성해 벽 Plane RMS·p95 잔차, Frame 간 Matching Fitness와 Pose Error를 비교합니다. Clock Offset과 Point Time 단위를 바꾸지 않고 CPU·추가 Latency도 기록합니다.
9. Crop·Voxel·Outlier Filter별 Point 수·시간·장애물 Recall을 측정하세요.
정답과 해설
각 단계 전후 Point 수, 실행 시간과 Memory를 기록하고 얇은 봉·먼 장애물·경사로 Ground Truth Recall을 측정합니다. 가장 싼 Crop을 먼저 적용하고 Voxel 크기·이웃 Threshold를 바꿔 Pareto 조건을 찾습니다.
10. Raw PointCloud와 Downsample 결과의 대역폭·CPU·지연을 비교하세요.
정답과 해설
같은 입력에서 topic bw, Publisher·Subscriber CPU, Serialization과 Stamp-to-output 지연을 측정합니다. Voxel 크기별 Point 수와 Detection·Mapping 품질을 함께 기록해 Robot 내부 Raw와 원격 축약 경로를 나눕니다.
11. Intensity를 거리·입사각별로 측정해 Threshold의 한계를 설명하세요.
정답과 해설
같은 재질을 여러 거리와 각도로 측정해 Intensity 분포를 만듭니다. 값이 재질뿐 아니라 거리·각도·Gain·오염에 따라 변하므로 하나의 고정 Threshold가 Reflectivity를 직접 분류하지 못함을 확인하고 Normalization을 검토합니다.
12. Corridor·넓은 빈 공간·군중에서 Localization 품질을 비교하세요.
정답과 해설
Ground Truth 또는 반복 경로 기준으로 Pose Error, Scan Matching Score, Covariance와 재Localization 횟수를 기록합니다. Corridor는 방향 Ambiguity, 빈 공간은 Geometry 부족, 군중은 동적 Outlier가 원인인지 Bag으로 분석합니다.
13. Scan 중단·Freeze·Stamp 역행·Window 가림을 Monitor에 주입하세요.
정답과 해설
Publish 중지, 같은 배열 반복, 과거 Stamp와 특정 Angle Sector 제거를 각각 주입합니다. Timeout·Stamp Error·각도별 유효율 경보 시간, False Positive, 감속·정지와 제한된 재시작 정책을 검증합니다.
14. 비·안개·먼지·다른 LiDAR 간섭 시험 계획을 작성하세요.
정답과 해설
안전한 시험 설비에서 조건별 Ghost·근접 Point, 유효율, Range와 Intensity 변화를 측정합니다. Sensor별로 단독·동시 작동을 A/B 비교하고 Filter 전후 사람·얇은 장애물 Recall이 유지되는지 확인합니다.
15. LiDAR 실패 시 감속·정지·Sensor 대체와 E-stop 절차를 검증하세요.
정답과 해설
저속 격리 공간과 E-stop Operator를 확보하고 Timeout·품질 저하를 주입합니다. Watchdog 탐지부터 제한 속도·Zero Command까지 시간을 측정하고 Camera·Ultrasonic 대체가 허용되는 범위, 수동 승인 복구와 Rollback을 문서화합니다.
학습 마무리
틀린 문제는 강의의 관련 장을 다시 읽고, 용어뿐 아니라 각 개념이 실제 로봇에서 어떤 역할을 하는지 설명해 보세요.