Software to control a car for the QUT Droid racing Challenge (DRC)
video streams run on port 8080
install OpenCV (libopencv-dev) and Eigen (libeigen3-dev) from apt
install https://github.com/nadjieb/cpp-mjpeg-streamer
if running on a raspberry pi install https://github.com/joan2937/pigpio i gave up on using cmake properly so just hardcode the include path (found in install_manifest.txt) in the include_directories on line 28 and add the lib path to LD_LIBRARY_PATH, if pigpio wants sudo add the ld library path export to bashrc so sudo gets it
if running on jetson cmake should automatically setup https://github.com/pjueon/JetsonGPIO
build with cmake and pass either -DForPI=ON or -DForJetson=ON or neither to use mocks
main.cpp
: runs the vision pipeline from a camerareplay.cpp
: runs the vision pipeline on a videovision
: main vision processing, generates a map of the track and gets a path, calls all other modulesarrow
: detect and classify arrowscamera
: functions to calculate a perspective transformcomm
: communicates with computer for manual control using udpconfig
: hot reloading config filecontroller
: communication with hardware to control motors/servos and to get sensor datacontrollers/
: hardware specific controller implementationobsticle
: detect obstacles (other cars and boxes)pathing
: functions for planning a path given a mapstreamer
: streams debug views over http