모두가 함께하는
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. 자유 토론
감사합니다.

모두가 함께하는ROS 워크숍

  • 1.
  • 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(패키지): 여러 가지 노드를 포함하는 프로젝 트
  • 8.
  • 9.
    통신을 로봇에 사용해야하는 이유  로봇은 하드웨어에 많은 연관이 있음  한 번 만든 하드웨어에게 다른 곳으로 이식할 수 있 는 driver(소프트웨어)를 만들어 생산성 증대! = 모듈화된 하드웨어 플랫폼 사용  각각의 모듈화된 소프트웨어들이 통신하며 원하는 것 만 가져다 사용  모듈화된 구조로써 추후에 개발시간을 단축하고, 새 로운 부분을 적용하기 쉬움!  외부 컴퓨터로의 연결 및 모니터링도 자유로움  궁극적인 목표 >>> 로봇 생태계 구축 (나눠서 일해요 ~)
  • 10.
  • 11.
  • 12.
    이 로봇에 사용된ROS  간편한 데이터 교환을 위해 ROS 통신 구조 이용  별다른 설정 없이 손쉽게 원격 컴퓨터와 통신이 가능 Robot Pilot
  • 13.
    대회를 준비하며 사용했던 NodeMap 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. 자유토론 내가 아는 것이 네가 아는 것이 맞는가
  • 18.
  • 19.
  • 20.