구독·요금
HUNTLAB
글마다 출처와 확인 날짜를 남기고, 개발 장비와 피지컬 AI는 직접 측정합니다.
LIFE
요금과 기준이 바뀌면 다시 확인해 고칩니다.
구독·요금
보험·고용
청약·주거
제도·통계
그림으로 읽는 원리
로봇 앞 1m의 점에 원점만 더하면 왜 틀릴까. 같은 점을 다른 좌표계로 옮길 때 회전과 이동이 모두 필요한 이유를 2D 예제로 설명한다.
글 읽기 · 약 12분 →LEARNING PATH
처음이라면 01부터 읽어보세요. 익숙한 주제는 건너뛰어도 좋습니다.
피지컬 AI 기초
처음 만나는 개념부터, 다음 글을 이해할 바탕까지.
입문 글: 피지컬 AI 작동 원리: 관측·행동·피드백을 숫자로 이해하기 →13편 읽기 →원리·알고리즘
인식, 판단, 행동과 피드백을 예제로 연결합니다.
입문 글: 피지컬 AI 좌표계: 같은 물체의 위치가 다르게 보이는 이유 →6편 읽기 →프레임워크·라이브러리
역할과 구조, 적용 조건을 공식 자료와 대조합니다.
입문 글: ROS 2와 tf2: 센서 데이터 전달과 좌표 변환을 구분하는 법 →22편 읽기 →실습·실험
준비 환경부터 결과와 한계까지 따라갑니다.
입문 글: 이동평균 필터 실습: 센서 노이즈를 줄이면 왜 반응이 늦어질까 →2편 읽기 →RECENT ARTICLES
새로 공개한 글부터 모았습니다.
2026.10.26 · 약 24분
시작 시각을 W보다 크게 주면 첫 /clock 이후의 음수 시각 예외는 사라진다. 그러나 /clock을 받기 전 ROS 시각은 0이라 생성자·벽시계 타이머·먼저 온 콜백의 now() − W는 여전히 실패한다. rclpy Jazzy 소스와 가짜 /clock 실험 5회로 실패 구간을 세고, 경계 0까지 막는 가드를 정한다.
2026.10.25 · 약 28분
apt update는 내 기계의 패키지 목록만 낡았을 때 404를 없앤다. update가 새 목록을 못 받았거나 서버가 옛 목록을 내주면 실패 개수는 그대로다. 오프라인 저장소에서 5회 잰 결과와 내 기계에서 같은 판정을 하는 순서를 정리했다.
2026.10.24 · 약 30분
같은 launch에 넣어도 bag은 녹화기가 구독한 순간부터 쌓인다. timer 값으로 센 개수는 하한이었고, 첫 /clock을 기다리는 동안 발행된 메시지는 5회 모두 bag에 없었다.
2026.10.23 · 약 33분
No module named 'rclpy'는 그 터미널의 source 문제이고, rclpy._rclpy_pybind11은 다른 Python 인터프리터 문제다. 셸·setup 파일·python3를 터미널마다 적어 import 가능 여부를 예측하고 종료 코드로 확인한다.
2026.10.22 · 약 26분
ROS 2 apt 서명 키 F42ED6FBAB17C654는 2019년부터 같은 키이고 만료일만 세 번 바뀌었다. ros2-apt-source는 키가 아니라 키와 저장소 설정이 기계에 도착하는 경로를 바꾼다. 언제 손이 덜 가는지 n·k로 계산하고, 예전 파일을 남겼을 때와 갱신을 놓친 기계의 apt 반응을 오프라인 컨테이너에서 확인했다.
2026.10.21 · 약 24분
LaunchConfiguration은 값이 아니라 실행할 때 문자열로 풀리는 자리표시자다. 리스트로 묶은 '2'와 '5'는 '25'가 되고, 노드 파라미터로 가면 정수 25로 들어간다. ROS 2 Jazzy 컨테이너 실측으로 계산 위치를 고른다.
2026.10.20 · 약 27분
RTF 상한은 센서의 시뮬레이션 주기를 가장 긴 처리 시간으로 나눈 값이다. 시뮬레이터는 노드를 기다리지 않고 프레임 간격만 늘리므로, 처리 시간이 튀면 상한 그대로의 RTF에서도 프레임이 버려진다.
2026.10.19 · 약 28분
-b 값을 토픽 데이터율로 나눈 시간이 -d보다 짧으면 크기가, 길면 시간이 분할을 정한다. Jazzy 컨테이너 실측 5회로 계산을 대조하고, 두 번째 파일부터 /tf_static이 빠지는 문제와 배포판별 하한·캐시 차이를 함께 다룬다.
2026.10.18 · 약 26분
PointCloud2의 data는 점 하나에 point_step 바이트씩 잘린 배열이다. 640×480 예제로 점 개수와 z의 바이트 위치를 계산하고, read_points_numpy가 is_dense와 fields[0] 때문에 기대와 다르게 움직이는 조건을 Jazzy 컨테이너 실측으로 확인한다.
2026.10.17 · 약 22분
픽셀을 미터로 바꾸는 고정 비율은 없다. K에서 fx, cx를 꺼내 (u − cx)·Z/fx로 되돌리고, 재투영 검산에 Z 일치 검사를 함께 붙여야 하는 이유를 실행 결과로 보여 준다.
2026.10.16 · 약 27분
Time()은 지금을 읽지 않는다. 같은 rclpy Time 클래스도 만드는 경로마다 기본 시계 종류가 달라서, 나노초 값이 같아도 비교가 TypeError로 끝난다. 손 계산과 ROS 2 Jazzy 컨테이너 실측으로 그 지점을 확인한다.
2026.10.15 · 약 28분
rate.sleep()이 첫 반복 뒤 멈추는 이유와 루프가 목표 Hz보다 느려지는 이유는 다르다. Jazzy rclpy 소스, 8 Hz 계산 예제, 8가지 구성의 컨테이너 실측으로 둘을 구분하고 spin 스레드·MultiThreadedExecutor·create_timer 중 무엇을 쓸지 정한다.
기초 용어는 예시와 함께 설명합니다. 공식 자료 해설, 시뮬레이션, 실제 장비 실험을 구분하고, 실행한 예제에는 환경·버전·결과와 한계를 남깁니다.
현재 공개된 편집·정정 원칙 →WordPress 운영과 자동화 기록은 별도 아카이브로 보존합니다.