SlideShare a Scribd company logo
1 of 34
Download to read offline
Getting Started with ROS
: Your First Steps in Robot Programming
Hansol Kang
2
Contents
▪ Introduction to ROS
▪ Installation Guides
▪ Package / Node / Message
▪ Topic / Service / Action
▪ URDF / RViz
3
Introduction to ROS
4
Introduction to ROS
▪ ROS는 운영체제인가?
▪
▪ Key Features
▪
▪
▪
▪
▪
5
Introduction to ROS
▪ Distributions as of March 2024
▪
▪
▪
•
•
6
Introduction to ROS
▪ 배포판 별 패키지 다운로드 비율
•
ROS2
About 70%
7
Introduction to ROS
▪ ROS1 Vs. ROS2
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
8
Installation Guides
▪ ROS1 – Native Ubuntu or WSL2 (1/6)
▪
▪
▪
• https://learn.microsoft.com/ko-kr/windows/wsl/install
9
Installation Guides
▪ ROS1 – Native Ubuntu or WSL2 (2/6)
▪
10
Installation Guides
▪ ROS1 – Native Ubuntu or WSL2 (3/6)
▪
▪
▪
▪
• https://wiki.ros.org/noetic/Installation/Ubuntu
11
Installation Guides
▪ ROS1 – Native Ubuntu or WSL2 (4/6)
▪
▪
▪
• https://wiki.ros.org/noetic/Installation/Ubuntu
하
나
만
실
행
12
Installation Guides
▪ ROS1 – Native Ubuntu or WSL2 (5/6)
▪
▪
▪
▪
▪
▪
• https://wiki.ros.org/noetic/Installation/Ubuntu
13
Installation Guides
▪ ROS1 – Native Ubuntu or WSL2 (6/6)
▪
▪
• https://wiki.ros.org/noetic/Installation/Ubuntu
14
Installation Guides
▪ ROS1 – Docker (1/3)
▪
▪
• https://www.docker.com/products/docker-desktop/
• https://hub.docker.com/r/osrf/ros/tags
• https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
15
Installation Guides
▪ ROS1 – Docker (2/3)
▪
▪
▪
▪
▪
▪
▪
• https://www.docker.com/products/docker-desktop/
• https://hub.docker.com/r/osrf/ros/tags
• https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
16
Installation Guides
▪ ROS1 – Docker (3/3)
▪
▪
• https://www.docker.com/products/docker-desktop/
• https://hub.docker.com/r/osrf/ros/tags
• https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
17
Installation Guides
▪ ROS2 – Docker (1/2)
▪
• https://www.docker.com/products/docker-desktop/
• https://hub.docker.com/r/osrf/ros/tags
• https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
18
Installation Guides
▪ ROS2 – Docker (2/2)
▪
• https://www.docker.com/products/docker-desktop/
• https://hub.docker.com/r/osrf/ros/tags
• https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
19
Package / Node / Message
▪ Package & Node
▪
▪
20
Package / Node / Message
▪ Node & Message
▪
▪
▪
Node A Node C
Node B
Message
Message
Message
21
Topic / Service / Action
▪ Features
Topic Service Action (Service 확장)
조지고
올게!
22
Topic / Service / Action
▪ Topic
▪
▪
Node A Node C
Node B
Publisher Subscriber
Subscriber
Topic A
Topic B
Node A Node C
Node B
Publisher Subscriber
Subscriber
Publisher
Subscriber
Topic A
Topic B
Topic C
Topic D
23
Topic / Service / Action
▪ Topic Programming
▪
▪
▪
▪
▪
24
Topic / Service / Action
▪ Topic Programming
▪
▪
• https://github.com/messy-snail/ros-tutorial.git
25
Topic / Service / Action
▪ Topic Programming
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
• https://github.com/messy-snail/ros-tutorial.git
26
Topic / Service / Action
▪ Topic Programming
▪
▪
[executalbe_name] = [package_name].[file_name(.py는 제외)]:[main_function_name]
27
Topic / Service / Action
▪ Topic Programming
▪
28
URDF / RViz
▪ URDF
▪
▪
▪
▪
▪
▪
▪
29
URDF / RViz
▪ RViz
▪
▪
▪
▪
▪
▪
▪
30
URDF / RViz
▪ Example
▪
import os 추가해줘야함, 아니면 이렇게 써야함
('share/' + package_name + '/launch', ['launch/my_robot_launch.py']),
('share/' + package_name + '/urdf', ['urdf/my_robot.urdf'])
31
URDF / RViz
▪ Example
▪
• urdf: https://blog.advenoh.pe.kr/ros/URDF를-이용한-로봇-모델링/
32
References
▪ ROS Official Page: https://www.ros.org
▪ Korean ROS Community: https://oroca.org/
▪ Chat GPT: https://chat.openai.com/
▪ Mahtani, Anil, et al. Effective robotics programming with ROS. Packt Publishing Ltd.
(김종욱. ROS로 효과적인 프로그래밍하기. 홍릉과학출판사.)
▪ 표윤석, 임태훈. ROS2로 시작하는 로봇 프로그래밍. 루비페이퍼
(동일 내용: https://cafe.naver.com/openrt/24070)
▪ Docker: https://www.docker.com/products/docker-desktop/
▪ Docker+ROS: https://hub.docker.com/r/osrf/ros/tags
▪ Docker+ROS: https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
▪ ROS1: https://wiki.ros.org/Distributions
▪ ROS2: https://docs.ros.org/en/rolling/Releases.html
▪ WSL: https://learn.microsoft.com/ko-kr/windows/wsl/install
▪ URDF: https://blog.advenoh.pe.kr/ros/URDF를-이용한-로봇-모델링/
33
Appendix – Cheat Sheet
▪ ROS1
▪
▪
▪
▪
▪
▪
▪
▪
▪
34
Appendix – Cheat Sheet
▪ ROS2
▪
▪
▪
▪
▪
▪
▪
▪
(노드 이름이 아님. executable에 따라 복수 노드도 실행 가능)

More Related Content

Similar to ROS 시작하기(Getting Started with ROS:: Your First Steps in Robot Programming )

Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tipsViller Hsiao
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊Po-Jen Lai
 
JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개Ted Won
 
Scala laboratory. Globus. iteration #1
Scala laboratory. Globus. iteration #1Scala laboratory. Globus. iteration #1
Scala laboratory. Globus. iteration #1Vasil Remeniuk
 
BASTA 2017 - TFS/VSTS mit Extensions an die eigenen Bedürfnisse anpassen
BASTA 2017 - TFS/VSTS mit Extensions an die eigenen Bedürfnisse anpassenBASTA 2017 - TFS/VSTS mit Extensions an die eigenen Bedürfnisse anpassen
BASTA 2017 - TFS/VSTS mit Extensions an die eigenen Bedürfnisse anpassenMarc Müller
 
Jaoo Michael Neale 09
Jaoo Michael Neale 09Jaoo Michael Neale 09
Jaoo Michael Neale 09Michael Neale
 
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptHoracio Gonzalez
 
20150317 firefox os_studymtg_engver
20150317 firefox os_studymtg_engver20150317 firefox os_studymtg_engver
20150317 firefox os_studymtg_engverNaoki Sekiguchi
 
MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMorgan Tocker
 
Drupal 7 and RDF
Drupal 7 and RDFDrupal 7 and RDF
Drupal 7 and RDFscorlosquet
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Gibson Fahnestock
 
LLJVM: LLVM bitcode to JVM bytecode
LLJVM: LLVM bitcode to JVM bytecodeLLJVM: LLVM bitcode to JVM bytecode
LLJVM: LLVM bitcode to JVM bytecodeTakeshi Yamamuro
 
Rntb20200325
Rntb20200325Rntb20200325
Rntb20200325t k
 
Crank Up Your Apps With TorqueBox
Crank Up Your Apps With TorqueBoxCrank Up Your Apps With TorqueBox
Crank Up Your Apps With TorqueBoxJim Crossley
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOSEric Saxby
 
Reusing your existing software on Android
Reusing your existing software on AndroidReusing your existing software on Android
Reusing your existing software on AndroidTetsuyuki Kobayashi
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Nelson Calero
 

Similar to ROS 시작하기(Getting Started with ROS:: Your First Steps in Robot Programming ) (20)

Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tips
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
 
JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개
 
Scala laboratory. Globus. iteration #1
Scala laboratory. Globus. iteration #1Scala laboratory. Globus. iteration #1
Scala laboratory. Globus. iteration #1
 
BASTA 2017 - TFS/VSTS mit Extensions an die eigenen Bedürfnisse anpassen
BASTA 2017 - TFS/VSTS mit Extensions an die eigenen Bedürfnisse anpassenBASTA 2017 - TFS/VSTS mit Extensions an die eigenen Bedürfnisse anpassen
BASTA 2017 - TFS/VSTS mit Extensions an die eigenen Bedürfnisse anpassen
 
Jaoo Michael Neale 09
Jaoo Michael Neale 09Jaoo Michael Neale 09
Jaoo Michael Neale 09
 
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
 
20150317 firefox os_studymtg_engver
20150317 firefox os_studymtg_engver20150317 firefox os_studymtg_engver
20150317 firefox os_studymtg_engver
 
MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server Changes
 
Drupal 7 and RDF
Drupal 7 and RDFDrupal 7 and RDF
Drupal 7 and RDF
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
 
1. MySql plugins
1. MySql plugins1. MySql plugins
1. MySql plugins
 
Switching to Git
Switching to GitSwitching to Git
Switching to Git
 
LLJVM: LLVM bitcode to JVM bytecode
LLJVM: LLVM bitcode to JVM bytecodeLLJVM: LLVM bitcode to JVM bytecode
LLJVM: LLVM bitcode to JVM bytecode
 
Rntb20200325
Rntb20200325Rntb20200325
Rntb20200325
 
Crank Up Your Apps With TorqueBox
Crank Up Your Apps With TorqueBoxCrank Up Your Apps With TorqueBox
Crank Up Your Apps With TorqueBox
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOS
 
Reusing your existing software on Android
Reusing your existing software on AndroidReusing your existing software on Android
Reusing your existing software on Android
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
 

More from Hansol Kang

관측 임무스케줄링 (Selecting and scheduling observations of agile satellites)
관측 임무스케줄링 (Selecting and scheduling observations of agile satellites)관측 임무스케줄링 (Selecting and scheduling observations of agile satellites)
관측 임무스케줄링 (Selecting and scheduling observations of agile satellites)Hansol Kang
 
알아두면 쓸모있는 깃허브 2
알아두면 쓸모있는 깃허브 2알아두면 쓸모있는 깃허브 2
알아두면 쓸모있는 깃허브 2Hansol Kang
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1Hansol Kang
 
basic of deep learning
basic of deep learningbasic of deep learning
basic of deep learningHansol Kang
 
파이썬 제대로 활용하기
파이썬 제대로 활용하기파이썬 제대로 활용하기
파이썬 제대로 활용하기Hansol Kang
 
모던 C++ 정리
모던 C++ 정리모던 C++ 정리
모던 C++ 정리Hansol Kang
 
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...Hansol Kang
 
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)Hansol Kang
 
