반응형
ROS 4주차 스터디
https://www.youtube.com/playlist?list=PLX-Ur4rl2-qxGXUo_odjVjv7eqN-Hmuek
SLAM - Simultaneous Localization And Mapping : 동시적 위치 추정 및 지도 작성
Navigation : 차량 자동 항법 장치
길찾기에 필요한 4가지
- 위치 : 로봇의 위치 계측/추정 하는 기능
- 센싱: 벽, 물체 등의 장애물의 계측하는 기능
- 지도: 길과 장애물 정보가 담긴 지도
- 경로: 목적지까지 최적 경로를 계산하고 주행하는 기능
Gmapping
OpenSLAM에 공개된 SLAM 의 한 종류, ROS에서 패키지로 제공
TurtleBot3
https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/#gazebo-simulation
- 패키지 설치
sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy \\
ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc \\
ros-noetic-rgbd-launch ros-noetic-rosserial-arduino \\
ros-noetic-rosserial-python ros-noetic-rosserial-client \\
ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server \\
ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro \\
ros-noetic-compressed-image-transport ros-noetic-rqt ros-noetic-rviz \\
ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers \\
ros-noetic-turtlebot3-msgs ros-noetic-turtlebot3
source ~/.zshrc
- turtlebot3 및 시뮬레이터(이하 gazebo) 관련 패키지 설치
cd ~/catkin_ws/src
git clone -b noetic-devel <https://github.com/ROBOTIS-GIT/turtlebot3.git>
git clone -b noetic-devel <https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git>
git clone -b noetic-devel <https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git>
cd .. && catkin_make
source ./devel/setup.zsh
echo -e "\\nexport TURTLEBOT3_MODEL=waffle" >> ~/.zshrc
- 실행하기
roslaunch turtlebot3_gazebo turtlebot3_world.launch
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
각각 gazebo 실행, turtlebot3 조종 터미널, 센서 데이터 확인용 rviz 실행을 위한 명령이다.
- SLAM - 맵 생성 후 teleop을 통한 맵 구조 파악
export TURTLEBOT3_MODEL=waffle
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
- 맵 생성하기
$ rosrun map_server map_saver -f ~/map
TurtleBot3
- 패키지 설치
sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy \\
ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc \\
ros-noetic-rgbd-launch ros-noetic-rosserial-arduino \\
ros-noetic-rosserial-python ros-noetic-rosserial-client \\
ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server \\
ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro \\
ros-noetic-compressed-image-transport ros-noetic-rqt ros-noetic-rviz \\
ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers \\
ros-noetic-turtlebot3-msgs ros-noetic-turtlebot3
source ~/.zshrc
- turtlebot3 및 시뮬레이터(이하 gazebo) 관련 패키지 설치
cd ~/catkin_ws/src
git clone -b noetic-devel <https://github.com/ROBOTIS-GIT/turtlebot3.git>
git clone -b noetic-devel <https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git>
git clone -b noetic-devel <https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git>
cd .. && catkin_make
source ./devel/setup.zsh
echo -e "\\nexport TURTLEBOT3_MODEL=waffle" >> ~/.zshrc
- 실행하기
roslaunch turtlebot3_gazebo turtlebot3_world.launch
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
각각 gazebo 실행, turtlebot3 조종 터미널, 센서 데이터 확인용 rviz 실행을 위한 명령이다.
- SLAM - 맵 생성 후 teleop을 통한 맵 구조 파악
export TURTLEBOT3_MODEL=waffle
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
- 맵 생성하기
$ rosrun map_server map_saver -f ~/map
반응형
'FOSCAR-(Autonomous Driving) > ROS 스터디' 카테고리의 다른 글
[2024 ROS 스터디] 곽우인 #1주차 - ROS 소개 및 설치하기 (0) | 2024.07.02 |
---|---|
[2024 ROS 스터디] 민경서 #4주차 - SLAM과 NAVIGATION (0) | 2024.02.20 |
[2024 ROS 스터디]정주광 #4주차 -SLAM과 내비게이션 (0) | 2024.02.20 |
[2024 ROS 스터디] 안선영 #4주차 - ROS 기본 프로그래밍 (0) | 2024.02.20 |
[2024 ROS 스터디] 손희문 #4주차 - SLAM & Navigation (0) | 2024.02.20 |