반응형
ROS2 Migration
ROS2 로 넘어가야 하는 이유 (첫번째)
ROS1
- 2007년 5월 개발 시작 (STAIR, STanford AI Robot)
- 2020년 5월 13번째 Noetic Ninjemys 마지막 배포판으로 릴리즈 중단
ROS2
- 2014년 3월 부터 개발 시작되었고, 2015년 첫번째 알파 버전을 릴리즈
- 2021년 Galatic Geochelone 까지 총, 7개의 공식 배포판
2007년 5월 스탠포드 대학교 연구실에서 시작된 ROS 는 로봇 소프트웨어의 플랫폼화, 기능구현에 큰 성과를 얻었다. 하지만, 고성능 워크스테이션에서 연구용으로 만들어진 프레임워크는 실제 산업 현장에 적용하는 과정에서 아래와 같은 문제점이 제기되었다.
- 성능의 문제 - 임베디드 시스템 포팅의 어려움,
- 소프트웨어 이식, 확장의 문제
- 빌드 시스템, 도구의 개선필요
- 보안문제
성능의 문제, 임베디드 포팅이 가능한가?
초기의 ROS 환경은, 단일로봇, 워크스테이션급 리소스, 실시간 요구사항 없음, 우수한 네트워크 환경 가정으로 주로 학계에서 연구 응용프로그램을 개발 형태 였다. 그 이후에 다양한 로봇 소프트웨어로 전파되는 과정에서 제한적인 임베디드 환경에 포팅이 필요하게 되었다. 최근 자율주행과 같은 응용에서 실시간 성이 매우 중요한 문제로 제기되는 과정에서 ROS 는 성능 측점에서 한계를 보여왔다.
소프트웨어 이식과 확장의 문제
제한적인 개발 플랫폼과 언어의 지원과 다소 오래된 규격, 오픈소스 라이브러리의 사용으로 최신 소프트웨어의 이식과 확장에 제한적이다.
- Linux, macOS 개발환경
- XMLRPC, TCPROS 을 이용한 통신
- C++03, python2.7
빌드 시스템, 도구의 개선필요
초기에는 rosbuild, catkin (CMake) 등 통합 빌드환경 제공의 의미가 컸습니다. CMake 기반의 catkin 은 python 패키지 관리가 불가능했고, 단일 워크스페이스에서만 사용가능했던 문제가 있다.
- rosbuild, catkin (CMake-based, catkin_make, catkin_tools)
- rosws, wstool, rosinstall
보안문제
하나의 master (roscore) 를 중심으로 만들어진 ROS1 에서는 master 의 ip, port 등이 노출되어 공격을 받으면 전체 시스템이 위험에 빠질 수 있다.
반응형
'로보틱스 > ROS' 카테고리의 다른 글
ROS2 완독 챌린지 Week1 (Ch.01~04) (0) | 2023.04.14 |
---|---|
ROS2 노드간 통신 인터페이스 (0) | 2021.10.25 |
ROS2 Node 와 Topic 기본 개념 (0) | 2021.10.12 |
ROS Classic 에서 ROS2 로 넘어가야 하는 이유 II (0) | 2021.09.14 |
Ubuntu 20.04 에서 ROS2 Foxy Fitzroy설치하기 (0) | 2021.09.11 |
로스백, Rosbag 을 이용한 메시지 로깅 및 재생 (0) | 2021.01.03 |
ROS2 기본예제 Turtlesim 실행하기 (0) | 2021.01.02 |
Ubuntu 18.04 에서 ROS2 Dashing Diademata 설치하기 (0) | 2020.12.31 |