AIMS Lab

experiments with monocular SLAM on low cost hardware


During the fall 2020 semester, I performed undergraduate research with the Autonomous and Intelligent Multi-agent Systems (AIMS) Lab at Purdue. I was advised by Professor Mou.

My research was an independent project selected by me. From RC hobby experience, I had become familiar with low-cost, wireless analog video hardware. This hardware is very commonly used to allow pilots to fly their scale aircraft with a first person view by having a small camera and transmitter in the vehicle paired to a receiver and monitor at a base station next to the pilot.

The analog video hardware suffers from noise that digital systems have better immunity to, but it has incredibly low latency by comparison. For human pilots controlling a fast vehicle, this is a very acceptable trade-off, as humans can easily identify and ignore noise in an image. For a computer vision algorithm attempting to do the same, this noise dramatically increases the difficulty of the task.

I was very interested in using this technology to create cheap autonomous vehicles that are controlled from a base station. If these obstacles with noise were overcome, it would be possible to control a high speed vehicle in real time without requiring much payload capacity on the vehicle itself. This is from the heavy, power hungry computers being moved from the vehicle to a base station.

This has potential applications in mapping unknown environments, where a large vehicle with ample power and compute capability could serve as a slow moving base station that operates a number of cheaper, lighter, faster drones.

prototype This is the prototype I developed in the first half of the semester. The laptop is operating as a base station and is fully wireless from the car. The car’s original controller has been modified to transmit controls originating from an Arduino, which is connected to the computer via ROS. The car’s transmitted video is picked up by a receiver connected to the computer that provides an interface identical to a webcam. The Xbox controller is included to generate commands that are sent to the ROS network and forwarded onto the car. This demonstrates the functionality of the base station interface, which is capable of:

  • wirelessly sending commands to the vehicle
  • wirelessly viewing the vehicle’s camera

In the second half of the semester, I experimented with using ORB SLAM to create a map of the environment visited and also produce odometry for the car. Since the only signal coming from the car is the camera’s view, this is somewhat difficult since no direct 3D measurements can be made, and there are no other data, such as wheel encoder measurements, to compare against.

I first collected data and ran the algorithm with no changes to see what sort of issues were introduced from the analog video noise. I then looked at the output and attempted to qualitatively classify the different types of noise and their relative impacts on the algorithm. I developed prefiltering and noise rejection functions for the two most impactful types, then re-ran the algorithm to find significant improvement.

I collected a ground truth data set using a Qualisys motion capture system to compare to the algorithm output, and I made some brief comparisons before the end of the semester. Unfortunately, due to graduation requirements, I wasn’t able to continue performing research with Professor Mou on this project. Future work would include more rigorous testing of my modifications to ORB SLAM and integration of an exploration algorithm.