Subject:
|
Implementing Finite State Machines
|
Newsgroups:
|
lugnet.robotics.rcx.nqc
|
Date:
|
Thu, 9 Dec 1999 07:56:52 GMT
|
Viewed:
|
1976 times
|
| |
| |
Hi all!
I have been struggling with a fairly large FSM implementation in NQC and came
to realize that maybe most of the more advanced NQC applications might be
actually FSMs (or could become)...
Because I think it is a little awkward to handle a FSM directly in NQC (or C
for that matter), and because I am the kind of guy that gladly spends a week
automating a task that otherwise takes 10 minutes :-), I am planning to write a
tool that will take a FSM description in a somewhat clearer format
state
OnEnterState code
Event ->
Action
next state
...
The tool would generate a NQC file (not so difficult, it's just to write a
template and the event generation code), feed it to NQC and translate line
numbers in the error messages (if any).
It might be cool if it could become a plugin in RxCC...
I would like to get some feedback on this, see if there is interest.
I won't have time to do anything until next year, so if anyone feels they want
to do it now, feel free to do so, but please let me know - I do have ideas and
prototypes.
Cheers!
/Vlad
|
|
Message has 2 Replies: | | Re: Implementing Finite State Machines
|
| Vlad, The Finite State Machine is a good subject for people to consider in robotics, especially in coding the typical 'looping forever' Rcx applications. Lots of regular 'C' FSM's are implemented with a State variable and "switch" statements, or (...) (25 years ago, 11-Dec-99, to lugnet.robotics.rcx.nqc)
| | | Re: Implementing Finite State Machines
|
| (...) [snip] (...) FSMs are a boon in our behavioural robotics projects. If you have read the Rod Brooks papers, he uses them to implement subsumptive architectures in his "radical" robots. I have used them a LOT in my Stamp II robots as the only (...) (25 years ago, 11-Dec-99, to lugnet.robotics.rcx.nqc)
|
5 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|