Robot Software Engineer

KIM JONG MYUNG

|

About Me

김 종 명

Robot Software Engineer

Seoul, Republic of Korea
jongbob1918@gmail.com

Education

인하공업전문대학 | 항공기계공학과

애드인에듀 | AI 자율주행 로봇 개발자 과정 9기 수료

Tech Stacks

ROBOTICS
ROS1/2 Nav1/2 Gazebo Isaac Sim
LANGUAGE & FRAMEWORK
Python C++ Git Ubuntu Docker
AI & Vision
PyTorch OpenCV Object Detection Pose Estimation
Collaboration
Jira Confluence Slack

01. JAVIS (도서관/카페 서비스 로봇)

Team 9인 프로젝트
Period 2024.09 - 2024.11
ROS 2 Nav2 State Machine

도서관, 카페 등 복합적이고 좁은 실내 환경에서 단순 주행을 넘어 안내, 서가 정리 등 구체적인 임무를 수행할 수 있는 통합 로봇 시스템 구축을 목표로 개발

Key Features & My Role
DMC Logic
DMC GUI
1. Robot Main Controller 개발

State Machine 기반으로 로봇를 제어하고 예외 상황(배터리, 충돌)을 고려해 설계하여 안정성을 확보하고 Main Controller 전용 GUI 툴을 개발해 로봇 내부 상태를 시각화 및 검증

DMC Logic
DMC GUI
2. 서브시스템 추상화 설계 & Mock 구현

AI, 주행, 암 제어 등 하위 시스템과의 통신 규약을 추상화하여 타 파트의 진척도와 무관하게 개발할 수 있도록 인터페이스를 정의하고 Mock 객체를 구현하여 테스트시 병목현상을 예방

Nav
3. Navigation 최적화

Navigation Stack 분석을 기반으로 Costmap 파라미터 튜닝 및 다양한 컨트롤러 비교 검증을 수행하여 좁은 통로와 복잡한 서가 환경에서의 주행 성능을 최적화

01. JAVIS - Trouble Shooting

Narrow Passage Issue
Collision Costmap
Problem
로봇 폭과 유사한 좁은 통로 진입 시, Inflation Radius가 크면 진입 불가 판정을 내리고 작게 하면 벽면 충돌 위험이 발생하는 딜레마 발생.
Solution
Smac Planner Hybrid: 로봇의 Footprint와 회전 반경을 고려한 경로 생성
Cost Scaling: 좁은 통로를 '진입 불가'가 아닌 '고비용 구역'으로 설정하여 안전 마진을 확보하며 주행 성공
Local Minima (Stuck)
DWB Stuck MPPI Path
Problem
복잡한 서가 환경에서 DWB 제어기가 단일 최적 경로만 고집하다가 장애물에 갇혀 회전만 반복하는 현상(Recovery Loop) 발생.
Solution
MPPI Controller: 수천 개의 경로를 샘플링하여 동적으로 최적 경로를 탐색
Result: 복잡한 환경에서는 감속 회피, 넓은 곳에서는 고속 주행하는 유연성 확보

02. ROOMIE (호텔 실내 서비스 로봇)

Team 4인 프로젝트
Period 2025.07.07 - 08.13
Role Arm Control, PM
ROS 2 ikpy Visual Servoing JiraPythonEsp32
Project Intent

호텔 객실 배송 서비스와 기존 엘리베이터 연동 API 의존성을 탈피하고 별도의 통신 인프라 없이 로봇이 영상을 인식하고 물리적으로 버튼을 조작하여 층간 이동이 가능한 독립적 주행 시스템을 목표로 개발

Key Features & My Role
IK
1. Inverse Kinematics (IK)

카메라 좌표(Vision)와 엔드 이펙터(EE)사이에 켈리브레이션 행렬과 변환 행렬을 설정하여 좌표를 변환하고 엔드 이펙터(EE)와 로봇팔 베이스의 관절 각도(Joint)를 ikpy와 휴리스틱 기반으로 관절 각도 계산

Visual Servoing
2. Visual Servoing

카메라로 인식한 2D 버튼 좌표를 OpenCV라이브러리를 사용하여 3D 공간 좌표로 실시간 변환하여 로봇팔이 목표를 추종하도록 제어

PM
3. Agile & PM

Jira를 도입하여 스프린트 단위로 이슈를 관리하여 프로젝트 개발 가속도를 높임

