Module2 - own
Please share your material / knowledge on the module2 topics with everyone. This page can be edited by both teachers and students.
Setup and configuration
If you happen to use an Ubuntu flavored GNU/Linux distribution, e.g. the one installed on the WASP diskdrive, the following steps are sufficient to get going with the cfclient and build/flash a firmware.
# Set up permissions
sudo groupadd plugdev
sudo usermod -a -G plugdev $USER
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="7777", MODE="0664", GROUP="plugdev"' \
| sudo tee /etc/udev/rules.d/99-crazyradio.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", MODE="0664", GROUP="plugdev"' \
| sudo tee /etc/udev/rules.d/99-crazyflie.rules
sudo udevadm control --reload-rules
sudo service udev restart
# install dependencies
sudo apt-get install python3 python3-pip python3-pyqt5 python3-pyqt5.qtsvg \
virtualenv virtualenvwrapper gcc-arm-none-eabi
# install cfclient
# Note: open up a new terminal from here-on. virtualenvwrapper installs
# commands which are not exposed to existing shells...
git clone https://github.com/bitcraze/crazyflie-clients-python.git
cd crazyflie-clients-python
mkvirtualenv cf -p /usr/bin/python3 --system-site-packages
workon cf
pip3 install -e .
# to launch cfclient from a new terminal window
workon cf && cfclient
# fetch and build the firmware source code
git clone https://github.com/bitcraze/crazyflie-firmware.git
cd crazyflie-firmware
git submodule init
git submodule update
make -j4
# flash firmware from new terminal window (crazyflie must be rebooted into the 'bootloader mode' for this to work)
workon cf && make cload
You can also use a Docker based build system like this.
docker run --rm -it bitcraze/toolbelt
git clone git@github.com:bitcraze/crazyflie-firmware.git
cd crazyflie-firmware
git submodules init
git submodules update
tb build
Source: https://www.bitcraze.io/2016/02/new-development-tool-the-toolbelt/ Links to an external site.
Inspiring Master's thesis - Oliver Montague Welton Dunkley, "Visual Inertial Control of a Nano-Quadrotor Links to an external site."
Modeling
Control
Reinforcement learning
Motion Planning
Automated Planning
VAL, one of the tools used in the task planning module, fails to compile on recent versions of GCC. To fix this, simply remove the compiler flag -Werror from line 23 in VAL/Makefile