ROS 2 humble 설치
이미 너무 좋은 레퍼런스가 있어 첨부하고 후처리 과정만 추가적으로 서술하겠습니다.
위 글의 과정을 따라가면 ROS2 humble을 잘 설치할 수 있습니다.
시뮬레이션 환경 구성 및 Colcon 설치
colcon은 ROS 2를 비롯한 다양한 소프트웨어 프로젝트를 위한 빌드 시스템입니다.
colcon은 복수의 소프트웨어 패키지를 동시에 빌드하고 테스트할 수 있는 환경을 제공합니다.
ROS 2 환경에서 colcon을 사용하여 각각의 패키지를 쉽게 빌드하고 관리할 수 있습니다.
다음 명령어를 수행하여 환경을 구성합니다.
source /opt/ros/humble/setup.bash
mkdir -p ~/robot_ws/src
cd ~/robot_ws/
colcon build --symlink-install
이때 다음과 같은 에러가 발생하면
colcon: command not found
colcon 이 설치되어있지 않은 것이므로 설치를 해줍니다.
sudo apt install python3-colcon-common-extensions
다시 빌드를 수행합니다.
colcon build --symlink-install
ls 커맨드를 입력하였을 때 다음과 같이 4개의 디렉토리가 나타나면 성공입니다.
이제 ros2가 설치된 환경을 bashrc에 추가하여 별도의 커맨드 없이 작동이 바로 가능하도록 설정합니다.
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
Gazebo 설치
ROS2가 설치된 상태에서 다음과 같은 명령어로 간단하게 gazebo를 설치할 수 있습니다.
sudo apt-get -y install gazebo
다음 명령어를 수행하여 gazebo가 정상적으로 작동되는지 확인합니다.
gazebo --verbose
ROS2 통신과정 및 시뮬레이션 시각화 툴 rviz2 확인
위 과정을 따라왔다면, 아래 명령어를 수행하면 rviz2가 실행됩니다.
rviz2
추가적인 개발 도구 설치
ROS2 개발에 필수적인 도구와 의존성 등을 설치합니다.
sudo apt update && sudo apt install -y build-essential cmake git libbullet-dev python3-colcon-common-extensions python3-flake8 python3-pip python3-pytest-cov python3-rosdep python3-setuptools python3-vcstool wget
python3 -m pip install -U argcomplete flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes pytest-repeat pytest-rerunfailures pytest
sudo apt install --no-install-recommends -y libasio-dev libtinyxml2-dev libcunit1-dev
다음 명령어를 따라 추가 패키지를 설치합니다.
# ROS2-gazebo 연동을 위한 패키지
sudo apt install ros-humble-gazebo-ros-pkgs
sudo apt install ros-humble-gazebo-ros2-control
# SLAM 관련 패키지
sudo apt install ros-humble-cartographer
sudo apt install ros-humble-cartographer-ros
# Navigation 관련 패키지
sudo apt install ros-humble-navigation2
sudo apt install ros-humble-nav2-bringup
# ROS2 motion planning 프레임워크
sudo apt-get install ros-humble-moveit
# pyqt 설치
sudo apt-get install pyqt5-dev-tools
python3 -m pip install --upgrade pip
python3 -m pip install -U catkin_pkg cryptography empy ifcfg lark-parser lxml netifaces numpy opencv-python pyparsing pyyaml setuptools rosdistro
python3 -m pip install -U pydot PyQt5
마지막 pyqt 설치 과정에서
python3 -m pip install -U catkin_pkg cryptography empy ifcfg lark-parser lxml netifaces numpy opencv-python pyparsing pyyaml setuptools rosdistro
설치 중 다음과 같은 문제가 발생할 수 있습니다.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. colcon-core 0.15.1 requires EmPy<4, but you have empy 4.0 which is incompatible.
Empy 버전이 맞지 않다고 하니 다음 명령어를 통해 수정해줍니다.
pip install 'EmPy<4'
pip install --upgrade colcon-core
그리고 다시 위 명령을 수행하면 다시 EmPy 4.0이 설치되기 때문에,
다시 설치하지 않고 바로 다음 명령을 수행합니다.
python3 -m pip install -U pydot PyQt5
이제 ROS2와 Gazebo, rviz2 가 설치되었으니 다음 글에서는 MoveIt2를 설치하도록 하겠습니다.
'Setup & Example > ROS2 + 예제' 카테고리의 다른 글
ROS2 humble에서 OpenManipulator-X Pick and Place + yolov8 으로 시작 명령 주기 (0) | 2024.01.05 |
---|---|
ROS2 humble에서 OpenManipulator-X 환경 구성 및 조작 (3) | 2024.01.05 |
ROS2 humble - Gazebo에서 yolov8로 실시간 영상 분석 하기 (1) | 2023.12.29 |
ROS2 humble 에서 MoveIt2 Pick and Place Example 연습 (3) | 2023.12.29 |
ROS2 humble에서 MoveIt2 설치와 기본 튜토리얼 (1) | 2023.12.27 |