This project implements three modes of control used to navigate indoors. These modes can be used to carry out a tour of a building using on floor line navigation, colored object following, and manual control. More about this project can be found on our website at https://tourdrone.github.io. Demos of the project working, as well as some of our attempts along the way, can be found at https://www.youtube.com/channel/UCb4gyYxqb0HRZoYWGTBV6GA.
- FFMPEG
- OpenCV
The code runs on Ubuntu 16.4.01 LTS, which can be loaded and run using VMware Fusion. Additionally, this project runs on a Raspberry Pi 3.0, again using Ubuntu 16.4.01 LTS. It is intended as a Linux install.
git clone --depth 1 https://github.com/tourdrone/cvdrone.git
cd cvdrone
cmake .
make [testing | drone]
Run the drone executable from the bin folder.
Keyboard input is used for control. Wii Remote input can be co-opted as keyboard input using the cwiid library. For control to work, the image window must be selected (this is the default).
Takeoff/Land: Spacebar
Set Speed: 0 to 9
Increase Speed: +
Decrease Speed: -
Switch Modes: v
Select Manual Mode: b
Select Object Following Mode: n
Select Line Following Mode: m
Up: q
Down: a
Forwards: t
Backwards: g
Left: f
Right: h
Rotate Left: r
Rotate Right: y
Learn Object Color: l
Learn Line Color: l
This project was originally forked from https://github.com/tekkies/cvdrone. We have included the license in that readme.
This is free software; you can redistribute it and/or modify it under the terms of EITHER:
(1) The GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The text of the GNU Lesser General Public License is included with this library in the file cvdrone-license-LGPL.txt.
(2) The BSD-style license that is included with this library in the file cvdrone-license-BSD.txt.
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files cvdrone-license-LGPL.txt and cvdrone-license-BSD.txt for more details.