전체 글 15

MQTT 통신

1. MQTT란?MQTT는 가볍고 효율적인 Pub/Sub 메시징 프로토콜로, 저전력·저대역폭 환경에서 센서 데이터나 제어 명령을 주고받는 데 많이 쓰이며, 드론·IoT·모바일 기기 통신에 적합합니다.구조:Broker: 메시지 중계 서버 (예: Mosquitto)Publisher: 메시지를 보내는 쪽Subscriber: 메시지를 받는 쪽2. 로컬에서 MQTT Broker 설치가장 많이 쓰이는 건 Eclipse Mosquitto입니다.Ubuntu / Debian 계열sudo apt install mosquitto mosquitto-clients -y3. Mosquitto 실행하기Ubuntu에서 기본 실행sudo systemctl enable mosquitto sudo systemctl start mo..

카테고리 없음 2025.09.01

LIO-SAM 코드 리뷰

1. LIO-SAM 핵심 개념 -Tightly-coupled fusion → LiDAR와 IMU 데이터를 하나의 최적화 문제로 강하게 결합 - Factor-graph based estimation → 요인 그래프(Factor Graph)로 포즈와 상태를 동시에 추정 - Old scan marginalization → Pose optimization → 오래된 스캔은 제거(마진화)하고, 최신 스캔 중심으로 자세 최적화 - Local scan matching for real-time → 국소적인 스캔 매칭만 수행하여 실시간 처리 가능 - Sliding window → 일정 구간(윈도우) 안의 데이터만 유지하며 연속적으로 최적화2. FLOW- 전체 메인 코드는 이렇게 이루어지고 그 중 두 프로세스(Featur..

논문 2025.08.29

LIO-SAM 논문 리뷰

LIO-SAM: Factor Graph 기반 LiDAR-IMU 융합 프레임워크 정리 최근 로봇의 자율주행 및 정밀한 위치 추정을 위해 다중 센서 융합이 활발히 연구되고 있습니다. 그중에서도 LiDAR-IMU 융합은 조명 변화나 시각적 특성에 크게 의존하지 않고, 안정적인 3D 환경 이해와 궤적 추정을 가능하게 해 주어 많은 주목을 받고 있습니다. 이번 글에서는 대표적인 LiDAR-IMU 융합 프레임워크인 LIO-SAM (LiDAR-Inertial Odometry via Smoothing and Mapping) 논문을 정리해 보았습니다.1. 연구 배경비전 기반 방법: 장소 인식에는 강점이 있지만 조명 변화와 관측 거리 변화에 취약.LiDAR 기반 방법: 환경의 기하학적 구조를 안정적으로 반영 가능.기존 연..

논문 2025.08.26

JT16 LiDAR 사용법

JT라이다 16채널 사용법을 포스팅 하겠습니다.JT라이다는 아래의 ROS 패키지와 SDK를 이용하였습니다.JT 라이다 ROS 패키지JT 라이다 SDK📌 JT LiDAR 사용법레포지토리 복사git clone https://github.com/HesaiTechnology/HesaiLidar_ROS_2.0.gitcd HesaiLidar_ROS_2.0/src/drivergit clone https://github.com/HesaiTechnology/HesaiLidar_SDK_2.0.git관련 라이브러리 설치sudo apt update && sudo apt install -y libpcl-dev libpcap-dev libyaml-cpp-dev opensslSDK 빌드cd HesaiLidar_SDK_2.0mkd..

Sensor 2025.08.08

Docker GPU 연결

이번엔 docker에서 gpu 사용가능하게 하는 방법을 포스팅하겠습니다.저의 경우에는 GPU가 오픈 소스 커널 모듈(nvidia-open)만 지원이 가능해서 거기에 맞게 설치하였습니다.1️⃣ 기존 NVIDIA 드라이버 완전 제거sudo apt purge '^nvidia'sudo apt autoremove --purgesudo rm -rf /etc/X11/xorg.confsudo update-initramfs -u2️⃣ 최신 NVIDIA 드라이버 (Open 모드 포함) 재설치Ubudo ubuntu-drivers devicessudo apt install nvidia-driver-550-opensudo rebootnvidia-smi3️⃣ NVIDIA Container Toolkit 설치 여부 확인dpkg -..

Docker 2025.08.07

Gazebo Sensor Plugin

오늘은 저번에 이어서 가제보 환경에 라이다와 IMU 센서를 플러그인 해서 ROS 데이터를 받아오는 것을 포스팅하겠습니다 !1. LiDAR Plugin제가 여기서 사용한 라이다 모델은 Velodyne이고, Gazebo-classic 환경입니다.1.1 git clone먼저 velodyne 모델이 있는 git repository를 clone 한 후 아래의 경로에 붙여넣어 줍니다.경로PX4-Autopilot/Tools/simulation/gazebo-classic/modelsgit clonegit clone https://github.com/osrf/gazebo_models.git1.2 model joint 연결이후 아래 경로의 model.sdf 에서 다음과 같이 라이다를 include 해주고 joint를 넣어..

카테고리 없음 2025.08.06

PX4 simulation

오늘은 px4 설치하고 가제보 환경에서 제어하는 것을 포스팅 하려고 합니다.이후에는 ROS를 사용해서 드론을 제어하고 라이다와 IMU를 플러그인해서 센서 데이터까지 받아오는 것을 포스트하겠습니다.📌px4 설치git clone https://github.com/PX4/PX4-Autopilot.git --recursivebash ./PX4-Autopilot/Tools/setup/ubuntu.shcd /ros2_ws/src/PX4-Autopilot📌빌드 및 가제보 실행cd /ros2_ws/src/PX4-Autopilotmake px4_sitl gazebo-classicmake px4_sitl gazebo-classic_iris__warehouse (가제보 환경 있는 버전) 다음과 같이 시뮬레이션 환경이 열..

카테고리 없음 2025.08.05

ROS bridge

오늘은 ROS1과 ROS2 통신이 가능하도록 하는 ROS Bridge에 대해 다뤄보려고 합니다.참고한 깃허브는 다음과 같습니다.ros1_bridge우선 두 환경에서 통신이 되게 하려면 같은 우분투 환경에서 ROS1과 ROS2가 설치가 되어야 합니다.제가 사용한 개발환경은 Ubuntu 20.04 이고, 같은 환경에 foxy와 noetic이 설치가 되어있습니다.1️⃣ 설치 방법🔹 1) ros1_bridge 패키지 설치 (ROS2 foxy 기준)sudo apt updatesudo apt install -y ros-foxy-ros1-bridge🔹 2) ROS1과 ROS2 환경 설정각각의 터미널에서 해당하는 ROS 버전을 로드.✔️ ROS1 (예: Noetic)source /opt/ros/noetic/setu..

