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.
- 7 minutes
- 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.
- Across each corner, a coloured wood marker will be placed at an angle of 45-degrees to the corner.
- The coloured wood markers will be painted using paints from the B&Q Colours range (Walls & ceilings, interior use, matt): Classic red, Electric, Sherwood, Golden rays.
- The targets are 200mm wide x 260mm high, set 40mm above the floor. There is 1500mm diagonally between targets.
- A 10cm-deep zone will be marked out extending from the coloured wood.
- 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.
- For lighting, we are exploring the option of placing the course inside one of the lecture theatres to ensure that the course is evenly lit. Alternatively, diffused 10W lamps will be placed halfway along each wall. They will be suspended 60cm above the floor and will point towards the corners of the course.
Methods of Completion
You must specify which of the two methods below you are using to complete the course.
- If any part of a robot enters a zone, it is deemed to have visited the zone. The part of the robot entering the zone does not have to be on the ground – the zone essentially extends virtually up to the ceiling.
- 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.
- 35 points for each colour zone entered in the correct order.
- No points will be awarded for visiting any zone in an incorrect order.
- 30 additional points for entering all zones in the correct order during a single run.
- 30 points for each zone entered.
- 25 points if all zones are entered.
- 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.
- 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.