NUbots is a team in the University of Newcastle's robotics research group focused on developing humanoid soccer-playing robots for the international RoboCup competition. The multidisciplinary team of students and academics develops both hardware and software for the robots.
This codebase is the current state of our development efforts to compete in the competition as well as active research projects within the laboratory.
NUbook is the handbook and high-level documentation for the NUbots team. It contains guides for getting started with development and information about the team.
We also have generated documentation from the code available at codedocs.
IMPORTANT: NUbridge, our ROS2 bridge for this codebase, will need to be setup before running any NUbots code on the robot.
- Make sure uv and Docker are setup on your computer, as our tools and compilation toolchain won't run without them.
- Setup the Docker build environment:
./b target orinnx- Configure the repository via CMake:
./b configure
./b configure -i # This runs CCMake, a TUI interface for CMake that lets you choose which roles to build for and which build type to use (Release, Debug, etc.)The important role for a game will be ROLE_robocup; make sure that role remains ON and disable any others.
- Build the code
./b build # Optionally, for memory-challenged computers, use the -jN argument, where N is the maximum number of workers- Deploy the code
./b install -t -co -u booster <ROBOT_IP>- On the robot, run the compiled binary:
./robocupIf running a test role (e.x. test/localisation), then run it from the home directory as follows:
test/localisation