본문 바로가기

Study/각종 세팅

FLIR BFS 카메라 ROS 드라이버 셋업

1. 드라이버 패키지 설치

Using ROS with Spinnaker

 

Using ROS with Spinnaker

Spinnaker has a package (flir_camera_driver) which bridges ROS and the Spinnaker SDK for use with Teledyne FLIR machine vision cameras. This application note provides a guide on how to use cameras with ROS and Linux Ubuntu 20.04 Spinnaker.

www.flirkorea.com

- 텔로다인 공식 글

[CAM] 우분투 ROS에 FLIR camera 설치하기 #1

 

[CAM] 우분투 ROS에 FLIR camera 설치하기 #1

1. Spinnaker 1.2 버전 다운로드 아래 링크에서 1.27.0.48 버전을 클릭한 다음 우분투 18.04 및 amd64 버...

blog.naver.com

- spinnaker & flycapture2 설치 시 참고

텔로다인의 글을 따라했다.

얼추 여러 드라이버가 있는 것 같은데 텔로다인에서 공식적으로 언급된게 더 좋지 않을까?!

이미 ros는 설치가 되었다면 레포만 받아서 빌드하자.

#의존 패키지 설치
sudo apt install ros-noetic-camera-info-manager ros-noetic-diagnostic-updater
ros-noetic-dynamic-reconfigure ros-noetic-image-exposure-msgs ros-noetic-image-transport
ros-noetic-nodelet ros-noetic-roscpp ros-noetic-sensor-msgs ros-noetic-wfov-camera-msgs

#레포 설치
cd ~/noetic/src
git clone <https://github.com/ros-drivers/flir_camera_driver.git>
cd ~/noetic
catkin build #또는 catkin_make

런치파일을 사용자의 상황에 알맞게 사용하라고 나온다.

spinnaker_camera_driver camera.launch → single camera

spinnaker_camera_driver stereo.launch → stereo camera

launch파일 커스텀 요소

  • 시리얼 번호 → string으로 입력
  • 연결 단자 종류 → USB or GigE
  • Frame rate → 기본 30 Hz
  • 해상도 조정 ⚠️ 이 드라이버는 resize를 제공안함 ⚠️
    CROP과 center offset, binning만 조정하기에 잘 조합해서 사용하길 바람!
roslaunch spinnaker_camera_driver camera.launch

2. FLIR 공식 프로그램 설치

ROS 드라이버로 바로 넘어가면 아이고 두야!!를 외치게 된다. FLIR에서 공식으로 제공해주는 프로그램으로 장치가 인식되는지부터 확인하고, 다음에 ROS 드라이버를 진행하자.

2.1 Spinnaker SDK & Spinview 설치

Spinnaker SDK | Teledyne FLIR

 

Spinnaker SDK | Teledyne FLIR

The Spinnaker SDK is FLIR’s next generation GenICam3 API library built for machine vision developers. It features an intuitive GUI called SpinView, rich example code, and comprehensive documentation designed to help you build your application faster. The

www.flir.eu

로그인이 필요하다. 우분투 버전에 알맞게 설치하면 압축파일이 나올텐데, 압축을 해제해 준다.

폴더 내부에서 $ ./install_spinnaker.sh를 입력하면 주루룩 설치될 것이고 spinview를 입력하면 실행된다.

아직 장치가 인식이 안된다면 당연하다. 연결이 안되었으니까.

2.2 FlyCapture SDK 설치 🤔

파일을 받아준 후, 앞선 블로그를 참고해 설치하자. ubuntu 18.04까지만 지원한다고 나오는데, 20.04에 설치해도 설치는 된다. 개인적으로 실행은 되지만 장치를 인식하는 것은 보지 못했기에, 보험 느낌으로 설치하는 것을 추천한다.

FlyCapture SDK | Teledyne FLIR

 

FlyCapture SDK | Teledyne FLIR

The FlyCapture® Software Development Kit (SDK) provides a common software interface to control and acquire images for FLIR area scan USB 3.1, GigE, FireWire, and USB 2.0 cameras using the same API under 32- or 64-bit Windows or Linux. Note: Blackfly S cam

www.flir.eu

3.1 GigE 연결

FLIR BFS-PGE-50S5C-C

이 카메라는 생긴 것은 같아도 해상도와 프레임률(=fps)이 다르다. 연결 방법과 함께.

랜선을 사용하지만 랜선만을 사용해 전원을 공급해야 하기 때문에 일반적인 스위치 또는 라우터 허브를 통해 사용할 수 없다. 그래서 Power over Ethernet의 줄임말인 PoE 포트가 있는 스위치를 사용해야 한다.

PC와 스위치를 연결하고, 카메라와 스위치를 PoE 포트를 통해 랜선으로 연결하면 하드웨어 구성은 완료된다.

$ ifconfig

이 명령어를 터미널에 입력해서 스위치가 연결된 이더넷 포트가 무엇인지 파악한다. 얼추 enxf로 시작하는데, 그냥 아무개로 칭하겠다.

우분투 설정 프로그램에서 네트워크 창을 들어가면 아무개 포트 이름이 뜨고, 톱니바퀴 아이콘을 눌러 IPv4 주소를 임의로 설정한다.

3.2 USB3 연결

이건 별도의 카메라다. 해당 모델은 BFS-U3-23S3C. 렌즈는 kowa LM3NCM이다.

3.2.1 Udev Rule 설정

히히 USB니까 더 쉽겠지 하고 꽂았다가는 큰 곤경을 겪을 수 있다. (내가 그랬다)

$ lsusb

이번에는 이 명령어로 USB 포트에 장치가 인식이 되었는지 확인한다.

위에서 세 번째에 Point Grey Research, Inc. BlackFly S BFS-U3-23S3C로 인식이 되는 것을 볼 수 있다. 그리고 IdVendor가 1e10인 것도 확인할 수 있다. BFS 카메라는 모두 IdVendor가 1e10이다.

- /etc/udev/rules.d/ 위치에 40-flir-spinnaker.rules 파일을 확인했다.

비포

udev 룰도 있고, 장치 ID가 1e10으로 시작하는 것도 확인했다. 여기에 mode=”0666”을 추가한다.

애프터

3.2.2 혹시나 해서요

USB 포트에 꽂았는데 초록 LED가 2번만 점등한다면? 그건 꽂은 포트가 USB2 타입이라는 뜻이다. 이 카메라는 USB3을 사용하기 때문에 USB3 포트를 사용하는 것을 추천한다.

여기까지 왔다면 어지간하면 spinview에서 장치 인식이 되고, ROS 드라이버로 이미지 토픽을 받을 수 있을 것이다.

파이팅!! 

⚠️ BFS-PGE-50S5C-C 센서는 획득 가능한 최대 프레임률이 24이기 때문에 24FPS를 넘게 설정하면 드라이버가 작동하지 않는다. 사용하는 카메라의 최대 FPS를 알고 launch 파일에서 조정해야 드라이버가 작동한다. 

 

 

'Study > 각종 세팅' 카테고리의 다른 글

SENNHEIZER Profile microphone ROS 드라이버 셋업  (2) 2024.06.05
렌즈 공부하기 - FoV, 문자 뜻  (0) 2023.03.14
Ouster OS1-64U setup  (0) 2023.01.03