ROS - Robot Operating System
한줄 요약으로 로봇 개발을 위한 Tool이다.
ROS는 로봇 애플리케이션을 구축하는데 도움이 되는 소프트웨어 라이브러리 및 도구이다.
드라이버부터 SOTA(state-of-the-art algorithm)까지 로봇 프로젝트에 필요한 모든 것이 포함되어 있다. 심지어 이 모든것이 오픈소스이다.
해당 ROS가 현재 나의 OS인 Ubuntu 24.04 LTS와 호환됨 (꼭 본인에 맞는 ROS Version을 다운받아야함)
터미널에서 진행
$ locale
$ sudo apt update && sudo apt install locals
$ sudo locale-gen en_US en_US.UTF-8
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
# 위 3개는 실행해도 아무 변화 없었음
$ locale

$ sudo apt install software-properties-common
$ sudo add-apt-repository universe
$ sudo apt update && sudo apt install curl -y
$ 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
# 위 2개는 아무 변화 없었음

$ sudo apt update && sudo apt install ros-dev-tools
$ sudo apt update && sudo apt upgrade
$ sudo apt install ros-jazzy-desktop
$ sudo apt install ros-jazzy-ros-base

$ source /opt/ros/jazzy/setup.bash
$ ros2 run demo_nodes_cpp talker
$ ros2 run demo_nodes_py listener
ros2 run demo_nodes_py listener 의 경우 실행문이 안뜨고 그냥 가만히 있는다. 뭐지..?
$ echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
# 터미널을 열때마다 ROS 2 환경이 자동으로 설정됨
$ source ~/.bashrc
# bashrc 파일 업데이트
$ sudo apt install python3-colcon-common-extensions
$ echo "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.bashrc
$ echo "export _colcon_cd_root=/opt/ros/jazzy/" >> ~/.bashrc
colcon_cd 기능을 활성화
colcon_cd 기능이란 ROS2 패키지 디렉토리로 쉽게 이동할 수 있게 해주는 명령어

$ mkdir -p ~/robot_ws/src
$ cd ~/robot_ws/
$ colcon build --symlink-install
$ echo "source ~/robot_ws/install/setup.bash" >> ~/.bashrc
ros 2 워크스페이스를 만들고 새로운 워크스페이스에 설정을 로드하도록 bashrc를 추가
rosdep은 ROS 패키지의 시스템 의존성을 관리하는 도구
$ sudo apt install python3-rosdep
$ sudo rosdep init
$ rosdep update
vcstool은 여러 저장소를 관리하는 데 사용되는 버전 컨트롤 시스템 도구
$ sudo apt install python3-vcstool
모든 환경설정 끝
숨겨진 고수의 사이트 https://ahnbk.dev/?p=498
ros 2 공식 특강 https://docs.google.com/presentation/d/1QvUHj8iZCWIGiWRCgHFG-DLAmoUK6khO9xBXCzjPTTs/edit#slide=id.g2f68ae33455_7_28
ros jazzy 공식 튜토리얼 https://docs.ros.org/en/jazzy/Tutorials.html