SlideShare ist ein Scribd-Unternehmen logo
1 von 20
모두가 함께하는
Workshop
광운대학교 로빛 박수한
SESSION 1.
ROS가 무엇이지?
낯선 이름의 Robot Operating System.
전문적인 내용보다 모두가 알아갈 수 있도
록!
OS (Operating System) 이란?
 컴퓨터에 설치되어있는 Windows, Ubuntu, Linux 등
은 모두 운영체제
 컴퓨터를 작동시킬 수 있도록 해 주는 프로그램이 똘
똘 뭉친 커다란 프로그램
 그런데!!!!
 운영체제 위에 운영체제를 또 설치한다?????
 ROS는 특별한 운영체제 (Meta-Operating System)
 로봇을 작동시킬 수 있도록 해 주는 프로그램이 똘똘
뭉친 추가적인 프로그램들의 모음집! (프레임워크)
Robot Operating System?
 현 ROS의 주요 대상 로봇  컴퓨터가 장착된 복잡한
로봇
 컴퓨터라고 하는 것은 Raspberry pi 등 Linux 컴퓨터
 이러한 복잡한 로봇을 만들 때에는 장치 드라이버,
소프트웨어 구조 등 다양한 설계를 진행해야 함.
 ROS는 그 단계를 제공해 주어 더욱 고급진 개발을 가
능하게 만들어줌!
가장 기본적인 ROS의 기능
 통신을 추상적으로 이용할 수 있도록 제공
 TCP/IP 통신을 귀찮은 소켓, server, client 설정 필요
없이 추상적인 개념으로 사용 가능!
 하드웨어 드라이버 패키지 제공 (Camera driver,
Dynamixel, etc…)
 다양한 라이브러리 포함 (OpenCV 등…)
 rqt, rostopic 등… (모니터링 도구)
ROS의 추상적인 통신 개념?
 Talker, Listener라는 개념을 적용
 Talker는 말하는 사람. Listener는 듣는 사람.
 Topic은 주제, Message는 말
 기존 TCP 통신 방식
 소켓생성  주소할당  요청대기  연결 허용  데
이터 교환  연결 종료 (Server)
 소켓생성  연결  데이터송수신  연결종료 (Client)
 ROS의 통신 방식
 Talker가 Topic을 정함  Listener가 듣고 싶은 Topic을
선택  Talker가 Topic에 관한 말을 할 때마다 Listener
는 Talker가 말하는 데이터 수신
 추상적 통신 구성 관리자: roscore (ROS Master)
잠깐! 용어 설명 들어갑니다~
 Talker: 말하는 것
 Listener: 듣는 것
 Topic: 주제
 Message: 말
 Node(노드): 프로그램 (Talker와 Listener를 포함할
수 있음)
 Package(패키지): 여러 가지 노드를 포함하는 프로젝
트
통신 그림
통신을 로봇에 사용해야 하는
이유
 로봇은 하드웨어에 많은 연관이 있음
 한 번 만든 하드웨어에게 다른 곳으로 이식할 수 있
는 driver(소프트웨어)를 만들어 생산성 증대!
= 모듈화된 하드웨어 플랫폼 사용
 각각의 모듈화된 소프트웨어들이 통신하며 원하는
것 만 가져다 사용
 모듈화된 구조로써 추후에 개발시간을 단축하고, 새
로운 부분을 적용하기 쉬움!
 외부 컴퓨터로의 연결 및 모니터링도 자유로움
 궁극적인 목표 >>> 로봇 생태계 구축 (나눠서 일해요
~)
2015 mini-DRC
경기 동영상
이 로봇에 사용된 ROS
 간편한 데이터 교환을 위해 ROS 통신 구조 이용
 별다른 설정 없이 손쉽게 원격 컴퓨터와 통신이 가능
Robot
Pilot
대회를 준비하며 사용했던
Node Map
Robot
Pilot
Xtion 카메라
후방 카메라 조종 GUI
Virtual Arm
로봇 시스템
다이나믹셀 제어
Raspberry pi
GPIO 제어 및
IMU 노드
HIDDEN SESSION
YUJIN ROBOT
TURTLEBOT2 시연
유진로봇 김민수님
SESSION 2. ROS 써보기
이론만 들어서는 뭐가 좋은지 잘 모르겠다!
해보면서 배우자
ROS 통신이 얼마나 간편하죠?
 오늘 해볼 것 (목표…)
 1. 문자열 교환 (채팅)
 2. Message 교환 (데이터 전송)
 3. 압축 영상 교환 (원격 영상 관찰)
SESSION 3. 자유 토론
내가 아는 것이 네가 아는 것이 맞는가
Q&A
자유로운 질문 부탁 드립니다.
SESSION 3. 자유 토론
감사합니다.

Weitere ähnliche Inhalte

