Drift Reduced Navigtion with Deep Explainable Features
- This code is tested for Ubuntu 20.04 (and Pop_OS 20.04) with ROS Noetic and CARLA 0.9.11
- Follow pep-8 guidelines
- Use VS-Code autoepep8 tool. Already included in the python package. Enable by ctrl+shift+i
- Everything shall be imported from the
root
path. To run a particular file as a script, do:python -m module.file
The repository contains three main modules: nn
, util
, and scene
. nn
contains the model architecture and training scripts. util
contains basic utility scripts for range image creation, ackermann control, etc. scene
contains scene configuration files required for inference.
To train a new model, you can run
python -m nn.train_drift --filename path/to/filenames.csv --epochs 500 --learning_rate 0.00001 --model_dir directory/to/save/model/at --batch_size 32
To run inference on CARLA Simulator, do the following aloam_velodyne
is required to run in the background for any of the three inference options. To run aloam_velodyne
, clone this repository and catkin_make
at the repository's root to build, as you would with any ROS workspace. Note, we have also ported the A-LOAM code to ROS Noetic. This is reflected in the noetic
branch.
roslaunch aloam_velodyne aloam_carla.launch
You can run any ONE of the following commands.
-
The following command will automatically control and drive the car:
python -m nn.carla_inference --drive --drive_infer --model_path path/to/trained/model.pth
-
The following commands will enable manual driving. The first command enables joystick driving, the second is calling inference with manual driving.
python -m util.joy
python -m nn.carla_inference --model_path path/to/trained/model --drive
For the lidar dataset and pretrained models, please drop a mail with a subject prefix [DRNDEF-Data]
at: [email protected]. For example,
- [DRNDEF-Data] Requesting LIDAR dataset for testing
- [DRNDEF-Data] Requesting pretrained models for testing