Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Ruby has never been at the forefront of dealing with robots, IoT, or other low level systems. What Ruby is great at is scripting and building DSLs. Using mruby we can leverage existing ecosystems while still using the language we love. In this talk, we'll deep dive into how we can execute mruby handlers inside a Go event reactor to control a Sphero R2-D2. With surprisingly few lines of code, you can coordinate motors, lights, and sound concurrently. Come learn about mruby & robotics and see the Droids™ you're looking for in action. RubyKaigi 2018 https://rubykaigi.org/2018/presentations/hone02
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled 'Controlling Droids™ with mruby & Go' presented at RubyKaigi 2018 by Terence Lee and Chase McCarthy, the focus is on utilizing the Ruby programming language, specifically mruby, in conjunction with Go to control robotic devices, particularly Sphero's R2-D2 droid. The speakers discuss the challenges they faced while integrating Ruby with robotics, a domain not typically associated with Ruby. They elaborate on how they used mruby to enhance Ruby's capabilities for real-time robot control through Go's event-driven model. ### Key Points: - **Introduction of the Speakers**: Chase McCarthy and Terence Lee introduce themselves and their backgrounds, highlighting their passion for robotics and Ruby programming. - **Interest in R2-D2**: The interest sparked by Sphero's announcement of the R2-D2 droid leads them to explore programming it using Ruby. - **Challenges with BLE**: The presenters discuss limitations in existing Ruby libraries concerning Bluetooth Low Energy (BLE), which is essential for controlling modern droids. - **Discovery of Gobot**: They found Gobot, a Go framework that facilitated BLE communications, which allowed control over robots like BB-8. - **API Investigation**: They outline their efforts to understand the APIs available for Sphero droids and the challenges they faced due to the lack of published specifications. - **Bluetooth Tools**: Several attempts to identify services and commands using tools like BlueZ and gatttool are discussed, as well as issues encountered with connectivity. - **Innovative Solutions**: The use of Android phones for Bluetooth traffic debugging is highlighted as a novel method to gather necessary command information. - **Integration of mruby and Go**: The presentation details how mruby was embedded in Go to allow Ruby scripts to orchestrate robot functionalities and manage concurrent tasks efficiently. - **Live Demonstration**: A demonstration is provided showing the R2-D2 droid controlled through a simple Ruby script, illustrating how commands are sent and executed. - **Conclusion and Repository Access**: They conclude by emphasizing the potential for using Ruby alongside Go to control robotic systems effectively and offer access to their project via a GitHub repository. ### Main Takeaways: - Mixing mruby with Go creates a powerful framework for controlling robotics using familiar Ruby syntax, opening possibilities for developers. - The project showcases innovative approaches to overcoming typical hurdles in integrating Ruby with hardware control, leveraging Go’s strengths while enabling high-level scripting capabilities. - The speakers encourage the audience to explore their source code and ideas for future developments in robot programming using Ruby.
Suggest modifications
Cancel