먼저 개인 의견을 드리자면,
- ROS2 의 최신 버전을 이용하라
- 다만 로봇 업계에서는 기존 ROS1 을 사용하고 있는 경우가 많음 (완전히 다른 프로토콜이라 하위 호환 없음)
- 버전별 설치가능한 환경이 있다. 예를들어 humble 은 우분투 22.04 밑으로는 안깔림
- 윈도우 환경 설치는 비추. 필요시 도커 사용
ROS2 의 경우 humble 에 와서는 그래도 안정성 측면에서 많이 개선 되었다고 하는 주장이 있습니다.
distribution 은 보시게 되면, 알파벳 순으로 증가하는 걸 볼 수 있습니다.
https://docs.ros.org/en/iron/index.html
ROS 2 Documentation — ROS 2 Documentation: Iron documentation
© Copyright 2023, Open Robotics.
docs.ros.org
버전에 대한 wiki 설명 :
출처 : https://en.wikipedia.org/wiki/Robot_Operating_System#Versions_and_releasesd
Robot Operating System - Wikipedia
From Wikipedia, the free encyclopedia Set of software frameworks for robot software development Robot Operating System (ROS or ros) is an open-source robotics middleware suite. Although ROS is not an operating system (OS) but a set of software frameworks f
en.wikipedia.org
ROS는 각각의 메이저 버전에 대해 유지 보수를 계속하며, 이는 마이너 업데이트와 패치를 통해 이루어집니다. 이러한 유지 보수가 중요한 이유는 이전 버전의 ROS를 사용하는 사용자들이 새로운 기능이나 버그 수정 등의 개선 사항을 받을 수 있게 하기 위함입니다.
ROS는 C++과 Python 등의 다양한 프로그래밍 언어를 지원합니다. 따라서 ROS를 사용하는 사용자들은 자신이 선호하는 언어를 사용하여 로봇 소프트웨어를 개발할 수 있습니다.
주로 Python 으로 프로토타이핑을하고 C++ 로 성능을 높이는 방향으로 생각하시면 됩니다.
ROS는 개발자들에게 높은 수준의 재사용성과 이식성을 제공합니다. ROS 패키지들은 다양한 하드웨어나 운영 체제에서 작동할 수 있으며, 많은 패키지들은 소스 코드로 제공되어 자유롭게 수정하여 사용할 수 있습니다.
위 링크를 통해서 보시면 알 수 있지만 ROS1 은 레거시로써 아직 건재하고 많은 로봇 업체들이 아직 쓸 수 있습니다.
단지 본인 공부를 위해서나 새로운 프로젝트를 시작하는데 ROS1을 쓸 이유는 없습니다.
ROS2의 경우 특정 도서나 링크에서 예전 버전을 쓰고 있다고 해서 고집하지 마시고 최신버전을 쓰는 걸 권장합니다.
(EOL Date 를 봐주세요)
ROS2 버전 확인 방법
ROS2의 버전을 확인하는 방법은 다양합니다.
가장 간단한 방법은 터미널에서 "ros2"를 입력하면 현재 설치된 ROS2의 버전과 이름이 나타납니다.
또한, ROS2를 설치할 때 지정한 디스트로를 터미널에서 확인할 수 있습니다. ROS_DISTRO 환경 변수를 확인하는 것이 그 예입니다. "echo $ROS_DISTRO"를 입력하면 현재 사용 중인 ROS2의 디스트로 이름이 나타납니다.
마지막으로, ROS2의 환경 변수가 설정된 파일을 확인하여 버전 정보를 알 수 있습니다. ROS2의 환경 변수를 설정하는 파일은 ROS2 설치 디렉토리 안의 "setup.(bash/zsh/sh)" 파일입니다. 해당 파일 내에서 ROS2 버전 정보를 확인할 수 있습니다.
따라서, 위의 방법들 중 하나를 선택하여 ROS2의 버전을 확인할 수 있습니다.
ROS/ROS2는 하나의 시스템에서 여러 버전을 함께 사용하는 것이 가능합니다.
ROS/ROS2 버전들은 각각 독립된 workspace에서 작업할 수 있고, 작업을 하기 전에 해당 workspace에서 적절한 버전의 ROS/ROS2를 활성화(source /opt/ros/버전/setup.bash)해야 합니다. 이를 위해서는 해당 workspace의 setup.bash 파일을 소스하여 환경을 설정하면 됩니다.
이와 같은 방식으로 하나의 시스템에서 여러 ROS/ROS2 버전을 함께 사용할 수 있습니다.
'IT > AI , 로봇' 카테고리의 다른 글
[Math] Linear algebra 의 데이터와 계산 (0) | 2023.05.12 |
---|---|
[ROS] ROS2 Architecture (0) | 2023.05.12 |
[RL] Temporal Difference - 시간적 차이 (0) | 2023.05.12 |
[RL] Deterministic and stochastic exploration - 결정론적 탐색과 비결정론적 탐색 (0) | 2023.05.12 |
[RL] MDP (0) | 2023.05.12 |