ogmacorp/EOgmaDrive

Fixed drive throttle?

Closed this issue · 7 comments

The code only predicts the steering with a fixed throttle. How would I also predict the throttle to drive the car?

Hi, you can predict it the same way as the steering if you like. I would recommend switching to OgmaNeo2 though (the interface is very similar).

If you need help with the conversion to OgmaNeo2, let me know.

Hi, you can predict it the same way as the steering if you like. I would recommend switching to OgmaNeo2 though (the interface is very similar).

If you need help with the conversion to OgmaNeo2, let me know.

I am not clear how to do that. The car driving code is in this repository. How would I change this code?

Which configuration are you trying to reproduce?

I am looking at the code in Configuration 1: sdc_fast_line.py

Ok, that code is quite old and still uses the old line segment detector pre-encoder. I wouldn't try to use it directly but rather as an example to base your own code on. For general usage on OgmaNeo2 (and in particular the Python bindings), check out some of the examples.

The steering (and throttle) can both be treated the same way as the line in the WavyLinePrediction demo - they are encoded into binned column representations and then fed to the hierarchy.

I will work on a proper tutorial - it seems it's about time to make one for the latest version of OgmaNeo2.

For now though, the general flow of OgmaNeo2 is as follows:

  1. Fill out a list of LayerDesc(s)
  2. Create a hierarchy with given input sizes and the list of LayerDesc(s)
  3. (optional depending on task) create a pre-encoder to map certain sensory data to the CSDR format (e.g. an ImageEncoder)
  4. encode sensory data into CSDRs via binning, pre-encoders, or other methods
  5. call the hierarchy's step function with the sensory CSDRs
  6. call getPredictionCs to get the predicted CSDRs (t + 1 prediction), use the prediction as needed
  7. repeat 4 - 6.

I'll let you know when the tutorial is complete, it shouldn't take too long.

Thanks I will also take a look at the example

Just posted a basic tutorial, hopefully it helps: tutorial