터틀봇 noetic slam rviz mapping 이 중간에 멈춥니다

rviz를 실행하고 처음 약 40초 ~ 1분가량은 끊임없이 로봇의 위치를 실시간으로 읽으면서 정상적으로 맵을 그리는데 그 이후로는 맵핑이 서서히 느려지더니 아예 안되다가 다시 천천히 맵을 읽는 현상이 계속 반복됩니다.
그래서 맵을 읽다가 못읽다가를 반복하는 바람에 맵 파일은 매번 망가져서 pathplanning 작업을 할 수가 없는 상황입니다…

slam이 이렇게 느려지다가 멈추는 현상을 해결하려면 어떻게 해야 하나요?

안녕하세요.
해당 문제를 재현해보기 위해 자세한 설명을 부탁드립니다.
현재 사용 중인 터틀봇의 모델과 라즈베리파이 용량을 알려주시고, 혹시 오류 코드가 발생했다면 해당 내용을 공유해 주세요.

현재 상황으로는 라즈베리파이의 CPU 및 메모리 과부하 가능성이 가장 높습니다.
Swap 메모리를 설정한 후 다시 시도해 보세요.
:link: Swap 메모리 설정 방법

감사합니다.


Hello,
Could you provide more details so we can try to reproduce the issue?
Please share your TurtleBot model, Raspberry Pi RAM capacity, and if any error messages appear, please post them.

From the current description, CPU and memory overload on the Raspberry Pi seems to be the most likely cause.
Please try setting up swap memory and see if it helps.
:link: How to Set Up Swap Memory

Thank you!

안녕하세요. 답변 감사드립니다

1.터틀봇 모델명 : Turtlebot3 waffle_pi

2.Raspberry PI 정보

Hardware : BCM2835
Revision : c03115
Serial : 10000000c179dbca
Model : Raspberry Pi 4 Model B Rev 1.5
RAM : 4GB

3.정확한 문제점
Bringup → SLAM → Teleoperation 터틀봇을 움직여서 rviz로 맵을 그리는 과정에서
1분도 안되서 맵핑이 끊기고 터틀봇이 맵 바깥으로 뚫고 나가버리는 현상이 지속적으로 발생했습니다.

bringup이나 SLAM 실행시 터미널 창에서 눈에 보이는 오류코드는 없습니다.
앞서 말씀드렸듯이 SLAM이 실시간 정보를 갱신을 제대로 못하고 느려지다가 멈추는게 전부입니다…

알려주신 Swap 메모리 설정은 순서대로 입력했는데
~$ free -h 입력 결과가
_______total / used / free / shared buff / cache / available
Mem: 30Gi / 2.4Gi / 26Gi / 445Mi / 1.9Gi / 27Gi
스왑: 4.0Gi / 0B / 4.0Gi

이렇게 나오네요.

제 담당 교수님께 저번에 라즈베리파이나 OpenCR 보드에 문제있는거 아니냐고 말씀드려보니까 보통은 소프트웨어 문제가 대부분이라고 하시면서 그럴 가능성은 드물다고 하시던데… 이 경우면 라즈베리파이 문제가 맞는거겠죠?

안녕하세요. 답변 감사합니다.

알려주신 터틀봇의 스펙으로는 문제 없이 SLAM이 실행될 것으로 예상됩니다.

또한, 이전의 이슈 케이스에서도 유사한 문제가 보고된 적이 없어, 만약 세팅이 정상적이라면 소프트웨어 문제일 가능성은 낮습니다.

가능성이 높은 원인:

  1. 터틀봇의 데이터를 PC에서 수신하여 SLAM을 실행하기 때문에 네트워크(Wi-Fi, ROS 통신) 문제일 가능성이 있음
  2. SLAM 연산을 수행하는 PC의 성능 문제 가능성

:white_check_mark: 1. PC의 CPU 및 메모리 사용량 확인

SLAM 실행 중 CPU 및 메모리 사용량을 확인해주세요.
아래 명령어를 실행하면 실시간 시스템 상태를 모니터링할 수 있습니다.

htop

확인할 사항:

  • CPU 사용량이 100%에 근접하는지 확인
  • RAM 사용량이 가득 차 있는지 확인

:point_right: 만약 CPU/RAM 사용량이 높은 경우, PC 성능이 부족하여 SLAM이 원활하게 실행되지 않는 것일 수 있음


:white_check_mark: 2. LiDAR 데이터 확인

SLAM 성능 저하의 원인 중 하나는 LiDAR 데이터 누락 또는 통신 오류일 수 있습니다.
아래 명령어를 실행하여 LiDAR 데이터가 정상적으로 들어오는지 확인하세요.

rostopic echo /scan

확인할 사항:

  • /scan 토픽에서 데이터가 끊기거나 갱신 속도가 너무 느린지 확인
  • 데이터가 아예 출력되지 않는 경우 → LiDAR 센서 연결 상태 확인 필요

:point_right: LiDAR 데이터가 원활하지 않다면, SLAM이 정상적으로 맵을 생성하지 못할 가능성이 높음


위 방법을 먼저 시도해보시고, 여전히 문제가 지속된다면 네트워크 상태(Wi-Fi 연결 안정성) 및 PC 성능 문제를 추가로 점검해 보시는 것이 좋겠습니다.