Intel Realsense Camera Installation

Project를 진행하다 보면 Intel Realsense Camera 사용하는 경우가 많다.

Github에서 간단하게 사용하는 방법을 Review 해보고자 한다.
Github Link : Realsense 공식 Wrapper
Image

일단, 본 패키지를 clone 하기 전 Readme를 쭉 따라가 보도록 하자.

Image

Ubuntu 22.04 환경 기준, 총 3개의 Step을 밟아야 한다.

  1. Ros2 설치
    Image
    Ros2 설치 Reference : Ros2 공식 설치

  2. Realsense Camera를 사용하기 위한 SDK 설치
    Image
    Camera SDK를 설치할 때부터, 사용하고 있는 환경에 따라 설치 종류가 달라진다.
    크게 3가지 정도로 볼 수 있는데,

    공식 Wrapper에서도 강조하듯, 가능한 한 가지 옵션만 선택할 것. (Conflict)

    2-1. Jetson SBC를 사용하는 경우 : Jetson 환경 설치
    2-2. ROS apt를 활용한 설치

    • sudo apt install ros-<ROS_DISTRO>-librealsense2\*
      대부분 이 커맨드를 활용한다. ROS_DISTRO에는 본인 ROS 버전을 넣으면 된다.
      ex) ROS2 Humble의 경우 : ROS_DISTRO = humble

    2-3. 직접 Build

    • jetson Tx2를 활용했을 때에는 직접 Build를 하는 방식을 사용했다.
    • 이후 Jetson Orin AGX를 활용할 때에는 1번을 활용했다.
    • 여기서 3번에 대한 설명은 여기로 마친다.
  3. Realsense Package 설치
    3-1. Binary 활용.(간단한 Check 용으론 용이, 그러나 수정이 불가능함.)
    3-2. Git clone 후 진행하기.

    • First Step : Git clone을 위해 Ros2 Workspace 내 src 폴더로 들어가기.
      Change Directory를 진행해 ~/작업장소/src폴더에 들어왔다면 아래의 명령어를 입력하자.

      git clone https://github.com/IntelRealSense/realsense-ros.git -b ros2-master
      초기 Branch는 ros2-master가 Master Branch로 설정되어 있어 -b 뒷 부분은 사실 없어도 된다.

    • Second Step : Dependency 설치하기.
      Directory를 상위 Workspace로 바꾼다. 이 과정을 제대로 진행하지 않으면 rosdep 인식이 실패할 가능성이 있다.

        sudo apt-get install python3-rosdep -y
        sudo rosdep init # "sudo rosdep init --include-eol-distros" for Foxy and earlier
        rosdep update # "sudo rosdep update --include-eol-distros" for Foxy and earlier
        rosdep install -i --from-path src --rosdistro $ROS_DISTRO --skip-keys=librealsense2 -y
    
    • Third Step : Build 후 Source
      colcon build 명령어를 입력해 패키지를 빌드한다.
      이 과정에서 생기는 오류에 대한 리뷰는 다른 게시글에서 다루도록 하겠다.
    ROS_DISTRO=<YOUR_SYSTEM_ROS_DISTRO>  # set your ROS_DISTRO: iron, humble, foxy
    source /opt/ros/$ROS_DISTRO/setup.bash
    cd ~/ros2_ws
    . install/local_setup.bash
    

    위 코드는 간단한 내용이므로 자세한 내용은 생략한다.

Usage

가장 많이 사용하는 명령어 : ros2 run realsense2_camera realsense2_camera_node
본인의 경우, 해당 패키지에서 카메라 노드가 켜진 이후, yolo v8을 통해 Object Detection 하는 과정을 Launch 파일에 진행해두었다.
실제 프로젝트 내 Launch 파일

다양한 Parameter들을 조정하고 싶다면, ros2 launch realsense2_camera rs_launch.py 를 실행할 때, 해당 패키지 내 Parameter 값들을 조정하면 된다.
내 기억 상으로, 더 Detail하게 Parameter 값들을 조정하고 싶다면 내부 C++ 파일을 손보면 됐었던 기억이 있다. (실제 FPS 조절 및 해상도, 카메라 각도 등 조정했던 기억이 있다.)

Image

(모터 동작 코드 병행 전) 카메라를 통한 Yolo 객체 탐지