What is ROS?
로봇을 위한 소프트웨어 플랫폼, ROS
스마트폰이 없으면 얼마나 불편하거나 심심할까요? 사실 지금과 비슷한 폼팩터의 피처폰은 나온지 꽤 오래되었습니다. 하지만 대중화에 여러번 실패를 하면서 여러번 시장에서 자취를 감췄습니다.
하지만 약 2010년 부터 스마트폰은 안드로이드 또는 iOS 와 같은 소프트웨어플랫폼 기반으로 응용프로그램의 생태계가 형성되고 점점 커지면서 빠르게 발전 해오고 있습니다. 소프트웨어 플랫폼 없이는 절대 불가능했던 결과였죠.
바야흐로 로봇 분야에서도 전용 운영체제와 같은 로봇을 위한 소프트웨어플랫폼 의 개발이 매우 활발하게 진행되고 있습니다. 그중 가장 눈에 띄는 결과는 로봇운영체제(Robot Operating System), 즉 ROS 라고 생각합니다.
로봇 운영 체제(ROS)는 로봇을 위한 소프트웨어를 만들기 위해 프레임워크 입니다. 즉, 로봇 소프트웨어 개발을 위한 SDK, 도구, 코드, 라이브러리, 규칙 등의 모음 입니다. 전세계의 로봇 개발자들에 의해서 많은 발전이 있었고, 최근에는 ROS 의 두번째 버전 ROS2 가 출시 되었습니다.
Why ROS?
범용적인 로봇 개발
ROS 의 구조에 맞춰서, 노드 단위로 로봇을 구성하는 컴포넌트 개발이 가능합니다. 유사한 기본 코드와 구조를 로봇, 로봇팔, 모바일 로봇, 드론 등 다양하게 적용할 수 있습니다. 일반적으로 사용되는 패키지는 이미 개발이 되어있습니다. (예. 조이스틱)
다양한 개발 언어 지원
ROS classic 기준으로 Python 과 C/C++ 을 지원합니다. 향후 ROS2 에서는 더 많은 언어를 사용할 수 있습니다.
시뮬레이션 도구
로봇을 항상 직접 실행할 수는 없으므로 시뮬레이션 도구가 필요합니다. ROS에는 Rviz 및 Gazebo 와 같은 훌륭한 도구가 많이 있습니다. Gazebo를 사용하여 물리적인 환경에 구애받지 않고 테스트를 할 수 있습니다.
오픈소스 기반
ROS의 가장 큰 장점 중 하나는 오픈 소스라는 것입니다. 대부분의 핵심 패키지는 BSD 라이선스에 따라 배포 됩니다. BSD 는 수정 및 오픈 소스 라이센스로 코드를 공개하지 않고, 상업적 목적의 코드를 사용할 수 있습니다.
만들고 코딩하고 - makepluscode
스마트폰, 자동차, 자율주행, 카메라 분야의 『임베디드 개발자』 입니다. #임베디드 시스템 관련된 #컨설팅 #교육 #협업 #네트워킹 #사업 모두x모두 환영합니다. 언제든지 편하게 makepluscode@gmail.com 로 문의 주세요 :)
'로보틱스 > ROS' 카테고리의 다른 글
ROS2 노드간 통신 인터페이스 (0) | 2021.10.25 |
---|---|
ROS2 Node 와 Topic 기본 개념 (0) | 2021.10.12 |
ROS Classic 에서 ROS2 로 넘어가야 하는 이유 II (0) | 2021.09.14 |
ROS Classic 에서 ROS2 로 넘어가야 하는 이유 I (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 |