본문 바로가기
-----ETC-----/SLAM

[SLAM] 2일차: 학습 환경 설정

by cogito21_cpp 2024. 6. 3.
반응형

학습 환경 설정

이번 단계에서는 SLAM 학습을 위한 환경을 설정합니다. M2 Pro MacBook을 사용하므로, 필요한 소프트웨어를 설치하고 설정하는 과정입니다.

1. Homebrew 설치

Homebrew는 macOS에서 패키지를 설치하고 관리하는 데 유용한 패키지 관리자입니다. 먼저 Homebrew를 설치합니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

2. ROS 설치

ROS (Robot Operating System)는 로봇 소프트웨어 개발을 위한 오픈 소스 프레임워크입니다. M2 Pro에서는 ROS Noetic을 설치하는 것이 적합합니다.

 

1. Homebrew를 통해 ROS 설치

brew tap osrf/ros2
brew install ros-noetic-desktop-full

 

2. ROS 환경 설정

echo "source /opt/ros/noetic/setup.bash" >> ~/.bash_profile
source ~/.bash_profile

 

3. Gazebo 설치

Gazebo는 로봇 시뮬레이션을 위한 강력한 도구입니다. Homebrew를 통해 설치합니다.

brew install gazebo
 

4. Python 설치 및 환경 설정

Python은 SLAM 알고리즘을 구현하는 데 사용됩니다. 기본적으로 macOS에는 Python이 설치되어 있지만, 필요한 라이브러리를 관리하기 위해 가상 환경을 설정합니다.

 

1. Python3 설치 확인 (필요시 Homebrew로 설치)

brew install python

 

2. 가상 환경 생성

python3 -m venv slam_env

 

3. 가상 환경 활성화

source slam_env/bin/activate

 

4. 필요한 Python 라이브러리 설치

pip install numpy scipy matplotlib opencv-python

 

5. TurtleBot3 설치

TurtleBot3 관련 패키지들을 Homebrew를 통해 설치하거나, 소스를 직접 다운로드하여 빌드할 수 있습니다.

 

1. TurtleBot3 소스 코드를 다운로드하고 빌드합니다.

mkdir -p ~/turtlebot3_ws/src
cd ~/turtlebot3_ws/src
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
cd ~/turtlebot3_ws
source /opt/ros/noetic/setup.bash
catkin_make

 

2. 환경 설정

echo "source ~/turtlebot3_ws/devel/setup.bash" >> ~/.bash_profile
source ~/.bash_profile
echo "export TURTLEBOT3_MODEL=burger" >> ~/.bash_profile
source ~/.bash_profile

 

6. ROS와 Gazebo 연동 테스트

설치한 소프트웨어가 정상적으로 동작하는지 확인합니다.

 

1. ROS 코어 실행

roscore &

 

2. Gazebo 빈 세계 실행

roslaunch gazebo_ros empty_world.launch

 

3. TurtleBot3 시뮬레이션 실행

roslaunch turtlebot3_gazebo turtlebot3_world.launch

 

4. SLAM 노드 실행

roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

 

5. RViz에서 결과 확인

roslaunch turtlebot3_slam turtlebot3_slam.launch

 

이 과정에서 문제가 발생하면 에러 메시지를 참고하여 필요한 조치를 취합니다. 환경 설정이 완료되면 다음 단계로 넘어갈 준비가 된 것입니다.

반응형