Skip to content

Releases: umple/roverChallenge

V3 Added AM algorithm as option via a mixset

18 Jul 02:33
Compare
Choose a tag to compare

This approach allows activating of the AM mixset to try a different algorithm to control the follower (it performs worse, but is still interesting from an experimenal point of view). Jars for both the AM and FM version are included.

The AM algorithm attempts to vary power but keep the same frequency of applying power, while the FM algorithm uses maximum power at varying frequencies.

V2a FM Rover controller after refactoring and tuning

17 Jul 16:30
Compare
Choose a tag to compare

This version includes significant refactoring and documentation of the umple files. The single Umple file has been split into several files to improve understandability and separate concerns.

One of the new files RoverController_FMparameterSets.ump defines constants that can be used to tune the algorithm.

However the only actual functional change is that the frequency has been doubled (the pulse and coast times have been halved from 500ms to 250ms). It turns out this is as fast as possble; any faster and there is not enough time to send and receive messages to/from the other components.

V2 Basic FM controller

17 Jul 00:07
Compare
Choose a tag to compare

This version of the RoverController adds a class model including an abstract Rover class with subclasses for the leader and follower. These contain methods to compute, among other things, the bearing from the follower to the leader.

The follow method in the RoverController class is enhanced with control logic that polls the leader and follower instances to determine their positions and needed course change, and then provides varying-length pulses of straight power, braking or turning to enabling follow. We call this the Frequency Modulation controller since it is only the length of the pulses (and hence their frequency) that is varied. This is similar to the way a human might control such a rover if using mouse presses, and was modeled after human use of the original system.

V1 with a dumb controller following umplification

16 Jul 23:24
Compare
Choose a tag to compare

This version of the challenge solution has a 'dumb' follower that actually doesn't have any control logic. It just moves forward, makes one turn and moves forward again. It usually crashes into the leader.

This version can be compiled by running the compile script. It requires installing the umple command-line compiler from http://dl.umple.org and placing the umple script from umple/umple/dev-tools in your path.