Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ROS Ecosystem & Applications [HyphaROS] -- by HaoChih

1,217 views

Published on

HyphaROS Workshop 2017 Public Presentation
Presenter: HaoChih, Lin

Outline:
ROS 1.0
ROS Applications
ROS Industrial
ROS 2.0/DDS

Website: https://hypharosworkshop.wordpress.com/
Contact info: hypha.ros@gmail.com

Published in: Technology

ROS Ecosystem & Applications [HyphaROS] -- by HaoChih

  1. 1. Website: https://hypharosworkshop.wordpress.com/contact/ FB Page: https://www.facebook.com/HyphaROS/ Email: hypha.ros@gmail.com ROS Ecosystem & Applications Lecturer : HaoChih, LIN 林浩鋕
  2. 2. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● About us ● ROS Introduction ● SLAM Package ● Applications (ARDrone Indoor monoSLAM & Navigation) ● ROS Industrial ● ROS 2.0 ● Q & A
  3. 3. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN About us ● Introduction ○ Website: https://hypharosworkshop.wordpress.com/ ○ Github: https://github.com/Hypha-ROS/hypha-racecar ○ Facebook: https://www.facebook.com/HyphaROS/ ○ Youtube: https://www.youtube.com/watch?v=jgS6gpmWPoY ○ Youku: http://i.youku.com/hypha
  4. 4. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN About us ● Introduction ○ Established date: April-2017 ○ Self-organized Workshop: 3 ○ Speech & Training: 6 ○ Technical supports: > 10 universities/labs & > 5 companies ○ HyphaROS RaceCar ver 1.0 released (sold 30 units) 4
  5. 5. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN About us ● Introduction ○ Lecturer in “ROS Summer School in China 2017” ○ Presenter in “2017 WRC ROS Forum” ○ Product & Service [ROS]: Workshop, Technical Consultant, AGVs, Home robots, etc.. ○ Cooperate with Chips Company (China), will attend CES 2018 (if everything goes right...)
  6. 6. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN About us ROS.Taipei 2018 開發者年會 Official Website: https://ros-taipei.wixsite.com/2018 FB Page: https://www.facebook.com/groups/ros.taipei/
  7. 7. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  8. 8. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  9. 9. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  10. 10. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  11. 11. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  12. 12. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction Source: http://www.ros.org/history/
  13. 13. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  14. 14. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  15. 15. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  16. 16. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  17. 17. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  18. 18. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction ● Package ○ include/package_name: C++ include headers ○ msg/: Folder containing Message (msg) types ○ src/: Source files ○ srv/: Folder containing Service (srv) types ○ scripts/: executable scripts ○ CMakeLists.txt: CMake build file (see catkin/CMakeLists.txt) ○ package.xml: Package catkin/package.xml ● Node ● Message [A message is simply a data structure, comprising typed fields (much like C structs).] ● Master [provides name registration and lookup to the rest of the Computation Graph] ● Parameter Server ● Topics ● Service [for request / reply interactions] ● Rosbag ● Actionlib [A common, topic-based interface for preemptible tasks in ROS.] ● Plugins [provides a library for dynamically loading libraries in C++ code.]
  19. 19. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction ● [concept] Establishing a topic connection ○ Subscriber starts. ○ Publisher starts. ○ Subscriber registers with the Master. (XMLRPC) ○ Publisher registers with the Master. (XMLRPC) ○ Master informs Subscriber of new Publisher. (XMLRPC) ○ Subscriber contacts Publisher to request a topic connection and negotiate the transport protocol. (XMLRPC) ○ Publisher sends Subscriber the settings for the selected transport protocol. (XMLRPC) ○ Subscriber connects to Publisher using the selected transport protocol. (TCPROS, etc...) figure source: http://wiki.ros.org/ROS/Technical%20Overview
  20. 20. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  21. 21. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  22. 22. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction • Standard Linux tools: Compilers, Debuggers, Loggers, IDEs • Multiple language support: C/C++, Python, Java, Lisp, Go, Scratch, etc. • Standard libraries: Boost, MySQL, XML (whatever you can imagine) • Modern GUI tools • Many tools missing from industrial development packages Source: ROS-Industrial Introduction slides 2013, Shaun Edwards
  23. 23. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  24. 24. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  25. 25. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  26. 26. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  27. 27. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  28. 28. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction c Source: Navigation Illumination Slides, David V. Lu 2014 David V. Lu
  29. 29. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  30. 30. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  31. 31. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  32. 32. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  33. 33. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  34. 34. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  35. 35. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction 2014 2016 2017 Source: ROS metrics-report-2017-07
  36. 36. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction Source: ROS metrics-report-2017-07
  37. 37. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction Source: RosCon2017 Opening Remark
  38. 38. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  39. 39. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  40. 40. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  41. 41. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  42. 42. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  43. 43. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  44. 44. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  45. 45. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  46. 46. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  47. 47. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction Source: https://software.intel.com/en-us/articles/build-an-autonomous-mobile-robot-with-the-intel-realsense-camera-ros-and-sawr IntelROSProject Realsense Movidius
  48. 48. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction IntelROSProject Realsense Movidius
  49. 49. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  50. 50. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  51. 51. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  52. 52. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  53. 53. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Introduction
  54. 54. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN • Website 1. ROS Install (Kinetic): http://wiki.ros.org/kinetic/Installation/Ubuntu 2. ROS Wiki (Tutorial): http://wiki.ros.org/ROS/Tutorials 3. CLEARPATH Tutorial: http://www.clearpathrobotics.com/assets/guides/ros/ • Youtube Video 1. ROS Tutorial: https://www.youtube.com/playlist?list=PLSzYQGCXRW1HLWHdJ7ehZPA-nn7R9UKPa 2. Erle Robotics: https://www.youtube.com/playlist?list=PL39WpgKDjDfVfiNVG47DBi93wsh2XHKVO 3. The Construct: http://www.theconstructsim.com/ ROS Introduction
  55. 55. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 2D Laser SLAM
  56. 56. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● Gmapping ○ needs external odom (in our case: laser odom fused with imu0) ○ Rao-Blackwellized Particle Filter (RBPF) ○ Loop closure ● Hector SLAM ○ Gauss-Newton approach ○ External odom is not necessary ○ No loop closure ○ Requires high quality sensor (e.g. UTM-30LX) ○ Supports EKF fusion (imu) ● MRPT-ICP SLAM ○ ICP algorithm ○ For small to mid-sized maps ○ External odom is not necessary 2D Laser SLAM
  57. 57. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 2D Laser SLAM gmapping (laser odom) mrpt icp hector slam
  58. 58. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● Google cartographer ○ http://wiki.ros.org/cartographer ● MRPT-ICP SLAM ○ https://github.com/ethz-asl/ethzasl_icp_mapping 2D Laser SLAM
  59. 59. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 3D SLAM
  60. 60. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● 3D Laser ○ google cartographer ○ ETHZ-ASL libpointmatcher ○ ETHZ-ASL laser_slam ● Visual (RGBD) ○ Rtabmap ○ RGBD SLAM (v1, v2) ● Visual Stereo ○ Duo-VIO ● Visual Monocular ○ PTAM ○ LSD_SLAM (semi-dense) ○ SVO (semi-dense) ○ ORB-SLAM (feature based) ● Visual Inertial Odometry/SLAM ○ Loosely coupled: MSF_EKF ○ Tightly coupled: OKVIS, ROVIO, Duo-VIO ○ Framework: ETHZ-ASL maplab 3D SLAM & Odometry Source: https://github.com/ethz-asl/maplab
  61. 61. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● RtabMap 3D SLAM & Odometry Source: http://wiki.ros.org/rtabmap_ros Real-Time Appearance-Based Mapping http://introlab.github.io/rtabmap/
  62. 62. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● RtabMap 3D SLAM & Odometry Source: http://wiki.ros.org/rtabmap_ros Real-Time Appearance-Based Mapping http://introlab.github.io/rtabmap/
  63. 63. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 3D SLAM & Odometry Tutorials 1.RGB-D Hand-Held Mapping 2.This tutorial shows how to use rtabmap_ros out-of-the-box with a Kinect-like sensor in mapping mode or localization mode. 3.Stereo Hand-Held Mapping 4.This tutorial shows how to use rtabmap_ros out-of-the-box with a stereo camera in mapping mode or localization mode. 5.Remote Mapping 6.This tutorial shows how to do mapping on a remote computer. 7.Stereo Outdoor Mapping 8.This tutorial shows how to do stereo mapping with RTAB-Map. 9.Stereo Outdoor Navigation 10.This tutorial shows how to integrate autonomous navigation with RTAB-Map in context of outdoor stereo mapping. 11.Setup RTAB-Map on Your Robot! 12.This tutorial shows multiple RTAB-Map configurations that can be used on your robot. 13.Mapping and Navigation with Turtlebot 14.This tutorial shows how to use RTAB-Map with Turtlebot for mapping and navigation. 15.Tango ROS Streamer 16.Tutorial to get Tango ROS Streamer working with rtabmap_ros 17.Advanced Parameter TuningThis tutorial tells you which parameter to change to improve performances 18.Wifi Signal Strength Mapping (User Data Usage) 19.This tutorial shows how to add user data during mapping that will be saved directly in RTAB-Map's database for convenience. ● RtabMap Real-Time Appearance-Based Mapping
  64. 64. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 3D SLAM & Odometry ● RtabMap Real-Time Appearance-Based Mapping
  65. 65. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 3D SLAM & Odometry ● RtabMap Real-Time Appearance-Based Mapping ● 3D mapping on Odroid XU4 with Realsense R200 ORB vs GFTT/ORB (BRISK is not good enough) 320 * 240 loop closure (g2o) Vis + ICP PCL filter and octomap The IMU issue (mpu6050 -> gy85) Supports multi-mapping
  66. 66. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 3D SLAM & Odometry ● ORBSLAM v1 & v2 http://webdiis.unizar.es/~raulmur/orbslam/
  67. 67. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 3D SLAM & Odometry ● ORBSLAM v1 & v2 http://webdiis.unizar.es/~raulmur/orbslam/
  68. 68. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 3D SLAM & Odometry ● SVO 1 & 2 http://rpg.ifi.uzh.ch/svo2.html 1. Parrot-SenseFly Albris drone: https://www.youtube.com/watch?v=mYKrR... 2. Virtual reality: https://www.youtube.com/watch?v=k0MLs... 3. iPhone app 3D around: https://3daround.dacuda.com/ 4. iPhone app Staramba3D: https://itunes.apple.com/us/app/stara... 5. Zurich-Eye (now Facebook-Oculus VR): http://www.zurich-eye.com/
  69. 69. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 3D SLAM & Odometry ● SVO 1 & 2 http://rpg.ifi.uzh.ch/svo2.htmlhttps://github.com/uzh-rpg/rpg_svo
  70. 70. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● ETHZ-ASL libpointmatcher 3D SLAM & Odometry Source: https://github.com/ethz-asl/libpointmatcher An "Iterative Closest Point" library for 2-D/3-D mapping in Robotics
  71. 71. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● ETHZ-ASL OKVIS & ROVIO 3D SLAM & Odometry https://github.com/ethz-asl/okvis_ros https://github.com/ethz-asl/rovio
  72. 72. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ● ETHZ ASL MapLap 3D SLAM & Odometry Source: https://github.com/ethz-asl/maplab An Open Framework for Research in Visual-inertial Mapping and Localization
  73. 73. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar
  74. 74. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Introduction ● The requirements of the platform ○ ROS fully support ○ Able to implement 2D Navigation stack (laser based) ○ Low cost (ARM SBC, low-cost lidar, mems imu, etc) ○ High speed/performance ○ Robust & Safety ○ Algorithms evaluation/comparison ○ Modularization & Extensibility
  75. 75. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Introduction ● The origin of RACECAR MIT: https://mit-racecar.github.io/ Youtube: https://www.youtube.com/watch?v=9fzzp6oxid4 1/10-scale Traxxis Rally Car Nvidia Jetson TX 1 Hokuyo UST-10LX laser range finder Stereolabs ZED stereo camera Structure.io depth camera Sparkfun IMU Encoder + optical flow realtime onboard 4 m/s Total cost: around 3,600 USD
  76. 76. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Introduction ● Similar projects Penn: http://f1tenth.org/ [without slam, NAV] UCB: http://www.barc-project.com/projects/ [without laser] Georgia Tech: https://github.com/AutoRally [for outdoor] CMU: https://github.com/mrsd16teamd/loco_car [indoor]
  77. 77. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Introduction MIT RaceCar
  78. 78. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Introduction Georgia Tech AutoRally
  79. 79. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Introduction ● Our Solution ○ Open-Source, Open-Hardware ○ Low-cost (~ 600 USD), High-speed (~ 3 m/s) ○ Step by step tutorial for beginner (available on github: Hypha-ROS) Version 1 Version 2
  80. 80. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Introduction
  81. 81. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Major Functions HyphaROS RaceCar Localization Odometry SLAM Base Controller Navigation Sensors/ Actuators Drivers
  82. 82. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Hardware Architecture Odroid XU4 Arduino Nano USB Hub Gy85 Servo Motor ESC Arduino UNO RPLidar (A1M8) FTDI USB USB I2C PWM PWM Wifi TX/RX USB Ethernet 7.4V BatteyBEC DC 2 DC Core Motor BEC
  83. 83. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Software Architecture move_base (path planning) robot_localization (EKF) rf2o (laser odom) PySerial (imu reading) Filtered Odometry • Pure Pursuit • TEB control • MPC rosserial (to arduino) rplidar_ros (laser scan) Ackerman (rpm odom) GPS (optional)
  84. 84. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Software Architecture
  85. 85. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN HyphaROS RaceCar: Github HyphaROS VM image Desktop sharing (vino + remmina) Terminal or File manager (ssh) All source code can be found on Hypha-ROS github: https://github.com/Hypha- ROS/hypha-racecar (including udev setting, Arduino files, necessary documents)
  86. 86. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Drone Applications
  87. 87. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Drone Applications ● Simulation ○ Gazebo (with PX4) ○ AirSim Simulation ● Well known Projects ○ APM ○ PX4 & Dronecode ○ PaparazziUAV ○ CrazySwarm ○ Erlerobot gym-gazebo ○ DJI SDK ○ ARDrone SDK
  88. 88. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Drone Applications ● PX4 X Gazebo https://dev.px4.io/en/simulation/gazebo.html
  89. 89. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Drone Applications ● AirSim https://github.com/Microsoft/AirSim
  90. 90. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Drone Applications ● CrazySwarm http://crazyswarm.readthedocs.io/en/latest/
  91. 91. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Drone Applications ● PaparazziUAV https://blog.paparazziuav.org/
  92. 92. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN MCU (Pixhawk, APM, Arduino)SBC (Odroid XU4, Nvidia TX1/2 or NUC) Drone Applications ● General Architecture (Loosely coupled) MoveIt (octomap & Path) Trajectory Generator (optional) Serial e.g. MAVROS PySerial VO/SLAM Sensors Imu, gps MSF- EKF RGB camera High level Controller Platform (HW) Low level Controller
  93. 93. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ARDrone Indoor Navigation (LSD-SLAM)
  94. 94. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ARDrone Indoor Navigation
  95. 95. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ARDrone Indoor Navigation
  96. 96. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ARDrone Indoor Navigation LSD-SLAM PTAM (IMU) Least square MoveIt (octomap & RRT*) Trajectory Generator NDI Controller In: RGB image In: • RGB image • IMU • Sonar Out: scaled pcl Out: way points Out: trajectory Out: cmd Could be replaced by MSF-EKF
  97. 97. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ●LSD-SLAM (Large-Scale Direct Monocular SLAM) As direct method, LSD-SLAM uses all information in the image, including e.g. edges – while keypoint-based approaches can only use small patches around corners. This leads to higher accuracy and more robustness in sparsely textured environments (e.g. indoors), and a much denser 3D reconstruction. ARDrone Indoor Navigation
  98. 98. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ARDrone Indoor Navigation Monocular SLAM non scaled issue
  99. 99. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 𝑀 𝑞𝑙 𝑖 𝛿𝑞 − 𝑞𝑡 𝑖 2 Am+1 = Am + 𝑀 𝑇 𝑞𝑙 𝑚+1 𝑀(𝑞𝑙 𝑚+1 ) ym+1 = ym + 𝑀 𝑇 𝑞𝑙 𝑚+1 𝑞𝑡 𝑚+1 [𝐼3×3 𝑅 𝛿𝑞 𝑥𝑙 𝑖 𝛿𝑥 𝛼 − 𝑥 𝑡 𝑖 |2 Am+1 = Am + 𝐼3×3 𝑅 𝛿𝑞 𝑥𝑙 𝑚+1 𝑇 𝐼3×3 𝑅 𝛿𝑞 𝑥𝑙 𝑚+1 ym+1 = ym + 𝐼3×3 𝑅 𝛿𝑞 𝑥𝑙 𝑚+1 𝑇 𝑥 𝑡𝑖 Recursive least-squares M is quaternion multiplication matrix R is quaternion rotation matrix ARDrone Indoor Navigation Monocular SLAM non scaled issue
  100. 100. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Let 𝑝 𝑛, denote the coefficients of a polynomial P of degree N such that P t = 𝑃𝑛 𝑡 𝑁 + 𝑃𝑛−1 𝑡 𝑛−1 . . . +𝑝0 = 𝑛=0 𝑁 𝑃𝑛 𝑡 𝑛 We are interested in optimizing the coefficients of P to minimize cost functions (lateral offset from a nominal path) of the form J = 0 𝜏 𝑐0 𝑃 𝑡 2 + 𝑐1 𝑃′ 𝑡 2 + 𝑐2 𝑃′′ 𝑡 2 + . . . +𝑐 𝑁 𝑃 𝑁 𝑡 2 𝑑𝑡 which can be written in quadratic form as, J = 𝑝 𝑇 𝑄 𝑝 where Q = 𝑟=0 𝑁 𝑐 𝑟 𝑄 𝑟 Qr 𝑖𝑙 = 2( 𝑚=0 𝑟−1 (𝑖 − 𝑚)(𝑙 − 𝑚)) 𝜏 𝑖+𝑙−2𝑟+1 𝑖 + 𝑙 − 2𝑟 + 1 ; 𝑖 ≥ 𝑟 ∧ 𝑙 ≥ 𝑟 0; 𝑖 < 𝑟 ∨ 𝑙 < 𝑟 Control, Estimation, and Planning Algorithms for Aggressive Flight using Onboard Sensing, MIT, Adam Parker Bry ARDrone Indoor Navigation Trajectory Generating
  101. 101. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Piecewise Polynomial Joint Optimization We now have a quadratic program (QP) of the form: min 𝑥 𝑥 𝑇 𝑄𝑥 s. t. Ax − b = 0 Since we wish to "correct" for derivative discontinuities in Dubins curves it is necessary to jointly optimize multiple polynomial segments Control, Estimation, and Planning Algorithms for Aggressive Flight using Onboard Sensing, MIT, Adam Parker Bry ARDrone Indoor Navigation Trajectory Generating
  102. 102. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Piecewise Polynomial Joint Optimization The higher order time differential constraints for curve-segment of Dubins curves: ARDrone Indoor Navigation Trajectory Generating
  103. 103. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Piecewise Polynomial Joint Optimization The higher order time differential constraints for line-segment of Dubins curves: ARDrone Indoor Navigation Trajectory Generating
  104. 104. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN 𝑥 = 𝑥 𝑤 𝑦 𝑤 zw 𝑢 𝑤 𝑣 𝑤 𝑞1 𝑞2 𝑞3 𝑞4 𝑇 𝑢 = 𝜙 𝜃 𝜓 𝑧 = [𝑢1 𝑢2 𝑢3 𝑢4] 𝑉 = 𝑧 𝑤 = 𝑢4 𝑢1 = tan−1 𝑥 𝑔 − 𝑧 𝑢2 = tan−1 𝑦𝑐𝑜𝑠𝑢1 𝑔 − 𝑧 𝑢3 = 𝜓 ARDrone Indoor Navigation Nonlinear Dynamic Inversion (NDI)
  105. 105. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ARDrone Indoor Navigation
  106. 106. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Industrial
  107. 107. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: Source: ROS-Industrial slides 2017, 邱强 (上海交大) ROS Industrial
  108. 108. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: Source: ROS-Industrial slides 2017, 邱强 (上海交大) ROS Industrial
  109. 109. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: Source: ROS-Industrial slides 2017, 邱强 (上海交大) Inverse Kinematics (KDL, IK-FAST) Collision Checking (FCL) Motion Planning (OMPL: RRT) Forward Kinematics (URDF, TF) ROS Industrial
  110. 110. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Industrial
  111. 111. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Industrial
  112. 112. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: 04-Mirko_Bordignon_WRC2017_ROS ROS Industrial
  113. 113. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Industrial
  114. 114. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: 04-Mirko_Bordignon_WRC2017_ROS ROS Industrial
  115. 115. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: 04-Mirko_Bordignon_WRC2017_ROS ROS Industrial
  116. 116. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Robot Arms • Motoman • Adept • Universal • Fanuc • ABB • Kuka • Techman (Taiwan) • More to come… Source: ROS-Industrial Introduction slides 2013, Shaun Edwards ROS Industrial
  117. 117. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Industrial_Robot_Driver_Spec http://wiki.ros.org/Industrial/Industrial_Robot_Driver_Spec ROS Industrial
  118. 118. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Industrial Source: ROS-Industrial Website ROS-industrial Conference ROS-industrial Workshops
  119. 119. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: ROS-Industrial Website ROS Industrial ROS-industrial Consortium Worldwide Membership, December 2017
  120. 120. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Industrial
  121. 121. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN rtt_lwr: OROCOS/ROS Components for Light Weight Robots ROS Industrial Source: http://rtt-lwr.readthedocs.io/en/latest/index.html
  122. 122. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ●New Horizon 2020 robotics projects from 2016 https://ec.europa.eu/programmes/horizon2020/en/news/new-horizon- 2020-robotics-projects-2016 The two biggest projects are ROS related ! RoBMoSys and ROSIN (15.5 MEUR in total) http://rosin-project.eu/ http://robmosys.eu/ € 8,000,000.00 € 7,504,236.25 • ABB AB Sweden • Delft University of Technology • FH Aachen University of Applied Sciences • Fraunhofer-Institut für Produktionstechnik und Automatisierung IPA • Fundación Tecnalia Research & Innovations • IT University of Copenhagen ROS Industrial
  123. 123. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: 04-Mirko_Bordignon_WRC2017_ROS ROS Industrial
  124. 124. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Melonee Wise http://fetchrobotics.com/fetchers/ ROS Industrial
  125. 125. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN https://github.com/ ApolloAuto ROS Industrial
  126. 126. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Industrial
  127. 127. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS Industrial
  128. 128. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS 2.0
  129. 129. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Known Issue of ROS 1.0 • Realtime performance • Node management • Master (roscore) • Multi-robots capability (Swarm) • Small processors • Communication Priority • Communication Security • Unreliable network connectivity Source: http://blog.ascens-ist.eu/wp-content/uploads/2011/03/13marxbots.jpg ROS 2.0
  130. 130. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN The Goals of ROS 2 Source: https://roscon.ros.org/2014/wp-content/uploads/2014/07/ROSCON-2014-Next-Generation-of-ROS-on-top-of-DDS.pdf ROS 2.0
  131. 131. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Source: https://roscon.ros.org/2014/wp-content/uploads/2014/07/ROSCON-2014-Next-Generation-of-ROS-on-top-of-DDS.pdf = less time spent here more time to spent here ROS 2.0
  132. 132. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS 1 ROS 2 ROS 2.0
  133. 133. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN User Code ROS Client Lib rclpy rclcpp Third Party ROS Middleware OpenSplice RMW Impl. FastRTPS RMW Impl. Third Party RMW Impl. PrismTech OpenSplice eProsima FastRTPS Third Party DDS User Applications Client Wrapper Middleware DDS DDS agnostic ROS agnostic ROS 2.0
  134. 134. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Alpha 1 31 Aug 2015 Beta 1 31 Aug 2015 Beta 2 31 Aug 2015 Beta 3 13 Sep 2017 Ver. 1 13 Dec 2017 ROS 2.0 Ardent Apalone
  135. 135. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS 2.0
  136. 136. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS 2.0
  137. 137. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS 2.0
  138. 138. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS 2.0
  139. 139. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN ROS 2.0
  140. 140. https://hypharosworkshop.wordpress.com/ Copyright © 2017 Hypha ROS Workshop. All rights reserved Lecturer: HaoChih, LIN Q & A Website: https://hypharosworkshop.wordpress.com/ Github: https://github.com/Hypha-ROS/hypha-racecar FB Page: https://www.facebook.com/HyphaROS/ Youku: http://i.youku.com/hypha Gmail: hypha.ros@gmail.com WeChat (ID): HyphaROS

×