Was ist angesagt?

[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
NAVER D2
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab
NAVER D2
 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)
Channy Yun
 

Was ist angesagt? (15)

오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자
 
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
 
제1회 오픈 로보틱스 세미나 (제6세션:로봇 운영체제 ROS 개론)
제1회 오픈 로보틱스 세미나 (제6세션:로봇 운영체제 ROS 개론)제1회 오픈 로보틱스 세미나 (제6세션:로봇 운영체제 ROS 개론)
제1회 오픈 로보틱스 세미나 (제6세션:로봇 운영체제 ROS 개론)
 
01_2_파이썬설치
01_2_파이썬설치 01_2_파이썬설치
01_2_파이썬설치
 
땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro
 
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
 
오픈소스 개발도구 2014
오픈소스 개발도구 2014오픈소스 개발도구 2014
오픈소스 개발도구 2014
 
음성메신저 Hay 개발 후기
음성메신저 Hay 개발 후기음성메신저 Hay 개발 후기
음성메신저 Hay 개발 후기
 
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
 
오픈소스 개요
오픈소스 개요오픈소스 개요
오픈소스 개요
 
[111]open, share, enjoy 네이버의 오픈소스 활동
[111]open, share, enjoy 네이버의 오픈소스 활동[111]open, share, enjoy 네이버의 오픈소스 활동
[111]open, share, enjoy 네이버의 오픈소스 활동
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab
 
강분도 - 우분투 소개 (2010Y06M24D)
강분도 - 우분투 소개 (2010Y06M24D)강분도 - 우분투 소개 (2010Y06M24D)
강분도 - 우분투 소개 (2010Y06M24D)
 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)
 
XpressEngine : 보드에서 CMS로
XpressEngine : 보드에서 CMS로XpressEngine : 보드에서 CMS로
XpressEngine : 보드에서 CMS로
 

Andere mochten auch (7)

20160427 ROS 4차 강의 (for 아스라다 팀)
20160427 ROS 4차 강의 (for 아스라다 팀)20160427 ROS 4차 강의 (for 아스라다 팀)
20160427 ROS 4차 강의 (for 아스라다 팀)
 
20160406 ROS 1차 강의 (for 아스라다 팀)
20160406 ROS 1차 강의 (for 아스라다 팀)20160406 ROS 1차 강의 (for 아스라다 팀)
20160406 ROS 1차 강의 (for 아스라다 팀)
 
20160420 ROS 3차 강의 (for 아스라다 팀)
20160420 ROS 3차 강의 (for 아스라다 팀)20160420 ROS 3차 강의 (for 아스라다 팀)
20160420 ROS 3차 강의 (for 아스라다 팀)
 
ROS SERIAL and OpenCR
ROS SERIAL and OpenCRROS SERIAL and OpenCR
ROS SERIAL and OpenCR
 
20160414 ROS 2차 강의 (for 아스라다 팀)
20160414 ROS 2차 강의 (for 아스라다 팀)20160414 ROS 2차 강의 (for 아스라다 팀)
20160414 ROS 2차 강의 (for 아스라다 팀)
 
ROS distributed architecture
ROS  distributed architectureROS  distributed architecture
ROS distributed architecture
 
DYNAMIXEL ROS Package
DYNAMIXEL ROS PackageDYNAMIXEL ROS Package
DYNAMIXEL ROS Package
 

Ähnlich wie 모두가 함께하는ROS 워크숍

Exynos4210 beginnerrev10
Exynos4210 beginnerrev10Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
mimul
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
NAVER D2
 

Ähnlich wie 모두가 함께하는ROS 워크숍 (20)

Why OpenStack is Operating System?
Why OpenStack is Operating System?Why OpenStack is Operating System?
Why OpenStack is Operating System?
 
Hello std.io 유명환_20140125
Hello std.io 유명환_20140125Hello std.io 유명환_20140125
Hello std.io 유명환_20140125
 
System Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOpsSystem Infra와 Recovery 그리고 DevOps
System Infra와 Recovery 그리고 DevOps
 
최민호 - 국내 포털에서의 우분투 (2012Y03M31D)
최민호 - 국내 포털에서의 우분투 (2012Y03M31D)최민호 - 국내 포털에서의 우분투 (2012Y03M31D)
최민호 - 국내 포털에서의 우분투 (2012Y03M31D)
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
Ubuntu에서 Flask개발 맛보기 - 1
Ubuntu에서  Flask개발 맛보기 - 1Ubuntu에서  Flask개발 맛보기 - 1
Ubuntu에서 Flask개발 맛보기 - 1
 
소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자
 
OpenStack
OpenStackOpenStack
OpenStack
 
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
 
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
 
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
 
Docker.소개.30 m
Docker.소개.30 mDocker.소개.30 m
Docker.소개.30 m
 
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
 
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
 