InfoGAN : Interpretable Representation Learning by Information Maximizing Gen...
InfoGAN : Interpretable Representation Learning by Information Maximizing Gen...InfoGAN : Interpretable Representation Learning by Information Maximizing Gen...
InfoGAN : Interpretable Representation Learning by Information Maximizing Gen...Hansol Kang
 
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)Hansol Kang
 
PyTorch 튜토리얼 (Touch to PyTorch)
PyTorch 튜토리얼 (Touch to PyTorch)PyTorch 튜토리얼 (Touch to PyTorch)
PyTorch 튜토리얼 (Touch to PyTorch)Hansol Kang
 
Deep Convolutional GANs - meaning of latent space
Deep Convolutional GANs - meaning of latent spaceDeep Convolutional GANs - meaning of latent space
Deep Convolutional GANs - meaning of latent spaceHansol Kang
 
쉽게 설명하는 GAN (What is this? Gum? It's GAN.)
쉽게 설명하는 GAN (What is this? Gum? It's GAN.)쉽게 설명하는 GAN (What is this? Gum? It's GAN.)
쉽게 설명하는 GAN (What is this? Gum? It's GAN.)Hansol Kang
 
문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development)
문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development)문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development)
문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development)Hansol Kang
 
신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm)
신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm)신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm)
신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm)Hansol Kang
 
HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법
HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법
HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법Hansol Kang
 
QT 프로그래밍 기초(basic of QT programming tutorial)
QT 프로그래밍 기초(basic of QT programming tutorial)QT 프로그래밍 기초(basic of QT programming tutorial)
QT 프로그래밍 기초(basic of QT programming tutorial)Hansol Kang
 
Continuously Adaptive Mean Shift(CAMSHIFT)
Continuously Adaptive Mean Shift(CAMSHIFT)Continuously Adaptive Mean Shift(CAMSHIFT)
Continuously Adaptive Mean Shift(CAMSHIFT)Hansol Kang
 

More from Hansol Kang (20)

관측 임무스케줄링 (Selecting and scheduling observations of agile satellites)
관측 임무스케줄링 (Selecting and scheduling observations of agile satellites)관측 임무스케줄링 (Selecting and scheduling observations of agile satellites)
관측 임무스케줄링 (Selecting and scheduling observations of agile satellites)
 
알아두면 쓸모있는 깃허브 2
알아두면 쓸모있는 깃허브 2알아두면 쓸모있는 깃허브 2
알아두면 쓸모있는 깃허브 2
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1
 
FPN 리뷰
FPN 리뷰FPN 리뷰
FPN 리뷰
 
R-FCN 리뷰
R-FCN 리뷰R-FCN 리뷰
R-FCN 리뷰
 
