As an intro to this quasi blog, I would like to explain the reasoning behind the entire idea of the blog and to preview its contents shortly. Hopefully, together with this introduction, the blog’s material will make more sense.
In my everyday life, I am a professional software developer. My area of expertise is development of desktop applications, software design, development process, automation – that kind of stuff. Besides, I’ve been tinkering with robotics since university. Once I had an idea of starting some kind of a robotics startup. Although it was never even close to launch, much work had been done. Then I thought that I should make the best of what I had. And here I am, trying to convert my unborn project into winning portfolio in the form of a blog.
The blog will contain two large pieces and an undetermined number of small ones. Large piece #1 is “Simulation acceptance testing framework for MRDS” (SATF) – an attempt to adopt the idea of automated acceptance testing within software development for robots. I can’t fathom a developer’s life without autotesting – so I had no options but to implement something of that kind for robots. The piece is generally about programming: it will elaborate the idea (the problem, solution as a part of development process, some probabilistic issues), present its implementation (design, some code and MRDS quirks) and maybe even draw some conclusions. Large piece #2 is “Basic control system of a mobile robot” (CSMR) – some minimal set of services making a robot move from point A to somewhere: odometry, localization, path planning, etc. That was just interesting: things are moving there. It is also about programming (design will be presented) but not only: the basic mobile robot algorithms will be outlined and even some greek letters will show up (they make me look smart). Also there will be a gallery. If I were you I would content with this text, cartoons and pictures there and maybe introductory sections. But, as you are not me, you might be interested in the project’s code residing on GitHub.
To make the picture complete I am compelled to tell about the unfortunate project itself. I worked in a bright small developers’ team, we had some leeway in our actions and could squeeze extra work into our regular job duties and mused on the startup idea. While I possessed some knowledge about mobile robots, somebody during lunch suggested the idea of a robot waiter. We started. Microsoft Robotics Developer Studio was an integral part of the entire affair because the team was proficient in C#, C# by itself is a great and powerful high level language, and MRDS at the time was perceived as appealing and advanced technology (the next version had just arrived). At the beginning we decided not to bother with a business plan and the like and to see if we would be able to do anything at all. And that was the single part of the plan that actually worked! No business plan was ever needed. People (except me) were not motivated enough to push, and then, to add insult to injury, it became obvious that MS abandoned MRDS (despite that it did not matter at that time, I still bear a grudge against MS for this).
Finally, I would like to apologise for inconsistent style, slipping now and then from informal to boring technical documentation. I vigilantly chase and banish techdocs pieces, but they keep persevering.
That’s it. Let’s get going!