16. December 2007 09:21
Heathkit was an awesome company that supplied electronic kits for educational purposes back in the 80's and 90's. Their products where a bit on the pricey side but where else could you get a TV in kit form that you had to build. I bought an Oscilloscope from them and put it all together in several weekends. I also had a single board computer that was sold by Heathkit that I did not actually build but I used it for teaching myself how to program using machine(Assembly) language.
Well Heathkit is back in action and one of the best products they offered is also back. The Hero Robot of the 80's is now called HE-RObot. Back in the 80's you could get this robot in kit form or fully assembled. I was never able to purchase one but I worked for a company repairing electronic equipment and the owner's son ended up getting one. It was one of the coolest things I saw and it probably was one of the reasons I became so interested in robotics in the first place. I don't remember all the specifics of the original robot but from what I remember it had sonar ranging, optical wheel encoders, light sensors, current sensors, and sound sensors.
Well the new Hero is a partnership between White Box Robotics and Heathkit. The new HE-RObot comes with an onboard PC with an XP operating system and Microsoft Robotics Studio as the programming environment. Finally a product is in the market place that combines both of my passion's: Robotics and Microsoft .Net. This is a very powerful robot but I do not see too many details on what sensors will be offered. On the web site it looks like it will include IR, Web Camera, and Audio. I sure would like to see a few more details on what other capabilities it will have as far as sensors go.
The web camera is going to be real powerful as a sensor. I was fortunate enough to evaluate an ER1 robot from Evolution Robotics. I wrote an article about this experience called 30 Days of ER1 back in 2003. The live video pattern recognition routines put a whole new meaning to navigating your environment. I am pretty sure White Box Robotics has licensed the software that handled pattern recognition from Evolution Robotics so the HE-RObot will have the same capabilities.
22. June 2006 00:49
I just completed the MyTutorial1 and MyTutorial2 tutorials for the Microsoft Robotics Studio. I used the Lego RSX 2.0 hardware for the tutorials. I noticed a couple things that stumbled me for a short time.
When you launch the tutorials from the visual studio IDE the services never seem to communicate with the RSX. I was able to get the service to work using the DSSHOST executable passing in the manifest file. So I looked at the parameters that the IDE is passing to the DSHOST when you debug and it was using the contract command line option instead of the manifest option. So I changed it to use the manifest and the service ran fine.
So change the command line debug argument -contract from:
-manifest:"C:\Microsoft Robotics Studio (June 2006)\samples\
And you should be able to launch the service from the IDE
On tutorial number two there is no step to add in the legorcxmotor service to the manifest, so the service never gets started correctly when you run the application from the IDE. So add the following to the MyTutorial2.manifest.xml file:
Overall I found the two tutorials informative. I at least got my feet wet with using the framework. I might try a few more tutorials before I attempt to write a driver for the BX24.
20. June 2006 10:25
Wow, did you know that Microsoft has a robotics group? I just noticed that they released a Microsoft Robotics Studio. I am downloading this technical preview now to check it out. This to me is a huge leap for the robotics industry. Putting the power of Microsoft development tools to build robotic applications is a win win solution. I finally can merge my two passions of software development with Microsoft technologies and building robots! I am very excited about this project. Make sure you check out the Channel 9 video about the group. Keep an eye open for your favorite robot somewhere in the background of the video.
Some projects the group is working on.
Key features of the platform
- Concurrency and Coordination Runtime (CCR) - An asynchronous messaging library that makes managing state changes easy to the developer.
- Robotic remote control via a web browser
- Scripting robotic commands via jscript to create complex robot movements
- Multiple hardware platforms. Currently supporting Lego Mindstorms (RSX and NXT) and fischertechnik.
- Support for 8, 16 and 32 bit processors
- Separating state from behavior
- DSS - A services layer
- Support for service contract programming where multiple input or output devices can be used by simply altering what device is bound to the contract. Example: A contract could be established that controls the robots movement. A keyboard device could be bound to the contract to provide the input that moves the robot. Or a joystick device could be bound to the contract to provide the input to move the robot. The point here is that support is in place for a pluggable architecture or re-usable components.
- Subscribe publish model that allows for a lot of autonomous agents to react to state changes. This promotes a decoupled environment. You can create a published event like bumper touched and later build a component that subscribes to that event and reacts to it. There can be multiple subscribers to the event.
- Model simulation - You can model your environment and run your software without any hardware.
- Since the applications are service based you could distribute services across multiple machines.
- Example if I create a service that monitors my door bell and expose the service to the public you could subscribe to my service and perform some action when my door bell is rung.
Well I could go on and on about this new platform but I want to get started on using it. I will first go through the tutorials to gain an understanding of how it works. Luckly I have a Lego Mindstorms RSX kit. After the tutorials are complete I will try extending the services to support a BX24 bassed hardware device.