Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
Search
akio
June 28, 2016
Technology
730
0
Share
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
ROS + Gazeboの紹介など。内容が大分古くなっているのでご注意。
akio
June 28, 2016
More Decks by akio
See All by akio
Go言語によるROSプログラミング
akio
0
530
2016-06-26 第8回ROS勉強会LT資料 catkin-tools
akio
0
410
2016-06-26 第8回ROS勉強会資料 ROSCRAFT
akio
0
500
Other Decks in Technology
See All in Technology
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.3k
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
スケーリングを封じられたEC2を救いたい
senseofunity129
0
130
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
130
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
120
How to install a gem
indirect
0
2k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
470
Cursor Subagentsはいいぞ
yug1224
2
120
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
120
私がよく使うMCPサーバー3選と社内で安全に活用する方法
kintotechdev
0
150
LLMに何を任せ、何を任せないか
cap120
11
6.7k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Paper Plane
katiecoart
PRO
0
48k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.6k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
470
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
210
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
350
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
610
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Transcript
ςΩετ ROS+GazeboͰ͡ΊΔϩϘοτγϛϡϨʔγϣϯ akio
DISCLAIMER ͜ͷൃදͷ༰શͯެ։͞Ε͍ͯΔใ͓Αͼൃ දऀ(akio)ͷݸਓతͳҙݟʹجͮ͘ͷͰ͢ɻൃදऀ ͷޏ༻ऀʹҰͷؔ͋Γ·ͤΜɻ ൃද༰ʹࡉ৺ͷҙΛ͍ͬͯ·͕͢ɺهࡌ ใͷ͝ར༻ʹΑΓສҰଛ͕ੜͯ͡ɺൃදऀҰ ͷΛෛ͍·ͤΜɻ
ࣗݾհ akio @akio(GitHub) ϩϘοτͷιϑτΣΞΛ։ൃ͢ΔࣄΛͯ͠·͢ ֶੜ͔࣌ΒཧγϛϡϨʔλͰ༡Ϳͷ͕͖Ͱ͢
༰ Gazeboʹ͍ͭͯ ROSͱͷ࿈ܞ ͙͢ࢼͤΔύοέʔδ ࣗͷϞσϧΛͭͬͯ͘ΈΑ͏ ·ͱΊ
Gazeboʹ͍ͭͯ
Gazeboͱ ! ެࣜαΠτhttp://gazebosim.org ΦʔϓϯιʔεʢApacheϥΠηϯεʣͷ̏DϩϘοτγϛϡϨʔλ ϦΞϧλΠϜੑΛॏࢹ OGREΛར༻ͨ͠ߴ࣭ͳάϥϑΟοΫ ෳͷཧΤϯδϯΛΓସ͑ΒΕΔʢODE, Bullet, Simbody, DARTʣ
ΧϝϥɺϨʔβʔϨϯδϑΝΠϯμͳͲͷηϯαʔγϛϡϨʔγϣϯ ಠࣗͷAPIΛ͕࣋ͭɺROSͱͷ࿈ܞॆ࣮
ಠஅͱภݟʹΑΔGazeboͷྺ࢙ Player࣌ ROS࣌ Standalone࣌ɹࠓ͜͜
Player࣌ 2DϩϘοτγϛϡϨʔλPlayer/Stageͷ༻్Λิ͢ ΔతͰ࢝ಈ ઃఆϑΝΠϧXMLϕʔεͰهड़ ϥΠηϯεGPL ൃදऀ͋·ΓΑ͘Βͳ͍
ROS࣌(2009 - 2011) Willow Garage͕։ൃࢧԉ ROSͱͷ࿈ܞΛ༰қʹ͢Δྗ͕ͳ͞ΕΔ PR2ͷγϛϡϨʔλͱͯ͠ར༻͞ΕΔ C++αϙʔτͷڧԽ ίʔυϕʔεPlayer࣌ͱಉ͡ʢGPLʣ ROS
Wikiʹ·ͩ͜ͷ࣌ͷهड़͕͓ͬͯΓɺࠞཚ͍͢͠
Standalone࣌(2012 - ݱࡏ) WillowGarage͔ΒεϐϯΞτͨ͠OSRF(Open Source Robotics Foundation) ͕ओʹ։ൃ શ໘తͳॻ͖͕͠ߦΘΕɺόʔδϣϯϦηοτ ϥΠηϯεApache
Software License 2.0ʹ ઃఆϑΝΠϧSDFʢSimulation Description Formatʣ ProtobufΛར༻ͨ͠ಠࣗͷϝοηʔδ௨৴ػߏΛ࣋ͭ DARPA Robotics Challengeͷ༧બͷҰͭVRC(Virtual Robotics Challenge)༻γ ϛϡϨʔλʹ࠾༻͞ΕΔ
GazeboͷΞʔΩςΫνϟ SDF gzserver gzclient (GUI) ϓϥάΠϯ Ϟσϧ Load Ϟσϧ ϓϥάΠϯ
ϓϥάΠϯ Simulation World ϝοηʔδ௨৴ ੍ޚॲཧͳͲ
͖ෆ͖ ݩʑͷ։ൃܦҢ͔ΒɺηϯαʔʴγϯϓϧͳػߏͷϩϘοτͱൺֱత૬ੑ ͕ྑ͍Ͱ͢ ͔͠͠ɺཧγϛϡϨʔγϣϯΤϯδϯͷΞϧΰϦζϜͷӨڹ͋Γଟؔઅ ϩϘοτาߦϩϘοτͳͲͰ͍ۤ͠໘͕… ϦΞϧλΠϜੑॏࢹͳͷͰɺݫີͳਫ਼Λظ͠ͳ͍Ͱ͏ͷ͕ྑ͍ v1.9Λ͍ͬͯͯಈ࡞͕ෆ҆ఆͳ͕࣌͋ΔɻకΊΓʹΘΕ͍ͯΔ࣌ʹ ͔ͳ͍͔͠Εͳ͍ ࠓޙ(v2.2ʙʣɺཧγϛϡϨʔγϣϯΤϯδϯͷબࢶ͕͕ΔͷͰɺվળ ͷر͋Γ·͢
·ͱΊ ࠓޙStandalone൛͕ओྲྀͰ͢ ͖ෆ͖͕͋ΔͷͰɺ༻్ͱੑೳΛߟྀͯ͠͏ ͷ͕٢Ͱ͢ ࠓޙͷվળ࣍ୈͰରԠ༻్͕Δ͔ʁ
ROSͱͷ࿈ܞ
GazeboͱROSͱͷ࿈ܞػߏͷ࠶උ Standalone൛ͰΒ͘ެࣜͳROSͱͷ࿈ܞػߏ͕ ͳ͔ͬͨ Standalone൛1.3ʙ͔ΒରԠ࢝͠Ί1.9Ͱ΄΅҆ఆ ROSHydro͔Βͪ͜ΒͷΈʹ४ڌ GroovyͰ͋ͪͪ͜ෆ߹͕ग़·͢
SDF gzserver gzclient (GUI) ϓϥάΠϯ Ϟσϧ Load ϓϥάΠϯ Simulation World
ϝοηʔδ௨৴ ੍ޚॲཧͳͲ ࿈ܞγεςϜͷΞʔΩςΫνϟ URDF ม ROS controller manager roscpp ROSϊʔυ ROSϊʔυ Controller ϓϥάΠϯ Ϟσϧ Controller ϓϥάΠϯ roscpp roscpp ROS ϝοηʔδ
ϞσϧΛ੍ޚ͍ͨ͠߹ gazebo_pluginsʹ͋ΔطϓϥάΠϯΛ͏ GazeboϓϥάΠϯͱͯ͠։ൃ͢Δ Ϟσϧʹඥ͍ͮͯɺGazebo APIΛར༻ roscppΛͬͯଞͷROSϊʔυͱ௨৴ ros-controlsͷControllerManagerʹରԠͨ͠ControllerϓϥάΠϯͱͯ͠։ൃ͢Δ ros-controlsPR2ͷϦΞϧλΠϜ੍ޚϨΠϠʔͷҰൠԽ൛ ࣮ػ༻੍ޚϓϩάϥϜͱɺControllerΛڞ༗Ͱ͖Δ
gazebo_pluginsͷϓϥάΠϯ Camera Multicamera Depth Camera Openni Kinect GPU Laser Laser
Block Laser F3D (Force Feedback Ground Truth) Force IMU Joint Pose Trajectory P3D (3D Position Interface for Ground Truth) Projector Prosilica Camera Bumper Differential Drive Skid Steering Drive Video Plugin Planar Move Plugin
·ͱΊ ͠Β͘Gazebo1.9 + ROS HydroͷΈ߹Θ͕ͤ҆ఆͩͱࢥ ΘΕ·͢ ҟͳΔόʔδϣϯΛΈ߹ΘͤΔͱɺ͕͍͠Τϥʔ͕ग़ ͨΓ͠·͢ ϞσϧΛ੍ޚ͢ΔͳΒকདྷతʹros-controlsܦ༝͔ʁ ros-controlsࣗମ·ͩख़͖͍ͬͯ͠ͳ͍
ࠓ͍͚͕ඞཁ
͙͢ࢼͤΔύοέʔδ
ROS HydroͰϦϦʔε͞Ε͍ͯΔ GazeboγϛϡϨʔγϣϯPKG ൃදऀௐͳͷͰɺൈ͚ʗ࿙ΕͳͲଟ͋ΔͱࢥΘΕ·͢ Turtlebot2/Kobuki Husky Grizzly youBot Segbot UR5/10
Hector Quadcoptor
ςΩετ Turtlebot2/Kobuki Πϯετʔϧ $ apt-get install ros-hydro-turtlebot-simulator ࣮ߦ $ roslaunch
turtlebot_gazebo turtlebot_empty_world.launch !
ςΩετ Husky Πϯετʔϧ $ apt-get install ros-hydro-husky-simulator ࣮ߦ $ roslaunch
husky_gazebo husky_empty_world.launch
ςΩετ Grizzly Πϯετʔϧ $ apt-get install ros-hydro-grizzly-simulator ࣮ߦ $ roslaunch
grizzly_gazebo grizzly_empty_world.launch
ςΩετ youBot Πϯετʔϧ $ apt-get install ros-hydro-youbot-simulation ࣮ߦ $ roslaunch
youbot_gazebo_robot youbot_dual_arm.launch
ςΩετ Segbot Πϯετʔϧ $ apt-get install ros-hydro-segbot-simulator ࣮ߦ $ roslaunch
segbot_gazebo segbot_test_world.launch (ผͷ)$ roslaunch segbot_gazebo segbot_mobile_base.launch
ςΩετ UR5/10ʢUniversal Robotsʣ Πϯετʔϧ $ apt-get install ros-hydro-ur-gazebo ࣮ߦ (UR5)$
roslaunch ur_gazebo ur5.launch (UR10)$ roslaunch ur_gazebo ur10.launch ΞʔϜ͚ͩͳͷͰɺ͖ͳंʹ͚ͬͭ͘Α͏
ςΩετ Hector Quadrotor Πϯετʔϧ $ apt-get install ros-hydro-hector-quadrotor-gazebo ࣮ߦ $
roslaunch hector_quadrotor_gazebo quadrotor_empty_world.launch
·ͱΊ ROS HydroͳΒ͙͢ࢼͤΔγϛϡϨʔλϞσϧଟ جຊతʹඪ४తͳΠϯλʔϑΣʔεʹ४ڌ͍ͯ͠Δͷ ͰɺଞͷROSϑϨʔϜϫʔΫ(MoveIt!ͳͲʣͱൺֱ త༰қͷͣ
ࣗͷϞσϧΛ࡞ͬͯΈΑ͏ ʢαϯϓϧίʔυͰֶͿฤʣ
ࢀߟʹͳΔࢿྉ ެࣜͷROS࿈ܞνϡʔτϦΞϧ http://gazebosim.org/wiki/Tutorials#ROS_Integration ্هνϡʔτϦΞϧͷαϯϓϧίʔυ https://github.com/ros-simulation/gazebo_ros_demos
ࠓճͷྫ ެࣜνϡʔτϦΞϧྫ ΛࢀߟʹΑΓ؆ུԽ ̍࣠ճసؔઅΛ࣋ͭ ΞʔϜઌʹΧϝϥ Xacroແ͠Ͱॻ͘
ඞཁͳύοέʔδ ros-hydro-gazebo-ros-pkgs ros-hydro-gazebo-ros-control ros-hydro-ros-controllers ֬ೝ༻ ros-hydro-image-view2
αϯϓϧίʔυ sudo apt-get install git CatkinͷϫʔΫεϖʔεΛ࡞ͬͯɺsrcσΟϨΫτϦʹ clone ͍ͯͩ͘͠͞ɻ git clone
https://github.com/akio/myrobot_demo.git
ϑΝΠϧͷઆ໌ myrobot_demo myrobot_gazebo package.xmlɹɹɹී௨ CMakeLists.txtɹɹී௨ myrobot.launchɹɹશ෦ೖΓLaunch myrobot.urdf ɹɹϞσϧͷఆٛ
ղઆ͖ίʔυͰઆ໌
ϞσϧΛॻ࣌͘ͷҙ URDF͔ΒSDFͷมϓϩάϥϜɺGazeboαʔόʔͷΤ ϥʔܯࠂ͕ൃల్্ɻ ݁ՌɺΤϥʔ͕ى͖ͯݪҼෆ໌ͱ͍͏͜ͱ͕Α͋͘Γ·͢ ߹ʹΑͬͯҙਤ͠ͳ͍݁Ռ͕ग़͍ͯͯΤϥʔʹͳΒͳ ͍͜ͱ͋Γ·͢ ͦΜͳͱ͖มεςοϓΛҰͭҰͭղͯ֬͠ೝ͢Δͱྑ ͍Ͱ͢ʢମݧஊʣ
·ͱΊ جຊURDFͳͷͰɺJointͱϦϯΫͷ܁Γฦ͠ͰϩϘοτΛ ΈཱͯΔ ඞཁͳ෦ʹɺGazebo༻ͷઃఆΛՃ͢ΔΠϝʔδ GazeboϓϥάΠϯɺROS ControllersϓϥάΠϯͱʹ๛ʹ४ උ͞Ε͍ͯΔͷͰɺࣗͷ͍͍ͨػೳΛΑ͘୳͠·͠ΐ͏ ෳࡶͳϩϘοτͱͯهड़͕͘ͳΔͷͰɺXacroΛͬͯ هड़ΛݮΒͨ͠ΓɺϑΝΠϧׂ͢ΔςΫχοΫ͕ඞཁ
શମͷ·ͱΊ
શମͷ·ͱΊ ಉ͡GazeboͰ৭ʑ͋ΔͷͰɺཁҙ ͠Β͘Gazebo1.9 + Hydro͕҆ఆ ͙͢ʹ͑ΔϩϘοτϞσϧͷ͕࢝·͍ͬͯΔ ཁྖ͕Θ͔ΕɺࣗͰϩϘοτϞσϧ৽͍͠ϓ ϥάΠϯΛ։ൃͰ͖Δ