Berg, Forrest Bradly (2016-08). Lane Keeping and Pedestrian Avoidance for a Vision-Based Autonomous Test Vehicle. Master's Thesis.
This thesis presents an experimental platform for the demonstration and testing of autonomous lane keeping and pedestrian avoidance through the use of a test vehicle equipped with an Xbox Kinect 2.0 for vision--based detection. The test vehicle is a 1/5th--scale electric remote control car customized for autonomous steering and drive motor control through the use of an Arduino Mega 2560. A proportional derivative (PD) steering controller running on the Arduino receives position commands from a laptop via serial communication. These commands are generated on the laptop based on an analysis of images captured from the Kinect. On the laptop, the program, Processing, is used to identify the colored boundaries of the path the vehicle is traveling, calculate the position of the center of that path, find the position error of the test vehicle relative to the center of the path, and then send that error to the Arduino to calculate a corrective steering command. In addition to lane keeping, the test vehicle is capable of pedestrian detection and avoidance through the use of body tracking libraries written for the Kinect in Processing. Once a human body is detected and tracked, the position of each foot is checked relative to the boundaries of the path. If the pedestrian is located inside of the path boundaries, then the test vehicle stops and waits for the person to leave the path. The PD controller for the steering servo was tuned empirically, and after tuning, the vehicle was consistently able to autonomously navigate a curved path of variable width with an error of less than 75 pixels (5cm). The pedestrian--avoidance algorithm worked successfully in conjunction with the lane keeping algorithm. However, the body tracking libraries for the Kinect demonstrated a 40% failure rate for body detection when the test vehicle and the Kinect were in motion.