These docs are public and open source.Edit on GitHub
REFERENCE / GLOSSARY
THE GLOSSARY.
The robotics and NeoRacer-specific words used across the docs. When a page uses an acronym without expanding it, this is where you can find what it stands for and a link back to the page that uses it most.
0 terms0 letters
A
Ackermann steering
The steering geometry on real cars: the inner wheel turns more sharply than the outer one to track around a shared center of rotation. NeoRacer uses Ackermann, not skid-steer.
AMCL
Adaptive Monte Carlo Localization
A standard ROS 2 algorithm that estimates the car's pose on a known map by matching live LiDAR scans against the map.
B
BSP
Board Support Package
NVIDIA's kernel + driver bundle for the Jetson. The NeoRacer OS image is built on top of the Jetson Linux BSP plus Ubuntu 22.04.
→ OS & imageC
CPR
Counts per revolution
The encoder's resolution. One full wheel turn produces this many tick edges. Higher CPR means finer odometry but more interrupts on the MCU (microcontroller unit).
D
Deans connector
The flat T-shaped power plug on the battery. If the car won't power on, a firm reseat is usually the first thing to try. When the two halves rotate freely against each other, the connector is worn and worth replacing.
→ Won't power onE
e-stop
Emergency stop
The big red button on the chassis. A press cuts power instantly, and a twist brings it back. Every student program also treats the left bumper on the controller as a software e-stop.
ESC
Electronic speed controller
Takes a low-power PWM signal in, drives the motor with regulated power out. Has a built-in voltage cutoff so a flat LiPo can't damage the battery.
F
F1TENTH
The MIT-originated autonomous racing competition NeoRacer is API-compatible with. F1TENTH scripts run on NeoRacer with no code changes.
frame_id
The ROS 2 string that names a coordinate frame. Every sensor message carries one. The LiDAR frame is lidar_link, the IMU is imu_link, the car body is base_link.
→ LiDARG
Gap follower
A planning algorithm that picks the largest free arc in the LiDAR scan and steers toward it. The foundational F1TENTH-style behaviour.
I
IMU
Inertial measurement unit
A chip that fuses an accelerometer and a gyroscope so you get linear acceleration plus angular velocity. The NeoRacer IMU also publishes a fused orientation estimate.
→ ComputeJ
Jetson Orin Nano
The Linux host on the car. NVIDIA single-board computer with a 67 TOPS AI accelerator, runs Ubuntu and ROS 2.
→ ComputeJetPack
NVIDIA's software bundle for the Jetson family (Linux kernel, drivers, CUDA, the AI runtime). The NeoRacer image ships JetPack 6.2 on Ubuntu 22.04.5 with ROS 2 Humble on top.
→ OS & imageL
LiDAR
Light detection and ranging
A spinning laser scanner that measures distance to whatever the beam hits. The NeoRacer LiDAR gives your code 720 samples per revolution at 30 Hz.
→ LiDARLiPo
Lithium polymer
The battery chemistry used in NeoRacer and most RC cars. High power density, but needs careful charging through a balance charger and a flat-storage routine.
→ PowerLakibeam
The Richbeam LakiBeam1, the 2D lidar mounted up front. It talks to the Jetson as a UDP sensor on its own subnet (host 192.168.8.1, sensor 192.168.8.2), and the lakibeam1 node publishes scans to /scan.
→ LiDARM
MCU
Microcontroller unit
The real-time chip the Jetson talks to over USB. Owns the motor, servo, and IMU loops because the Jetson can't hit microsecond deadlines under Python.
Motor trim
In practice, the top-speed cap (max_speed_mps + max_forward) you set in the driver YAML so set_speed_angle scales to a speed you chose. The motor neutral itself lives in the ESP32 firmware, so a creep at zero is usually the ESC neutral or drivetrain drag, not a value you tune here.
→ Motor trimMux (arbiter)
The mux_node in the driver, the arbiter that decides whether the autonomy channel (/drive) or the teleop channel (/gamepad_drive) reaches the motor. The Flysky switch arms manual or autonomy; mux only forwards when one of the two modes is armed.
O
Odometry
A pose estimate built from wheel encoders and the IMU. Useful for short-horizon dead reckoning, drifts over distance because of slip.
OSCORE
The custom Neobotics board in the chassis. ESP32-S3 robot controller that takes the LiPo in, fans out 5 V and 3.3 V rails, reads the onboard IMU, and runs the ESC + servo PWM. It is the board the driver talks to over USB-CDC.
→ OSCORE boardOSRbot
The Seeed Studio robot platform the NeoRacer chassis builds on, and the name the udev rules pin to. The Jetson sees the OSCORE board as /dev/osrbot_base, the USB webcam as /dev/osrbot_usb_cam, and the dot-matrix display as /dev/osrbot_led_matrix.
P
Pyodide
A WebAssembly build of CPython that runs in the browser. Lets the NeoRacer Playground execute the same Python student code the car runs.
→ racecar-neo-libraryR
racecar-neo-library
The Python module every student writes against. The rc.* namespace it exposes is identical on the browser sim and the physical car.
→ racecar-neo-libraryrc
The racecar object every program drives the car through. You create it with rc = racecar_core.create_racecar(), then call rc.drive, rc.lidar, rc.camera, and the rest. The same object works in the browser sim and on the physical car.
ROS 2
Robot Operating System 2
The middleware running on the Jetson. Sensors publish topics, your code subscribes, your code publishes drive commands, the actuators subscribe.
→ ROS 2 driverracecar (tool)
A shell wrapper the driver installs into the racecar user's bashrc. Common entry points: racecar teleop (full stack), racecar status (USB symlinks + running nodes), racecar setup networking (AP + Ethernet + lidar subnet), racecar service install/start, racecar selftest.
S
Static IP
Fixed access address
The car is its own Wi-Fi access point, broadcasting the network neoracer-[Car ID] (password neobotics). Once you join it, the car answers at the fixed address 192.168.1.[100 + Car ID] (Car 1 = 192.168.1.101), hostname neoracer, as user racecar. There is no DNS server and no name to resolve.
→ Wi-Fi can't connectServo center
A few degrees of trim, set as steering_trim_deg in config/controller.yaml, that points the front wheels dead ahead when your steering command is zero. Pinned per car because the steering linkage has a little slop.
→ Servo centerSLAM
Simultaneous localization and mapping
Building a map of an unknown space while tracking the car's pose inside it.
T
Topic
A named channel in ROS 2 (/scan, /imu, /drive). Publishers don't know who's reading. Subscribers don't know who's writing. The middleware does the routing.
→ ROS 2 driverW
Watchdog
A node supervisor in the driver. It tracks every node teleop brings up (controller, throttle, mux, gamepad, lidar, camera), restarts a dead one, and flags /imu or /scan if they go stale. The web dashboard at http://neoracer.local:8080 surfaces what it sees.
