모두가 함께하는ROS 워크숍

20
모모모모가가 Workshop 가가가가가 가가 모모모

Transcript of 모두가 함께하는ROS 워크숍

Page 1: 모두가 함께하는ROS 워크숍

모두가 함께하는Workshop광운대학교 로빛 박수한

Page 2: 모두가 함께하는ROS 워크숍

SESSION 1. ROS 가 무엇이지 ?낯선 이름의 Robot Operating System. 전문적인 내용보다 모두가 알아갈 수 있도록 !

Page 3: 모두가 함께하는ROS 워크숍

OS (Operating System) 이란 ? 컴퓨터에 설치되어있는 Windows, Ubuntu, Linux

등은 모두 운영체제 컴퓨터를 작동시킬 수 있도록 해 주는 프로그램이 똘똘

뭉친 커다란 프로그램

그런데 !!!!

운영체제 위에 운영체제를 또 설치한다 ????? ROS 는 특별한 운영체제 (Meta-Operating System) 로봇을 작동시킬 수 있도록 해 주는 프로그램이 똘똘

뭉친 추가적인 프로그램들의 모음집 ! ( 프레임워크 )

Page 4: 모두가 함께하는ROS 워크숍

Robot Operating Sys-tem?

현 ROS 의 주요 대상 로봇 컴퓨터가 장착된 복잡한 로봇

컴퓨터라고 하는 것은 Raspberry pi 등 Linux 컴퓨터

이러한 복잡한 로봇을 만들 때에는 장치 드라이버 , 소프트웨어 구조 등 다양한 설계를 진행해야 함 .

ROS 는 그 단계를 제공해 주어 더욱 고급진 개발을 가능하게 만들어줌 !

Page 5: 모두가 함께하는ROS 워크숍

가장 기본적인 ROS 의 기능

통신을 추상적으로 이용할 수 있도록 제공 TCP/IP 통신을 귀찮은 소켓 , server, client 설정

필요 없이 추상적인 개념으로 사용 가능 ! 하드웨어 드라이버 패키지 제공 (Camera driver,

Dynamixel, etc…) 다양한 라이브러리 포함 (OpenCV 등… ) rqt, rostopic 등… ( 모니터링 도구 )

Page 6: 모두가 함께하는ROS 워크숍

ROS 의 추상적인 통신 개념 ? Talker, Listener 라는 개념을 적용 Talker 는 말하는 사람 . Listener 는 듣는 사람 . Topic 은 주제 , Message 는 말 기존 TCP 통신 방식

소켓생성 주소할당 요청대기 연결 허용 데이터 교환 연결 종료 (Server)

소켓생성 연결 데이터송수신 연결종료 (Client) ROS 의 통신 방식

Talker 가 Topic 을 정함 Listener 가 듣고 싶은 Topic 을 선택 Talker 가 Topic 에 관한 말을 할 때마다 Listener 는 Talker 가 말하는 데이터 수신

추상적 통신 구성 관리자 : roscore (ROS Master)

Page 7: 모두가 함께하는ROS 워크숍

잠깐 ! 용어 설명 들어갑니다~ Talker: 말하는 것 Listener: 듣는 것 Topic: 주제 Message: 말 Node( 노드 ): 프로그램 (Talker 와 Listener 를

포함할 수 있음 ) Package( 패키지 ): 여러 가지 노드를 포함하는

프로젝트

Page 8: 모두가 함께하는ROS 워크숍

통신 그림

Page 9: 모두가 함께하는ROS 워크숍

통신을 로봇에 사용해야 하는 이유

로봇은 하드웨어에 많은 연관이 있음 한 번 만든 하드웨어에게 다른 곳으로 이식할 수 있는

driver( 소프트웨어 ) 를 만들어 생산성 증대 != 모듈화된 하드웨어 플랫폼 사용

각각의 모듈화된 소프트웨어들이 통신하며 원하는 것 만 가져다 사용

모듈화된 구조로써 추후에 개발시간을 단축하고 , 새로운 부분을 적용하기 쉬움 !

외부 컴퓨터로의 연결 및 모니터링도 자유로움

궁극적인 목표 >>> 로봇 생태계 구축 ( 나눠서 일해요 ~)

Page 10: 모두가 함께하는ROS 워크숍

2015 mini-DRC

Page 11: 모두가 함께하는ROS 워크숍

경기 동영상

Page 12: 모두가 함께하는ROS 워크숍

이 로봇에 사용된 ROS

간편한 데이터 교환을 위해 ROS 통신 구조 이용 별다른 설정 없이 손쉽게 원격 컴퓨터와 통신이 가능

RobotPilot

Page 13: 모두가 함께하는ROS 워크숍

대회를 준비하며 사용했던 Node Map

RobotPilotXtion 카메라

후방 카메라 조종 GUI

Virtual Arm

로봇 시스템

다이나믹셀 제어

Raspberry pi GPIO

제어 및 IMU 노드

Page 14: 모두가 함께하는ROS 워크숍

HIDDEN SESSIONYUJIN ROBOTTURTLEBOT2 시연유진로봇 김민수님

Page 15: 모두가 함께하는ROS 워크숍

SESSION 2. ROS 써보기이론만 들어서는 뭐가 좋은지 잘 모르겠다 !해보면서 배우자

Page 16: 모두가 함께하는ROS 워크숍

ROS 통신이 얼마나 간편하죠 ?

오늘 해볼 것 ( 목표… )

1. 문자열 교환 ( 채팅 ) 2. Message 교환 ( 데이터 전송 ) 3. 압축 영상 교환 ( 원격 영상 관찰 )

Page 17: 모두가 함께하는ROS 워크숍

SESSION 3. 자유 토론내가 아는 것이 네가 아는 것이 맞는가

Page 18: 모두가 함께하는ROS 워크숍

Q&A자유로운 질문 부탁 드립니다 .

Page 19: 모두가 함께하는ROS 워크숍

SESSION 3. 자유 토론

Page 20: 모두가 함께하는ROS 워크숍

감사합니다 .