Testing round 1 analysis

After yesterdays testing round we thought it would be good to give everyone some feedback on what problems we saw and where things can be improved.

Unlike the proper races, this will mostly be about how the YetiBorgs worked, the track layout, and how the event was run.
Hopefully this will give everyone some ideas on how they can improve their strategy and let people know how we intend to improve things.

So let us get started with some of our thoughts on the track itself.

Shadows on the track

As you may have noticed a lot of the YetiBorgs made some strange movements going down the main straight.
We believe the main trouble here was due to the shadows cast on the track.

These are the shadows from the beam over the start line:

These are the shadows from the lights and start marker:

While the lighting is much better than some of our early attempts it would seem it is still not quite there yet.
What we intend to do is see if it is possible to improve the lighting even further to eliminate as much of the shadows as possible.

The reason the code is making sudden changes around these shadows is all down to the overtaking logic.
If you take a look at our Detecting traffic blog post you can see how this works.
Put simply the detection is picking up the shadow as traffic and trying to "overtake" it, with very little success.
One solution may be to increase the overtakeThreshold value in Settings.py to make detection less likely.

Camera locations

The camera locations we picked were a bit of a mixed success.
On the good side we caught the action well, the shots look great, and the cameras themselves worked very well.
On the bad side it is hard to follow a particular YetiBorg, making identification difficult.

What we intend to do is look at all of the camera positions and see if we can get some better angles on the track.
We think in a lot of cases simply making the cameras higher and pointing them more downward will help.

We are also looking at squeezing in an extra camera or two, but it may not be possible with the setup we have at the moment.

Jumping the start

If you recall the first race we had a bit of a false start:

What actually happened was:

  1. Set lights to green
  2. We were not sure all five were ready
  3. Set lights off
  4. Set lights to green again

At this point three of the robots went.

We think this was because the robots detected a "red" light when the green lights were turned off.
This would suggest that with our new lighting we also need to check our lightsRedGain and lightsChangeThreshold.

The second race we were a bit more precise with the two minutes delay and did not have to cycle the lights.
We will probably retune the lighting values and upload the changes before the next submission date.

Collisions and overtaking

Probably the biggest problem everyone had was collisions with other robots.
In particular the overtaking code did not always seem to work and most of the robots were trying to use the same lanes.

There are three ways competitors can probably improve on things here:

  1. Take a different line from others to reduce the chance of a collision
  2. Try and improve the reliability of the overtaking logic
  3. Maybe an alternative approach to avoiding others, such as slowing down

Generally speaking collisions are a bad thing and should be avoided.
It will almost always slow you down, in the worst case you may even get stuck!

It is also worth bearing in mind that the YetiBorgs do work upside-down, but they do not perform quite as well.
If you go and re-watch the footage you can see how the steering behaves a bit strangely when they are flipped.

Final Thoughts

On the whole we feel the event ran fairly smoothly since this was our first go :)
We were also very impressed with how different the code submitted was given the short time since it has been available.

It is clear that even small tweaks to the code can make a big difference, so feel free to experiment!

A big thank you to everyone who took part, joined us for the live stream, or helped make the series possible.

Also a massive thank you to computernerd486 for providing the simulation that we have all been using for testing.
Without this I do not think the testing round would have been anywhere near as exciting.

If you have any comments or suggestions we really want to hear them, so please log in and leave any comments below.
Good luck to everyone for testing round two :)


awood85's picture

Really enjoyed the first test, can't wait to see all the competitors efforts and development as the series goes on. I agree the camera angles should be higher so identification is easier, the custom lids will also help with this though.

Will there be any official lap timing for the races other that what is logged on board (think we had a few errors on that front)? Also will there be any on screen race positions during the live streams?

Finally - what would happen in the case of a false start in a proper race?

Keep up the good work, see you all at the next test session.

Adam - (Team 'Enigma' car 10)

piborg's picture

We are intending to do some kind of lap timing in the future, we are not sure what form this will take yet.
Our original plan did not work reliably so we are looking at alternative ways of doing this.

If we can get results onto the screen while the race is on we will, this will probably depend on how we get the lap times to work.

Generally false starts will be a mistake on the part of a YetiBorg, so it will be disqualified from that race and awarded no points.
If like the first run we decide that the false start is a mistake / problem on our part we will abort the race and re-run from the start.

We were really impressed with how well your code navigated the track ^_^

Hi from California,

We are just catching up to speed but have a test track up and the car responding well. We plan to be in the next test race, and your code would/will be a huge asset, obviously. Congratulations on the great work and nice to meet you.

Jeff (Team 'Zo' car 52)

Geoff Riley's picture

Hi Jeff,

I think you might have the wrong idea a little here—we don't share code at this stage, when everything is finished and the tyres are allowed to cool, we'll have a winner: the idea is that the winners code will be shared so that the summer entrants can learn from it. (Possibly other teams code too, but I recall definitely the winners.) At this stage we're all working on our own individual code.

Hope that makes sense.

Geoff (yup, the other spelling... and car 16 if you wish to know.)

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre>
  • Syntax highlight code surrounded by the <pre class="brush: lang">...</pre> tags, where lang is one of the following language brushes: bash, cpp, perl, python.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.