본문 바로가기
ROBOTICS/Turtlebot3 - Noetic

Turtlebot3 : Camera Imaging

by 누워있는말티즈 2022. 10. 3.

이전 포스트에서 카메라를 작동시켰다. 이번에는 Single Board Computer(RPi)의 카메라 이미지를 ROS를 이용하여 제어 PC에서 확인해본다.

SBC Configuration :

Raspberry Pi 4B 4Gb(8Gb는 Ubuntu server가 불안정하다) 

Ubuntu Server 20.04 + ROS Noetic Ninjemys

 

PC Configuration :

Samsung 9 always 900X5N

Ubuntu Desktop 20.04 + ROS Noetic Ninjemys(on Orico portable SSD)

 

아래 ROBOTIS 사의 eManual을 따른다.

ROBOTIS e-Manual

 

ROBOTIS e-Manual

 

emanual.robotis.com

Raspberry Pi의 OS가 Ubuntu Server이므로 PC에서 ssh로 붙어서 작업하는데 잊지 말고 

ssh -X ubuntu@{raspberry pi IP}

권한을 줘야 카메라 작동 확인 및 문제가 생겼을 때 확인하기 편하다.


PC에도 autorace 패키지를 설치해준다.

# on PC
cd ~/catkin_ws/src/
git clone -b feature-raspicam https://github.com/ROBOTIS-GIT/turtlebot3_autorace_2020.git
cd ~/catkin_ws && catkin_make
# pray and wait...
# if successful
sudo apt install ros-noetic-image-transport ros-noetic-image-transport-plugins ros-noetic-cv-bridge ros-noetic-vision-opencv python3-opencv libopencv-dev ros-noetic-image-proc ros-noetic-cv-camera ros-noetic-camera-calibration

RPi에 필요한 패키지는 이전 두 포스트를 통해 전부 설치했으므로 생략하고 다 있다고 가정하고 진행한다.

노드를 실행하기 앞서 ~/.basrc 파일을 확인한다.

# RPi
sudo nano ~/.bashrc
# ---------- open ----------
ROS_MASTER_URI=http://{PC IP}:11311/ # 192.168.123.***
ROS_HOSTNAME={raspberry pi IP} # 192.168.123.**^
# ---------- close ----------
source ~/.bashrc
# PC
sudo gedit ~/.bashrc
#---------- open ----------
ROS_MASTER_URI=http://{PC IP}:11311/ # 192.168.123.***
ROS_HOSTNAME={PC IP} # 192.168.123.***
# ---------- close ----------
source ~/.bashrc

기본적으로 는 저 IP 위치가 다 localhost로 되어있는데 localhost로 잡히면 RPi에서 ROS MASTER URI를 찾지를 못한다.

이제 노드를 실행한다.

- PC에서 ros master 실행

roscore

- RPi에서 카메라 작동

roslaunch turtlebot3_autorace_camera raspberry_pi_camera_publish.launch

- PC에서 이미지 확인

rqt_image_view

성공적이라면

위 사진처럼 PC의 rqt의 image viewer plugin에 실시간 이미지가 송출될 것이다. 이때 rostopic을 까보면 이미지 출처는 RPi인 것을 확인할 수 있다.

가령 rqt_image_view에서 아무 것도 안나오는 경우가 있다. ~/.bashrc 파일 수정을 하고 재부팅을 안한 경우 발생할 확률이 높다. 재부팅하고 다시 시도하면 정상적으로 작동할 것이다.

다음에는 Intrinsic, Extrinsic calibration을 진행할 예정이다.

끝.

반응형

'ROBOTICS > Turtlebot3 - Noetic' 카테고리의 다른 글

Turtlebot3 Camera + OpenCV installation  (1) 2022.09.30
Turtlebot3 Autorace Simulation  (1) 2022.09.29
Turtlebot Simulation : Navigation  (0) 2022.08.23
Turtlebot Simulation : SLAM  (0) 2022.08.22
Turtlebot Simulation : Setup  (0) 2022.08.22

댓글