printf("ho_tari\n");
[주행] SLAM 모델 기반 다중이용시설 로봇 주행 환경 장애물 인식 모델 개발 4일차 본문
2024.11.29
4일차부터는 본격적으로 터틀봇4를 이용하여 미리 제작해놓은 map 안에서 터틀봇4가 자율 이동을 하며 동시에 자동으로 mapping을 해야하는 프로젝트를 진행하였다.
ros2 launch turtlebot4_viz view_robot.launch.py
이 명령어를 통해 rviz 프로그램을 실행시키고
ros2 launch turtlebot4_navigation slam.launch.py params:='/home/parkseongho/slam.yaml'
이 명령어를 통해 slam을 기반으로 주행을 하며 라이다 센서의 데이터를 가지고 mapping을 할 수 있도록 하였다. slam.yaml 파일의 경로를 넣어 직접 수정한 파라미터 값들이 설정되어 있는 slam.yaml 파일을 가지고 slam이 실행될 수 있도록 하였다.
ros2 launch turtlebot4_navigation nav2.launch.py params_file:='/home/parkseongho/nav2.yaml'
이 명령어를 통해 터틀봇4가 자율 주행을 할 수 있도록 하였다. nav2.yaml 파일의 경로를 넣어 직접 수정한 파라미터 값들이 설정되어 있는 nav2.yaml 파일을 가지고 자율 주행을 할 수 있도록 하였다.
이제 터틀봇4가 slam과 nav2를 이용하여 자율 주행과 mapping을 자동으로 하기 위해 이 두 기능을 사이에서 연결시켜주는 노드의 파이썬 파일을 만들어야 한다.
https://youtube.com/shorts/JcfV0yIJ8PM
기본적으로 사용한 로직은 다음과 같다.
1. Occupancy Grid 맵 (/map) 구독: 맵 데이터를 처리하여 프론티어(알려진 영역과 미지의 영역 사이의 경계)를 식별합니다.
2. 프론티어 식별: 프론티어 셀을 감지하고 이를 클러스터링하여 탐색 목표 지점을 결정합니다.
3. 네비게이션 목표 전송: 액션 클라이언트를 사용하여 NavigateToPose 액션 서버에 목표를 전송하고, 로봇을 미탐색 영역으로 안내합니다.
4. 탐색 진행 모니터링: 프론티어 셀의 비율을 기반으로 탐색이 완료되었는지 평가합니다.
5. 맵 저장: 탐색이 완료되면 맵을 저장하고 로봇을 정지시킵니다.
이제 코드의 디테일과 nav2.yaml, slam.yaml 파일들의 파라미터 값을 수정해가며 터틀봇4의 자율 주행과 mapping의 정확도를 높여가야 한다.
'두산 로보틱스 부트캠프 ROKEY > 실무 프로젝트' 카테고리의 다른 글
[지능] Vision AI 기반 컨베이어 벨트 객체 인식 딥러닝 모델 최적화 1일차 (0) | 2024.12.05 |
---|---|
[주행] SLAM 모델 기반 다중이용시설 로봇 주행 환경 장애물 인식 모델 개발 5일차 (0) | 2024.12.03 |
[주행] SLAM 모델 기반 다중이용시설 로봇 주행 환경 장애물 인식 모델 개발 3일차 (0) | 2024.12.01 |
[주행] SLAM 모델 기반 다중이용시설 로봇 주행 환경 장애물 인식 모델 개발 2일차 (0) | 2024.11.27 |
[주행] SLAM 모델 기반 다중이용시설 로봇 주행 환경 장애물 인식 모델 개발 1일차 (0) | 2024.11.27 |