Learning Resources

Find resources to learn about the various aspects of NUbots.
Updated 9 June 2022

This page aims to provide direction and resources on where to go to learn more about various areas of NUbots. There is a mixture of resources available, including external resources and material prepared by NUbots team members.

NUbots workshops may be run live, or you can work through them yourself in your own time.

The majority of resources on this page are free. Some LinkedIn Learning videos are linked here - UoN students can get access to LinkedIn Learning for free.

General

Git

The NUbots team uses Git and GitHub in its development workflow. Almost any project done on the NUbots team involves using Git and GitHub.

Reading:

Videos:

Tutorials:

C++

The C++ programming language is used in the main robot codebase. Modern C++ and advanced C++ concepts are used in the codebase.

Reading:

Videos:

Tutorials:

NUClear

The NUbots robot code uses the NUClear framework. Anyone developing robot code needs to learn how to work with NUClear. NUClear was created at NUbots as part of a Software Engineering FYP.

Reading:

Videos:

References:

Robot Code

Reading:

References:

RoboCup Competition

Reading:

Videos:

Using Webots

The Webots simulator is used in some RoboCup competitions and is the simulator we use to aid in development of the robots.

Reading:

References:

Mathematics

Mathematics is an integral part of any robotics system.

Reading:

Videos:

References:

Python

Python is used to create tools in the main robot codebase.

Videos:

Machine Learning

Primarily used in the vision system, but could be used in any system.

Videos:

References:

Log and Play Back Data

Reading:

Lab Induction

The lab induction must be completed before getting swipe card access to the lab.

Reading:

Tutorials:

  • NUbots lab inductions are run for new team members after they join.

Behaviour

General

Reading:

References:

DevOps and Quality Assurance

The Build System

Reading:

Tutorials:

References:

DevTools

Web Development (External Resources)

Web Development is used in the creation of NUbook, which uses JavaScript, Gatsby and Tailwind, and NUsight, which uses TypeScript, React and MobX. By working on these systems and going through these resources, you will gain valuable real world skill and experience that is often sought out in industry.

Videos:

Tutorials:

References:

Web Development (NUbots Resources)

Reading:

References:

Documentation

Since NUbots is a student organisation, high turnover is unavoidable. To help combat the issues this creates, good documentation is key to the success of the team. This includes low level documentation in the form of code comments and high level documentation in the form of NUbook pages.

Reading:

Tutorials:

Hardware

Soccer Robot

Reading:

References:

Localisation and Odometry

Particle Filters

Videos:

Simultaneous Localisation and Mapping (SLAM)

Videos:

Motion

General

Reading:

References:

Vision

General

Reading:

Visual Mesh

Reading:

References:

Data Collection

Reading:

References:

Cameras

Reading:

Copyright © 2022 NUbots - CC-BY-4.0
Deploys by Netlify