My graduate student, Shobit Sharma was featured in this article http://www.flintside.com/features/engineering-the-future-of-the-road.aspx. The original article is archived here for a future reference.
Year: 2017
Simulation of Self-Driving Car on TORCS
We trained a CNN model to predict steering angles from the visual input. Here is an example of our accomplishments.
We used the same CNN model on a different track to show the flexibility of this approach. The followings show as successful driving on a different track from one where the model was trained.
Source code can be found at https://github.com/jrkwon/mir_torcs
Self driving car using a simulator
Unlike TORCS, Euro Truck Simulator 2 is a commercial product. The regular price is around $20. But as in the article below, an open source project, europilot (https://github.com/marshq/europilot) helps us to capture data for training.
A curated list of things related to self-driving car
Alias for USB serial devices
We can use /dev/lidar instead of /dev/ttyUSB#. Refer the followings.
- http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/
- http://www.joakimlinde.se/microcontrollers/arduino/avr/udev.php
OpenCV 3.1.0 install on Jetson TX1
I used following references.
- Installation of opencv-3.1.0 on Jetson TX1 [here]
- Installing OpenCV 3.1.0 [here]
- minhoolee/install-opencv-3.1.0.sh [here]
- dselivanov/scripts-ubuntu-debian [here]
Uninstall the current OpenCV
- $ sudo rm -rf /usr/local/include/opencv
- $ sudo rm -rf /usr/local/include/opencv2
- $ suro rm -rf /usr/local/lib/python2.7/dist-packages/cv2.*
- $ suro rm -rf /usr/local/lib/python3.5/dist-packages/cv2.*
- $ sudo rm /usr/local/lib/libopencv_*
You need to change the Python version numbers if you are using different ones.
Keep Ubuntu up to date
- $ sudo apt-get -y update
- $ sudo apt-get -y upgrade
- $ sudo apt-get -y dist-upgrade
- $ sudo apt-get -y autoremove
Install development libraries
- # Add universal repository to Ubuntu
- $ sudo apt-add-repository universe
- $ sudo apt-get update
- # Some general development libraries
- $ sudo apt-get install -y build-essential make cmake cmake-curses-gui g++
- # libav video input/output development libraries
- $ sudo apt-get install -y libavformat-dev libavutil-dev libswscale-dev
- # Video4Linux camera development libraries
- $ sudo apt-get install -y libv4l-dev
- # Eigen3 math development libraries
- $ sudo apt-get install -y libeigen3-dev
- # OpenGL development libraries (to allow creating graphical windows)
- $ sudo apt-get install -y libglew1.6-dev
- # GTK development libraries (to allow creating graphical windows)
- $ sudo apt-get install -y libgtk2.0-dev
- # Install unzip and wget
- $ sudo apt-get install -y unzip wget
Download and install OpenCV
- # Download
- $ cd ~/Downloads
- $ wget https://github.com/opencv/opencv/archive/3.1.0.zip
- # Unzip
- $ unzip 3.1.0.zip
- $ rm 3.1.0.zip
- # Prepare for building
- $ cd opencv-3.1.0
- $ mkdir build $ cd build
- # Building
- $ cmake -DWITH_CUDA=ON -DCUDA_ARCH_BIN=”5.3″ -DCUDA_ARCH_PTX=”” -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCUDA_FAST_MATH=ON ..
- $ make -j4
- $ sudo make install
- # Setup
- $ sudo /bin/bash -c ‘echo “/usr/local/lib” > /etc/ld.so.conf.d/opencv.conf’
- $ sudo ldconfig
OpenCV issues in Anaconda
When an error message is shown from a python code using cv2 (opencv), the message is most likely misleading. The message is saying nothing but something is wrong. All the details in the message are not what you need to do to fix the problem.
I had issues with VideoCapture and imshow. The error messages look explanatory but they are not. All problems were stemmed from a python wrapper package that I installed through pip.
$pip uninstall opencv-python
Your conda must have one opencv version. In my case, the version is 3.2.0 that was built from source code where I enabled FFMPEG to fix VideoCapture problem.
We are about to get a Chevy Bolt EV.
The AutoDrive Challenge™ donation Chevy Bolt EV’s are in final stages of inspection and completion prior to being shipped to you!
Autodrive Challenge
Kettering University is proud to be one of eight schools nationwide to be selected to participate in the Autodrive Challenge.
Kettering University is one of eight universities around the world selected to participate in the Society of Automotive Engineers’ (SAE) AutoDrive™ Challenge – an international autonomous vehicle competition.
This newly established, three-year competition will task faculty and students at some of the world’s top universities with developing and demonstrating a fully operational autonomous driving passenger vehicle. The technical goal of the competition is to navigate an urban driving course in an automated driving mode by year three.
https://news.kettering.edu/news/kettering-university-selected-participate-international-autonomous-vehicle-challenge
Kettering is the only university in the country with an industry-standard proving ground physically located on its campus. Phase one of the Kettering University GM Mobility Research Center (MRC) was completed in the fall of 2016 and phase two is scheduled to be completed in 2017.