ROS 2/turtlebot4

oakd_rgb_camera_optical_frame에러. ( queue is full )

정지홍 2025. 3. 13. 15:10

 

 

에러 내용

[INFO] [1741842334.362150391] [rviz]: Message Filter dropping message: frame 'oakd_rgb_camera_optical_frame' at time 1741842328.424 for reason 'discarding message because the queue is full'

 

 

예상되는 원인

  • rviz가 이미지 데이터를 처리하는 속도가 이미지가 들어오는 속도를 못따라감.
  • 네트워크가 느려서?

 

 

 

 

1. 우선 rviz에서 저기 depth가 queue사이즈이다. 이를 50으로 늘려본다...

  • 하지만 해결 안됨

depth를 50으로 해도 그럼

 

 

2. 토픽이 발행되는지 확인해보자

  • 아주 잘되네 ( average rate가 30fps로 송출하고 있음을 확인 )
  • ros2 topic hz /oakd/rgb/preview/image_raw

카메라 토픽에서 데이터를 아주 잘 publish하고 있음.

 

 

 

 

3. turtlebot과 나의 pc간의 ROS_DOMAIN_ID가 다르면, 서로 데이터를 못주고 받는다고 한다...

  • 나의 PC와 turtlebot에서 echo $ROS_DOMAIN_ID 입력해보자... ( 나의 pc는 출력내용이 없고, turtlebot은 0을 출력했다.)

  • 이것도 안됨
export ROS_DOMAIN_ID=0  # 터틀봇의 ID에 맞게 해야 함.

# 아래는 영구적 추가 
echo 'export ROS_DOMAIN_ID=0' >> ~/.bashrc
source ~/.bashrc

 

 

 

4. 인코딩 형식?

==> 근데 종료했다가 다시 키니까 됨.....

 

 

 

 

 

 

 

 

카메라 안되면 아래 코드 입력하면 되는데, 될때 안될때 있어서 왜이러는지는 모르겠다...

ros2 launch turtlebot4_bringup oakd.launch.py

 

ros2 launch turtlebot4_bringup oakd.launch.py namespace:=/

 

sudo systemctl status turtlebot4.service