Research Article

Automated Testing of Ultrawideband Positioning for Autonomous Driving

Algorithm 1

(1)class Car {
(2) //Apply brake and wait until the car has stopped
(3)def stopCar(): Unit = {…}
(4) //Send the next trajectory part to the car and wait until
(5) //it is almost finished. Returns true if the maximum difference
(6) //between the UWB and RTK-SN position stayed below 1 m
(7)def runSegments(route: List[RpPoint]): Boolean = {…}
(8) //Drive the car back to its initial position and wait until it
(9) //arrives. Returns true if successful, false otherwise.
(10)def runRecoveryRoute(ri: RouteInfo, carRoute: Int): Boolean = {…}
(11) //Add a fault to one of the probes
(12)def addFault(probe: String, faultType: String,
(13)  param: Double, start: Int, duration: Int): Unit = {…}
(14) //Clear all faults
(15)def clearFaults(): Unit = {…}
(16) //Set the UWB position equal to the RTK-SN position
(17) //in order to start from a known state.
(18)def resetUwbPosNow(): Unit = {…}
(19)}