YDLIDAR TG15 LiDAR
YDLIDAR TG15를 ROS 2에 연결하고 /scan 토픽으로 발행되는 거리 데이터를 RViz에서 확인합니다.
참고 자료
이 실습은 YDLIDAR ROS 2 Driver와 YDLidar SDK를 사용합니다.
준비물
- Ubuntu 24.04와 ROS 2 Jazzy가 설치된 PC
- YDLIDAR TG15
- USB 케이블
YDLidar SDK 설치
YDLIDAR ROS 2 드라이버를 빌드하려면 먼저 YDLidar SDK를 설치해야 합니다.
경고
경로에 주의합니다.
cd 명령을 입력한 뒤, 프롬프트에서 경로가 변경된 것을 확인하고 올바른 위치에 있는지 확인합니다.
예를 들어 아래와 같은 상태에서는 홈 디렉토리 아래의 YDLidar-SDK 디렉토리에 진입한 상태임을 알 수 있습니다.
~/YDLidar-SDK$
$ sudo apt update
$ sudo apt install -y cmake pkg-config
$ cd ~
~$ git clone https://github.com/YDLIDAR/YDLidar-SDK.git
~$ cd YDLidar-SDK
~/YDLidar-SDK$ mkdir build
~/YDLidar-SDK$ cd build
~/YDLidar-SDK/build$ cmake ..
~/YDLidar-SDK/build$ make
~/YDLidar-SDK/build$ sudo make install
ROS 2 드라이버 설치
워크스페이스의 src 폴더에 Jazzy를 지원하는 humble 브랜치를 복제합니다.
$ cd ~/ros2_ws/src
~/ros2_ws/src$ git clone -b humble https://github.com/YDLIDAR/ydlidar_ros2_driver.git
$ cd ~/ros2_ws
~/ros2_ws$ colcon build --symlink-install
~/ros2_ws$ source install/setup.bash
시리얼 포트 권한 설정
TG15는 USB 시리얼 장치로 연결됩니다. 센서를 연결한 뒤 장치 이름을 확인합니다.
$ ls /dev/ttyUSB*
일반 사용자가 시리얼 포트를 사용할 수 있도록 현재 사용자를 dialout 그룹에 추가합니다.
$ sudo usermod -aG dialout $USER
경고
그룹 권한은 로그아웃 후 다시 로그인해야 적용됩니다. PC를 재부팅해도 됩니다. 다시 로그인한 뒤 groups 명령어 결과에 dialout이 있는지 확인하세요.
TG15 설정 선택
드라이버의 기본 런치파일은 params/ydlidar.yaml을 사용합니다. TG15 실습에서는 launch/ydlidar_launch.py를 열고 default_value의 파일 이름을 TG.yaml로 변경합니다.
ydlidar_ros2_driver/launch/ydlidar_launch.py - before
params_declare = DeclareLaunchArgument('params_file',
default_value=os.path.join(
share_dir, 'params', 'ydlidar.yaml'),
description='FPath to the ROS2 parameters file to use.')
ydlidar_ros2_driver/launch/ydlidar_launch.py - after
params_declare = DeclareLaunchArgument('params_file',
default_value=os.path.join(
share_dir, 'params', 'TG.yaml'),
description='FPath to the ROS2 parameters file to use.')
수정한 런치파일이 설치 공간에 반영되도록 다시 빌드합니다.
$ cd ~/ros2_ws
~/ros2_ws$ colcon build --symlink-install --packages-select ydlidar_ros2_driver
~/ros2_ws$ source install/setup.bash
LiDAR 실행
$ ros2 launch ydlidar_ros2_driver ydlidar_launch.py
새 터미널에서 /scan 토픽이 발행되는지 확인합니다.
$ source ~/ros2_ws/install/setup.bash
$ ros2 topic list
$ ros2 topic echo /scan --once
RViz에서 시각화
새 터미널에서 RViz를 실행합니다.
$ rviz2
Fixed Frame을laser_frame으로 설정합니다.- 왼쪽 아래의 Add 버튼을 누릅니다.
- By display type에서 LaserScan을 추가합니다.
Topic을/scan으로 설정합니다.- LaserScan의
Reliability Policy를 Best Effort로 설정합니다.
