Jetson Nano에서 RPLIDAR A1M8-R6 및 Intel RealSense D415 ROS2 패키지 설치 및 트러블슈팅

이승석·2024년 11월 5일

ROS2

목록 보기
3/13

Jetson Nano에서 RPLIDAR A1M8-R6 및 Intel RealSense D415 ROS2 패키지 설치 및 트러블슈팅

이 가이드에서는 ROS2 Foxy 환경에서 RPLIDAR A1M8-R6Intel RealSense D415를 설정하고 트러블슈팅하는 방법을 자세히 설명합니다. 이 과정에서는 Ubuntu 20.04ROS2 Foxy가 Jetson Nano에 설치되어 있다고 가정합니다.


1. RPLIDAR A1M8-R6 ROS2 패키지 설치

RPLIDAR A1M8-R6는 ROS2에서 사용하기 위해 별도의 드라이버와 패키지가 필요합니다.

1.1 의존성 설치

RPLIDAR의 ROS2 패키지를 빌드하기 위해 기본 패키지와 도구들을 설치합니다.

sudo apt update
sudo apt install -y build-essential python3-colcon-common-extensions

1.2 작업 공간 설정 및 패키지 다운로드

ROS2 작업 공간을 생성하고 rplidar_ros2 패키지를 다운로드합니다.

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/robopeak/rplidar_ros.git -b ros2

1.3 RPLIDAR 패키지 빌드

ROS2 패키지를 빌드합니다.

cd ~/ros2_ws
colcon build --packages-select rplidar_ros

1.4 환경 설정

매번 수동으로 소스하지 않도록, ROS2 작업 공간의 설정 파일을 ~/.bashrc에 추가합니다.

echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

1.5 RPLIDAR 실행 및 트러블슈팅

RPLIDAR을 실행하여 작동 상태를 확인합니다.

ros2 launch rplidar_ros rplidar.launch.py

트러블슈팅

  • 문제: Device not found 오류 발생
    해결: RPLIDAR이 Jetson Nano에 USB로 올바르게 연결되어 있는지 확인합니다. 필요에 따라 다음 명령어로 장치 인식 상태를 확인할 수 있습니다.

    ls /dev | grep ttyUSB

    만약 ttyUSB0가 나타나지 않는다면, USB 연결 상태를 확인하고 Jetson Nano를 다시 부팅해 보세요.

  • 문제: Permission denied 오류
    해결: /dev/ttyUSB0에 대한 접근 권한 문제일 수 있습니다. 다음 명령어를 사용해 권한을 부여합니다.

    sudo chmod 666 /dev/ttyUSB0
  • 문제: LIDAR가 회전하지 않음
    해결: 드라이버나 전력 문제가 있을 수 있습니다. USB 포트를 바꿔보거나 다른 전원 공급 방식을 시도해 보세요.


2. Intel RealSense D415 ROS2 패키지 설치

Intel RealSense D415을 사용하려면 realsense2_camera ROS2 패키지를 설치해야 합니다.

2.1 의존성 설치

RealSense 카메라의 ROS2 드라이버가 요구하는 추가 의존성 패키지를 설치합니다.

sudo apt update
sudo apt install -y libudev-dev

2.2 작업 공간으로 이동 및 패키지 다운로드

realsense_ros 패키지를 작업 공간에 다운로드합니다.

cd ~/ros2_ws/src
git clone https://github.com/IntelRealSense/realsense-ros.git -b ros2

2.3 RealSense ROS2 패키지 빌드

패키지를 빌드하고 설치합니다.

cd ~/ros2_ws
colcon build --packages-select realsense2_camera

2.4 udev 규칙 설정

udev 규칙을 설정하여 RealSense 장치의 인식 문제를 방지합니다.

sudo cp ~/ros2_ws/src/realsense-ros/realsense2_camera/udev/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger

2.5 환경 설정

~/.bashrc에 환경 설정을 추가합니다.

echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

2.6 RealSense 카메라 실행 및 트러블슈팅

RealSense 카메라 노드를 실행하여 데이터를 확인합니다.

ros2 launch realsense2_camera rs_launch.py

트러블슈팅

  • 문제: 카메라가 인식되지 않음
    해결: RealSense 카메라가 Jetson Nano에 올바르게 연결되었는지 확인합니다. lsusb 명령어로 장치가 인식되는지 확인하고, 전원이 충분히 공급되고 있는지 체크하세요.

  • 문제: Backend in rs2_context failed to create 오류 발생
    해결: 이 오류는 커널 드라이버가 RealSense 장치를 제대로 지원하지 않을 때 발생할 수 있습니다. 최신 librealsense 라이브러리를 설치하여 문제를 해결할 수 있습니다. Jetson Nano에 librealsense SDK를 수동 설치하는 방법:

    sudo apt-key adv --keyserver keys.gnupg.net --recv-key C0A52C50
    sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u
    sudo apt-get install librealsense2-dkms
    sudo apt-get install librealsense2-utils
    sudo apt-get install librealsense2-dev
    sudo apt-get install librealsense2-dbg
  • 문제: 비정상적인 데이터 스트림 또는 프레임 드랍
    해결: Jetson Nano의 성능 한계로 인해 프레임 드랍이 발생할 수 있습니다. realsense2_camera 노드를 실행할 때 사용하지 않는 스트림을 비활성화하거나, 해상도와 프레임 레이트를 낮추는 방법으로 해결할 수 있습니다:

    ros2 launch realsense2_camera rs_launch.py depth_width:=640 depth_height:=480 depth_fps:=15

결론

Jetson Nano에서 RPLIDAR A1M8-R6와 Intel RealSense D415을 ROS2 Foxy 환경에서 사용할 수 있도록 설정을 완료했습니다. 각각의 장치에 대한 트러블슈팅 팁을 참고하여 문제를 해결하고, 두 장치를 사용한 다양한 ROS2 프로젝트를 개발해 보세요.

profile
student studying Embedded-development

0개의 댓글