This repository contains all code, schematics and construction instructions for the paper "V-TRAD: A Visually-Augmented Testbed for Research in Autonomous Driving" submitted to the short paper track of "Mensch und Computer 2025".
If you find our work useful, please consider citing:
@article{auerbach2025vtrad,
title={V-TRAD: A Visually-Augmented Testbed for Research in Autonomous Driving},
author={Auerbach, Paul and Klamka, Konstantin},
journal={Mensch und Computer 2025 (MuC ’25)},
year={2025}
}
The repository contains three folders. The folder "construction" contains the Autodesk Inventor projects and STL files for the 3D printed mounts of the vehicles. The folder "hardware" contains the KiCAD project for the custom PCB of the vehicles. The folder "software" contains the software running on the vehicles and the software running on the host PC organizes as ROS2 workspaces.
V-TRAD\
construction\
# contains STL files
hardware\
# contains KiCAD project for PCB
software\
car_software\
# contains ROS2 workspace to run on the model vehicles
host_software\
# contains code for the three scenarios of the paper to run on the workstation
To get started with using the setup:
- Build as many vehicles as you need according to the Building Instructions below
- Attach unique configurations of OptiTrack tracking markers to each car body
- Follow the Installation Instructions in the
software/car_softwarefolder to setup the cars - Connect the beamer setup to the workstation PC
- Connect the workstation PC to the same PC as the PC running the OptiTrack Software
- Navigate to the
host_softwarefolder and follow the Install instructions there - Start one of the three scenarios in the
host_softwarefolder
The tracking setup consits of multiple OptiTrack cameras mounted above the lab area. They are connected to a PC running the OptiTrack Motive Software through a PoE network switch.
In the Motive software streaming output for each car needs to be enabled. The output should happen through Multicast and be configured for the same multicast address and the one in the configuration file in software/host_software/launch/mocap.yaml.
In our setup we utilize 2 OptiTrack Prime x22 cameras and 4 Prime x13 cameras.
The visualization is realized with two projectors mounted above the lab space facing downward. They are combined using an edge blending device to a single output source. To setup the projectors and the edge blender follow the instructions on the edge blenders support page
In our setup we utilize two Optoma ZU507TST projectors and a Geobox UD102 edge blending device.
To build the pointing device described in the paper one Playstation Navigation Controller and at least 4 OptiTrack markers are needed. The markers should be placed near the top of the controller for optimal tracking. After that a rigid body has to be defined in the Motive software for this marker arrangement and its coordinate system axis have to be align to the physical controller. The streaming output of this rigid body has to be enabled in Motive and the matching configuration of the streaming id has to be set in the software/host_software/launch/mocap.yaml file.
| Name | Price (EUR) |
|---|---|
| Model Car WlToys K989 | 60.00 |
| Pi Zero 2W | 16.00 |
| Custom PCB | 6.00 |
| Encoder Disc (Pololu Magnetic Encoder Disc for 20D mm Metal Gearmotors, OD 9.7 mm, ID 2.0 mm, 12 CPR) | 0.70 |
| Hall Effect Sensor (TLE4946-2L) | 0.78 |
| DC DC Converter (Pololu S13V20F5) | 9.40 |
| Magnetic Holders | 3.00 |
- Remove the middle holding bracket by removing the connectors to the original electronics and these 5 screws

- Remove the screws holding in the motor mounting bracket

- Remove the steering axle by carefully prying it from the servo motor and remove the wheel attachments the same way, two on the front axle and four on the rear axle

- Open up the front and rear differential covers by removing the four screws around each of them

- Carefully remove the central drive rod and motor assembly
- Remove the spur gear of the drive shaft using a pinion gear pully

- Insert the magnetic encoder disk over the drive shaft
- Reinstall the spur gear
- Place the drive shaft and motor back in their original place
- Close up the differential housings with their respective screws.
- Secure the motor mount again with the original two screws.
- Reinstall the wheel attachment on the front and rear axle and attach the steering axle back onto the servo motor
- Assemble the custom PCB located in the hardware folder
- Print the files Raspi-Halter.stl and Hall-Sensor-Halter.stl
- Insert M2 heat set inserts into the Hall-Sensor-Halter

- Disassemble the car to remove the long mounting bracket by removing the 5 screws circled in the picture and removing the original electronics from the bracket by removing its two screws.

- Mount the PCB to the Raspberry Pi using M2.5 standoffs and M2.5 Screws
- Mount the holder to the Raspberry Pi using another set of M2.5 screws

- Mount the Hall Effect Sensor in the Hall-Sensor bracket.
- Place the Hall Sensor bracket below the long original bracket and the Raspberry Pi Holder above it and screw them loosly with M2 screws.
- Place the whole assembly on the vehicle and align the Hall Sensor with the magnetic encoder disk
- Carefully remove the assembly again and tighten the M2 screws.
- Mount the whole assembly again on the vehicle and screw the 5 original screws back in
- Print the files Adapter_hinten.stl and Adapter_vorn.stl
- Place the magnetic holder in the gap of the printed piece and thread a M2 screw through them

- Secure the screw with a nut on the other side
- Repeat the same procedure for the other holder
- Remove the original holders by removing the two screws from each holder

- Insert the newly assembled holders in place of the original ones and secure them with the original screws
- Print the body located in the
constructionfolder - Glue the magnets of the magnetic holders in to body
- Attach the body magnetically to the car


