Technologies

From Princeton Autonomous Vehicle Engineering

Jump to: navigation, search

List of common technologies PAVE is using, with applicable descriptions, troubleshooting tips and FAQs.


Contents

Languages

C#

C++

Libraries

OpenCV

Point Grey Library

.NET

Interprocess Communication Package (IPC) (All winning DARPA Challenge teams have used it)

Robotics Suites

Microsoft Robotics Studio (MSRS)

URBI

Player/Stage

Hardware

Delphi RADAR

Point Grey Cameras

 Bumblebee
 XB3
 Flea

Texas Instruments DSP board

Algorithms

State Estimation/Observers

Kalman filter--for a basic introduction to the theory [1]

Sigma point kalman filter--handles nonlinear systems, derivative free (eg you don't have to calculate a jacobian), square root versions are numerically stable and efficient [2]

Control Systems

Proportional Integral Derivative (PID) controller--how to make the steering wheel go to a desired angle [3][4]

Cross-track Controller

Path Planning

High level "Macro Planning"

Low level "Micro Planning"

Rapidly-exploring Random Trees (RRTs) seem to be the current favorite.

They are often paired with probabilistic roadmaps.

Caltech's nonlinear trajectory generation approach.

Lab group doing research into motion planning [5]. In particular look at OBRRT, OBPRM, and RRT for carlike robots. They drop hints about an OBPRM C++ library but I couldn't locate it.

Excellent list of links to various courses, topics, and code libraries related to motion planning.

Keneo is the company that does this in the real world. They use RRTs/PRMs or something similar. They have an SDK which might be useful.

A very comprehensive book covering many motion/path planning related topics, including RRTs, optimization, dealing with errors in the environment etc. A lot of academic discussions and few implementation/technical details.

Libraries

C++:

  • POSEMATH. Pose mathematics library for 3D pose manipulation. Probably not too useful.

Matlab:

Computer Vision

See [6] for a bunch of techniques

Of note, we use:

RANSAC--robustly fit a model to data, i.e., extract lane lines from lane points in a heat map

boosting--learns classification tasks, eg, car detection [7]

Scale Invariant Feature Transform (SIFT)--A feature descriptor that is all the rage in object recognition (can be used with the above)

Utilities

Mechanical Design programs

Main article: Inventor

Autodesk Inventor - Inventor is a solid body CAD development environment. It is relatively easy to use and learn. It allows for reasonably robust mechanism design as well. It can be downloaded for free by students at this location: http://students4.autodesk.com/?lbon=1

To run on Mac OS X or Linux, see Virtualization.

References

Personal tools