본문 바로가기

카테고리 없음

ubuntu 24.04(라즈베리파이/인텔), 22.04(인텔)에 YDLidar X2, ROS2 드라이버 설치하기

우분투 24.04가 깔린 라즈베리파이에 YDLIDAR ROS2 드라이버를 설치하려다가 애를 먹었다. 내가 가진 YD라이다 센서는 X2와 G2가 있는데, 일단 X2를 설치해봤다. 이럴 거면 YD 라이다 2개 사기보다는 슬램텍 RPLidar를 하나 사놓을 걸 하는 후회를 잠시 했다.(우분투 24.04, 라즈베리파이 5, ROS2에 설치하는 인도 사람(?)의 유튜브 동영상이 있다. RPLidar용으로.)

 

인터넷에 있는 YDLidar ROS2용 소스는 우분투 24.04 ROS2 jazzy에서는 컴파일이 잘 안 된다. 인텔이든 라즈베리파이든 모두 그렇다. 다행인 것은 ARM64든 AMD64든 CPU에 상관없이 우분투 22.04에서 되면 다른 CPU의 22.04에서도 되고, 한쪽의 우분투 24.04에서 되면 다른 쪽 24.04에서도 된다는 점이다. PC 여러 대 왔다갔다 하면서 테스트해보았는데 PC에서 되자, 같은 우분투 버전의 라즈베리파이에서도 동일하게 되었다.

 

중요한 부분부터 말하자면,

A) 소스 다운로드 받을 때 '-b humble'을 명시하는 것이다. 우분투 24.04에서도 이렇게 해야 하고, 우분투 22.04에서도 이렇게 해야 하고, 인텔이든 라즈베리파이든 humble 소스를 받아야 한다.

git clone -b humble https://github.com/YDLIDAR/ydlidar_ros2_driver.git

B) 그리고 /dev/ttyUSB0 의 권한을 777로 만든다.

sudo chmod 777 /dev/ttyUSB0

C) params 폴더 안에 들어가서, ydlidar.yaml 을 백업해놓고, 해당 기종의 yaml 파일(내 경우엔 X2.yaml)을 ydlidar.yaml 로 복사해둔다.

D) colcon build를 하고 나서 source install/setup.bash를 실행한다.

E) 아래를 실행한다.

ros2 launch ydlidar_ros2_driver ydlidar_launch_view.py

 

 

* YDLIDAR X2 Lidar 유저 메뉴얼이 오래 되어서 좀 부실하다. ros라는 단어를 ros2로 바꾸어서 적용해야 한다. 어쨌든 참고는 되는 메뉴얼이다.

* YDLidar-SDK를 먼저 빌드해야 하는데, YDLidar-SDK 폴드 안에 build/ 폴더가 없으니 빈 폴더를 만들어서 그 안에 들어가서 cmake .. 따위를 해준다.

* 라이다 용으로 /dev/ttyUSB0을 사용하게 되는데, 사용 권한을 확인해보고, sudo chmod 777 /dev/ttyUSB0 으로 해놓으면 된다. (이 권한 설정이 되어 있지 않으면 에러가 난다.)

* colcon build를 할 때, 에러 메시지와 경고 메시지가 같이 출력되는 경우가 있는데, 빨간색으로 error가 뜬다. 에러만 뜨지 않으면, 경고(warning)이 뜨더라도 대부분 정상 컴파일이 되기 때문에 1 packaged finished 인지 0 packaged fisnished인지가 아주 중요하다.  stderr 어쩌구 하는 메시지가 좀 혼동을 준다. 경고 메시지는 좀 억제하고 오류 메시지만 출력하면 혼돈을 안 줄 텐데 싶다.

 

- 라즈베리파이4, 우분투 24.04, ROS2 jazzy에 설치가 처음에 잘 되지 않아서 걱정했는데, 다행이다. picamera2를 상당히 힘들게 설치하면서 평탄화 작업을 해둔 뒤라, 여기서 라이다가 안 되면 어쩌나, 슬램텍 RP라이다를 하나 구입해야 하나 싶었는데, 다행이다.