NUsight

NUsight overview and capabilities
Jonathan Tabac II GitHub avatarKim Khang Hoang GitHub avatar
Updated 20 Apr 2026

The NUsight visualisation tool is a web-based visualiser created in-house for the NUbots team to help with building and debugging robot systems. It provides a real-time view of information from other systems using NUClear networking. The data shown in NUsight can come from either real hardware or simulated hardware. The NUsight interface contains multiple tools in various tabs with different debugging capabilities.

This page focuses on explaining the NUsight system itself and the tools it provides. For instructions on how to build and run NUsight, see the Getting Started guide. For development and contribution guidance, refer to Contributing to NUsight.

TabDescription
LocalisationDisplays localisation-related state and environment elements, with configurable visibility.
OdometryShows the robot’s orientation using a 3D axis representation.
ChartVisualises the stream of data being passed to the robots' sensors.
VisionPreviews the images from the cameras of the robots giving you a robot's eye view.
LogsLogs system messages with filtering by severity level for debugging and monitoring.
ServosDisplays a 3D robot model with live servo positions and information.
DirectorProvides a view of high-level behaviour and state managed by the Director system.

The Select robots button in the top-right corner allows you to choose which real or simulated robots to display. This affects all tabs in NUsight.

The Scrub NBS button allows recorded NBS playback files to be loaded and replayed, enabling inspection of previously captured robot data for debugging and analysis.

Localisation

Localisation tab. Top half of the screen shows a 3D scene with a soccer field and NUgus robots. The bottom half displays text describing the status of each robot

The Localisation tab displays a 3D scene of connected robots positioned on the field. The Hawk Eye button resets the viewpoint to a top-down view of the field, and the Field Type button switches between Lab and RoboCup field dimensions.

The viewport is interactive and can be navigated using the following controls (after clicking the viewport to focus):

Keyboard/MouseAction
wMove forward
sMove backward
aStrafe left
dStrafe right
SpaceSwitch between Free Camera, First Person or Third Person view

Dashboard

Dashboard. Shows a bird’s-eye view of the field with symbols representing robots, balls, walk paths, and kick paths.

The Dashboard provides an overview of the robots' state and behaviour on the field. The Flip Orientation button in the top-left corner mirrors the field view, allowing the scene to be displayed from the opposite perspective. The yellow rectangle represents our goal, while the blue rectangle represents the opponent’s goal.

FeatureImageDescription
Dark green wedge
Dark green circle with a wedge indicating orientation.
Represents a robot’s position on the field. The number indicates the robot identifier, and the wedge shows the robot’s orientation.
Black arcs
Curved black line extending from a robot symbol.
Indicates the robot’s planned or recent walk path.
Orange circle
Orange circle connected to a robot symbol.
Indicates the perceived position of the ball relative to the robot.
Green arrow
Green arrow extending from the ball symbol.
Indicates the intended kick direction for the ball.

Robot Status Display

Robot status box. Contains text specifying the various states of the robot.

This area displays internal status information for each robot connected to NUsight. It includes the robot's name, connection status, battery level, and current internal state.

  • Mode – Displays the current stage of the game.
  • Phase – Displays the current phase within the selected game mode.
  • Behaviour – Displays what the robot is currently doing.
  • Penalty – Displays any penalty currently applied to the robot.
  • Walk Command – Displays the commanded forward/backward velocity, left/right velocity, and rotation rate of the robot, in that order.
  • Camera, Ball, and Goal icons
    • Flashing orange – A new data packet has been received.
    • Red outline – Indicates that a significant amount of time has passed since the last data packet was received.
    • Greyed out – Indicates that the data source is inactive.

Odometry

Odometry tab. Shows a 3D coordinate frame representing the robot’s orientation in space.

The Odometry tab visualises the robot’s estimated pose and orientation in 3D space. The coordinate axes provide insight into how the robot perceives its movement and rotation over time, which is useful for debugging motion and localisation-related behaviour.

Chart

Chart tab. Shows a coordinate plane with multiple graphs plotted in different colours.

The Chart tab displays time-series data on a coordinate plane, allowing multiple data streams to be visualised simultaneously.

FeatureDescription
Line Chart / 2D ScatterSwitch between line and scatter plot representations of the data. The scatter plot option is currently unsupported.
Right PanelSelect specific data sources from individual robots to display on the chart. Also allows adjusting the colour of plotted lines.
Minimum / Maximum ValueDefines the vertical plotting range of the chart.
View SecondsControls the time window displayed on the chart (x-axis range).

Vision

Vision tab. Shows a camera image with visual overlays such as field lines, horizon indicators, and detected objects.

The Vision tab displays images received from the robot cameras, along with optional visual overlays produced by the vision system. These overlays assist with understanding how the robot perceives its environment and what features it detects.

Each image includes controls that allow different visual elements to be enabled or disabled, such as detected objects, horizon lines, and field features.

Logs

Logs tab. Displays a list of system log messages with severity filters such as Trace, Debug, Info, Warn, Error, and Fatal.

The Logs tab displays generated system messages. These messages help monitor runtime behaviour and assist with debugging issues.

Log messages can be filtered by severity level to focus on specific types of information.

LevelDescription
TraceDetailed diagnostic information for lower-level debugging.
DebugInformation useful for development and troubleshooting.
InfoGeneral information about normal system operation.
WarnIndicates unexpected behaviour that may require attention.
ErrorIndicates a problem that affects functionality.
FatalIndicates a critical failure that prevents normal operation.

The search bar allows filtering logs by text, and the Show timestamps option displays the time each message was generated.

Servos

Servos tab. Displays a 3D robot model and a panel listing joint angles, temperatures, and status values.

The Servos tab displays a 3D robot model with live joint positions and related servo information. This helps monitor robot posture, movement, and hardware status during operation.

Information such as joint angles, temperatures, and status values can be used to help debug motion and behaviour.

Director

Director tab. Displays a node-based graph representing high-level robot behaviour structure and state relationships.

The Director tab visualises the robot’s high-level behaviour structure as a graph. It shows how different behaviour components relate to each other and how the system transitions between states.

This view helps provide insight into the organisation of behaviours and the robot’s decision-making flow during operation.

Subsystems
Logging
Tools
NUbook
NUbots acknowledges the traditional custodians of the lands within our footprint areas: Awabakal, Darkinjung, Biripai, Worimi, Wonnarua, and Eora Nations. We acknowledge that our laboratory is situated on unceded Pambalong land. We pay respect to the wisdom of our Elders past and present.
Copyright © 2026 NUbots - CC-BY-4.0
Deploys by Netlify