CodeChat 013 - Nox Wilairat (Being an Indie Game Dev)

My guest this week on Channel 9, Frank Krueger, isn't just using the Xamarin Robotics library for controlling his little homemade robot, he's writing it! Just days off of an ascent of Kilimanjaro, Frank gets back to real life and gives us a formal introduction to this slick little critter and tells all about the hardware and software he used to make it go. It's the same hardware and software that you can use on your own project. Let's go.
[01:16] Introducing the robot!
[02:05] Hardware overview
[02:12] Do you know anything about a Netduino?
[03:21] Sensors
[04:25] Is this the Internet of Things?
[05:43] Just got off Kilimanjaro
[09:13] How about the software?
[09:39] More about the Xamarin Robotics library
[11:53] What do you use for your reactive stuff?
[13:52] Xamarin Robotics is a block-based data flow library
[19:13] What are the generators used for?
[20:11] The problem with imperative
[22:39] This is a cross-platform library, right?
[28:03] Have you gotten into using 3D printers for parts?
Do these blocks separate the device protocol from the physical pins the electronics is connected to?
Say you have your H-bridge motor controller that accepts certain control codes to make it do stuff. That logic needs to be separate from how you have it connected to the netduino - that should be a separate knowledge. I may multiplex the IO to the motor controller and should need only to override/re-implement that IO logic.
PS: I am a .NET programmer by day but only have experience with the arduino ;-)
Yes, the blocks are completely virtual. Some tie into hardware, and those are in a device-specific namespace and often implement interfaces to keep your algorithms decoupled from exact hardware.
Please check out the project! https://github.com/xamarin/Monkey.Robotics