The Hubble Telescope Nebula Challenge

Aim of the Challenge

  • To visit each of the four target areas within the time limit. There are two methods for doing this, so please continue to read.
  • We are re-evaluating the ‘balls’ from the 2018 version, Somewhere Over the Rainbow. We believe a larger target will yield more successful runs – we are just working out how that will be done.

Control Method

  • Autonomous

Time Limit

  • 7 minutes

Rules

  • Your robot will be placed at the centre of a flat wooden course measuring approximately 122cm by 122cm with walls 30cm high. A picture of the course is shown at the top of the page and an animation can be seen above or on YouTube.
  • A 24cm-radius quarter-circular zone will be marked out in each corner.
  • The floor and walls of the course itself will be painted a uniform colour (black) to aid with colour separation.
  • A partial “calibration course” will be available on the day so that you can calibrate your sensors/camera to the lighting conditions.

The following are last year’s rules. We are currently looking at ways to increase the size of the coloured ‘targets’ so that robots have an easier time finding them.

  • At the start of the challenge, coloured balls will be hung from each corner. The bottom of each ball will be 10cm off the floor of the course.
  • The course will be lit from four, diffused 10W lamps halfway along each wall. They will be suspended 60cm above the floor and will point towards the balls in the corners of the course.

 

You must specify which of the two methods below you are using to complete the course.

Method 1

  • Your robot must autonomously identify each coloured marker and visit each zone in the following order: RedBlueYellow and, finally, Green.
  • The placement of the markers will be randomly pre-determined for each team, but will not be pre-advised to competitors ahead of their runs. However, the placement will not be changed between your three runs and it is permissible to have your robot ‘learn’ the route and achieve faster times on subsequent runs.
  • We will provide a set of coloured balls to be used to “calibrate” your vision sensor. These will be available near the challenge in approximately the same lighting conditions.

Method 2

  • Your robot must autonomously visit each zone in any order.
  • If any part of a robot enters a zone, it is deemed to have visited the zone.
  • Three run attempts are permitted, and encouraged, during your 7-minute window.
  • It is not necessary to complete all three runs.
  • The robot must stop autonomously after visiting the final zone.
  • If a zone is entered out-of-sequence, it is just ignored – there is no penalty for entering zones out of sequence. However, if a zone is entered out of sequence, it is not deemed to have officially ‘visited’ the zone for the purposes of that run. For example: you enter Red, you enter Blue but then you enter Green. Green does not count because you have not entered Yellow yet. Subsequently, you enter Yellow and enter Blue again, which is permissible but you do need to enter Green again because you entered it out of sequence.
  • At the end of each run, your robot will be placed back in the centre of the course.
  • Your robot’s autonomous runs can be triggered by pressing a button on the robot, for example, or by remote control activation.
  • It is allowed for you to have button(s) on your remote controller that you can press to tell your robot that it has, indeed, visited the zones. This is permitted for both methods described above.
  • Apart from your “activation” and “visited” controls, no other remote control is permitted.
  • Up to three rescues per run are permitted, with penalties as detailed below.

Ranking and Points

  • The shortest run of the three runs will be used to rank.
  • The robot with the shortest time will take first place.

Method 1

  • Points will be awarded to the top ranked robots:
    • 1st: 40 points
    • 2nd: 32 points
    • 3rd : 25 points
    • 4th : 18 points
    • 5th : 15 points
    • 6th : 12 points
    • 7th : 10 points
    • 8th : 8 points
    • 9th : 6 points
    • 10th : 4 points
    • 11th : 2 points
    • 12th : 1 point

Method 2

  • Points will be awarded to the top ranked robots:
    • 1st: 35 points
    • 2nd: 27 points
    • 3rd : 20 points
    • 4th : 13 points
    • 5th : 10 points
    • 6th : 7 points
    • 7th : 5 points
    • 8th : 3 points
    • 9th : 1 points

Additional points

Method 1

  • 15 points for each colour zone entered in the correct order.
  • No points will be awarded for visiting zones in an incorrect order.
  • 10 additional points for entering all zones in the correct order during a single run.

Method 2

  • 10 points for each zone entered.

Penalties

  • It is permitted to rescue the robot and place it back on the course at the place where things went wrong once per run without penalty but the clock will not be stopped.
  • A second rescue is permitted, incurring a 15 second penalty.
  • A third rescue is permitted, incurring a 15 second penalty.
  • A fourth rescue is not permitted, instead the run must be abandoned.
  • Abandoned or non-completed runs will not count towards the shortest run time, however any points accumulated during the incomplete run will count towards the overall score.

Hints

  • If using Method 1, your robot will require some form of computer vision. The Raspberry Pi camera is perfect for this.
  • A good example of controlling your robot with OpenCV can be found on the PiBorg site. We have modified the code as an example for you to use here.
  • Installing OpenCV need not be complex as a Pi-optimised version is compiled in the piwheels repository. Simply do the following on your Raspberry Pi. The second install contains “extra goodies” which you might want to use.
    • pip install opencv-python
    • pip install opencv-contrib-python
  • Lighting conditions on the day may not be the same as where you tested.  Your robot should be able to cope with this if possible. We will, however, be re-positioning the course to give more ambient light this year.

Ask Questions and Discuss

You can discuss this challenge and ask questions on the discussion forum or via Discord chat.