개방형 데스크톱 OS 기술동향
개방형 데스크톱 OS 기술동향개방형 데스크톱 OS 기술동향
개방형 데스크톱 OS 기술동향
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
 
맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지
 
Native A/V
Native A/VNative A/V
Native A/V
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
 

모두가 함께하는ROS 워크숍

  • 2. SESSION 1. ROS가 무엇이지? 낯선 이름의 Robot Operating System. 전문적인 내용보다 모두가 알아갈 수 있도 록!
  • 3. OS (Operating System) 이란?  컴퓨터에 설치되어있는 Windows, Ubuntu, Linux 등 은 모두 운영체제  컴퓨터를 작동시킬 수 있도록 해 주는 프로그램이 똘 똘 뭉친 커다란 프로그램  그런데!!!!  운영체제 위에 운영체제를 또 설치한다?????  ROS는 특별한 운영체제 (Meta-Operating System)  로봇을 작동시킬 수 있도록 해 주는 프로그램이 똘똘 뭉친 추가적인 프로그램들의 모음집! (프레임워크)
  • 4. Robot Operating System?  현 ROS의 주요 대상 로봇  컴퓨터가 장착된 복잡한 로봇  컴퓨터라고 하는 것은 Raspberry pi 등 Linux 컴퓨터  이러한 복잡한 로봇을 만들 때에는 장치 드라이버, 소프트웨어 구조 등 다양한 설계를 진행해야 함.  ROS는 그 단계를 제공해 주어 더욱 고급진 개발을 가 능하게 만들어줌!
  • 5. 가장 기본적인 ROS의 기능  통신을 추상적으로 이용할 수 있도록 제공  TCP/IP 통신을 귀찮은 소켓, server, client 설정 필요 없이 추상적인 개념으로 사용 가능!  하드웨어 드라이버 패키지 제공 (Camera driver, Dynamixel, etc…)  다양한 라이브러리 포함 (OpenCV 등…)  rqt, rostopic 등… (모니터링 도구)
  • 6. ROS의 추상적인 통신 개념?  Talker, Listener라는 개념을 적용  Talker는 말하는 사람. Listener는 듣는 사람.  Topic은 주제, Message는 말  기존 TCP 통신 방식  소켓생성  주소할당  요청대기  연결 허용  데 이터 교환  연결 종료 (Server)  소켓생성  연결  데이터송수신  연결종료 (Client)  ROS의 통신 방식  Talker가 Topic을 정함  Listener가 듣고 싶은 Topic을 선택  Talker가 Topic에 관한 말을 할 때마다 Listener 는 Talker가 말하는 데이터 수신  추상적 통신 구성 관리자: roscore (ROS Master)
  • 7. 잠깐! 용어 설명 들어갑니다~  Talker: 말하는 것  Listener: 듣는 것  Topic: 주제  Message: 말  Node(노드): 프로그램 (Talker와 Listener를 포함할 수 있음)  Package(패키지): 여러 가지 노드를 포함하는 프로젝 트
  • 9. 통신을 로봇에 사용해야 하는 이유  로봇은 하드웨어에 많은 연관이 있음  한 번 만든 하드웨어에게 다른 곳으로 이식할 수 있 는 driver(소프트웨어)를 만들어 생산성 증대! = 모듈화된 하드웨어 플랫폼 사용  각각의 모듈화된 소프트웨어들이 통신하며 원하는 것 만 가져다 사용  모듈화된 구조로써 추후에 개발시간을 단축하고, 새 로운 부분을 적용하기 쉬움!  외부 컴퓨터로의 연결 및 모니터링도 자유로움  궁극적인 목표 >>> 로봇 생태계 구축 (나눠서 일해요 ~)
  • 12. 이 로봇에 사용된 ROS  간편한 데이터 교환을 위해 ROS 통신 구조 이용  별다른 설정 없이 손쉽게 원격 컴퓨터와 통신이 가능 Robot Pilot
  • 13. 대회를 준비하며 사용했던 Node Map Robot Pilot Xtion 카메라 후방 카메라 조종 GUI Virtual Arm 로봇 시스템 다이나믹셀 제어 Raspberry pi GPIO 제어 및 IMU 노드
  • 14. HIDDEN SESSION YUJIN ROBOT TURTLEBOT2 시연 유진로봇 김민수님
  • 15. SESSION 2. ROS 써보기 이론만 들어서는 뭐가 좋은지 잘 모르겠다! 해보면서 배우자
  • 16. ROS 통신이 얼마나 간편하죠?  오늘 해볼 것 (목표…)  1. 문자열 교환 (채팅)  2. Message 교환 (데이터 전송)  3. 압축 영상 교환 (원격 영상 관찰)
  • 17. SESSION 3. 자유 토론 내가 아는 것이 네가 아는 것이 맞는가