길 찾기에 필요한 것
위치 : 로봇의 위치 계측/추정하는 기능
GPS(Global Positioning System)
한계 - 큰 오차, 날씨에 영향, 실외만 가능
Indoor Positioning Sensor
Landmark (Color, IR Camera) - 성능 good, 가격이 비쌈
Indoor GPS
WIFi SLAM
Beacon
추측 항법
이동 거리, 회전 값 계산, 위치측정
누적오차 발생
IMU 등의 관성 센서, 필터로 위치 보상
(상대좌표)
센싱 : 벽, 물체 등의 장애물의 계측하는 기능
거리센서
비전센서
Depth camera
지도 : 길과 장애물 정보가 담긴 지도
지도 만들기 -> SLAM!!
경로 : 목적지까지 최적 경로를 계산하고 주행하는 기능
내비게이션
위치 추정
경로 탐색/계획
- DWA, A* 등...
SLAM
Simultaneous Localization And Mapping
동시적 위치 추정 및 지도 작성
Gmapping - OpenSLAM에 공개된 SLAM의 한 종류
위치 추정 필터 - 칼만 필터, 파티클 필터 등..
내비게이션
차량 자동 항법 장치
실습하기
패키지 설치
강의에서는 kinetic 버전이나 나는 noetic버전을 사용하기에 주의가 필요하다. 에러를 처리하느라 많은 코드를 쳐서 뭐가 정답인지 모르겠다...
일단 참고 자료 : https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/#gazebo-simulation
어찌저찌 성공했다.
RViz의 여러 옵션들은 직접사용하면서 배워보도록 하자
SLAM 사용하기
위와 동일하게 gazebo, 원격조종을 실행하고 이번에는 SLAM을 실행하자
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
RViz와 Gazebo가 실행된 모습을 볼 수 있다.
열심히 지도를 그려보자
지도를 완성하면
$ rosrun map_server map_saver -f ~/map
이 명령어로 지도를 저장하자
map.pgm, map.yaml 파일이 생성된 것을 볼 수 있다.
내비게이션 사용하기
이번에는 Gazebo와 내비게이션을 실행하자
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
$ roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
처음에는 초록선 즉, 로봇의 위치와 방향에 대한 확률이 흩어져있다.
2D Pose Estimate와 원격조종툴로 이동, 회전을 해서 로봇의 위치를 보다 정확히 인식시키자.
초록선들이 로봇에 집중된 모습을 볼 수 있다.
2D Nav Goal로 로봇의 원하는 지점을 정할 수 있다.
목적지를 위한 이동경로와 실제 Gazebo상에서도 움직이는 모습을 볼 수 있다.
'FOSCAR-(Autonomous Driving) > ROS 스터디' 카테고리의 다른 글
[2025 ROS 스터디] 황희찬 #4주차 - SLAM과 내비게이션 (0) | 2025.02.07 |
---|---|
[2025 ROS 스터디] 이승찬 #4주차 - SLAM & NAVIGATION (0) | 2025.02.07 |
[2025 ROS 스터디] 김예찬 #4주차 - SLAM과 내비게이션 (0) | 2025.02.04 |
[2025 ROS 스터디] 이호휘 #4주차 - SLAM과 내비게이션 (0) | 2025.02.04 |
[2025 ROS 스터디] 김예찬 #3주차 - ROS 메세지 통신 프로그래밍, roslaunch (0) | 2025.02.03 |