basic of deep learning
basic of deep learningbasic of deep learning
basic of deep learning
 
파이썬 제대로 활용하기
파이썬 제대로 활용하기파이썬 제대로 활용하기
파이썬 제대로 활용하기
 
모던 C++ 정리
모던 C++ 정리모던 C++ 정리
모던 C++ 정리
 
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
 
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up)
 
InfoGAN : Interpretable Representation Learning by Information Maximizing Gen...
InfoGAN : Interpretable Representation Learning by Information Maximizing Gen...InfoGAN : Interpretable Representation Learning by Information Maximizing Gen...
InfoGAN : Interpretable Representation Learning by Information Maximizing Gen...
 
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
 
PyTorch 튜토리얼 (Touch to PyTorch)
PyTorch 튜토리얼 (Touch to PyTorch)PyTorch 튜토리얼 (Touch to PyTorch)
PyTorch 튜토리얼 (Touch to PyTorch)
 
Deep Convolutional GANs - meaning of latent space
Deep Convolutional GANs - meaning of latent spaceDeep Convolutional GANs - meaning of latent space
Deep Convolutional GANs - meaning of latent space
 
쉽게 설명하는 GAN (What is this? Gum? It's GAN.)
쉽게 설명하는 GAN (What is this? Gum? It's GAN.)쉽게 설명하는 GAN (What is this? Gum? It's GAN.)
쉽게 설명하는 GAN (What is this? Gum? It's GAN.)
 
문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development)
문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development)문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development)
문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development)
 
신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm)
신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm)신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm)
신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm)
 
HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법
HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법
HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법
 
QT 프로그래밍 기초(basic of QT programming tutorial)
QT 프로그래밍 기초(basic of QT programming tutorial)QT 프로그래밍 기초(basic of QT programming tutorial)
QT 프로그래밍 기초(basic of QT programming tutorial)
 
Continuously Adaptive Mean Shift(CAMSHIFT)
Continuously Adaptive Mean Shift(CAMSHIFT)Continuously Adaptive Mean Shift(CAMSHIFT)
Continuously Adaptive Mean Shift(CAMSHIFT)
 

Recently uploaded

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 

Recently uploaded (20)

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 

