Prepare

Before the kit arrives


Three things are worth having ready, because each of them can otherwise cost a day:

  • A space to drive in. A corridor, sports hall or laboratory bay with a closed loop bounded by walls or boards. Reactive controllers and SLAM both work from the LiDAR's view of vertical surfaces, so the circuit needs continuous boundaries rather than cones.
  • A network you control. The Jetson, the LiDAR and your laptop must reach each other. Many campus networks isolate wireless clients from one another, which silently breaks ROS 2 discovery — a small dedicated router or an Ethernet switch avoids a long argument with IT.
  • A charging and storage plan for the battery. A lithium-polymer pack needs a non-flammable charging surface, a safe storage voltage between sessions, and somewhere it is not left unattended on charge.

A laptop running Ubuntu 22.04 LTS with ROS 2 Humble installed is the most comfortable base station, because it can join the vehicle's ROS 2 graph directly and run RViz2 against live topics. Any machine with an SSH client will get you started.

Bring-up

Nine steps to a first autonomous lap


  1. Unpack and inspect the vehicle

    Lift the vehicle out by the chassis, not by the equipment deck. Check that the LiDAR, the Jetson Orin Nano, the VESC 6 MkIV and the AE170 power board are all seated, that connectors are latched, and that nothing has worked loose in transit.

  2. Charge the 3S battery

    Charge the 3S lithium-polymer pack on the supplied balance charger, on a non-flammable surface, and never unattended. For desk work, power the vehicle from a wall adapter through the AE170 board's DC jack instead, so the traction pack is reserved for driving.

  3. Power the vehicle

    The AE170 power board has two switches. SW1 selects the source — VJACK for the wall adapter, VBAT for the battery. SW2 is power on and off. Set SW1, then switch SW2 on; the board brings up 19 V for the Jetson, 12 V for the LiDAR and 5 V for accessories. With SW2 off, SW1's position is immaterial to the circuit.

    Wheels off the ground for this first power-up. A motor configuration that is still being checked should not be able to launch the vehicle across the room.

  4. Connect to the Jetson

    Put the vehicle and your laptop on the same network and open a shell on the Jetson over SSH. Where Software Setup / Technical Support was included, Ubuntu 22.04 LTS with NVIDIA JetPack is already installed and the ROS 2 environment is already configured, so there is no flashing step. Otherwise, flash JetPack and install ROS 2 first.

    ssh <user>@<vehicle-address>

    The credentials and hostname supplied with your vehicle are the ones to use here. Change the password before the vehicle goes onto a shared network.

  5. Verify the ROS 2 graph

    Start the vehicle launch file supplied with the kit, then confirm the graph is healthy before trusting anything above it:

    ros2 topic list ros2 topic hz /scan ros2 topic echo /scan --once

    You are looking for the LiDAR publishing sensor_msgs/LaserScan at roughly 40 Hz, odometry arriving from the VESC, and a complete transform tree. On the laptop, open rviz2, add a LaserScan display and watch the room appear as a 270° arc of points. If the scan looks right and odometry moves when you push the vehicle, the hardware layer is sound.

  6. Drive under teleoperation first

    Before any autonomy, drive manually in an open space. Confirm that steering goes the way you expect, that throttle response is sane, and — most importantly — that the emergency stop works from wherever the operator will be standing.

    Agree who holds the stop control before the first autonomous run, and keep that person's only job the stop control.

  7. Build a map with SLAM

    Drive slowly around the closed circuit while a SLAM package builds an occupancy grid from the LiDAR scans — slam_toolbox and Cartographer are both well travelled on this platform. Save the map once the loop closes cleanly.

    On subsequent runs, localise against the saved map with a particle filter rather than re-mapping. That is what makes lap times comparable between sessions, and it is the foundation every path-tracking controller builds on.

  8. Run a first autonomous lap

    Start with a reactive controller that needs only the raw scan — wall following or follow-the-gap — with a conservative speed limit. These are the traditional first algorithms on a RoboRacer / F1TENTH vehicle precisely because they need neither a map nor a localiser, so a failure has only one place to hide.

    Record everything:

    ros2 bag record -a -o first-lap

    A recorded run can be replayed against a modified controller offline, which turns a scarce resource — track time — into a repeatable test.

  9. Move to planning, control and learning

    With mapping and localisation working, the platform stops being the constraint. The usual progression is pure pursuit path tracking on a recorded raceline, then Frenet-frame local planning for overtaking, then model-predictive control once a vehicle model has been identified from the logs.

    Learned policies are trained in the f1tenth_gym simulator and transferred to the vehicle, with inference running on the Jetson's Ampere GPU through PyTorch or TensorRT. Because simulator and vehicle expose the same ROS 2 interfaces, the transfer is a change of machine rather than a rewrite.

Operating safely

Safety practices worth adopting on day one


A 1:10-scale vehicle at ten metres per second carries real energy, and a lithium-polymer pack carries more. None of the following is onerous; all of it is easier to adopt before an incident than after.

Battery

Lithium-polymer handling

  • Charge on a non-flammable surface, never unattended
  • Balance charge; stop using a pack that has puffed or been damaged
  • Store at storage voltage, not fully charged, between sessions
  • Use a bench supply through the DC jack for desk work
Vehicle

Running the car

  • Wheels off the ground for every first power-up after a change
  • One person on the emergency stop, with no other task
  • Speed limits in software before speed on the track
  • Bystanders outside the circuit, not inside it
Electrical

Power and wiring

  • Respect the AE170 rail totals — 19 V at 3 A, 12 V at 2 A, 5 V at 1 A
  • Switch SW2 off before changing any connector
  • Check strain relief after crashes; intermittent faults start here
  • Consult the power board manual before adding loads

Diagnostics

Common first-week problems


Nothing powers up

Check SW2 first, then SW1 against the source you are actually using — a battery plugged into J9 with SW1 set to VJACK is the classic version of this. Confirm the pack is charged; a 3S pack that has been sitting at storage voltage will not hold up the 19 V rail under load.

The Jetson resets when the motor spins up

This is a power problem, not a software one. Motor current draw is pulling the shared supply down. Confirm you are within the AE170 rail totals, that any devices you have added are on the correct rail, and that the battery is healthy under load rather than merely charged.

No LiDAR scan on the topic

The Hokuyo unit is an Ethernet device with its own address. Confirm the 12 V rail is up, that the vehicle can reach the scanner's IP address, and that the network interface on the Jetson has not been reconfigured by a network manager that thinks it knows better. ros2 topic hz /scan distinguishes "no publisher" from "publishing slowly".

The laptop cannot see the vehicle's topics

Almost always network isolation or a domain mismatch rather than ROS 2 itself. Check that both machines are on the same subnet and that client isolation is off, then that ROS_DOMAIN_ID matches on both sides. Campus wireless is the usual culprit; a dedicated router is the usual fix.

Odometry drifts badly during mapping

Wheel odometry on a racing chassis is optimistic — tyres slip. Drive the mapping lap slowly and smoothly, let the SLAM package close the loop, and rely on scan matching rather than dead reckoning. Aggressive driving is for after the map exists, not during its construction.

Still stuck? Software Setup / Technical Support includes remote hardware and software technical support for up to 60 days after delivery. Contact the Ambimat Electronics team, or ask the wider community through the RoboRacer Slack workspace and the f1tenth GitHub organisation.

Where to go next


Full specifications

Rails, connectors, compute, sensor and software versions in one reference table.

Open specs

Power board files

Open-source schematic, Gerber, DXF and bill of materials for the AE170 PDU, plus the user manual.

Open resources

Use cases

How universities, competition teams and research laboratories put the platform to work.

Read use cases