⬛ Revision History for Document
Rev | Date | Description |
1.0 | 2024-03-13 | initial |
1.1 | 2024-12-19 | support CLCC-G-02X camera add a parameter: the number of camera channels. |
⬛ Overview
이 문서는 CLEB-G-01A 에 장착 가능한 4채널 카메라를 지원하는 ROS1 패키지의 설치 및 사용법을 설명한다.
⬛ Requirements
⬛ 설치 및 빌드
Requirements의 ROS1 noetic 링크를 참고하여 순서에 따라 ROS1 noetic을 설치한다.
설치가 완료되었다면, 터미널에 아래 명령어를 입력하여 ROS 환경을 활성화해준다.
source /opt/ros/noetic/setup.bash
설치 성공 | 설치 실패 |
---|---|
설치 실패와 같이 <unknown> 이 출력되면 step 2의 명령어를 재입력하거나, ROS1 noetic을 재설치하고 확인해본다.
저장소를 생성하고 패키지를 다운로드한다.
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic https://github.com/canlab-co/ros1_v4l2_camera.git
빌드를 진행한다.
cd ~/catkin_ws sudo rosdep init rosdep update rosdep install --from-paths src --ignore-src --rosdistro noetic -y catkin_make
빌드 에러시 처리
rosdep: command not found* → sudo apt install python3-rosdep
ERROR: default sources list file already exists: → sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
dpkg: error processing archive…
sudo dpkg -i --force-overwrite {위 이미지의 블록 처리된 경로}
sudo apt --fix-broken install
위 두 명령어 실행 후
rosdep install --from-paths src --ignore-src --rosdistro noetic -y
재실행
⬛ 사용법
먼저, 환경 설정을 진행한다.
source ~/catkin_ws/devel/setup.bash
ros_v4l2_camera를 실행한다.
# CLCC-G-01X roslaunch usb_cam v4l2_camera_cleb.launch image_size:="[1920, 1080]" cam:={x} # CLCC-G-02X roslaunch usb_cam v4l2_camera_cleb.launch image_size:="[2048, 1280]" cam:={x}
cam 파라미터를 생략할 시 기본값은 4이며, 연결된 카메라 채널의 수에 맞게 입력할 수 있다.
◻️ 카메라 채널 수 커스터마이즈 방법
CLEB-G-01A는 최대 카메라 4채널을 지원한다.
기본값인 4채널이 아닌 원하는 수의 카메라 채널을 사용하고 싶다면, 아래 예시를 참고하면 된다.
예시는 카메라 2채널을 사용할 때이다.
launch 파일을 실행할 때 cam 파라미터의 값을 2로 입력한다.
# CLCC-G-01X roslaunch usb_cam v4l2_camera_cleb.launch image_size:="[1920, 1080]" cam:=2 # CLCC-G-02X roslaunch usb_cam v4l2_camera_cleb.launch image_size:="[2048, 1280]" cam:=2
◻️ 프레임 레이트
하단의 표는 CLEB-G-01A가 지원하는 카메라에 대하여 cam 파라미터의 값(카메라 채널 디스플레이 수)에 따른 프레임 레이트를 정리한 내용이다.
cam 파라미터 | 4 | 3 | 2 | 1 |
---|---|---|---|---|
CLCC-G-01X | 30 fps | 30 fps | 30 fps | 30 fps |
CLCC-G-02X | 27 fps | 30 fps | 30 fps | 30 fps |
roslaunch로 실행하지 않고 1채널만(node 1개만) 실행하고자 할 경우 아래 명령을 사용한다.
source /opt/ros/noetic/setup.bash roscore
새로운 터미널을 열고 아래 명령어를 입력한다.
source /opt/ros/noetic/setup.bash source ~/catkin_ws/devel/setup.bash # CLCC-G-01X rosrun usb_cam usb_cam_node _video_device:=/dev/video{x} _image_width:=1920 _image_height:=1080 # CLCC-G-02X rosrun usb_cam usb_cam_node _video_device:=/dev/video{x} _image_width:=2048 _image_height:=1280
⬛ 결과
영상을 보기 위해서는 ROS에서 제공하는 툴인 rqt 를 사용하면 된다.
◻️ rqt
새로운 터미널을 열고 rqt를 실행한다.
source /opt/ros/noetic/setup.bash rqt
⬛ rostopic hz
4채널 카메라에 대해서 rostopic hz를 확인하면 다음과 같다.
source /opt/ros/noetic/setup.bash rostopic hz /dev/video{x}/image_raw