Minotaur is the controls software for our microrobots. It is being actively developed with the following goals in mind:
Please checkout the Projects tab for information about roadmap and current progress.
This repository has the googletest
submodule, clone with --recursive
or
be sure to run git submodule update --init
after cloning.
These will describe the steps for setting up an environment on Windows. This has been tested on Windows 10.
https://git-scm.com/download/win
https://www.python.org/downloads
Add Python 3.6 to PATH
Customize installation
ensure Add Python to environment variables
and
Precompiled standard library
are checkedhttps://www1.qt.io/download-open-source
MinGW 4.9.2 32 bit
g++.exe
and mingw32-make.exe
https://cmake.org/download
Add CMake to the system PATH
C:/Qt/tools/mingw492_32/bin
C:/Qt/5.6/mingw49_32/bin
git clone --recursive https://github.com/uwnrg/minotaur-cpp.git
cd minotaur-cpp
mkdir build
cd build
cmake
CMAKE_PREFIX_PATH
points to Qt: C:/Qt/5.6/mingw49_32/lib/cmake
PYTHON_INCLUDE_DIRS
points to Python headers: C:/Python36-32/include
PYTHON_LIBRARY
points to Python library: C:/Python36-32/libs/python36.lib
cmake .. -G "MinGW Makefiles" -DCMAKE_PREFIX_PATH="C:/Qt/5.6/mingw49_32/lib/cmake" -DPYTHON_INCLUDE_DIRS="C:/Python36-32/include" -DPYTHON_LIBRARY="C:/Python36-32/libs/python36.lib"
mingw32-make
minotaur-cpp.exe
include
and lib
directories to your System PATH orCMAKE_PREFIX_PATH
, PYTHON_INCLUDE_DIRS
and PYTHON_LIBRARY
as either environment variables or cmake
flagsg++
you can point it directly to the location in Build, Execution, and Deployment
QTDIR
environment variable to C:/Qt/5.6
cmake .. -G "MinGW Makefiles"
and mingw32-make
These will describe the basic steps for setting up an environment on MacOS. There may be issues if multiple versions of Python are installed on the system.
brew install python3
python3 --version
brew install opencv
Here you can either install CLion and import the project (recommended) or
git clone --recursive https://github.com/uwnrg/minotaur-cpp.git
cd minotaur-cpp
mkdir build
cd build
cmake ../ -DCMAKE_PREFIX_PATH=/path/to/qt/%VERSION%/clang_64/lib/cmake
make
And then run with ./minotaur-cpp
. Note that if you're using CLion, go to
Preference -> Build, Execution, Deployment -> CMake
and add the same CMAKE_PREFIX_PATH
argument.
CMake might have a hard time finding the correct Python version because Apple. Ping me @jeffniu22
if you've got any issues.
From a fresh install, you will need these packages
sudo apt install build-essential cmake python3 python3-dev qt5-default libudev-dev libopencv-dev
Additional dependencies
sudo apt install qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5-dev
If some packages cannot be found, you may need to run sudo add-apt-repository universe && sudo apt update
.
You will need to build OpenCV 3 from source. Download the OpenCV 3 source
and build. It is recommended to build with USE_QT=ON
instead of GTK.
Additional instructions found here.
Alternatively, if your computer is running amd64
architecture with Ubuntu 16.04, a prebuilt Debian
package can be found here. Note that additional
dependencies may be required.
Then clone the repository and build with
git clone --recursive https://github.com/uwnrg/minotaur-cpp.git
cd minotaur-cpp
mkdir build
cd build
cmake ../
make
And then run with ./minotaur-cpp
The default tracker uses the MIL model, and may be configured to use other
tracker models. However, using the GOTURN model requires downloading and
adding to the working directory the architecture descriptor file goturn.prototxt
and the pretrained model data goturn.caffemodel
. The latter is about 350 MB.
These files are hosted here. Once
acquired, add them to the working directory of the minotaur-cpp
binary or
in the CMakeLists.txt
directory.
Configure the CMake project with cmake -DNO_DEBUG=ON ...
Steps for running Minotaur with the microscope camera setup
./tcam_view
. On the tcam window, select an option in each dropdown menu. Make sure to close the window before continuingPlease refer to the Contributing Guidelines.
Minotaur, Copyright (C) 2016 University of Waterloo Nano-Robotics Group
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or(at your
option) any later version.
This program 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 GNU General Public License for more details.