카테고리 없음 2025.08.04

LiDAR와 IMU 센서 동기화

LIO-SAM은 두 센서의 데이터를 융합해 정밀한 위치 추정을 수행하므로, 시간적으로 일치된 데이터가 필수입니다.LiDAR는 저주파, IMU는 고주파이기 때문에 IMU 데이터를 LiDAR 주기에 맞춰 동기화해야 합니다. 이를 위해 ROS의 메시지 필터를 사용했고, 약간의 시간 오차를 허용하는 ApproximateTime 정책을 적용했습니다.처음엔 ExactTime으로 시도했지만, 시간이 너무 정확히 일치해야 해서 동기화가 잘 되지 않더라구요.🏃‍♂️☑️코드 작성(sync_imu.cpp)#include #include #include #include #include #include #include using std::placeholders::_1;using std::placeholders::_2;clas..

Sensor 2025.08.03

RTK-GPS 사용

Sparkfun사의 ZED-F9P RTK-GPS 사용법을 포스트하겠습니다.참고한 사이트는 아래와 같습니다.RTK F9P SOLUTION📌Updating the Receiver Firmware로버 수신기 펌웨어 업데이트NMEA 축소 > UBX 확장 > MON 확장 > Version 확인Tools > Firmware체크해제 'Enter safeboot before update'📌Setting Up a Temporary BaseBase를 고정해서 데이터 수신.Telemetry radio kit 이용해 RTCM 보정 데이터를 rover에 전송.Telemetry radio가 base에서 rover로 RTCM 통신에 적합.포트 연결u-center 열고 보드 연결한 후에 windows가 생성한 해당 COM 포트에..

Sensor 2025.08.02