Doubts about software development for robots
April 28, 2010
After doing some programming for my first robot I was wondering (maybe because of my computer science background) if someone uses some kind of notation or software development methods at the hour of programming the robot.
When you are programming simple things like the Start Here Robot (http://letsmakerobots.com/start) it is easy to program a sequence of actions:
Condition 1: gosub Action 1
Condition 2: gosub Action 2
gosub Action 1.1
gosub Action 1.2
But when you are handling more sensor inputs and you want your robot to acomplish more complex tasks, for example constantly monitoring some inputs, even when you are doing some tasks (avoiding an obstacle or something similar).
For example the First robot part II becomes more complex (http://letsmakerobots.com/files/clean_navigation.BAS)
I think that programming it straight away and testing how it works, then changing the code and so on doesn't look a good idea. But I would like to know more opinions...
When I was at the University (once upon a time...) I used a notation language for representing states, actions and transitions: GRAFCET and I was wondering if I should use it. I think that the origin of GRAFCET is French, I haven't found much information in English (http://www.plcdev.com/introduction_grafcets), only in Spanish (http://es.wikipedia.org/wiki/GRAFCET) or Frech (http://www.tecatlant.fr/grafcet/).
Another thing that I would like to ask is how you use to deal with all those parameters related with the decision taking, for example with a distance sensor the values for: Inminent_Collision, Warning_zone / All_clear.
Are constants at the begining of the project the only choice?