1. 프로젝트 개요
- 기간: 2025.03 ~ 2025.06
- 수업: 이동로봇 프로젝트
- 목표:
- Rover 하드웨어 직접 구성
- GPS 기반 목적지 이동
- IMU 기반 heading 제어
- 2D LiDAR 기반 장애물 회피
- 실외 환경에서 경유지 자율주행 구현
2. 시스템 구성
Hardware

- Rover chassis
- Pixhawk
- GPS
- 2D LiDAR
- BLDC motor
- PWM motor controller
- 배터리
- 노트북 / ROS 환경
Software
- C++
- ROS2
- GPS, IMU
- PID control
- APF obstacle avoidance
3. 수행한 내용
- Rover 하드웨어 구성
- PWM 입력 기반 좌우 모터 제어 로직 구현
- Differential wheel 기반 모터 속도 제어
- Pixhawk, GPS, 2D LiDAR 연결 및 테스트
- GPS/IMU 기반 heading + distance PID 제어 구현
- 2D LiDAR 기반 APF 장애물 회피 구현
- LiDAR 좌표계 불일치 문제 분석 및 수정
- 실외 경유지 이동 테스트 및 자율주행 검증
4. 전체 주행 로직
- GPS로 현재 위치 수신
- 목표 waypoint와 현재 위치 사이의 거리/방향 계산
- IMU heading과 목표 heading의 차이 계산
- PID 제어로 회전 및 전진 속도 결정
- 2D LiDAR로 주변 장애물 감지
- APF로 goal attraction과 obstacle repulsion 계산
- 최종 이동 방향을 좌우 모터 PWM 명령으로 변환
- 목표 지점 도달 여부 판단
- 다음 waypoint로 이동
5. 핵심 구현 1 — PWM 모터 제어

- Differential wheel 구조를 기준으로 좌우 모터를 독립 제어
- 선속도와 각속도를 좌우 바퀴 속도로 변환
- 최종 명령을 PWM 입력으로 변환하여 BLDC motor 제어
- 좌우 모터 방향과 출력 차이를 테스트하며 보정
6. 핵심 구현 2 — PID Heading + Distance 제어
| GPS test | IMU sensor test |
|---|---|
![]() | ![]() |
< PID controller >
| heading control | distance control |
|---|---|
![]() | ![]() |
- GPS 기반으로 목표 지점까지의 거리와 방향 계산
- IMU yaw 값을 이용해 현재 heading 추정
- 목표 heading과 현재 heading의 차이를 heading error로 정의
- heading error를 줄이도록 회전 명령 생성
- 목표 지점에 가까워질수록 속도를 줄이도록 distance error 반영
7. 핵심 구현 3 — APF 장애물 회피


- 목표 지점 방향은 attractive force로 계산
- LiDAR로 감지한 장애물 방향은 repulsive force로 계산
- 두 벡터를 합산하여 최종 이동 방향 결정
- 장애물이 가까울수록 회피 영향이 커지도록 구성
- GPS 기반 목표 이동과 LiDAR 기반 장애물 회피를 함께 수행
8. 핵심 문제 해결 — LiDAR 좌표계 불일치
문제 상황
- 로봇이 회전할 때 장애물 방향을 잘못 인식
- 실제 장애물 위치와 알고리즘 내부에서 계산한 장애물 방향이 불일치
- APF 회피 방향이 반대로 적용되는 문제가 발생
원인
- 2D LiDAR 좌표계와 로봇 기준 좌표계가 맞지 않았음
- LiDAR scan angle을 그대로 사용하면서 로봇 전방 기준과 어긋남
- 로봇이 회전할 때 장애물 방향 계산 오류가 커짐
해결
- 주행 로그와 LiDAR scan 데이터를 비교
- 로봇 기준 전방 방향과 LiDAR angle 기준을 재확인
- 좌표계 변환식을 수정
- 수정 후 장애물 방향 인식 및 APF 회피 정상 동작 확인
9. 실험 과정
- GPS 신호 수신 테스트
- PWM 입력에 따른 모터 동작 테스트
- 직진/회전 제어 테스트
- PID heading 제어 테스트
- LiDAR 장애물 감지 테스트
- APF 장애물 회피 테스트
- 실외 경유지 이동 테스트
- 최종 자율주행 시나리오 검증
여기에는 수업 때 만든 PPT 슬라이드를 그대로 넣으면 좋음.
추천 삽입 순서:
- Hardware 구성 슬라이드
- GPS/IMU 기반 PID 제어 슬라이드
- APF 장애물 회피 슬라이드
- 좌표계 문제 해결 슬라이드
- 최종 주행 결과 슬라이드
10. 최종 결과 영상
영상 링크
https://youtu.be/6N73Dq35JXo11. 배운 점
- GPS 기반 주행은 실내 로봇 주행보다 위치 오차와 노이즈 영향을 크게 받음
- heading 제어에서는 IMU yaw 기준과 좌표계 정의가 매우 중요함
- LiDAR 좌표계가 로봇 기준과 맞지 않으면 장애물 회피 알고리즘이 완전히 반대로 동작할 수 있음
- APF는 구조가 단순하고 구현이 빠르지만, local minimum과 파라미터 민감도가 존재함
- 실외 자율주행에서는 알고리즘뿐 아니라 센서 신호, 전원, 통신, 모터 출력까지 함께 검증해야 함



