知之者 不如好之者, 好之者 不如樂之者

기계처럼 살지 말고, 즐기는 인간이 되자

Project/ROS2 + CV + Robot (2023.12~2024.02)

ubuntu 22.04에 ROS 2 humble 설치 + colcon + Gazebo

코방코 2023. 12. 26. 21:19
728x90

ROS 2 humble 설치

 

이미 너무 좋은 레퍼런스가 있어 첨부하고 후처리 과정만 추가적으로 서술하겠습니다.

 

ubuntu 22.04에 ROS 2 설치

1. 리눅스의 로케일을 UTF-8로 설정해 줍니다. 먼저 apt의 업데이트 및 로케일을 설치합니다. sudo apt update && sudo apt install locales 그리고 로케일을 UTF-8로 설정해줍니다. sudo locale-gen en_US en_US.UTF-8 sudo u

makingrobot.tistory.com

 

위 글의 과정을 따라가면 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를 설치하도록 하겠습니다. 

728x90
반응형