A comprehensive toolbox containing modular APIs and turnkey demos for autonomous driving using AutoDRIVE Ecosystem and MathWorks tool suite.
This section describes the MATLAB API for AutoDRIVE, which can be used to develop modular as well as end-to-end autonomous driving algorithms.
- Install the Java library:
-
Place the
WebSocket-1.0.0.jarfile on the static Java class path in MATLAB by editing thejavaclasspath.txtfile (create the file if it does not exist). Run the following in MATLAB Command Window:edit(fullfile(prefdir,'javaclasspath.txt'))
For example, if the location of the
jarfile isC:\AutoDRIVE-MathWorks\autodrive_matlab_api\lib\target\WebSocket-1.0.0.jar, then open the static class path file with the above command and add the full path to it. Make sure that there are no other lines with aWebSocket-*entry. You can refer to MATLAB's Documentation for more information on the static Java class path.After having done this, restart MATLAB and check that the path was read by MATLAB properly by running the
javaclasspathcommand. The newly added path should appear at the bottom of the list, before theDYNAMIC JAVA PATHentries. Note that seeing the entry here does not mean that MATLAB necessarily found thejarfile properly. You must make sure that the actualjarfile is indeed available at this location. -
[OPTIONAL] To build the
jarfile yourself, it is recommended to use Apache Maven (tested with version 3.8.1) with Java Development Kit (tested with version 8u411). Maven will automatically take care of downloading theJava-WebSocketlibrary and neatly package everything into a single file (an "uber jar") based on thepom.xml. Once themvncommand is on your path, simplycdto thelibdirectory and execute themvn packagecommand.
-
- Add the
autodrive_matlab_apidirectory to MATLAB path by right-clicking on it from MATLAB's file explorer and selectingAdd to Path→Selected Folders and Subfolders.
-
Execute AutoDRIVE MATLAB API:
autodrive = example_{vehicle}(4567)
Replace
{vehicle}by one of the available objects:roboracerfor RoboRacer (formerly F1Tenth)
-
Terminate AutoDRIVE MATLAB API:
autodrive.stop delete(autodrive) clear autodrive

