This talk will go over the history of educational robotics through the lens of platforms built around LEGO Mindstorms, the additions Apple has added to control robot platforms with Swift Playgrounds as of 2017, and the implications to the fields of both educational robotics and rapid prototyping of mobile robots. This talk was originally given at try! Swift Bangalore 2017.
1. Swiftly Coding Robots
Or a journey through the history of educational
robotics and rapid prototyping of mobile robots
Kamilah Taylor, try! Swift Bangalore 2017, @kamilah
5. Swiftly Coding Robots
LEGO Mindstorms Programming Environments
For education
For rapid prototyping
Robotics Programming Platforms
Swift Playgrounds + Robots
@kamilah, try! Swift
6. LEGO Mindstorms RIS
(Robotics Invention Set)
Seymour Papert, a hero
Gave us LOGO and
LEGO Mindstorms
MIT’s Media Lab and
LEGO - an experiment in
constructive learning
@kamilah, try! Swift
7. LEGO Mindstorms RIS
(Robotics Invention Set)
An early version of the
programmable LEGO
brick
It is in essence the same
as the version we have
today
@kamilah, try! Swift
11. My second robot
A robot that could react
to colors in the
environment using a
webcam - completely
programmed in this drag
and drop language
@kamilah, try! Swift
12. NQC and NXC
The start of non visual
languages for LEGO
Mindstorms
NQC = Not Quite C
NXC = Not eXactly C
@kamilah, try! Swift
18. Emergence of multi robot
platforms
Willow Garage’s ROS (Robot Operating System)
Supported multiple robots (including Mindstorms!)
Supported “real” languages like C++ and Python
Microsoft Robotics Developer Studio
@kamilah, try! Swift
20. Mathematica + Robots
Similar end goal - a layer of hardware abstraction
Mathematica also has built in tools like image
processing
You could do clever visualization of sensor data
@kamilah, try! Swift
21. iBug in Mathematica
Robots, LEGO and Mathematica: https://www.youtube.com/watch?v=wWkT7_mnISI
@kamilah, try! Swift
23. Swift Playgrounds + Robots
Supports multiple platforms
LEGO Mindstorms EV3, Sphero, Parrot’s drones,
UBTECH’s Jimu Robot MeeBot Kit, Dash by Wonder
Workshop, Skoog
Some amount of a layer of hardware abstraction
Visualization of what the sensors are seeing
@kamilah, try! Swift
30. Playgrounds as a robotics
programming environment
The visualization of motor and sensor data is superb
The templates for the Mindstorms specific methods are
useful but also kind of annoying
Slightly irritating that you’re limited to the iPad and that
it’s in this storybook format instead of a normal
playgrounds format
@kamilah, try! Swift
31. Key takeaways of
programming robots in Swift
This is the most modern language I’ve ever
programmed a robot with
Easier to understand than NXC and NQC, so a
superior introductory language
When you get your intro to programming with Swift as
your language, you now know one of top programming
languages
@kamilah, try! Swift
32. – Me
If robots are going to take over, at least program
them in a language that doesn’t make your eyes
bleed.
@kamilah, try! Swift