ROS 2

rplidar a3m1 연결

정지홍 2025. 7. 2. 11:46

 

1. 우선 lidar 하드웨어를 연결한다.

ls /dev/ttyUSB*

 

 

2. 포트 권한 설정

sudo chmod 666 /dev/ttyUSB0
# 또는 dialout 그룹 추가 (로그아웃/로그인 필요)
sudo usermod -aG dialout $USER

 

 

3. 패키지 클론 및 빌드

mkdir rplidar
cd rplidar
mkdir src
cd src

git clone -b ros2 https://github.com/Slamtec/rplidar_ros.git

cd ~/rplidar
colcon build

source install/setup.bash

 

 

4. 실행

ros2 launch rplidar_ros rplidar_a3_launch.py serial_port:=/dev/ttyUSB0 serial_baudrate:=256000

ros2 launch rplidar_ros rplidar_a3_launch.py     serial_port:=/dev/ttyUSB0     serial_baudrate:=256000     scan_mode:=Standard     publish_frequency:=10.0

 

 

 

 

5. 현재의 tf

ros2 run tf2_tools view_frames

 

 

6. odom --> base_link --> laser가 되게 tf를 구성

ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 odom base_link

ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 base_link laser

 

 

7. yaml파일 

slam_toolbox:
  ros__parameters:

    odom_frame: odom
    base_frame: base_link
    scan_topic: /scan

    use_odom: false
    use_scan_matching: true
    use_scan_barycenter: true

    minimum_travel_distance: 0.0
    minimum_travel_heading: 0.0
    scan_buffer_size: 10
    scan_queue_size: 50
    max_laser_range: 16.0  
    min_laser_range: 0.2  

    solver_plugin: solver_plugins::CeresSolver
    ceres_linear_solver: SPARSE_NORMAL_CHOLESKY
    ceres_preconditioner: SCHUR_JACOBI
    ceres_trust_strategy: LEVENBERG_MARQUARDT
    ceres_dogleg_type: TRADITIONAL_DOGLEG
    ceres_loss_function: None

    mode: mapping

 

 

8. 시작

ros2 launch slam_toolbox online_sync_launch.py \
  slam_params_file:=./my_mapper_params.yaml \
  use_sim_time:=false