Advances in robot programming with Lego Mindstorms

• posted
Hi, everyone
At first I have to say sorry about my englisch. My spoken skills are
by fare not enough to win the nobel price in written english. So i
hope, that not my english teacher will read one day this message ...
To be ontopic, here is a description about my latest advances in
programming a Lego Mindstorms robot. At first, I didn't find any
usefull information on the web, about how to programm a robot. Sure,
there are many possibilities for robots in generell and mindstorms in
special. Most courses are based on the so called object oriented
paradigma, which sounds for me like a educational tool primarly. I
mean, the aspect of object oriented programming is not to instruct a
robot to do intelligent things, rather its an ideology to instruct the
people to think in a special way. Because I hate all aspects of
"saying to other how to think", it is the wrong topic for programming
a robot.
A more powerfull solution, and a solution which I tried practaly on my
own is to think about programming with no special language or
paradigma in mind. So a shell-script oriented development process is
the best idea. Writing some code and hope that it will work. The goal
is to do writing very less code instead of following obscure
guidelines.
To combine the anarchy of shell scripting with a professional
development process the spreadshet-programm "OpenOffice Calc" oder
"Microsoft Excel" is a good solution. There you can test the formula,
which are nessessary to calculate the physics of robots.
Ok, thats enough as theoretical introduction. I wanna tell you
something about what my robot can do. It's probably not enough for
university level, but enough for amusing myself ... At first, I
programmed a small gotoXY-function. That means, i can give high-level
commands to my Lego mindstorms robot in that form: gotoXY(0,0) or
gotoXY(100,50). These coordinates are real-world coordinates. That
means, my robot moves on a square-table according to that coordinates.
The clou is, that sub-tasks like changing direction from north to
south will automaticly calculated.
To reach that functionalty, i had to implemend a small form of self-
localisation. That means, in my programm are three global variables:
x,y, pose. So my robot knows in every situation where (she) is.
Because I'm a beginner in robot programming, the self localisation is
not very exact. That means, there is no correction on errors or
something else. If the robot moves to north, the global variables x/y
is changed without any checks. So my robot is not robust against a
kidnapping or something else.
But, i'm proud of my gotoXY-function. It gives my the chance to
interact with my toy on a abstract point of view. The best comparison
is probably a plotter. There you can also give a certain position and
the plotter moves to that absolute coordinates. Thats what i've done.
The source-code for my robot is work-in-progress and will released, if
the mapping alogorithm and the radar-sensor is finished. By, By and