Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How you can build a robot Dr. Strangelove would approve

Tomas Jukin
September 20, 2019

How you can build a robot Dr. Strangelove would approve

In 2019, nearly every citizen can be a maker! As airships, airplanes and nukes were great inventions of 70’s, applied robotics are the topic you should worry today! Join Thomas, my apprentice, on this wonderful journey of exploration. You will find out what great tools you can use today. How PID controllers, Arduino, Teensy and ROS can be used together to build a robot. You will see which open hardware device should be used as a brain and which one as a heart. You will learn how to let robot sense the world around it and how to let it think! You will explore the possibilities of modern robotics and AI. Remember: The whole point of the doomsday machine is lost...if you keep it a secret!

Slides from my talk which took a place at the WebExpo Prague 2019 conference at 20. 9. 2019.

https://www.webexpo.net/prague2019/talk/how-you-can-build-a-robot-dr-strangelove-would-approve

Tomas Jukin

September 20, 2019
Tweet

More Decks by Tomas Jukin

Other Decks in How-to & DIY

Transcript

  1. Meet my great mentor for today He is a man

    with great mind… …and few…deviations…
  2. Dr. Strangelove! Meet my great mentor for today He is

    a man with great mind… …and few…deviations…
  3. #Probee + Arduino + RaspberryPi + Plastic + Stics &

    Hot Glue + Punk + The „first one“
  4. #Probee + Arduino + RaspberryPi + Plastic + Stics &

    Hot Glue + Punk + The „first one“ - Limited
  5. #Probee + Arduino + RaspberryPi + Plastic + Stics &

    Hot Glue + Punk + The „first one“ - Limited - Basic
  6. #Probee + Arduino + RaspberryPi + Plastic + Stics &

    Hot Glue + Punk + The „first one“ - Limited - Basic - No encoders
  7. #Probee + Arduino + RaspberryPi + Plastic + Stics &

    Hot Glue + Punk + The „first one“ - Limited - Basic - No encoders - Power source problems
  8. #Probee + Arduino + RaspberryPi + Plastic + Stics &

    Hot Glue + Punk + The „first one“ - Limited - Basic - No encoders - Power source problems I will fix them in future ;)
  9. Hardware Abstration Layer Artificial Intelligence Hardware Hardware Control Low-Level
 Control

    High-Level
 Control AI Hardware Firmware Software What forms a Robot?
  10. Sensors PID Power Actuators Hardware Hardware Control Low-Level
 Control High-Level


    Control AI Hardware Firmware Software What forms a Robot?
  11. Sensors PID Power HAL Actuators Hardware Hardware Control Low-Level
 Control

    High-Level
 Control AI Hardware Firmware Software What forms a Robot?
  12. Sensors PID Commands Processing Power HAL Actuators Hardware Hardware Control

    Low-Level
 Control High-Level
 Control AI Hardware Firmware Software What forms a Robot?
  13. Sensors PID Commands Processing Power HAL Communication Actuators Hardware Hardware

    Control Low-Level
 Control High-Level
 Control AI Hardware Firmware Software What forms a Robot?
  14. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators

    Hardware Hardware Control Low-Level
 Control High-Level
 Control AI Hardware Firmware Software What forms a Robot?
  15. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators

    Hardware Hardware Control Low-Level
 Control High-Level
 Control AI Voice Recognition Hardware Firmware Software What forms a Robot?
  16. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators

    Hardware Hardware Control Low-Level
 Control High-Level
 Control AI Neural Networks Voice Recognition Hardware Firmware Software What forms a Robot?
  17. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators

    Hardware Hardware Control Low-Level
 Control High-Level
 Control AI Vision Processing Neural Networks Voice Recognition Hardware Firmware Software What forms a Robot?
  18. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Simultaneous

    localization and mapping Actuators Hardware Hardware Control Low-Level
 Control High-Level
 Control AI Vision Processing Neural Networks Voice Recognition Hardware Firmware Software What forms a Robot?
  19. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators

    Vision Processing Neural Networks Voice Recognition What forms a Robot?
  20. Microcomputer Sensors PID Commands Processing Planning, SLAM Power HAL Communication

    Actuators Vision Processing Neural Networks Voice Recognition What forms a Robot? }
  21. Microcomputer Bluetooth, Wi-Fi Sensors PID Commands Processing Planning, SLAM Power

    HAL Communication Actuators Vision Processing Neural Networks Voice Recognition What forms a Robot? } }
  22. Microcomputer Microcontroller Bluetooth, Wi-Fi Sensors PID Commands Processing Planning, SLAM

    Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition What forms a Robot? } } }
  23. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition What forms a Robot? } } } }
  24. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition What forms a Robot? } } } } } } } }
  25. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 What forms a Robot? } } } } } } } }
  26. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano What forms a Robot? } } } } } } } }
  27. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 What forms a Robot? } } } } } } } }
  28. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard What forms a Robot? } } } } } } } }
  29. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard Olinuxino What forms a Robot? } } } } } } } }
  30. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard Olinuxino HC-05 What forms a Robot? } } } } } } } }
  31. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard Olinuxino HC-05 What forms a Robot? Mikrotik } } } } } } } }
  32. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard Olinuxino HC-05 Teensy What forms a Robot? Mikrotik } } } } } } } }
  33. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard Olinuxino HC-05 Teensy Roboclaw What forms a Robot? Mikrotik } } } } } } } }
  34. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard Olinuxino HC-05 Teensy Roboclaw Battery, Regulators What forms a Robot? Mikrotik } } } } } } } }
  35. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard Olinuxino HC-05 Teensy Roboclaw Battery, Regulators Encoders, Range Finders What forms a Robot? Mikrotik } } } } } } } }
  36. Microcomputer Microcontroller Hardware Bluetooth, Wi-Fi Sensors PID Commands Processing Planning,

    SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 ASUS TinkerBoard Olinuxino HC-05 Teensy Roboclaw Battery, Regulators Encoders, Range Finders Motors, Servo What forms a Robot? Mikrotik } } } } } } } }
  37. Olinuxino HC-05 Teensy Roboclaw Encoders, Range Finders Motors, Servo Mikrotik

    ASUS TinkerBoard Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Nvidia Jetson Nano ReSpeaker Core v2 Pixy 2, OpenMV Cam M7 Battery, Regulators Microcomputer Microcontroller Hardware What forms a Robot?
  38. Olinuxino HC-05 Teensy Roboclaw Encoders, Range Finders Motors, Servo Mikrotik

    ASUS TinkerBoard Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Nvidia Jetson Nano ReSpeaker Core v2 Pixy 2, OpenMV Cam M7 Battery, Regulators Microcomputer Microcontroller Hardware What forms a Robot?
  39. https://www.pjrc.com/store/teensy35.html https://www.pololu.com/product/3285 https://arduino-shop.cz/arduino/1005- arduino-bluetooth-modul-hc-05.html https://www.olimex.com/Products/OLinuXino/A20/ A20-OLinuXino-LIME2/open-source-hardware https://www.asus.com/cz/Single-Board- Computer/Tinker-Board/ https://www.seeedstudio.com/ReSpeaker- Core-v2-0.html

    https://developer.nvidia.com/embedded/ jetson-nano-developer-kit https://openmv.io/products/openmv-cam-m7 https://pixycam.com/pixy2/ What forms a Robot? Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 Olinuxino HC-05 Teensy Roboclaw Battery, Regulators Encoders, Range Finders Motors, Servo Mikrotik ASUS TinkerBoard Microcomputer Microcontroller Hardware https://mikrotik.com/product/RB941-2nD
  40. https://www.pjrc.com/store/teensy35.html https://www.pololu.com/product/3285 https://arduino-shop.cz/arduino/1005- arduino-bluetooth-modul-hc-05.html https://www.olimex.com/Products/OLinuXino/A20/ A20-OLinuXino-LIME2/open-source-hardware https://www.asus.com/cz/Single-Board- Computer/Tinker-Board/ https://www.seeedstudio.com/ReSpeaker- Core-v2-0.html

    https://developer.nvidia.com/embedded/ jetson-nano-developer-kit https://openmv.io/products/openmv-cam-m7 https://pixycam.com/pixy2/ What forms a Robot? Pixy 2, OpenMV Cam M7 Nvidia Jetson Nano ReSpeaker Core v2 Olinuxino HC-05 Teensy Roboclaw Battery, Regulators Encoders, Range Finders Motors, Servo Mikrotik ASUS TinkerBoard Microcomputer Microcontroller Hardware https://mikrotik.com/product/RB941-2nD
  41. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators

    Vision Processing Neural Networks Voice Recognition What are the creations steps? Microcomputer Microcontroller Hardware
  42. 1. Sensors PID Commands Processing Planning, SLAM Power HAL Communication

    Actuators Vision Processing Neural Networks Voice Recognition What are the creations steps? Microcomputer Microcontroller Hardware
  43. 1. 2. Sensors PID Commands Processing Planning, SLAM Power HAL

    Communication Actuators Vision Processing Neural Networks Voice Recognition What are the creations steps? Microcomputer Microcontroller Hardware
  44. 1. 2. 3. Sensors PID Commands Processing Planning, SLAM Power

    HAL Communication Actuators Vision Processing Neural Networks Voice Recognition What are the creations steps? Microcomputer Microcontroller Hardware
  45. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators

    Vision Processing Neural Networks Voice Recognition 1. 2. 3. What are the creations steps? Microcomputer Microcontroller Hardware
  46. Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators

    Vision Processing Neural Networks Voice Recognition 1. 2. 3. What are the creations steps? Microcomputer Microcontroller Hardware
  47. What languages does a Robot speak? Sensors PID Commands Processing

    Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  48. What languages does a Robot speak? Python Sensors PID Commands

    Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  49. What languages does a Robot speak? Tensor Flow Python Sensors

    PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  50. What languages does a Robot speak? Tensor Flow Python bash,

    Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  51. What languages does a Robot speak? bash, ROS + Ruby

    Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  52. What languages does a Robot speak? AT Commands bash, ROS

    + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  53. What languages does a Robot speak? C/C++ AT Commands bash,

    ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  54. What languages does a Robot speak? Binary Protocol Over UART

    C/C++ AT Commands bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  55. What languages does a Robot speak? Binary Protocol Over UART

    C/C++ AT Commands bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  56. Binary Protocol Over UART C/C++ AT Commands bash, ROS +

    Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware What languages does a Robot speak?
  57. Pain Levels Binary Protocol Over UART C/C++ AT Commands bash,

    ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  58. Pain Levels Binary Protocol Over UART C/C++ AT Commands bash,

    ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  59. Pain Levels Binary Protocol Over UART C/C++ AT Commands bash,

    ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  60. Pain Levels Binary Protocol Over UART C/C++ AT Commands bash,

    ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  61. Pain Levels , Binary Protocol Over UART C/C++ AT Commands

    bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  62. Pain Levels , Binary Protocol Over UART C/C++ AT Commands

    bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  63. Pain Levels , , Binary Protocol Over UART C/C++ AT

    Commands bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  64. Pain Levels , , Binary Protocol Over UART C/C++ AT

    Commands bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  65. Pain Levels , , Binary Protocol Over UART C/C++ AT

    Commands bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  66. Pain Levels , , Binary Protocol Over UART C/C++ AT

    Commands bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  67. Pain Levels , , Binary Protocol Over UART C/C++ AT

    Commands bash, ROS + Ruby Tensor Flow Python bash, Ruby Sensors PID Commands Processing Planning, SLAM Power HAL Communication Actuators Vision Processing Neural Networks Voice Recognition Microcomputer Microcontroller Hardware
  68. Value (%) -100 -50 0 50 Time (ms) 0 10

    20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Set Point Value (%) 25 50 75 100 Measurement Value (%) 0 25 50 75 100 Time (ms) 0 20 40 60 80 100 120 140 160 180 200 PID Value (%) 0 25 50 75 100 Time (ms) 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Measurement (%) Value (%) 0 25 50 75 100 Time (ms) 0 10 20 30 40 50 60 70 80 90 100110120 130140150 160170180 190200 Error 100 -50 0 50 100 Time (ms) 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Measurement Value (%) 0 25 50 75 100 Time (ms) 0 10 20 30 40 50 60 70 80 90 100110 120130140 150160170 180190200 PID Control Loops!
  69. Value (%) -100 -50 0 50 Time (ms) 0 10

    20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Set Point Value (%) 25 50 75 100 Measurement Value (%) 0 25 50 75 100 Time (ms) 0 20 40 60 80 100 120 140 160 180 200 PID Value (%) 0 25 50 75 100 Time (ms) 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Measurement (%) Value (%) 0 25 50 75 100 Time (ms) 0 10 20 30 40 50 60 70 80 90 100110120 130140150 160170180 190200 Error 100 -50 0 50 100 Time (ms) 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Measurement Value (%) 0 25 50 75 100 Time (ms) 0 10 20 30 40 50 60 70 80 90 100110 120130140 150160170 180190200 PID Control Loops!
  70. reality goal error What is PID? 23°C 30°C +7°C Heater

    ON! adjustment - = Defines Changes
  71. What is PID? Proportional Integral Derivative based on error distance

    based on error change rate „present“ „future“ „past“
  72. What is PID? Proportional Integral Derivative based on error distance

    based on error accumulation based on error change rate „present“ „future“ „past“
  73. What is PID? Proportional Integral Derivative based on error distance

    based on error accumulation based on error change rate „present“ „future“ „past“
  74. What is PID? Proportional Integral Derivative based on error distance

    based on error accumulation based on error change rate „present“ „future“ „past“ Wants to adjust error ASAP
  75. What is PID? Proportional Integral Derivative based on error distance

    based on error accumulation based on error change rate „present“ „future“ „past“ Wants to adjust error ASAP Prevents too big changes
  76. What is PID? Proportional Integral Derivative based on error distance

    based on error accumulation based on error change rate „present“ „future“ „past“ Wants to adjust error ASAP Wants to finish precisely over time Prevents too big changes
  77. But there is MORE! The „software“ part Neural Networks ROS

    odometry voice recognition vision processing SLAM planning remote AI movement