ROS

ROS2 통해서 원격으로 LiDAR A1M8 값 받아오기(Raspberry Pi 5, RViz 시각화)

성장중 •͈ᴗ•͈ 2024. 10. 16. 18:39
728x90
반응형

 

라즈베리파이5, ROS2-jazzy를 설치한 상태에서 원격으로 LiDAR(A1M8) 값을 받아와 RViz로 시각화 하는 방법입니다. 

 

본 글에서는 라즈베리파이에 ROS2-jazzy를 설치하고, 원격으로 접속해 있다는 상태를 가정하고 설명하겠습니다. 각각의 내용은 다음 링크를 참고하시길 바랍니다. 

 

1. ROS2 설치

 

Raspberry Pi 5에 ROS 2 설치(Ubuntu 24.04)

ROS를 설치할 때 라즈베리파이, ROS(1,2 / humble,jazzy ..) 버전을 정확히 확인하고 설치하는 것이 중요하다.   본인은 라즈베리파이 5에 Ubuntu 24.04를 설치한 상태에서 ROS2-jazzy를 설치하였다.  설치

seoy00.tistory.com

 

2. 원격 접속

 

Raspberry Pi 5 ssh로 원격 연결하기(VMware, Ubuntu 24.04)

본인은 앞에서 라즈베리파이를 원격으로 이용하기 위해 VMware에 우분투를 설치하고 라즈베리파이 os로도 우분투를 설치하였다. 다음은 노트북에 깔린 VMware를 통해서 라즈베리파이의 Ubuntu로 원

seoy00.tistory.com

 


필요한 패키지 설치 및 빌드

ws_lidar 작업 공간의 src 디렉터리로 이동한다. 

cd ~
mkdir -p ~/ws_lidar/src
cd ~/ws_lidar/src

 

GitHub에서 Slamtec의 sllidar_ros2 패키지를 로컬 작업 공간의 src 디렉터리에 클론한다. 

git clone http://github.com/Slamtec/sllidar_ros2.git

 

ws_lidar 작업 공간의 루트 디렉터리로 이동한다. 

cd ~/ws_lidar

 

colcon 명령어로 ROS2 패키지들을 빌드한다.

--symlink-install 옵션은 빌드 후 파일을 복사하지 않고 심볼릭 링크를 생성하여 파일을 직접 참조하게 드는 옵션이다. 

sudo apt install colcon
colcon build --symlink-install

 

ws_lidar 작업 공간에서 빌드된 ROS2 패키지들의 환경 설정을 현재 터미널에 적용한다. 

source ~/ws_lidar/install/setup.bash

 

/dev 디렉터리에서 USB 장치 목록을 확인하고, USB라는 이름이 포함된 장치들을 필터링해서 출력한다. 

이 명령어를 통해서 라이다가 어디에 연결되어있는지 확인할 수 있다. 

ls -la /dev | grep USB

 

위 명령어를 실행했을 때 USB0에 연결되어있는 것을 확인했기 때문에 아래 명령어를 통해 ttyUSB0 장치의 권한을 변경하여 모든 사용자가 해당 USB 포트를 읽고 쓸 수 있도록 설정한다. (777은 읽기, 쓰기, 실행 권한을 모두 허용함)

sudo chmod 777 /dev/ttyUSB0

 

rviz 시각화

ROS2에서 sllidar_ros2 패키지의 view_sllidar_a1_launch.py 파일을 실행하여 LiDAR 데이터를 시각화하는 launch 파일을 실행한다. 이 코드는 무슨 라이다를 사용하냐에 따라 코드가 달라지니 이 링크를 참고해서 작성하면 된다.  

이 명령어를 실행하면 rviz 화면을 통해 라이다값을 확인할 수 있다.

ros2 launch sllidar_ros2 view_sllidar_a1_launch.py

 

 


다음에 또 실행할 때

한 번 설정을 하고 나면 아래 명령어를 통해서 USB 포트 확인 후, 

ls /dev/ttyUSB*
sudo chmod 777 /dev/ttyUSB0

 

ROS2 패키지가 설치된 작업 공간을 현재 터미널 세션에 적용하고

source ~/ws_lidar/install/setup.bash
source /opt/ros/jazzy/setup.bash

 

작업 공간으로 이동해서 view_sllidar_a1_launch.py 를 실행해 주면 rviz 파일이 잘 실행되는 것을 확인할 수 있다. 

cd ~/ws_lidar/src

ros2 launch sllidar_ros2 view_sllidar_a1_launch.py

 

 

Reference

https://github.com/Slamtec/sllidar_ros2

https://www.youtube.com/watch?v=OSoMSVry-8E

728x90
반응형
LIST