Wednesday, 27 October 2010
Fun Fun Fun with Robotics
It took me a while to build it manually, and the VPL program was larger than most other examples.
It was all worth the effort. Why? There are a lot of reasons for a software engineer to be happy with this.
- First, not a single line of code has been written!! All the instructions are using the VPL that comes with the mindstorms studio. Yes, it does compile and all that stuff but, hey I did not have to type in the code. I was dragging 'logic blocks' to get the job done.
- Second, with this a software engineer can imagine something and he has to imagine not only the logic but, also dream something that is mechanically feasible.
- Third, you have to build it mechanically!!. Finally, something tangible compared to the programs and processes.
The walking mechanism is here in this video
http://www.youtube.com/watch?v=s9h9i2o8YnU
The touch sensors usage is very very impressive so is the technique used to walk. Stuff written on the package is true. 'Only three motors, 2 touch sensors, ultra sonic sensor, color sensor but a lot of possibilities'
Monday, 25 October 2010
Visual Programming Language - Lego Nxt2.0 Robotics Kit
I had a copy of MS Robotics Studio and played around with the studio. Missing was the sensors and motors i.e a robot kit.
Recently, I got a Nxt2.0 Kit and started doing some VPL programs and running it on the servo motors, sensors in the kit.
1) It is really nice to see and use the VPL studio that comes with the kit.
2) Even though there are only a limited number of sensors and motors, there is a lot of things that can be imagined and programmed.
3) Not to mention that, MSRS is compatible with this kit and we can code specifics in addition to the VPL capabilities.
When you read a books on Robotics, you see terms like actuators, sensors, services, concurrent execution etc and it was upto imagination to piece them together. But, with a kit like this it makes understanding things a lot more easier.
I tried out a few of the vehicles and really enjoyed building and programming with VPL. One of the sensors I really like is the Ultrasonic sensor that can be used to measure distance. The shooter robot was really interesting. The technique to shoot the colored balls is really impressive. (old pool game idea). My bot was ready and I gave it a try.
The video is here ---> http://www.youtube.com/watch?v=bhB_lYPPCto
It senses when some thing comes closer than one foot and fires. Simple. The villain was the only thing I can get my hands on before the batteries ran dry, a rolled up carpet.
Next would be Finishing the alpha rex humanoid and then moving to using custom code with this.
And yes, there are a lot of other robots and kits you can get your hands on these days. But, this is definitely a good place to start.
Wednesday, 22 September 2010
Comments on Two books.
Wednesday, 25 August 2010
Protect Shred Throw away
Wednesday, 21 July 2010
Development environment
Sunday, 6 June 2010
Elevate thinking on Software Development Models.
a) Someone is talking about a new model.
b) The benefits list is longer than your shopping list.
c) There are also convincing Wow! Wow! examples.
d) It is some thing very different from all the models you have ever seen, heard or used.
especially that mean Waterfall model.
Then, the all time champion false claim
e) The model is promised to deliver you success at all times !!.
Here is what I think.
1) The Waterfall model gave us the basic stages of software development. That's the truth. Face it. It is NOT a guaranteed to fail. It might fail.
2) Every Software model has all the stages laid out by the waterfall model. Rarely do you see a new phase in the new models.
3) It is how you string these phases together, how much effort you spend in these stages, that makes the difference and the different models.
The questions to answer before adopting a new model.
1) What is the process you are following now?
2) What precisely is wrong with that process?
- Look for answers in Cost, Effort, Schedule.
- Get the numbers straight for the above three.
3) How much is the new process profitable in the above three?
4) Is this worth the shift?
5) Above all, Is your business process, team process compatible with the new model??
i.e can you map it to your processes?
These basic questions can set things really straight.
Monday, 17 August 2009
Windows Server 2008
http://h0bbel.p0ggel.org/windows-server-2008-as-desktop-laptop-os
Tuesday, 7 July 2009
ShopEasy v1.1
Friday, 24 April 2009
To prototype or not to prototype
All engineering disciplines frequently use scaled down models to prove a concept before actually building something real or the real thing. This is the case, be it related to building architecture, bridges or aircraft manufacturing. So what about software? As an answer comes up the word, prototyping. The question is whether to or not to prototype? The question deserves special attention in software domain. This is due to the following reasons. First, software is created by developers who are unfortunately not the end-users of the product. Second, the end-user is not usually involved in specifying what they want, be it to see, type in or interact. In addition to that, the so called requirements get passed through quite a lot of hands and is perused and interpreted by the lot too. The funny thing is that, each will have an idea of what needs to be done, let alone how and with what. When this comes to the developer again there will be an interpretation of what is to be done. Finally, what the user wants is in his/her head and cannot be elicited in one go or so. The end result of this can be an unhappy user who thinks the software is useless or an irritated client who thinks the real objective was not met. For the developer this result can manifest as anything from, burning down new screens the user wants, dealing with the so called ‘changes’ to re-doing the whole thing.
- If your team has thought of a concept which is core to building the solution. Prototyping can help in proving this concept. If the prototype proves your concept wrong, then you are in a position to plan accordingly rather than having to re-trace in the middle of development. It can also uncover any mistakes in your concept.
- You might have designed the solution with application layers and so on. Prototyping would be helpful in making sure things will get along as they were planned in the first place. If things do get along, you have something to look at when you build the real thing, a distinct advantage.
- It can help in comparing technologies that can be utilized to deliver a solution.
- You can identify bottle necks earlier which otherwise unnoticed will surface as impediments. i.e you make things as risk free as possible at an early stage.
- Above all, the user/client when presented with the prototype will start talking more than you expected. You will get a clear idea of ‘what they want to see’ and how they want to interact with the solution. I.e your interface will be change-proof as much as possible. There will be a better understanding between the two.
In short, prototyping does help a software development team to move in the right direction based on facts and deliver what the user wants in the first go itself. i.e if you have not been able to deliver the right product in the first pass, you should think about prototyping.