guest lecture: Hanno Sander from Hannoware
Hanno Sander
In my pursuit for donations from companies, I got in touch with Hanno Sander from Hannoware. As it happened he was going to be in Orange County to take his kids to the Happiest Place on Earth (I told him those places only dispense to people with a prescription, but it turned out he meant Disneyland, oops). He was about to land at LAX around 11 o'clock on Saturday April 24th, which happened to be our 4th Saturday meeting. About 7 members showed up for the meeting and Hanno made it around 2:30, just like we had anticipated.
By entering the clasroom, Hanno fulfilled his lifelong dream by uttering the following words: "Greetings Earthlings, I have come from the future !". For a moment I thought he did find those dispenseries, but he alluded to the fact that it was Sunday the 25th when his plane took off from New Zealand. Those Kiwi's are funny people.
Hanno got his CS degree at Stanford, worked for Oracle and Yahoo in Silicon Valley, made a lot of money and moved to the land of the Lord of the Rings (honestly, that last I just made up - I have no clue how much he made).
In learning about building robots, he got hooked on the Parallax Propeller microcontroller. This is a multi-core microcontroller specifically targetted towards the hobby robot market. In doing so, he developed a debugger called Viewport, which turned out to be so successful, that he partnered with Parallax, the maker of the Propeller chip, to sell this via their website. He went on to make other products like Propscope, and a programming environment for children called 12blocks.
His first robot was a small balancing robot, called Dancebot, inspired by the Segway. An interesting tidbit is when a balancing robot is moving downward on a slope, it needs to go faster to be able to stop, and slow down in order to go forward. He fitted a camera on the robot and developed software to detect a barcode, which he attached to his belt buckle. The robot is able to detect the proximity of the barcode. When the barcode comes closer, the robot moves backwards, when the barcode goes further away, the robot comes closer. He also made it such that when the robot loses the barcode, it turns around to look for the barcode. These simple rules yield a surprisingly 'intelligent behavior'. The robot ends up dancing together with the person wearing the barcode. When this person turns around, the robot does the same thing.
Parallax Propeller
He then went on to describe the heart of all his root projects: The Parallax Propeller microcontroller.
It actually contains 8 fully independent 32-bit processing units, called cogs. It is an $8 chip housed in a 40 pin DIP package, ideal for home soldering. It holds 32K memory, which can be shared among cogs. There is also a 2K local cache per cog. Each cog runs at 80 MHz. Every instruction takes 4 clock cycles, which makes it easier to predict timing behavior. It has a 32-bit counter capable of PWM, and every cog has 2 of them. It has 32 general purpose IO pins, which can be configured to be digital IO, NTSC or PAL video input AND output, Ethernet and serial interfaces. USB is in the works. Also, there are NO interrupts. These are no longer necessary because you have 8 parallel processors = true multi-processing. Two pins are assigned for A/D.
If you want I2C or SPI, there are library modules available for that. There is an extensive online library of API's called the Object Exchange.
The propeller can be programmed in: Assembly, SPIN, C, Forth, Pascal, Java, ...
Here is a Wikispace site with tons of information about the Propeller.
Parallax sells several development tools:
Propscope
Hanno showed us a usb oscilloscope based on the Propeller chip running his software. It is a 25 Msample high-speed oscilloscope, function generator, logic analyzer and spectrum analyzer.
Here are some video's demonstrating the Propscope software:
Viewport
Hanno's greatest claim-to-fame is the Viewport Debugger, which is now the de-facto standard debugger for Propeller development.
Viewport allows you to monitor variables and debug a program on any cog. In order to be able to debug with Viewport, you need to dedicate one cog to contain the Conduit object, which takes care of the communication between the processor and the Viewport software. It has integrated OpenCV, for processing incoming video. On a side note, Hanno suggested HSV instead of RGB for detcting objects based on color (e.g. orange cones in RoboMagellan).
Please check out his own video's related to Viewport.
12blocks
Hanno had the desire, like any good nerd/dad to put something together to show his kids on how to program a robot. Several noteworthy attempts have been made in the past by MIT's Scratch, LEGO Mindstorm, Logo, KTurtle, ...
He starts off with the paradigm of a jigsaw puzzle and allows kids to piece together program blocks in a hierarchical manner.
TBot
"Hanno is currently teaming up with other robot experts to build an educational robot (based on the Propeller off course) that resembles a Pololu 3Pi, but much more powerful, and ... cheaper. Once production is established, high-volume educational prices are targeted to be well under $100. Ad-ons like Zigbee will probably cost extra. But that is definitely not a bad price. I might buy several ones if it becomes available. As of the time of writing, T-bots are not available yet.
His target audience are school age kids in robot clubs. TBot allows a cheaper alternative for the more expensive LEGO Mindstorm and VEX systems.
The TBot offers some unique features: multiple robots communicate over Zigbee and maintain shared memory. This allows experiments with swarm robotics. Each robot will sport 8 free GPIO pins, a speaker, line sensors, proximity sensors, buttons, dip switches, ir sensor, rgb led, wheel encoders, and a microphone.
Hanno suggested a new computer game where one robot draws a line on the ground and another robot must try to follow the line.
External video's
Here is a video of a presentation Hanno gave at 2009 Google Tech Talks. This lectures covers most of what he presented in our meeting:
Here is another video by Hanno where he presents some of his products:
Here is a video of a presentation he gave at 2010 Google Tech Talks where he covered his 12Blocks software development environment for kids:
THis is a video showing the video capabilities of a Propeller chip:
Here is a video of a Propeller development board.