02. ROOMIE - Technical Challenges

Jerk & Vibration
Vibration S-Curve Graph
Problem
저가형 서보모터 특성상 동작 시작/정지 시 급격한 가속도 변화(Jerk)로 인해 엔드 이펙터가 심하게 떨려 버튼 누르기 실패.
Solution
S-Curve Profiling: 속도 프로파일을 가우시안 곡선 형태로 설계하여 가/감속 충격 완화
Result: 잔진동을 90% 이상 제거하고 기어 마모 방지 효과 확인
Offset Error
Camera View Arm Position
Problem
카메라 렌즈 왜곡과 설치 위치 오차로 인해, 비전 센서가 인식한 버튼 좌표와 실제 로봇 팔이 타격하는 위치가 어긋남.
Solution
Hand-Eye Matrix: $T_{tool \to cam}$ 변환 행렬을 계산하여 물리적 오프셋 보정
Two-Step Control: '중심 정렬(Align)' 후 '전진(Push)'하는 2단계 제어로 정확도 향상

03. FALCON (항공 운항 AI 안전 서비스)

Team 4인 프로젝트
Period 2025.05.26 - 07.03
Object Detection Object Tracking OpenCV Homography Blender Python
Project Intent

활주로 내 이물질(FOD)과 무단 침입자를 CCTV로 실시간 감지하고 관제사가 즉각 대응할 수 있도록 위험물의 정확한 구역 위치(GPS/Map 좌표)를 제공하는 관제 시스템을 구축

Key Features & My Role
Tracking
1. 정밀 탐지 및 추적

YOLO v8 커스텀 학습(90%↑) 및 ByteTrack 알고리즘을 적용하여 객체 ID 유지 및 이동 경로 추적 구현

Coordinates
2. 실좌표 변환 시스템

Homography(원근 변환) 기법으로 CCTV의 2D 픽셀 좌표를 실제 지도의 거리 단위(Meter)로 변환하여 구역별 위치 정보 제공

Classification
3. 작업자 인가 여부 식별

HSV 색상 분할 기법을 적용하여 형광 조끼 착용 여부를 판단, 인가된 작업자와 침입자를 구분

03. FALCON - Technical Challenges

2D to 3D Accuracy
CCTV View Map View
Problem
CCTV 화면(2D 픽셀)만으로는 활주로 내 객체의 실제 거리와 정확한 GPS 좌표를 파악할 수 없어 관제 데이터로 활용 불가.
Solution
Homography: 활주로 4개 지점 ArUco 마커를 기준점으로 투영 변환 행렬 산출
Result: 픽셀 좌표를 실제 미터(Meter) 단위로 변환, 오차 범위 ±0.5cm 정밀도 확보
Data Scarcity
Real Env Synthetic Data
Problem
보안 구역인 활주로에 실제 이물질(FOD)을 뿌리거나 침입 상황을 연출하여 학습 데이터를 수집하는 것이 현실적으로 불가능.
Solution
Synthetic Data: Blender 3D 툴로 다양한 기상(비/안개), 조도 환경의 가상 데이터를 생성
Result: 가상 데이터 학습 모델을 실제 환경에 적용 시 90% 이상의 높은 검출률 달성

04. Visual SLAM Basic (개인 연구)

Type Personal Study
ROS 2 RTAB-Map Sensor FusionGazeboRGB-D Camera2D LiDAR
Project Intent

단일 2D LiDAR 사용 시 특징점이 부족한 긴 복도나 유리 환경에서 발생하는 매핑 실패(Drift) 현상을 극복하기 위해 Visual SLAM(RGB-D) 기술을 도입하고 하드웨어 셋업부터 내비게이션 연동까지 전체 프로세스를 검증

Key Features & My Role
Sensor Fusion
1. Sensor Fusion & Setup

Orbbec Astra 카메라 장착 및 URDF 모델링을 통해 센서 간 TF 트리를 구성하고 RTAB-Map으로 LiDAR와 카메라 데이터를 융합하여 강인한 매핑 구현

Troubleshooting
2. Troubleshooting: Drift

Problem: 급격한 회전 시 Visual Odom 실패.
Solution: Wheel + LiDAR + Visual 데이터를 모두 융합하도록 파라미터를 튜닝하여 회전 오차 최소화