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

Free Software to Develop Free Robotics

Free Software to Develop Free Robotics

A twenty-minute talk about free hardware and a demo involving Ubuntu, ROS, an Arduino board and an Android smartphone.

Gonzalo Bulnes Guilpain

April 19, 2012
Tweet

More Decks by Gonzalo Bulnes Guilpain

Other Decks in Programming

Transcript

  1. Free Software to Develop Free Robotics A free (as in

    free speech) development stack with Ubuntu, ROS and Arduino Gonzalo Bulnes Guilpain 4th Meetup Robots Chile April, 2012
  2. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Free Software Licenses Definitions Interesting Effects and Side-effects Free Hardware ROS and Arduino Free Dev Stack A Carrot and Development Stack How Our Example Works Learning and Getting Help Gonzalo Bulnes Guilpain Free Robotics 2 de 21
  3. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware Free Software Licenses Definitions Interesting Effects and Side-effects Free Hardware ROS and Arduino Free Dev Stack A Carrot and Development Stack How Our Example Works Learning and Getting Help Gonzalo Bulnes Guilpain Free Robotics 3 de 21
  4. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware What Free Software Licenses Are Free Software Users have four essential freedoms: Freedom 0 Run the program, for any purpose. Freedom 1 Study how the program works, and change it as they wish. Freedom 2 Redistribute copies. Freedom 2 Distribute copies of their modified versions to others. Who? Google, Microsoft, Red Hat, Canonical, Nokia, Willow Garage. . . Gonzalo Bulnes Guilpain Free Robotics 4 de 21
  5. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware How Free Software Licenses Work Relying on copyright international rules Restricting the software/hardware distributon If you won’t modify it, use it as you want. (libraries, others) You are allowed to modify it. . . Provided you respect some conditions. These conditions protect your 4 essential freedoms. Keep the copyright notices, add your own Follow the license terms Gonzalo Bulnes Guilpain Free Robotics 5 de 21
  6. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware How Free Software Licenses Work Relying on copyright international rules Restricting the software/hardware distributon If you won’t modify it, use it as you want. (libraries, others) You are allowed to modify it. . . Provided you respect some conditions. These conditions protect your 4 essential freedoms. Keep the copyright notices, add your own Follow the license terms GNU GPL, CC BY-SA, New BSD License, GNU FDL. . . Gonzalo Bulnes Guilpain Free Robotics 5 de 21
  7. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware Effects For Authors Acknowlement for their work (community) Protection (publicly available copyrighted code can’t be stolen) Consequences Developers do no longer sell their code, instead they sell their hability to write new code. High quality libraries available (Qt, ROS) Cooperation, incremental work, and innovation get boosted. Gonzalo Bulnes Guilpain Free Robotics 6 de 21
  8. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware Side-effects Products Perceived Value Evolution 1. Cool products 2. Agility: Products which match now the needs of their users 3. Value-driven development: develop only what users really value Company Value Embracing change thanks to creative people Intrinsic motivation [3] Video: Tom Preston Werner at StarTechConf 2011 http://continuum.cl/videos/32646756 Gonzalo Bulnes Guilpain Free Robotics 7 de 21
  9. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware One Word about Sustainability c If you don’t make money from your work, you won’t be able to commit it back to the upstream developers. d Make money the way you feel confortable with, but try to do it. Gonzalo Bulnes Guilpain Free Robotics 8 de 21
  10. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware FLOSH Proposals The same principles are now being applied to hardware. Gonzalo Bulnes Guilpain Free Robotics 9 de 21
  11. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Definitions Interesting Effects and Side-effects Free Hardware Free robotics standards are being defined now, it’s a very great moment to contribute. Be creative, share and ship your ideas! c The ones that win are the ones that ship. d — Mark Pilgrim [2] Gonzalo Bulnes Guilpain Free Robotics 10 de 21
  12. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help Free Software Licenses Definitions Interesting Effects and Side-effects Free Hardware ROS and Arduino Free Dev Stack A Carrot and Development Stack How Our Example Works Learning and Getting Help Gonzalo Bulnes Guilpain Free Robotics 11 de 21
  13. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help Aims This How-to Aim Install a complete enough free development stack to enjoy a great ”FedEx day” with ROS. The Carrot: System Overview Gonzalo Bulnes Guilpain Free Robotics 12 de 21
  14. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help Aims This How-to Aim Install a complete enough free development stack to enjoy a great ”FedEx day” with ROS. The Carrot: System Overview Gonzalo Bulnes Guilpain Free Robotics 12 de 21
  15. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help Aims This How-to Aim Install a complete enough free development stack to enjoy a great ”FedEx day” with ROS. The Carrot: System Overview ROS Gonzalo Bulnes Guilpain Free Robotics 12 de 21
  16. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help How to Install the Development Stack Ubuntu http://www.ubuntu.com/download Instructions are given on the official website for several configurations. Arduino IDE Direct install from Ubuntu: $ sudo apt-get install arduino ROS Follow instructions from the ROS Wiki to install the ros-electric-desktop-full Ubuntu package Gonzalo Bulnes Guilpain Free Robotics 13 de 21
  17. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Nodes and Communications android_sensors_driver master arduino android_sensors_driver_to_arduino Gonzalo Bulnes Guilpain Free Robotics 14 de 21
  18. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Nodes and Communications android_sensors_driver master arduino android_sensors_driver_to_arduino Gonzalo Bulnes Guilpain Free Robotics 14 de 21
  19. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Nodes and Communications android_sensors_driver master arduino android_sensors_driver_to_arduino Gonzalo Bulnes Guilpain Free Robotics 14 de 21
  20. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Nodes and Communications android_sensors_driver master arduino android_sensors_driver_to_arduino Serial via USB /dev/ttyUSB0 192.168.42.103 WiFi Mobile Access Point Gonzalo Bulnes Guilpain Free Robotics 14 de 21
  21. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  22. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  23. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  24. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  25. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  26. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  27. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu /toggle_led Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  28. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu /toggle_led Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  29. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu /toggle_led Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  30. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Messages and Action master /android/imu /toggle_led arduino android_sensors_driver android_sensors_driver_to_arduino /android/imu /toggle_led Gonzalo Bulnes Guilpain Free Robotics 15 de 21
  31. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help ROS Tutorials ROS Tutorials are very well organized First: the code Straightforward usage description The code can often be used as-is Then: the code explained Detailled description of the code functionality A great place to learn! Gonzalo Bulnes Guilpain Free Robotics 16 de 21
  32. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    A Carrot and Development Stack How Our Example Works Learning and Getting Help Our Example Tutorials Master: just read the Getting Started tutorials Arduino: rosserial arduino (ROS library) wiki/rosserial arduino/Tutorials Android: arduino sensors driver (ROS library) wiki/android sensors driver/Tutorials Android to Arduino: Subscriber and publisher (Python) See arduino sensors driver tutorials. Gonzalo Bulnes Guilpain Free Robotics 17 de 21
  33. Free Software Licenses ROS and Arduino Free Dev Stack Conclusion

    Conclusion Free software is here, free hardware is rising. Free robotics tools are state-of-the-art and often cheap tools. You can use them while working with modern working methods. You can learn robotics using them. If you’re entrepreneur, you can grow using free software and hardware while taking into account your developers’ intrinsic motivation. Gonzalo Bulnes Guilpain Free Robotics 18 de 21
  34. Further Reading References This Document is Free Thanks References M.

    Pilgrim. Dive into Python. Apress, 2004. M. Pilgrim. HTML5: Up and Running. O’Reilly Series. O’Reilly Media, 2010. D.H. Pink. Drive: The Surprising Truth about What Motivates Us. Penguin Group USA, 2011. Gonzalo Bulnes Guilpain Free Robotics 19 de 21
  35. Further Reading References This Document is Free Thanks This Document

    is Free This document (also in Spanish), its sources, and the Beamer theme Santiago can all be found at: https://github.com/gonzalo-bulnes Unless where otherwise noted: Copyright c 2012–2013 Gonzalo Bulnes Guilpain Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html. Gonzalo Bulnes Guilpain Free Robotics 20 de 21
  36. Further Reading References This Document is Free Thanks Thank you

    for paying attention. Gonzalo Bulnes Guilpain Free Robotics 21 de 21