ros2는 기본적으로 Ubuntu상을 기준으로 두고 있다. 이에 따라 만일 Ubuntu를 설치하지 않았다면 아래 링크를 통하여 먼저 기본적인 구조를 설치하자

Note* ROS1>1st ROS1설치에 있는 부분을 참고


현재 설치는 Ubuntu 20.04 상에 ROS1 Noetic과 ROS2 foxy를 함께 설치하였다.

컴퓨터 내에서 ROS1과 ROS2 구동방법

아래의 사항들은 ROS2만을 설치하는 코드이다.

(현재 기억이 가물가물해서 약간 틀릴 수 있음)

Installation — ROS 2 Documentation: Foxy documentation

$ locale

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

//이게 나오면 ok

$ sudo apt update && sudo apt install locales

Generation complete.
Processing triggers for man-db (2.9.1-1) ...
//이게 나오면 ok

$ sudo locale-gen en_US en_US.UTF-8

Generation complete.
//이게 나오면 ok

$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ locale  # verify settings

// yujin
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=ko_KR.UTF-8
LC_TIME=ko_KR.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ko_KR.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ko_KR.UTF-8
LC_NAME=ko_KR.UTF-8
LC_ADDRESS=ko_KR.UTF-8
LC_TELEPHONE=ko_KR.UTF-8
LC_MEASUREMENT=ko_KR.UTF-8
LC_IDENTIFICATION=ko_KR.UTF-8
//이게 나오면 ok

$ sudo apt install software-properties-common

blabla~~~~~~~
Processing triggers for libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.6) ...
Processing triggers for man-db (2.9.1-1) ...
//이게 나오면 ok

$ sudo add-apt-repository universe

'universe' distribution component is already enabled for all sources.
//이게 나오면 ok

$ sudo apt update && sudo apt install curl -y

Setting up libcurl4-openssl-dev:amd64 (7.68.0-1ubuntu2.20) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...

$ sudo curl -sSL <https://raw.githubusercontent.com/ros/rosdistro/master/ros.key> -o /usr/share/keyrings/ros-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] <http://packages.ros.org/ros2/ubuntu> $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

$ sudo apt update && sudo apt upgrade

Adding boot menu entry for UEFI Firmware Settings
done
//이게 나오면 ok

$ sudo apt install ros-foxy-desktop python3-argcomplete

blabla~~
Setting up ros-foxy-joy (3.0.1-1focal.20230527.060844) ...
Setting up ros-foxy-teleop-twist-joy (2.4.3-1focal.20230527.061151) ...
Setting up ros-foxy-desktop (0.9.2-1focal.20230606.053518) ...
//이게 나오면 ok

$ sudo apt install ros-foxy-ros-base python3-argcomplete

blabla~~
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
//이게 나오면 ok

$ sudo apt install ros-dev-tools

blabla~~
Setting up ros-dev-tools (1.0.0) ...
Processing triggers for man-db (2.9.1-1) ...
//이게 나오면 ok