ROS 시작하기(Getting Started with ROS:: Your First Steps in Robot Programming )

  • 1. Getting Started with ROS : Your First Steps in Robot Programming Hansol Kang
  • 2. 2 Contents ▪ Introduction to ROS ▪ Installation Guides ▪ Package / Node / Message ▪ Topic / Service / Action ▪ URDF / RViz
  • 4. 4 Introduction to ROS ▪ ROS는 운영체제인가? ▪ ▪ Key Features ▪ ▪ ▪ ▪ ▪
  • 5. 5 Introduction to ROS ▪ Distributions as of March 2024 ▪ ▪ ▪ • •
  • 6. 6 Introduction to ROS ▪ 배포판 별 패키지 다운로드 비율 • ROS2 About 70%
  • 7. 7 Introduction to ROS ▪ ROS1 Vs. ROS2 ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪
  • 8. 8 Installation Guides ▪ ROS1 – Native Ubuntu or WSL2 (1/6) ▪ ▪ ▪ • https://learn.microsoft.com/ko-kr/windows/wsl/install
  • 9. 9 Installation Guides ▪ ROS1 – Native Ubuntu or WSL2 (2/6) ▪
  • 10. 10 Installation Guides ▪ ROS1 – Native Ubuntu or WSL2 (3/6) ▪ ▪ ▪ ▪ • https://wiki.ros.org/noetic/Installation/Ubuntu
  • 11. 11 Installation Guides ▪ ROS1 – Native Ubuntu or WSL2 (4/6) ▪ ▪ ▪ • https://wiki.ros.org/noetic/Installation/Ubuntu 하 나 만 실 행
  • 12. 12 Installation Guides ▪ ROS1 – Native Ubuntu or WSL2 (5/6) ▪ ▪ ▪ ▪ ▪ ▪ • https://wiki.ros.org/noetic/Installation/Ubuntu
  • 13. 13 Installation Guides ▪ ROS1 – Native Ubuntu or WSL2 (6/6) ▪ ▪ • https://wiki.ros.org/noetic/Installation/Ubuntu
  • 14. 14 Installation Guides ▪ ROS1 – Docker (1/3) ▪ ▪ • https://www.docker.com/products/docker-desktop/ • https://hub.docker.com/r/osrf/ros/tags • https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
  • 15. 15 Installation Guides ▪ ROS1 – Docker (2/3) ▪ ▪ ▪ ▪ ▪ ▪ ▪ • https://www.docker.com/products/docker-desktop/ • https://hub.docker.com/r/osrf/ros/tags • https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
  • 16. 16 Installation Guides ▪ ROS1 – Docker (3/3) ▪ ▪ • https://www.docker.com/products/docker-desktop/ • https://hub.docker.com/r/osrf/ros/tags • https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
  • 17. 17 Installation Guides ▪ ROS2 – Docker (1/2) ▪ • https://www.docker.com/products/docker-desktop/ • https://hub.docker.com/r/osrf/ros/tags • https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
  • 18. 18 Installation Guides ▪ ROS2 – Docker (2/2) ▪ • https://www.docker.com/products/docker-desktop/ • https://hub.docker.com/r/osrf/ros/tags • https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치
  • 19. 19 Package / Node / Message ▪ Package & Node ▪ ▪
  • 20. 20 Package / Node / Message ▪ Node & Message ▪ ▪ ▪ Node A Node C Node B Message Message Message
  • 21. 21 Topic / Service / Action ▪ Features Topic Service Action (Service 확장) 조지고 올게!
  • 22. 22 Topic / Service / Action ▪ Topic ▪ ▪ Node A Node C Node B Publisher Subscriber Subscriber Topic A Topic B Node A Node C Node B Publisher Subscriber Subscriber Publisher Subscriber Topic A Topic B Topic C Topic D
  • 23. 23 Topic / Service / Action ▪ Topic Programming ▪ ▪ ▪ ▪ ▪
  • 24. 24 Topic / Service / Action ▪ Topic Programming ▪ ▪ • https://github.com/messy-snail/ros-tutorial.git
  • 25. 25 Topic / Service / Action ▪ Topic Programming ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ • https://github.com/messy-snail/ros-tutorial.git
  • 26. 26 Topic / Service / Action ▪ Topic Programming ▪ ▪ [executalbe_name] = [package_name].[file_name(.py는 제외)]:[main_function_name]
  • 27. 27 Topic / Service / Action ▪ Topic Programming ▪
  • 28. 28 URDF / RViz ▪ URDF ▪ ▪ ▪ ▪ ▪ ▪ ▪
  • 29. 29 URDF / RViz ▪ RViz ▪ ▪ ▪ ▪ ▪ ▪ ▪
  • 30. 30 URDF / RViz ▪ Example ▪ import os 추가해줘야함, 아니면 이렇게 써야함 ('share/' + package_name + '/launch', ['launch/my_robot_launch.py']), ('share/' + package_name + '/urdf', ['urdf/my_robot.urdf'])
  • 31. 31 URDF / RViz ▪ Example ▪ • urdf: https://blog.advenoh.pe.kr/ros/URDF를-이용한-로봇-모델링/
  • 32. 32 References ▪ ROS Official Page: https://www.ros.org ▪ Korean ROS Community: https://oroca.org/ ▪ Chat GPT: https://chat.openai.com/ ▪ Mahtani, Anil, et al. Effective robotics programming with ROS. Packt Publishing Ltd. (김종욱. ROS로 효과적인 프로그래밍하기. 홍릉과학출판사.) ▪ 표윤석, 임태훈. ROS2로 시작하는 로봇 프로그래밍. 루비페이퍼 (동일 내용: https://cafe.naver.com/openrt/24070) ▪ Docker: https://www.docker.com/products/docker-desktop/ ▪ Docker+ROS: https://hub.docker.com/r/osrf/ros/tags ▪ Docker+ROS: https://with-rl.tistory.com/entry/Ubuntu에서-Docker를-이용한-ROS1-ROS2-설치 ▪ ROS1: https://wiki.ros.org/Distributions ▪ ROS2: https://docs.ros.org/en/rolling/Releases.html ▪ WSL: https://learn.microsoft.com/ko-kr/windows/wsl/install ▪ URDF: https://blog.advenoh.pe.kr/ros/URDF를-이용한-로봇-모델링/
  • 33. 33 Appendix – Cheat Sheet ▪ ROS1 ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪
  • 34. 34 Appendix – Cheat Sheet ▪ ROS2 ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ (노드 이름이 아님. executable에 따라 복수 노드도 실행 가능)