Robotic Go-Kart

From XinCheJian
Jump to navigation Jump to search

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:

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

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

Image processing steps

See also