로봇 운영체제 ROS 개론 The 3 rd Open Robotics Seminar 표윤석 WWW.OROCA.ORG Section 7. 2015/05/24
로봇 운영체제 ROS 개론The 3rd Open Robotics Seminar
표윤석WWW.OROCA.ORG
Section 7.2015/05/24
ROSRobot Operating System
ROSRobot Operating System
http://www.rosewill.com/, http://www.samsung.com/global/business/mobile/product/smartphone
Personal Computer Smartphone
http://www.techpowerup.com/, http://global.samsungtomorrow.com/
Personal Computer Smartphone
Personal Computer Smartphonehttp://en.wikipedia.org/wiki/Linux, https://www.apple.com/, http://windows.microsoft.com/, The icons are trade mark of each company
iOS 8
http://freedesignfile.com (CC BY)
𝐹𝐹 =𝑑𝑑𝑑𝑑𝑑𝑑 𝑚𝑚𝑚𝑚 = 𝑚𝑚
𝑑𝑑𝑑𝑑𝑑𝑑 𝑚𝑚 = 𝑚𝑚𝑚𝑚
Are you actually a genius?
http://freedesignfile.com (CC BY), http://www.tested.com/art/makers/455620-maker-faire-2013-roy-animatronic-robot/
ServiceApp
𝐹𝐹 =𝑑𝑑𝑑𝑑𝑑𝑑 𝑚𝑚𝑚𝑚
= 𝑚𝑚𝑑𝑑𝑑𝑑𝑑𝑑 𝑚𝑚 = 𝑚𝑚𝑚𝑚
Are you actually a genius?
http://freedesignfile.com (CC BY), http://www.tested.com/art/makers/455620-maker-faire-2013-roy-animatronic-robot/
ServiceApp
𝐹𝐹 =𝑑𝑑𝑑𝑑𝑑𝑑 𝑚𝑚𝑚𝑚
= 𝑚𝑚𝑑𝑑𝑑𝑑𝑑𝑑 𝑚𝑚 = 𝑚𝑚𝑚𝑚
Are you actually a genius?
[1983년최초상용핸드폰(?) 모토로라 DynaTAC 8000 와개발자 Martin Cooper, 점점발전하는휴대전화]
http://blog.cartoys.com/date/2013/04/, https://line.do/the-evolution-of-cell-phones/r5q4ui/vertical
iOS 8
Photographed by Daniel Case, GNU Free Documentation License
Platform ?
Photographed by Daniel Case, GNU Free Documentation License
Platform ?
http://www.greaterlasvegashomes.com/files/2014/09/soccer-stadium-.jpg
http://www.wallpaper505.com/the-best-world-football-players-2014-2015-best-desktop-wallpaper.html
ROSRobot Operating System
ROS is an open-source, meta-operati
ng system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining,building, writing, and running code across multiple computers.
http://www.ros.org/wiki/
http://www.ros.org/news/
http://www.ros.org/about-ros/
로보틱스 소프트웨어 개발을 전세계 레벨에서공동 작업 가능하도록 환경을 구축하는 것!
http://imgfave.com/
iOS
디바이스 드라이버, 라이브러리, 디버그 도구, 메시지 통신구동 도구, 컴파일 도구, 인스톨러, 패키지 생성 및 릴리즈
iOS
iOS
컴퓨터 → 스마트폰 → 로봇
컴퓨터 → 스마트폰 → 로봇
APP
ROS
ROBOT, SENSOR
2014 Metrics 자료, http://download.ros.org/downloads/metrics/metrics-report-2014-07.pdf, http://wiki.ros.org/Robots
개발자, 유저
로봇, 센서 회사
http://wiki.ros.org/Distributions
Switchyard
ROS
ROS 1.0
2007 2007.11 2010.01.22 2010.03.01 2010.08.02 2011.03.02 2011.08.30 2012.04.23 2012.12.31
Box Turtle C Turtle Diamondback Electric Emys Fuerte Turtle Groovy Galapagos
2013.09.04 2014.07.22
Hydro Medusa Indigo Igloo
2015.05.23
B C D E F
G H I
http://wiki.ros.org/Distributions
Jade Turtle
J
KineticKame
2016.05.xx
https://mirror.enha.kr/
ROSRobot Operating System
http://www.dreamstime.com/illustration/people-talk-listen-tin-can-phone-communication.html
발행자 구독자
Topic Publisher SubscriberTopic
엔코더 SLAM(위치정보 X, Y, θ)
Publisher
Subscriber
Topic
거리센서
로봇A
(장애물 X, Y)Subscriber
로봇B하나의 Topic 에 대해복수의 발행자, 복수의 구독자도 가능함
http://www.dreamstime.com/illustration/people-talk-listen-tin-can-phone-communication.html
서버 클라이언트
서비스 응답
서버 클라이언트
서비스 요청 어이~ 서버!지금 몇 시야?
지금 몇 시냐고?알아볼게~지금 12:00시야!
마스터
노드1 노드2
노드 정보노드 정보
접속 정보
메시지 통신(토픽, 서비스)
마스터
XMLRPC: 서버http://ROS_MASTER_URI:11311
노드 정보 관리
마스터
노드2
XMLRPC: 서버http://ROS_MASTER_URI:11311
노드 정보 관리
구독자 노드 정보:/subscriber_node_name,/topic_name,message_type,http://ROS_HOSTNAME:1234
XMLRPC: 클라이언트http://ROS_HOSTNAME:1234
정보 구독
마스터
노드1 노드2
구독자 노드 정보
XMLRPC: 서버http://ROS_MASTER_URI:11311
노드 정보 관리
발행자 노드 정보:/publisher_node_name,/topic_name,message_type,http://ROS_HOSTNAME:5678
XMLRPC: 클라이언트http://ROS_HOSTNAME:5678
정보 발행
마스터
노드1 노드2
구독자 노드 정보
발행자 노드 정보:/publisher_node_name,/topic_name,message_type,http://ROS_HOSTNAME:5678
XMLRPC: 서버
XMLRPC: 클라이언트http://ROS_HOSTNAME:1234
정보 구독
발행자 노드 정보
마스터
노드1 노드2
XMLRPC: 클라이언트http://ROS_HOSTNAME:1234
정보 구독
TCPROS 접속 요청
XMLRPC: 서버http://ROS_HOSTNAME:5678
정보 발행
마스터
노드1 노드2
XMLRPC: 클라이언트http://ROS_HOSTNAME:1234
정보 구독
TCPROS 접속 응답
XMLRPC: 서버http://ROS_HOSTNAME:5678
정보 발행
(http://ROS_HOSTNAME:3456)
마스터
노드1 노드2
TCPROS : 클라이언트ROS_HOSTNAME:7890
정보 구독
TCPROS 접속TCPROS: 서버
ROS_HOSTNAME:3456정보 발행
마스터
노드1 노드2
TCPROS : 클라이언트ROS_HOSTNAME:7890
정보 구독
TCPROS: 서버ROS_HOSTNAME:3456
정보 발행 메시지 전송(토픽)
노드1 노드2
TCPROS : 클라이언트ROS_HOSTNAME:7890
정보 구독
TCPROS: 서버ROS_HOSTNAME:3456
정보 발행
메시지 전송(토픽)
마스터
노드1 노드2
TCPROS : 클라이언트ROS_HOSTNAME:7890
서비스 요청
TCPROS: 서버ROS_HOSTNAME:3456
서비스 응답 메시지 송/수신(서비스)
노드1 노드2
TCPROS : 클라이언트ROS_HOSTNAME:7890
서비스 요청
TCPROS: 서버ROS_HOSTNAME:3456
서비스 응답
메시지 수신(서비스 응답)
메시지 송신(서비스 요청)
roscore
http://192.168.4.100:50051turtlesim_node 노드
정보 구독
http://192.168.4.100:45704turtle_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노드 정보 관리
← ↑↓ →
④
①②
③
ROSRobot Operating System