Welcome to another blog post in our 101 series! Today, we’re going to delve into
the brains of your robot - its code.
Teamwork Makes The Code Work
First and foremost, your robot’s code should never be a one-person show. Make
sure more than one person has access to the codebase and understands it. This is
crucial for two reasons: First, if the primary coder is unavailable for any
reason, others can step in and keep things moving. Second, multiple perspectives
can identify potential issues and generate creative solutions that a single mind
might overlook. Think of it as having a built-in code review process!
The Pulse of Your Robot - The Control Loop
Your robot interacts with the environment in a continuous cycle of sensing and
acting. It’s essential to have a solid control loop in your code where your
robot senses its environment and then decides what to do next based on that
information. This loop should be at the core of your robot’s operation, allowing
it to adapt and react to its surroundings.
Backup Your Code: The Magic of Version Control Systems
Mistakes and accidents happen, files get lost, and computers crash. To protect
your work from these unpredictable events, ensure you regularly back up your
code. Better yet, use a Version Control System (VCS) like Git with GitHub. A VCS not only
provides a backup of your code but also tracks changes, making it easy to
identify when and where things might have gone wrong or right!
The Six T’s: Test, Test, Test, Test, Test, Test!
If there’s one golden rule in the world of coding, it’s this: test your code.
Then, test it again, and keep testing! You can utilise our web interface to help
you quickly iterate on your robot, by live streaming the logs and viewing
the last captured image. You can also use the web interface to stop and
restart the execution of your code. The more robust your testing, the
more reliable your robot will be when it counts!
The Benefits of Friendly Competition
If you have a large enough team, consider developing competing implementations
of certain features or systems. This can be an effective way to explore
different solutions and spark innovation. You can then choose the best elements
from each, or select the most efficient solution overall.
Embrace Imperfections: Sensor Noise
It’s crucial to remember that real-world data is often noisy and imperfect.
Your sensors may pick up interference, or there could be slight variations in
readings. Your code should be robust enough to handle this noise and still make
effective decisions. Techniques such as sensor fusion or filtering (like
taking an average of multiple readings) can be highly beneficial here.
The Power of Documentation
Our Docs are a goldmine of knowledge and
should be your first port of call whenever you’re unsure about something. Much
like a good textbook or reference guide, our Docs are designed to support you in
understanding your robot better. From getting started with your robot kit, to
understanding the APIs, to troubleshooting common issues; the Docs cover a broad
spectrum of topics you may encounter.
Coding your robot can be a challenging yet rewarding experience. It’s where the
magic happens, where the inert pieces of metal, wood, and circuitry come to life
and engage with the world. We hope these tips and strategies will help you avoid
common pitfalls and pave the way for your success in the Student Robotics
competition. Remember, every stumble is an opportunity to learn and improve.
Keep coding, keep testing, and most importantly, have fun!
We’re excited to announce that registration for the 2024 season of Student
Robotics is now open!
Based in the UK, Student Robotics challenges teams of 16 to 19 year-olds to
design, build and program fully autonomous robots to compete in our annual
competition. Teams will have just six months to engineer their creations. As
well as supplying teams with a kit, which they can use as a framework for their
robot, we mentor the teams over this period. Thanks to the generosity of our
sponsors, we provide all of this to our teams at no cost.
The competition cycle will start with a live streamed
Kickstart event on our YouTube Channel. During the event the game
and the structure of the competition will be announced and kits handed
out to teams.
The competition year will culminate in an in-person competition over two days in
around Easter 2024, which will see the robots compete through a league stage and
a seeded knockout. As usual the prizes will recognise not only the teams which
come top in the knockouts, but also those who excel in other ways.
Details of the game and prizes will be revealed at Kickstart. Details of the
Kickstart and competition events will be published when they are available.
We expect to confirm places towards the end of September.
If you would like a chance to compete in Student Robotics 2024,
please fill in the entry form with the required information.
Places are limited, so sign up soon to avoid disappointment.
Greed required our team’s robots to capture tokens from their opponents and place them in their scoring zone. With Bronze, Silver, and Gold tokens, each worth a different number of game points, teams had to think carefully about their optimum strategy.
To help teams locate the tokens there were 2D barcode style markers attached that our computer vision library could detect. However, each of the markers identified themselves as exactly the same, so teams had to use other sensors to detect which type of token is which. Bronze and Silver tokens were the same size but the Silver tokens weighed 300g more, and Gold tokens were larger than both Bronze and Silver. Teams were scored at the end of the match for collecting the most points.
Virtual Competition
The first part of our league this year was a virtual competition, broadcast live from Southampton in March. Across twenty matches, teams competed in a simulated version of the main competition, testing their coding skills against one another. The day was handily won by Haberdashers’ College, coming 1st in all four of their matches.
League Matches
At the in person event, teams participated in a further 70 league matches, showcasing a diverse range of robot designs and strategies. The robots displayed impressive agility, precision, and ingenuity, as they navigated the arena to capture tokens and outmanoeuvre their opponents. Team’s had varying designs from suction systems, lifting mechanisms, and even a flywheel designed to launch tokens.
Knockouts
The knockout rounds saw teams from the league matches pitted against one another in intense, high-stakes battles. With each round, the competition grew fiercer, and the robots were pushed to their limits as they raced to collect tokens and secure their place in the finals.
The Final
Beginning of the SR2023 Final
In the nail-biting final, Haberdashers’ School faced off against Abingdon School, Gymnasium Markt Indersdorf, and Harris Westminster Sixth Form. Harris Westminster Sixth Form managed to successfully grab Haberdashers’ gold token, but were not able to get it solely back to their own scoring zone. Whilst this was happening, Gymnasium Markt Indersdorf tried to grab a gold token with their arms, but missed slightly and instead grabbed the Abingdon School robot, slowly pulling on the robot and some of its wires for the rest of the match! At the same time, the Haberdashers’ robot slowly but steadily collected bronze and silver tokens and deposited them in their zone, before going back and getting more. The teams displayed exceptional skill and teamwork, and after a fierce battle, Haberdashers’ School emerged victorious, claiming the first-place title in Student Robotics 2023.
Results
Winner: HAB – Haberdashers’ School
2nd place: ABS – Abingdon School
3rd place: MAI – Gymnasium Markt Indersdorf
Committee award: QMC – Queen Mary’s College (award sponsored by University of Southampton ECS)
Challenges award: QMC – Queen Mary’s College (award sponsored by Adventurous Machines)
After a close match in the final, Haberdashers’ School managed to beat their opponents and win the Student Robotics 2023 competition, closely followed by Abingdon School in second and Gymnasium Markt Indersdorf in third.
The Committee Award is given to the team that displays the most extraordinary ingenuity in the design of their robot. As engineers, we appreciate elegance, simplicity, and robust engineering. This year, the committee award was given to Queen Mary’s College for their consistent excellence in all their matches. Their robot reliably and repeatedly executed their strategy to great success.
We’re always delighted to welcome new teams to Student Robotics and understand how big a challenge it can be without prior experience. To recognise this additional challenge, we award the Rookie Award to the highest placed newcomer in the league, celebrating their incredible achievement. This year’s recipient was Sherborne School with their robot which drove over the tokens enclosing them within the robot before returning to their scoring zone.
Team Haberdashers' School with their “Knight Bus” theme
We award the Robot and Team Image Award to the team that presents themselves in the most outstanding way. This year, our teams rose to the challenge, and we saw some fantastic themes! We loved Gymnasium Markt Indersdorf’s Raspberry Pi theme, but we decided to give the Robot and Team Image award to Haberdashers’ School for their brilliant “Knight Bus” theme. All team members dressed as wizards and their robot sported a number plate and windows with images of the team members looking out.
Through social media, teams can share the problems they’re facing as well as their designs and successes. A few teams stood out to us this year with their regular uploads, but the winner (for the second year in a row!) of the Online Presence Award is Hampton School and Lady Eleanor Holles School for their consistent and high-quality posts.
Check out the rulebook for all the details on the awards we give.
This year’s competition would not have been possible without all of our amazing sponsors. Their generous support allows us to make Student Robotics free to enter and help us continue in our mission to bring the excitement of engineering and the challenge of coding to young people through robotics.
We’d also like to thank our volunteers, who make Student Robotics happen every year! Some have helped at the competition itself, while others have been in teams working throughout the year to organise the event. Our Competition Team designs, organises, and delivers Tech Days and the Competition weekend. Our Kit Team designs and supports the software and hardware our competitors use; the Infrastructure Team ensures that our website stays up and our internal teams can work collaboratively; the Fundraising Team ensures that we have the resources needed to run our events; and the Marketing Team makes sure our efforts are seen and heard by all. A huge thank you to everyone who contributed to the success of this year’s competition.
If you’re reading this and want to join us next year, sign up on our volunteering page.
Notes to editors
Student Robotics is an annual robotics competition for 16-19 year-olds in the UK
and Europe. It was founded in 2006 by university students and is free to enter
thanks to our sponsors and many volunteers. Since it
was first run in 2008, the final competition has grown from one room at the
University of Southampton1 to the UK’s biggest autonomous robotics
competition.
At the start of the academic year, teams are given a kit containing custom-made
electronics at a Kickstart event, where the game for the year is announced. They
then have until the Easter holiday to build fully-autonomous robots, which will
compete against each other in the final competition. They are supported by
volunteer mentors, and software to assist them in programming their robots is
provided.
If you would like to find out more, please get in touch.
The SR Team
Student Robotics is independent from the University of Southampton. ↩