ROS, Robot Operating System is widely used in robotics development. It provides robust communication mechanism and a uniform interface.
A Blog is also available on medium and a video is also available for this presentation: https://youtu.be/0636IpOUCnc
Portfolio: https://khansaadbinhasan.github.io/
Medium: https://medium.com/@khansaadbinhasan
Linkedin: https://www.linkedin.com/in/khan-saad...
Github: https://github.com/khansaadbinhasan
Twitter: https://www.twitter.com/KhanSaadBinHas1
Youtube: https://www.youtube.com/channel/UCudVNfZNUhH4oWyFcB4I0gg?view_as=subscriber
넥슨코리아 사내 발표자료로 왓 스튜디오에서 파이썬으로 《야생의 땅: 듀랑고》 서버를 비롯한 여러가지 도구를 만든 경험을 공유합니다.
- 게임서버와 각종 툴, 테스트/빌드/배포 시스템을 만들 때 사용한 재료
- 파이썬 코드 품질 개선, 디버깅, 프로파일링, 최적화
- 파이썬 오픈소스 생태계와 왓 스튜디오가 하는 오픈소스 활동
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
Rclex: A Library for Robotics meet ElixirHideki Takase
Presentation at Code BEAM America 2021
https://codesync.global/conferences/code-beam-sf-2021
https://codesync.global/speaker/hideki-takase/
How do we install the magic of Elixir into robot systems? One of the solutions is "Rclex", that is a client library for ROS 2 platform. ROS (Robot Operating System) provides publish/subscribe based messaging mechanism between robot modules with the DDS (Data Distribution Service) stack. We suggest that the force of Erlang/Elixir can power up the scalability of ROS 2 communication. This talk will introduce how did we integrate ROS 2 and Elixir by using NIFs, and discuss the possibility of this library in the IoT field.
ROS, Robot Operating System is widely used in robotics development. It provides robust communication mechanism and a uniform interface.
A Blog is also available on medium and a video is also available for this presentation: https://youtu.be/0636IpOUCnc
Portfolio: https://khansaadbinhasan.github.io/
Medium: https://medium.com/@khansaadbinhasan
Linkedin: https://www.linkedin.com/in/khan-saad...
Github: https://github.com/khansaadbinhasan
Twitter: https://www.twitter.com/KhanSaadBinHas1
Youtube: https://www.youtube.com/channel/UCudVNfZNUhH4oWyFcB4I0gg?view_as=subscriber
넥슨코리아 사내 발표자료로 왓 스튜디오에서 파이썬으로 《야생의 땅: 듀랑고》 서버를 비롯한 여러가지 도구를 만든 경험을 공유합니다.
- 게임서버와 각종 툴, 테스트/빌드/배포 시스템을 만들 때 사용한 재료
- 파이썬 코드 품질 개선, 디버깅, 프로파일링, 최적화
- 파이썬 오픈소스 생태계와 왓 스튜디오가 하는 오픈소스 활동
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
Rclex: A Library for Robotics meet ElixirHideki Takase
Presentation at Code BEAM America 2021
https://codesync.global/conferences/code-beam-sf-2021
https://codesync.global/speaker/hideki-takase/
How do we install the magic of Elixir into robot systems? One of the solutions is "Rclex", that is a client library for ROS 2 platform. ROS (Robot Operating System) provides publish/subscribe based messaging mechanism between robot modules with the DDS (Data Distribution Service) stack. We suggest that the force of Erlang/Elixir can power up the scalability of ROS 2 communication. This talk will introduce how did we integrate ROS 2 and Elixir by using NIFs, and discuss the possibility of this library in the IoT field.
[부산] 로봇 운영체제 ROS 세미나 / 2015.7.8
로봇 소프트웨어 개발을 위한 소프트웨어 프레임워크인 로봇 운영체제 ROS 대한 초심자 대상 기술 세미나
[이야기 하나!]
1. 강의제목 : 로봇 운영체제 ROS 개론
2. 강좌내용
(1) 로봇 소프트웨어 플랫폼의 필요성
(2) 로봇 운영체제 ROS 소개
(3) 로봇 운영체제 ROS 개념
(4) 로봇 운영체제 ROS 특징과 활용
[이야기 둘!!]
1. 강의제목 : ROS를 활용한 SLAM과 내비게이션
2. 강좌내용
(1) ROS를 활용한 모바일 로봇의 위치추정과 맵핑 (SLAM)
(2) ROS를 활용한 모바일 로봇의 내비게이션 (Navigation)
[이야기 셋!!!]
1. 강의제목 : 로봇 암 모델링과 Moveit! 사용법
2. 강좌내용
(1) 3D가식화 툴 RViz 및 시뮬레이터 Gazibo를 위한 실제 로봇암의 모델링
(2) 모션 플래닝 MoveIt! 사용법
Robot 혁명 : 기계들의 반란 - 박천구, AWS솔루션즈 아키텍트/손의형, 로보티즈 선임 연구원:: AWS Summit Online ...Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/6B7AjnH4_hs
모바일 자율로봇 개발에 필요한 기술과 혁신적인 로봇들이 어떻게 만들어지는지 알아보고, 로봇 오픈소스(ROS) 개발을 주도하는 대표 업체인 로보티즈(ROBOTIS)가 AWS RoboMaker를 통해서 개발하는 로봇에 대해 자세하게 설명합니다.
RAD스튜디오는 항상 최신 OS 지원을 위해 꾸준히 업데이트 되고 있습니다.
이 자료는 2017년 11월 진행된 온라인 세미나의 발표자료입니다. RAD스튜디오 10.2 버전으로 최신 OS와 기술들을 프로젝트에 적용하고, 개발 영역을 확장하는 방법을 설명합니다.
다루는 내용은 다음과 같습니다:
[최신 기술 적용-운영체제와 기술]
- 윈도우 10, 멀티플랫폼 지원, 사물인터넷, 겟잇 패키지 매니저
[개발 영역 확장-플랫폼과 아키텍처]
- 파이어몽키 프레임워크, RAD서버, 엔터프라이즈 커넥터
*온라인 세미나 다시보기는 다음 링크를 활용하세요:
https://goo.gl/tJK765
This slide describes why OpenStack is Operating System (OS).
오픈스택을 왜 클라우드 운영체제라고 부르는지, 운영체제가 반드시 가지고 있어야 할 구성요소들을 오픈스택 구성요소들과 비교 분석함으로써 오픈스택을 알아보는 내용을 담고 있습니다.
제3회 오픈 로보틱스 세미나 (제7세션)
: 로봇운영체제ROS 개론
The 3rd Open Robotics Seminar
: Robot Operating System "ROS"
: ROS is an open-source, meta-operating system for your robot!
Mobile Application Development Platform "Morpheus"태일본부장님(Uracle) 권
대한민국 No.1 모바일 개발 플랫폼 모피어스에 대한 소개 자료입니다.모피어스는 국내 200여 사이트에서 그 효과를 입증한 모바일 플랫폼으로 Gartner가 요구하는 MADP(Mobile Application Development Platform)의 7가지 요건을 만족하는 국내의 유일한 플랫폼입니다.
(Morpheus is the No.1 MADP in Korea Market.)
2017년 4월 출시된 최신 RAD스튜디오 10.2 도쿄 버전의 최신 기술들을 정리한 문서입니다.
개발 성능 향상, 최신 OS지원, 새로운 개발 영역(클라우드, IoT 등)으로의 손쉬운 확장 등.
개발자들에게 복잡할 수 있는 기술들을 간편하게 적용할 수 있는 RAD스튜디오의 기술과 활용팁 입니다.
제4섹션 (10:40 - 11:10)
1. 강의제목: 공학으로 콘텐츠 만들기
2. 강연자: 김현성 (긱블 공동 창업자 / 포스텍 전자전기공학과)
- 아이언맨 광자포, 킹스맨 우산총, 육발이 리모콘, 가오나시 등 기발한 아이디어로 요즘 핫한 긱블 Geekble팀
- Geek + Able: 메이커문화를 보다 '힙하게' 콘텐츠화해서 제시하는 남다른 센스 좍렬~~~!
- 아래의 링크의 영상 1개만 먼저 봐보세요. 이 친구들 꼭 한번 봐야겠다 싶으실 겁니다.
- 무려~ 포항에서 올라오십니다. 영상으로 보던 긱블~ 이제 직접 보세요!
- https://www.facebook.com/geekble/
- http://www.geekble.kr/
- https://youtube.com/channel/UCp94pzrtA5wPyZazbDq0CXA
3. 발표내용:
- 긱블은 공학을 주제로 한 미디어 스타트업입니다. 공대 학부생이 모여 만든 긱블은 '새로움'과 '재미'를 최우선 가치로 내세우며 일반인들에게 공학을 알리고자 영상 콘텐츠를 만들고 있습니다. 이들이 휴학을 하고 카메라를 잡으며 콘텐츠를 만들게 한 것은 무엇일까요? 긱블이 공학 콘텐츠를 만드는 이유가 무엇인지, 세상이 왜 주목하는지, 그리고 그 과정과 미래를 보여드립니다.
제1섹션 (09:00 - 09:30)
1. 강의제목: 임의의 어떤 로봇
2. 강연자: 강승구 (유니스트)
- 임어로 #1호 텀블링로봇, #2호 글쓰는로봇, #3호 지네로봇, #4호 토러스로봇의 개발 이야기
- 톡톡튀는 아이디어가 남다르죵~! 생각나면 바로 제작에 들어가는 메이커 자세와 척척 구현해내는 실력까지 겸비!
- 자작 로봇을 만들고 싶으시다구요? 강승구님의 개발 이야기를 들어보세요. 오오오오호~ 나도 해봐야지 쉽을겁니다. :)
- https://www.facebook.com/EArobots/
3. 발표내용:
- 어떤 학부생이 이래저래 만든 임의의 야매로봇 이야기
제2회 오픈 로보틱스 세미나 (제10세션 ROS를 활용한 SLAM과 내비게이션)Yoonseok Pyo
제2회 오픈 로보틱스 세미나
제 10 세션 (2014.12.21 일 13:50 ~ 14:50)
1. 강의제목 : ROS를 활용한 SLAM과 내비게이션
2. 강연자
- 표윤석
- JSPS 특별연구원
- 큐슈대학 박사과정
3. 강좌내용
(1) ROS를 활용한 모바일 로봇의 위치추정과 맵핑 (SLAM)
- 모바일 로봇 거북이를 중심으로 SLAM 패키지 사용법과 시연
(2) ROS를 활용한 모바일 로봇의 내비게이션 (Navigation)
- 모바일 로봇 거북이를 중심으로 내비게션 패키지 사용법과 시연
제2회 오픈 로보틱스 세미나
제 8 세션 (2014.12.21 일 11:30 ~ 12:30)
1. 강의제목 : 로봇 운영체제 ROS 개론
2. 강연자
- 표윤석
- JSPS 특별연구원
- 큐슈대학 박사과정
3. 강좌내용
(1) 로봇 소프트웨어 플랫폼의 필요성
- 최근 부각되고 있는 로봇 소프트웨어 플랫폼의 등장의 배경과 종류, 그리고 그 필요성에 대해 알아보자.
(2) 로봇 운영체제 ROS 소개
- ROS 소개, 현 개발 상황, 이용 현황, 기본 개념 설명
(3) 로봇 운영체제 ROS 활용
- ROS를 이용한 프로젝트의 예, 활용법
2013년 12월 제1회 오픈 로보틱스 세미나 에서 발표한 "제6세션:로봇 운영체제 ROS 개론"에 대한 내용입니다. 위 내용은 ROS를 처음 접하시는 분들을 위한 개론과 같은 내용이구요. 더 자세한 튜토리얼 및 강좌는 http://cafe.naver.com/openrt 에서 공개하고 있습니다. 아직 해야할게 더 많네요. 2014년 올해 겨울에도 제2회 오픈 로보틱스 세미나를 준비하고 있습니다. 올해에는 오로카 커뮤니티에서 준비중인 쿼드콥터 프로젝트, 라즈베리파이 응용작품을 비롯하여 ROS 응용편등 더욱 재미난 내용으로 찾아뵙고 싶습니다.
7. 운영 체제 (Operating System) + 애플리케이션(App)
7
Personal Computer Smartphone
http://en.wikipedia.org/wiki/Linux, https://www.apple.com/, http://windows.microsoft.com/, The icons are trade mark of each company
iOS 8
11. 로봇 개발
로봇 개발자는 만능? 혼자 다~ 만들려고 해 ㅡㅡ;
단독적인 하드웨어 구성
만들고 자기만 쓰는 경우도 OTL...
하드웨어 레벨에서 바로 서비스 애플리케이션을 구현
11Iron Man (2008 film) - Wikipedia
Are you actually a genius?
13. [1983년 최초 상용 핸드폰(?) 모토로라 DynaTAC 8000 와 개발자 Martin Cooper, 점점 발전하는 휴대전화]
http://blog.cartoys.com/date/2013/04/, https://line.do/the-evolution-of-cell-phones/r5q4ui/vertical
소프트웨어 플랫폼이 가져온 변화
13
14. 소프트웨어 플랫폼이 가져온 변화
하드웨어 인터페이스 통합
하드웨어 추상화 ・ 규격화 ・ 모듈화
가격 ↓, 성능 ↑, 가성비 발군
하드웨어 ・ 운영체제 ・ 애플리케이션 분리
사용자 수요에 맞는 서비스에 집중!
구매와 피드백, 새로운 생태계의 선환 구조 형성
14
iOS 8
16. 플랫폼?
• 플랫폼
• 하드웨어 플랫폼 및 소프트웨어 플랫폼을 통칭하는 용어.
(로봇 진영에서는 로봇 플랫폼이라 한다.)
• 하드웨어 플랫폼
• 하드웨어 아키텍처를 포함하며 정해진 목적에 맞도록 하드웨어를 구성한 것. 또한, 하드웨어
플랫폼은 상단의 응용 프로그램을 위하여 소프트웨어 플랫폼과 결합하기 위한 인터페이스를
갖추고 있다.
• 소프트웨어 플랫폼
• 하드웨어 플랫폼에서 정해진 목적의 응용 프로그램을 구동하기 위한 운영체제(OS), 소프트
웨어 프레임워크를 포함하는 것.
16Photographed by Daniel Case, GNU Free Documentation License
Platform ?
24. 로봇 소프트웨어 플랫폼이 가져올 미래
하드웨어 플랫폼과의 소프트웨어 플랫폼간의 인터페이스 확립
모듈형 하드웨어 플랫폼 확산
하드웨어에 대한 지식이 없어도 응용 프로그램 작성 가능 (있다면 더 좋고 )
더 많은 소프트웨어 인력들이 로보틱스 분야로 진입, 로봇 제품에 참여 가능
유저에게 제공할 서비스에 집중
서비스 제공으로 유저계층 형성 및 피드백
로봇 개발이 급속도로 발전 할 수 있는 계기
24
25. Index
I. 로봇 소프트웨어 플랫폼의 필요성
II. 로봇 운영체제 ROS 소개
III. 로봇 운영체제 ROS 개념
IV. 로봇 운영체제 ROS 특징과 활용
25
26. ROS is an open-source, meta-operating system for
your robot. It provides the services you would expect
from an operating system, including hardware abstr
action, low-level device control, implementation of c
ommonly-used functionality, message-passing betw
een processes, and package management. It also pr
ovides tools and libraries for obtaining, building, writ
ing, and running code across multiple computers.
http://www.ros.org/wiki/
http://www.ros.org/news/
ROS 란?
26
27. 소프트웨어 프레임워크
로봇 소프트웨어를 개발하기 위한 소프트웨어 프레임워크
개발 도구, 라이브러리, 드라이버, 다양한 로봇 소프트웨어 공개 패키지 제공
하드웨어 플랫폼의 하드웨어 추상화
이 기종 하드웨어에서 사용 가능한 메시지 기능
로보틱스 생태계 생성!
27http://www.ros.org/about-ros/
28. ROS의 진정한 목적
28
로보틱스 소프트웨어 개발을 전세계 레벨에서
공동 작업 가능하도록 환경을 구축하는 것!
http://imgfave.com/
29. ROS는 새로운 운영 체제(OS)인가?
범용 컴퓨터
• Windows(Windows XP, 7, 8 ...)
• Linux(Ubuntu, Redhat, Fedora, Mint, Gentoo ...)
• MAC(OS X ...) 등
스마트폰
• Android, iOS, Windows Phone, Symbian, RiMO, Tizen등
ROS = Robot Operating System
ROS는 메타운영체제(Meta-Operating System)이다.
29
30. 메타운영체제(Meta-Operating System)
• 메타운영체제(Meta-Operating System) 딱히 정확히 정의된 용어는 아니지만, 어플리케
이션과 분산 컴퓨팅 자원간의 가상화 레이어로 분산 컴퓨팅 자원을 활용하여, 스케쥴링
및 로드, 감시, 에러 처리 등을 실행하는 시스템이라고 볼 수 있다.
• 즉, 윈도우, 리눅스, 안드로이드와 같은 전통적인 운영체제는 아니다. 오히려, ROS는 기
존의 전통적인 운영체제(리눅스, 윈도우즈, OS-X, 안드로이드)를 이용하고 있다.
• 기존 운영체제의 프로세스 관리 시스템, 파일 시스템, 유저 인터페이스, 프로그램 유틸
(컴파일러, 스레드 모델 등)등을 사용하고 있다. 이에 추가적으로 다수의 이기종 하드웨
어간의 데이터 송수신, 스케쥴링, 에러 처리 등 로봇 응용 소프트웨어를 위한 필수 기능
들을 라이브러리 형태로 제공하고 있다. 또한, 이러한 기반 로봇 소프트웨어 프레임워
크를 기반으로 다양한 목적의 응용 프로그램을 개발, 관리, 제공하고 있으며 유저들이
개발한 패키지 또한 유통하는 생태계(ecosystem)를 갖추고 있다.
30
31. 메타운영체제(Meta-Operating System)
• 메타운영체제(Meta-Operating System) 딱히 정확히 정의된 용어는 아니지만, 어플리
케이션과 분산 컴퓨팅 자원간의 가상화 레이어로 분산 컴퓨팅 자원을 활용하여, 스케쥴
링 및 로드, 감시, 에러 처리 등을 실행하는 시스템이라고 볼 수 있다.
• 즉, 윈도우, 리눅스, 안드로이드와 같은 전통적인 운영체제는 아니다. 오히려, ROS는 기
존의 전통적인 운영체제(리눅스, 윈도우즈, OS-X, 안드로이드)를 이용하고 있다.
• 기존 운영체제의 프로세스 관리 시스템, 파일 시스템, 유저 인터페이스, 프로그램 유틸
(컴파일러, 스레드 모델 등)등을 사용하고 있다. 이에 추가적으로 다수의 이기종 하드웨
어간의 데이터 송수신, 스케쥴링, 에러 처리 등 로봇 응용 소프트웨어를 위한 필수 기능
들을 라이브러리 형태로 제공하고 있다. 또한, 이러한 기반 로봇 소프트웨어 프레임워
크를 기반으로 다양한 목적의 응용 프로그램을 개발, 관리, 제공하고 있으며 유저들이
개발한 패키지 또한 유통하는 생태계(ecosystem)를 갖추고 있다.
31
35. ROS를 사용 가능한 운영체제
기존 전통적인 운영체제
ROS를 사용 가능한 운영체제(OS)로는 Ubuntu, OS X, Windows, Fedora,
Gentoo, OpenSUSE, Debian, Raspbian, Arch, QNX Realtime OS 등이 있으나
기능 제한사항이 있을 수 있다.
스마트폰 운영체제인 Android, iOS 의 경우, 부분적 사용 가능
OS를 탑재할 수 없는 마이크로 컨트롤러 유닛(MCU)의 경우, 시리얼 통신, 블
루투스, LAN 경유로 통신할 수 있는 라이브러리 제공
기본적으로는 Ubuntu, OS X 에서 구동하는 것을 추천!
35
36. 로봇계의 생태계(ecosystem)를 만들자!
생태계(ecosystem)
스마트폰을 생산하는 하드웨어 회사와 애플리케이션 소프트웨어(앱, APP) 개발자, 이를 사용
하는 유저 를 연결해주는 선환 구조를 말한다.
1) 스마트폰 제조 회사들이 단말기 기기를 생산
2) 사용할 운영체제의 인터페이스에 맞춤
3) 각 OS 개발 회사들은 이를 라이브러리화시켜 제공
4) 스마트폰에 대한 하드웨어 지식이 없어도 손쉽게 개발작업이 가능
5) 유저가 사용하기 쉽도록 관리,&유통 그리고 피드백으로 선순환
ROS는 로보틱스 생태계(ecosystem)를 준비 중이다!
36
37. ROS 생태계
37
로봇 분야도 마찬가지 흐름으로 가고 있다. 처음에는 여러 시도로 각
종 하드웨어 기술들이 넘쳐흘렀으나, 이를 통합해줄 OS가 전무했다.
이 상황에서 다양한 소프트웨어 플랫폼이 등장했고, 가장 주목 받은
ROS의 경우 이제 그 생태계의 틀을 갖추기 시작했다.
아직, 그 여파는 미미하지만 점점 늘고 있고 있는 유저들과 회사들 그
리고 급격히 늘고 있는 관련 툴 및 라이브러리를 볼 때 멀지 않아 생태
계가 완만히 돌아갈 것이라고 기대해본다.
그리고, 로봇회사 및 센서회사와 같은 로봇 관련 하드웨어 개발자 /
ROS 개발 운용 팀 / 응용 소프트웨어 개발자 / 유저 모두가 웃을 수 있
는 생태계가 되길 바란다.
컴퓨터 → 스마트폰 → 로봇
38. ROS 생태계
38
로봇 분야도 마찬가지 흐름으로 가고 있다. 처음에는 여러 시도로 각
종 하드웨어 기술들이 넘쳐흘렀으나, 이를 통합해줄 OS가 전무했다.
이 상황에서 다양한 소프트웨어 플랫폼이 등장했고, 가장 주목 받은
ROS의 경우 이제 그 생태계의 틀을 갖추기 시작했다.
아직, 그 여파는 미미하지만 점점 늘고 있고 있는 유저들과 회사들 그
리고 급격히 늘고 있는 관련 툴 및 라이브러리를 볼 때 멀지 않아 생태
계가 완만히 돌아갈 것이라고 기대해본다.
그리고, 로봇회사 및 센서회사와 같은 로봇 관련 하드웨어 개발자 /
ROS 개발 운용 팀 / 응용 소프트웨어 개발자 / 유저 모두가 웃을 수 있
는 생태계가 되길 바란다.
컴퓨터 → 스마트폰 → 로봇
39. ROS 생태계
39
로봇 분야도 마찬가지 흐름으로 가고 있다. 처음에는 여러 시도로 각
종 하드웨어 기술들이 넘쳐흘렀으나, 이를 통합해줄 OS가 전무했다.
이 상황에서 다양한 소프트웨어 플랫폼이 등장했고, 가장 주목 받은
ROS의 경우 이제 그 생태계의 틀을 갖추기 시작했다.
아직, 그 여파는 미미하지만 점점 늘고 있고 있는 유저들과 회사들 그
리고 급격히 늘고 있는 관련 툴 및 라이브러리를 볼 때 멀지 않아 생태
계가 완만히 돌아갈 것이라고 기대해본다.
그리고, 로봇회사 및 센서회사와 같은 로봇 관련 하드웨어 개발자 /
ROS 개발 운용 팀 / 응용 소프트웨어 개발자 / 유저 모두가 웃을 수 있
는 생태계가 되길 바란다.
컴퓨터 → 스마트폰 → 로봇
41. 5,000이상의 패키지
2,188개의 공식 패키지 제공 (July 2015)
71,663 다운로드 (Unique IP, July 2015)
16,043 Wiki페이지 (July 2015)
애플리케이션 fetch beer, elevator …
시뮬레이터gazebo, player/stage, STDR Simulator …
지능모듈 navigation, action, grasping …
라이브러리tf, PCL, OpenCV, OpenRave …
디바이스드라이버 camera_drivers, urg_node …
디버그 툴 rviz, rqt_graph, rosbag, rostopic …
메시지통신rosmaster, rosmsg, rosservice …
실행 툴 rosrun, roslaunch …
컴파일 툴 catkin_make, rosbuild …
파일시스템roscd, rosls …
설치 툴 rosinstall …
프로그래밍언어 C++, Python, Lisp, Java, Ruby, MATLAB등
90종류 이상의 로봇, 80종류 이상의 센서 지원
현재의 ROS 생태계
41
APP
ROS
ROBOT, SENSOR
개발자, 유저
로봇, 센서 회사
42. 5,000이상의 패키지
2,188개의 공식 패키지 제공 (July 2015)
71,663 다운로드 (Unique IP, July 2015)
16,043 Wiki페이지 (July 2015)
애플리케이션 fetch beer, elevator …
시뮬레이터 gazebo, player/stage, STDR Simulator …
지능모듈 navigation, action, grasping …
라이브러리 tf, PCL, OpenCV, OpenRave …
디바이스드라이버 camera_drivers, urg_node …
디버그 툴 rviz, rqt_graph, rosbag, rostopic …
메시지통신 rosmaster, rosmsg, rosservice …
실행 툴 rosrun, roslaunch …
컴파일 툴 catkin_make, rosbuild …
파일시스템 roscd, rosls …
설치 툴 rosinstall …
프로그래밍언어 C++, Python, Lisp, Java, Ruby, MATLAB등
90종류 이상의 로봇, 80종류 이상의 센서 지원
현재의 ROS 생태계
42
APP
ROS
ROBOT, SENSOR
개발자, 유저
로봇, 센서 회사
43. 현재의 ROS 생태계
43
5,000이상의 패키지
2,188개의 공식 패키지 제공 (July 2015)
71,663 다운로드 (Unique IP, July 2015)
16,043 Wiki페이지 (July 2015)
애플리케이션 fetch beer, elevator …
시뮬레이터 gazebo, player/stage, STDR Simulator …
지능모듈 navigation, action, grasping …
라이브러리 tf, PCL, OpenCV, OpenRave …
디바이스드라이버 camera_drivers, urg_node …
디버그 툴 rviz, rqt_graph, rosbag, rostopic …
메시지통신 rosmaster, rosmsg, rosservice …
실행 툴 rosrun, roslaunch …
컴파일 툴 catkin_make, rosbuild …
파일시스템 roscd, rosls …
설치 툴 rosinstall …
프로그래밍언어 C++, Python, Lisp, Java, Ruby, MATLAB등
90종류 이상의 로봇, 80종류 이상의 센서 지원
APP
ROS
ROBOT, SENSOR
개발자, 유저
로봇, 센서 회사
44. ROS 역사
• 2017.05.xx - ROS 2.0 릴리즈 예정
• 2016.05.xx - Kinetic Kame 릴리즈 예정
• 2015.10.03 - ROSCon2015 컨퍼런스 개최
• 2015.05.23 - Jade Turtle 릴리즈
• 2014.09.12 - ROSCon2014 컨퍼런스 개최
• 2014.07.22 - Indigo Igloo 릴리즈
• 2014.06.06 - ROS Kong 2014 개최
• 2013.09.04 - Hydro Medusa 릴리즈
• 2013.05.11 - ROSCon2013 컨퍼런스 개최
• 2013.02.11 - Open Source Robotics Foundation 가 개발, 관리를 맡음
• 2012.12.31 - Groovy Galapagos 릴리즈
• 2012.05.19 - ROSCon2012 컨퍼런스 개최
• 2012.04.23 - Fuerte 릴리즈
• 2011.08.30 - Electric Emys 릴리즈
• 2011.03.02 - Diamondback 릴리즈
• 2010.08.02 - C Turtle 릴리즈
• 2010.03.02 - Box Turtle 릴리즈
• 2010.01.22 - ROS 1.0 개발
• 2007.11.01 - Willow Garage 가 “ROS”라는 이름으로 개발 시작
• 2007.05.01 - Switchyard, Morgan Quigley, Stanford AI LAB, 스탠포드 대학
• 2000 - Player/Stage Project, Brian Gerkey, Richard Vaughan, Andrew Howard, 남캘리포니아 대학
44http://wiki.ros.org/Distributions
?
45. ROS moves to
the Open Source Robotics Foundation (OSRF)
http://wiki.ros.org/Distributions http://wiki.ros.org/Events
ROS History
45
2008 2010 2011 2012 2013 2014 2015 20162000
2007.05.01
2007.11.01
02.11
Player/Stage Project,
Brian Gerkey, Richard
Vaughan, Andrew Howard
Switchyard (ROS’s prototype),
Morgan Quigley,
Stanford AI LAB
Personal Robotics (PR)
project with ROS
Willow Garage
46. 9th ROS distribution
Jade Turtle release
4th ROS distribution
Electric Emys release
7th ROS distribution
Hydro Medusa release
ROS moves to
the Open Source Robotics Foundation (OSRF)
6th ROS distribution
Groovy Galapagos release
3rd ROS distribution
Diamondback release
2nd ROS distribution
C Turtle release
http://wiki.ros.org/Distributions http://wiki.ros.
org/Events
ROS History
46
2008 2010 2011 2012 2013 2014 2015 20162000
2007.05.01
2007.11.01
ROS 1.0 release
1st ROS distribution
Box Turtle release
01.22
03.02
08.02
03.02
08.30
5th ROS distribution
Fuerte release
04.23
05.19
12.31
02.11
05.11
8th ROS distribution
Indigo Igloo release
06.0609.04
07.22
09.12
05.23
10.03
05.xx (TBD)
10th ROS distribution
Kinetic Kame release
Player/Stage Project,
Brian Gerkey, Richard
Vaughan, Andrew Howard
Switchyard (ROS’s prototype),
Morgan Quigley,
Stanford AI LAB
Personal Robotics (PR)
project with ROS
Willow Garage
48. 9th ROS distribution
Jade Turtle release
4th ROS distribution
Electric Emys release
7th ROS distribution
Hydro Medusa release
ROS moves to
the Open Source Robotics Foundation (OSRF)
6th ROS distribution
Groovy Galapagos release
3rd ROS distribution
Diamondback release
2nd ROS distribution
C Turtle release
http://wiki.ros.org/Distributions http://wiki.ros.
org/Events
ROS History
48
2008 2010 2011 2012 2013 2014 2015 20162000
2007.05.01
2007.11.01
ROS 1.0 release
1st ROS distribution
Box Turtle release
01.22
03.02
08.02
03.02
08.30
5th ROS distribution
Fuerte release
04.23
05.19
12.31
02.11
05.11
8th ROS distribution
Indigo Igloo release
06.0609.04
07.22
09.12
05.23
10.03
05.xx (TBD)
10th ROS distribution
Kinetic Kame release
Player/Stage Project,
Brian Gerkey, Richard
Vaughan, Andrew Howard
Switchyard (ROS’s prototype),
Morgan Quigley,
Stanford AI LAB
Personal Robotics (PR)
project with ROS
Willow Garage
49. ROSCon2014
9th ROS distribution
Jade Turtle release
4th ROS distribution
Electric Emys release
7th ROS distribution
Hydro Medusa release
ROS moves to
the Open Source Robotics Foundation (OSRF)
6th ROS distribution
Groovy Galapagos release
3rd ROS distribution
Diamondback release
2nd ROS distribution
C Turtle release
http://wiki.ros.org/Distributions http://wiki.ros.
org/Events
ROS History
49
2008 2010 2011 2012 2013 2014 2015 20162000
2007.05.01
2007.11.01
ROS 1.0 release
1st ROS distribution
Box Turtle release
01.22
03.02
08.02
03.02
08.30
5th ROS distribution
Fuerte release
04.23
ROSCon2012
05.19
12.31
02.11
ROSCon2013
05.11
ROS Kong 2014
8th ROS distribution
Indigo Igloo release
06.0609.04
07.22
09.12
05.23
10.03
ROSCon2015
05.xx (TBD)
10th ROS distribution
Kinetic Kame release
Player/Stage Project,
Brian Gerkey, Richard
Vaughan, Andrew Howard
Switchyard (ROS’s prototype),
Morgan Quigley,
Stanford AI LAB
Personal Robotics (PR)
project with ROS
Willow Garage
50. ROS Conferences
50
Stuttgart, Germany
11-12 May 2013
St. Paul, Minnesota, USA
19-20 May 2012
Chicago, Illinois, USA
September 12-13, 2014
Hong Kong University
June 6, 2014
Hamburg, Germany
May 3-4, 2015
http://roscon.ros.org/
52. ROS 설치 방법
52
$ wget https://raw.githubusercontent.com/oroca/oroca-ros-pkg/master/ros_indigo_install.sh
$ sh ros_indigo_install.sh
53. ROS 설치 방법
53https://mirror.enha.kr/
$ wget https://raw.githubusercontent.com/oroca/oroca-ros-pkg/master/ros_indigo_install.sh
$ sh ros_indigo_install.sh
55. Index
I. 로봇 소프트웨어 플랫폼의 필요성
II. 로봇 운영체제 ROS 소개
III. 로봇 운영체제 ROS 개념
IV. 로봇 운영체제 ROS 특징과 활용
55
56. ROS 용어
Node
최소 단위의 실행 가능한 프로세서를 가리키는 용어로써 하나의 실행 가능한 프
로그램으로 생각하면 된다. ROS 에서는 최소한의 실행단위로 프로그램을 나누
어 작업하게 된다. 각 노드는 메시지 통신으로 데이터를 주고 받는다.
Package
하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것. 또한, 패키지의 묶
음을 메타패키지라 하여 따로 분리한다.
Message
메시지를 통해 노드간의 데이터를 주고받게 된다. 메시지는 integer, floating
point, boolean 와 같은 변수형태이다. 또한, 메시지 안에 메시지를 품고 있는 간
단한 데이터 구조 및 메시지들의 배열과 같은 구조도 사용할 수 있다.
56
57. ROS 용어
57
Topic, Publisher, Subscriber
http://www.dreamstime.com/illustration/people-talk-listen-tin-can-phone-communication.html
퍼블리셔 서브스크라이버
Topic Publisher Subscriber
Topic
엔코더 SLAM(위치정보 X, Y, θ)
Publisher
Subscriber
Topic
거리센서
로봇A
(장애물 X, Y)
Subscriber
로봇B
하나의 Topic 에 대해
복수의 퍼블리셔, 복수의 서브스크라이버도 가능함
58. ROS 용어
58
Service, Service server, Service client
http://www.dreamstime.com/illustration/people-talk-listen-tin-can-phone-communication.html
서버 클라이언트
서비스 응답
서버 클라이언트
서비스 요청
어이~ 서버!
지금 몇 시야?
지금 몇 시냐고?
알아볼게~
지금 12:00시야!
62. ROS 개념 정리
2. 서브스크라이버 노드(Node) 구동
$rosrun 패키지이름 노드이름
62
마스터
노드2
XMLRPC: 서버
http://ROS_MASTER_URI:11311
노드 정보 관리
서브스크라이버 노드 정보:
/subscriber_node_name,
/topic_name,
message_type,
http://ROS_HOSTNAME:1234
XMLRPC: 클라이언트
http://ROS_HOSTNAME:1234
정보 구독
63. ROS 개념 정리
3. 퍼블리셔 노드(Node) 구동
$rosrun 패키지이름 노드이름
63
마스터
노드1 노드2
XMLRPC: 서버
http://ROS_MASTER_URI:11311
노드 정보 관리
퍼블리셔 노드 정보:
/publisher_node_name,
/topic_name,
message_type,
http://ROS_HOSTNAME:5678
XMLRPC: 클라이언트
http://ROS_HOSTNAME:5678
정보 발행
서브크스라이버
노드 정보
64. ROS 개념 정리
4. 퍼블리셔 정보 알림
마스터는 서브스크라이버 노드에게 새로운 퍼블리셔 정보를 알린다.
64
마스터
노드1 노드2
퍼블리셔 노드 정보:
/publisher_node_name,
/topic_name,
message_type,
http://ROS_HOSTNAME:5678
XMLRPC: 서버
XMLRPC: 클라이언트
http://ROS_HOSTNAME:1234
정보 구독
퍼블리셔
노드 정보
서브크스라이버
노드 정보
65. ROS 개념 정리
5. 퍼블리셔 노드에 접속 요청
마스터로부터 받은 퍼블리셔 정보를 이용하여 TCPROS 접속을 요청
65
마스터
노드1 노드2
XMLRPC: 클라이언트
http://ROS_HOSTNAME:1234
정보 구독
TCPROS 접속 요청
XMLRPC: 서버
http://ROS_HOSTNAME:5678
정보 발행
66. ROS 개념 정리
6. 서브스크라이버 노드에 접속 응답
접속 응답에 해당되는 자신의 TCP URI 주소와 포트번호를 전송
66
마스터
노드1 노드2
XMLRPC: 클라이언트
http://ROS_HOSTNAME:1234
정보 구독
TCPROS 접속 응답
XMLRPC: 서버
http://ROS_HOSTNAME:5678
정보 발행
(http://ROS_HOSTNAME:3456)
67. ROS 개념 정리
7. TCP 접속
TCPROS를 이용하여 퍼블리셔 노드와 직접 연결한다.
67
마스터
노드1 노드2
TCPROS : 클라이언트
ROS_HOSTNAME:7890
정보 구독
TCPROS 접속
TCPROS: 서버
ROS_HOSTNAME:3456
정보 발행
68. ROS 개념 정리
8. 메시지 전송
발행자 노드는 서브스크라이버 노드에게 메시지를 전송 (토픽)
68
마스터
노드1 노드2
TCPROS : 클라이언트
ROS_HOSTNAME:7890
정보 구독
TCPROS: 서버
ROS_HOSTNAME:3456
정보 발행 메시지 전송
(토픽)
69. ROS 개념 정리
토픽방식에서는 접속을 끊지 않는 이상 지속적으로 메시지를 전송한다. 즉, 연속성.
69
노드1 노드2
TCPROS : 클라이언트
ROS_HOSTNAME:7890
정보 구독
TCPROS: 서버
ROS_HOSTNAME:3456
정보 발행
메시지 전송
(토픽)
70. ROS 개념 정리
9. 서비스 요청 및 응답
1회에 한해 접속, 서비스 요청 및 서비스 응답이 수행되고 서로간의 접속을 끊는다.
70
마스터
노드1 노드2
TCPROS : 클라이언트
ROS_HOSTNAME:7890
서비스 요청
TCPROS: 서버
ROS_HOSTNAME:3456
서비스 응답 메시지 송/수신
(서비스)
71. ROS 개념 정리
서비스는 토픽과 달리 1회에 한해 접속하고 서비스 요청 및 서비스 응답이 수행한 후 서로간의
접속을 끊는다. 즉, 1회성이다.
71
노드1 노드2
TCPROS : 클라이언트
ROS_HOSTNAME:7890
서비스 요청
TCPROS: 서버
ROS_HOSTNAME:3456
서비스 응답
메시지 수신
(서비스 응답)
메시지 송신
(서비스 요청)
73. ROS 개념 정리
• 10. 예제! turtlesim
73
roscore
http://192.168.4.100:50051
turtlesim_node 노드
정보 구독
http://192.168.4.100:45704
turtle_teleop_key 노드
정보 발행
메시지 전송
/turtle1/cmd_vel
퍼블리셔 노드 정보:
/teleop_turtle,
/turtle1/cmd_vel,
geomety_msgs/Twist,
http://192.168.4.100:45704
퍼블리셔 노드 정보:
/teleop_turtle,
/turtle1/cmd_vel,
geomety_msgs/Twist,
http://192.168.4.100:45704
서브스크라이버 노드 정보:
/turtlesim,
/turtle1/cmd_vel,
geomety_msgs/Twist,
http://192.168.4.100:50051
마스터
http://192.168.4.100:11311
노드 정보 관리
← ↑↓ →
④
①
②
③
74. Index
I. 로봇 소프트웨어 플랫폼의 필요성
II. 로봇 운영체제 ROS 소개
III. 로봇 운영체제 ROS 개념
IV. 로봇 운영체제 ROS 특징과 활용
74
75. Index
I. 로봇 소프트웨어 플랫폼의 필요성
II. 로봇 운영체제 ROS 소개
III. 로봇 운영체제 ROS 개념
IV. 로봇 운영체제 ROS 특징과 활용
→ 통신 인프라 / 로봇 관련 기능 / 다양한 개발 도구
75
76. 통신 인프라
프로세스 간 통신을 제공
통상적 미들웨어로 지칭되는 메시지 전달 인터페이스
메시지 파싱 기능
• 로봇 개발 시에 빈번히 사용되는 통신 시스템 제공
• 캡슐화 및 코드 재사용을 촉진하는 노드 들간의 메시지 전달 인터페이스
메시지의 기록 및 재생
• 노드간 송수신되는 데이터인 메시지를 저장하고 필요 시에 재사용 가능
• 저장된 메시지를 기반으로 반복적인 실험 가능, 알고리즘 개발에 용이함
• 개발 노력을 절감, 시스템의 유연성과 모듈화를 촉진하는 강력한 디자인 패턴
원격 프로시저 호출
• 프로세스 간의 동기식 요청/응답 상호 작용 가능
분산 매개 변수 시스템
• 시스템에서 사용되는 변수를 글로벌 키를 작성하여 공유, 수정하여 실시간으로 반영
76
77. 로봇 관련 기능
로봇에 대한 표준 메시지 정의
• 카메라, IMU, 레이저 등의 센서 / 오도메트리, 경로 및 지도 등의 내비게이션 데이터 등의 표
준 메시지를 정의하여 모듈화, 협업 작업을 유도, 효율성 향상
로봇 기하학 라이브러리
• 로봇, 센서 등의 상대적 좌표를 트리화 시키는 TF 제공
로봇 기술 언어
• 로봇의 물리적 특성을 설명하는 XML 문서 기술
진단 시스템
• 로봇의 상태를 한눈에 파악할 수 있는 진단 시스템 제공
포즈 추정
위치 추정
지도 제작
내비게이션
• 로봇에서 많이 사용되는 로봇의 포즈(위치/자세) 추정, 지도내의 자기 위치 추정 및 지도 작
성에 필요한 SLAM, 작성된 지도 내에서 목적지를 찾아가는 Navigation 라이브러리를 제공
77
78. 다양한 개발 도구
로봇 개발에 필요한 다양한 개발 도구를 제공
로봇 개발의 효율성 향상
Command-Line Tools
• GUI 없이 ROS에서 제공되는 명령어로만 로봇 억세스 및 거의 모든 ROS 기능 소화
RViz
• 강력한 3D 시각화툴 제공
• 레이저, 카메라 등의 센서 데이터를 시각화
• 로봇 외형과 계획된 동작을 표현
RQT
• 그래픽 인터페이스 개발을 위한 Qt 기반 프레임 워크 제공
• 노드와 그들 사이의 연결 정보 표시(rqt_graph)
• 인코더, 전압, 또는 시간이 지남에 따라 변화하는 숫자를 플로팅(rqt_plot)
• 데이터를 메시지 형태로 기록하고 재생(rqt_bag)
78http://www.ros.org/core-components/
79. RViz?
• ROS의 3D 시각화툴
• 센서 데이터의 시각화
• 레이저 레인지 파인더(LRF)센서의 거리 데이터
• Kinect, Xtion, RealSense 등의 Depth Camera의 포인트 클라우드 데이터
(Point Cloud Data)
• 카메라의 영상 데이터
• IMU 센서의 관성 데이터
• 로봇 외형의 표시와 계획된 동작을 표현
• URDF(Unified Robot Description Format)
• 내비게이션
• 매니퓰레이션
• 원격 제어
91. ROS 활용의 예
OpenCV, PCL, Machine Learning, Sensing, IoT 등 로봇 이외에도 범용적으로 사용 가능한 소프
트웨어 프레임워크를 가지고 있음
rosbag 는 모든 데이터에 대해서 녹음이 가능하여, 언제든지 재 실험이 가능하다.
재실험 없이 기존 데이터를 기반으로 한 알고리즘 개발에 용이
91http://www.ros.org/core-components/
97. 국내 유일! 최초! ROS 책
비 영어권 최고의 책
인세 전액 기부
여기서! 광고 하나 나가요~
98. 여기서! 광고 둘 나가요~
• 오로카
• www.oroca.org
• 오픈 로보틱스 지향
• 풀뿌리 로봇공학의 저변 활성화
• 열린 강좌, 세미나, 프로젝트 진행
• 로봇공학을 위한 열린 모임 (KOS-ROBOT)
• www.facebook.com/groups/KoreanRobotics
• 로봇공학 통합 커뮤니티 지향
• 일반인과 전문가가 어울러지는 한마당
• 로봇공학 소식 공유
• 연구자 간의 협력
혼자 하기에 답답하시다고요?
커뮤니티에서 함께 해요~