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.
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Robotic Exploration and Mapping with ...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Table of Contents
1 Introduction to L...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
What is SLAM?
Our robots
Introduction...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
What is SLAM?
Our robots
What is SLAM...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
What is SLAM?
Our robots
Robots in ou...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
What is SLAM?
Our robots
Johann Dicht...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
ROS
PhaROS
ROS & PhaROS
Johann Dichtl...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
ROS
PhaROS
ROS & PhaROS
What is the R...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
ROS
PhaROS
ROS & PhaROS
Example archi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
ROS
PhaROS
ROS & PhaROS
Inter–node co...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
ROS
PhaROS
ROS & PhaROS
Two systems w...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
ROS
PhaROS
ROS & PhaROS
PhaROS allows...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Working in robotics
Limitations
Testi...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Conclusion
Future work
Conclusion
Joh...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Conclusion
Future work
Conclusion
rob...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Conclusion
Future work
Future work
au...
Introduction to Localization and Mapping
ROS & PhaROS
Developing in Pharo
Conclusion
Conclusion
Future work
Thanks for lis...
Upcoming SlideShare
Loading in …5
×

Robotic Exploration and Mapping with Pharo

333 views

Published on

Talk from Pharodays 2017.
Video: https://www.youtube.com/watch?v=Y3XU1rv5flU

Published in: Software
  • Video: https://www.youtube.com/watch?v=Y3XU1rv5flU
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Robotic Exploration and Mapping with Pharo

  1. 1. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Robotic Exploration and Mapping with Pharo Johann Dichtl, Luc Fabresse, and Noury Bouraqadi IMT Lille – Douai, France Mai 18, 2017
  2. 2. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Table of Contents 1 Introduction to Localization and Mapping 2 ROS & PhaROS 3 Developing in Pharo 4 Conclusion Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 2/31
  3. 3. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion What is SLAM? Our robots Introduction to Localization and Mapping Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 3/31
  4. 4. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion What is SLAM? Our robots What is SLAM? Simultaneous Localization And Mapping (SLAM) A chicken–and–egg problem: to locate ourself, we need a map to create/update a map, we need to know our location Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 4/31
  5. 5. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion What is SLAM? Our robots Robots in our lab: Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 5/31
  6. 6. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion What is SLAM? Our robots Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 6/31
  7. 7. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion ROS PhaROS ROS & PhaROS Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 7/31
  8. 8. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion ROS PhaROS ROS & PhaROS What is the Robot Operation System (ROS)? ROS is: the de-facto standard middleware used in robotics written in C++ and Python provides an architecture with a central control structure has a modular design, build on nodes organizes data flow via topics supports distribute systems Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 8/31
  9. 9. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion ROS PhaROS ROS & PhaROS Example architecture of a ROS system Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 9/31
  10. 10. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion ROS PhaROS ROS & PhaROS Inter–node communication Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 10/31
  11. 11. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion ROS PhaROS ROS & PhaROS Two systems with one common master Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 11/31
  12. 12. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion ROS PhaROS ROS & PhaROS PhaROS allows us to use Pharo within the ROS framework to: create nodes (written in Pharo) use topics to transmit and receive data Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 12/31
  13. 13. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 13/31
  14. 14. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo Our setup: Pharo 5 (+latest PhaROS) Linux (Ubuntu 16.04 LTS) ROS kinetic Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 14/31
  15. 15. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo What is different when working in robotics? working with hardware (robots) and simulations heterogenous systems distributed systems Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 15/31
  16. 16. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo Limitations in Pharo and how to deal with them multithreading support linear algebra / matrices no 32bit floats Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 16/31
  17. 17. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo Multithreading support Pharo supports multiple threads, but only uses a single CPU core. split the node into multiple smaller nodes, running each node in its own image communication between nodes requires (de-)serialization of objects Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 17/31
  18. 18. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo Linear algebra & matrices Only basic support for linear algebra. DhbMatrix as basis extensions by us, for example to compute eigen vectors & values Geometry utility classes in PhaROS Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 18/31
  19. 19. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo Testing visual debugging also test on real robots Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 19/31
  20. 20. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo Visual debugging Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 20/31
  21. 21. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Developing in Pharo Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 21/31
  22. 22. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Bugs Bugs in Pharo Athens: random freezes Rectangle #center message Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 22/31
  23. 23. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Rectangle bug Rectangle #center message Code example: rect := Rectangle o r i g i n : 0.2@0.2 corner : 0.8@0. 8 . center := rect center . rect containsPoint : center . ” false ” Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 23/31
  24. 24. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Rectangle bug What happened? #center answers with the coordinates floored to the next integer. In our example the result is 0@0, which is indeed outside of the rectangle. Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 24/31
  25. 25. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Rectangle bug How to fix it? First try: fix the #center message. Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 25/31
  26. 26. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Rectangle bug Result: broke some GUI code with the bugfix Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 26/31
  27. 27. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Working in robotics Limitations Testing Bugs Rectangle bug Second try: derive new class from Rectangle and fix there Result: works, but requires some refactoring in our code Tracker link: https://pharo.fogbugz.com/f/cases/20015 Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 27/31
  28. 28. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Conclusion Future work Conclusion Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 28/31
  29. 29. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Conclusion Future work Conclusion robotics with Pharo is quite doable performance can be limiting in pharo Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 29/31
  30. 30. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Conclusion Future work Future work automated tests with the full setup working with multiple robots at once Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 30/31
  31. 31. Introduction to Localization and Mapping ROS & PhaROS Developing in Pharo Conclusion Conclusion Future work Thanks for listening! Any questions? Johann Dichtl, Luc Fabresse, and Noury Bouraqadi Robotic Exploration and Mapping with Pharo 31/31

×