본문 바로가기
로보틱스

로봇 소프트웨어 - 로봇플랫폼과 ROS

by 뜨리스땅 2024. 2. 6.
728x90
반응형

1.로봇 개발 플랫폼의 필요성

 

 

기존 로봇 개발 방식과 한계

 - 하드웨어 설계, 제어부터 제어기, 비전, 네비게이션 등 모든것을 개발해야 함.

 - API마다의 interface가 다르고, 적용하는데 학습이 필요함.

 - 하드웨어에 의존적인 소프트웨어적 성격때문에 로봇이 달라지면 소프트웨어 또한 수정이 필요함.

 - 소프트웨어를 작성하는데 하드웨어에 대한 지식이 필요함.

 - 디버깅을 하기 위해 디버깅 틀을 작성하거나 디버깅 API코드를 삽입해야함.

 - OS에 의존적이어서 변경이 어렵거나 불가능함.

 - 멀티PC, 로봇을 구성하는 경우 통신구축, 검증에 많은 시간을 소비해야 함.


 


2. 로봇 소프트웨어 플랫폼이 갖는 장점

 

플랫폼이 있으므로 다음과 같은 변화가 생긴다

 - 하드웨어 인터페이스의 통합

 - 하드웨어 추상화 - 규격화 - 모듈화

 - 가격은 Down, 성능은Up

 - 하드웨어, 미들웨어(os), 소프트웨어로 분리

 - 사용자 수요에 맞는 서비스에 집중

 - 사용자의 증가 > 피드백 반영 > 개선 > 사용자의 증가 == 생태계 형성

 

 

로봇을 위해 필요한 업무나 기술이 많기 때문에 컴퓨터나 휴대폰 처럼 플랫폼 도입의 필요성을 느끼며, 로봇 소프트웨어 플랫폼의 장점은 아래와 같다.

 - 높은 프로그램 재사용성

 - 통신 기반 프로그램

 - 개발도구 지원

 - 활성화된 커뮤니티 (오픈소스와 같이 같은 고민을 해본사람이 많으면 문제의 해결도 빠름)


 - 생태계 조성
 

 


3. 로봇 소프트웨어 플랫폼의 종류

 

 - 오로커스? (리얼타임성이 있지만 쓰기 힘듬.)

 - NAOqi (유명. 페퍼에 들어가는 os라고함. 상용 플랫폼. 정보가 제한적이나 유저가 많고 앱 마켓이 있어 로봇 테스크를 다운받는 시스템이 있는 장점)

 - OPROS  (사용자가 없다는 단점)

 - RT (사용자가 없다는 단점)

 

- ROS

  장점 - 무료, 사용자가 가장 많음, 활성화된 커뮤니티, 오픈소스, 기존 프로그램을  ROS에 이식하기 쉬움

  단점 - 단일 로봇을 위한 솔루션이고, 높은 PC의 연산 능력을 요구함. 네트워크에 의존성이 높음, 보장되지 않는 실시간성, 임베디드 시스템에서 사용하기 어려움, 리눅스 위주의 개발과 패키지의 공개 등 ->단점 보완을 위해 ROS를 지속적으로 upgrade 개발하고있음

 



4. ROS에 대해 좀더

 

4.1. ROS의 목적


 - 기존의 PC와 Phone의 역사를 Robot에 반영시키기 위한 생태계 형성

 - 전세계 사람들이 모여  ROS를 함께 개발 (오픈소스로 사용, 역할분담식으로 잘하는거 하자~)

 

4.2. ROS의 특징


 - Node간 메세지 교환 방식으로 프로그램을 잘게 나누어 공동으로 개발이 가능

 - 도구지원 : 명령어 도구, 시각화 도구, GUI 도구, 시뮬레이션 도구

 - 로보틱스에서 사용하는 데이터의 규격화

 - 모델링, 센싱, 인식, 네비게이션, 매니퓰레이션 기능의 지원

 - 크게 형성된 WIKI(생태계)


 

출처: 두리안의 코딩 나무

 

뜨리스땅 

728x90
반응형

댓글