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
rootpath. 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.joypython -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: mohd.omama@research.iiit.ac.in. For example,
- [DRNDEF-Data] Requesting LIDAR dataset for testing
- [DRNDEF-Data] Requesting pretrained models for testing