Robotic Go-Kart
Contents
Goals
- Short-term: build an affordable high-performance mobile robotic platform
- Mid-term: build a cyber-electro-mechanical design able to race Go-Kart tracks
- Long-term: create a robotic version of the Karting World Championship
System overview
- Processing
- ARM-based CPU
- FPGA image pre-processing
- Sensors
- Accelerometers
- Optical displacement measurement
- Stereoscopic vision
- infrared collision detection
- Motor-control
- Gaz-powered Go-Kart with electronic controls (fly-by-wire)
Short-term challenge overview
General public go-karts typically don't exceed speed of more than 24 km/h. Rounding up to 30km/h, for a sensors/actuators systems to be able to handle sufficient control within a tolerance of 0.15m, it must complete a full processing loop over 60 times per second.
(30*1000/3600) = 8.3m/s (8.3/0.15) = 56Hz
Cameras such as the MTV9V032 by Micron can generate approximately images 60 times per second. Taking into account the lag and overhead of processing the image, this is far below the ability of the car to react quick enough so sensor fusion (accelerometers, optical measurement of movement) and prediction in the short-term is needed to ensure that the vehicule stays within the targeted tolerance.
Learning
These are the subjects related to this project in the order to learn them:
- Computer Vision
- C/C++ Programming
- FPGA programming
- ARM development
- Robotic control
- PID
Tutorial on specific technologies:
- OpenCV
- Digital logic
- FPGA
- Altera Quartus IDE
- Verilog
Learning Challenges:
- Vision
- Load video images frame by frame into memory
- Write a simple image filter applied to video
- Track a tennis ball in real-time
- Process sample racetrack video to extract racetrack borders features
- FPGA
- Create a simple "hello world" FPGA design (LED Sweeper)
- Capture image from image sensor
- Apply an FPGA image filter in real-time
- ARM development
- cross-compile OpenCV to ARM
Vision subsystem
Camera selection
Criteria:
- 60fps+
- Monochrome
- Provides better low-lux sensivity and conversion to grayscale is a typical step in AI
- Wide-angle lenses system providing 180+ degrees field of view
- Can be achieved with miniature fish-eye lenses
- Could also be achieved by overlapping FOV for both cameras (angled)
Proposed camera
Micron MTV90V32 CMOS Image Sensor and specifically the MT9V032C12STM ES 48-pin CLCC (mono) from Aptina.
Features:
- 60fps refresh rate
- 0.1Lux light sensitivity
- built-in stereoscopic support
- available on Taobao at around 150RMB (24$USD) * 2 = 300RMB (48$USD) + optics