This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
projects:crazyflie:pc_utils:index [2012-09-16 21:12] macke |
projects:crazyflie:pc_utils:index [2021-06-24 16:52] (current) kimberly |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <WRAP center round important 60%> | ||
+ | This page has deprecated and will be archived. Please go to [[https:// | ||
+ | </ | ||
====== Crazyflie PC utilities ====== | ====== Crazyflie PC utilities ====== | ||
- | The Crazyflie PC utilities are developed using Python 2.7. The Crazyflie library is used from the command line tools as well as a graphical user interface. | + | The Crazyflie PC utilities are developed using Python 2.7. The Crazyflie library is used from the command line tools as well as a graphical user interface. For install instructions of PC side software please see [[projects: |
- | ====== | + | ====== |
- | The following has to be installed for the PC utilities to work: | + | The Crazyflie library can be used to easily integrate control and communication with the Crazyflie quadcopter into an application. Currently the only implementation is done in Python and can be found [[projects: |
- | * Python 2.7 | + | |
- | * pyGame | + | |
- | * PyUSB (0.X or 1.X) | + | |
- | * libusb | + | |
- | For the graphical | + | ====== List of applications ====== |
- | * Python bindings for Qt4 | + | ===== Crazyflie control UI ===== |
+ | The Crazyflie control UI is used to pilot the Crazyflie using a graphical | ||
- | ===== Installing on Fedora ===== | ||
- | The following has been tested on Fedora 16. Note that this will pull in a lot of dependencies. | ||
< | < | ||
- | sudo yum install pygame pyusb PyQt4 | + | usage: cfclient [-h] [--debug DEBUG] |
- | </ | + | |
- | ===== Installing on Ubuntu ===== | + | |
- | The following has been tested on Ubuntu 10.04 and 11.10. Note that this will pull in a lot of dependencies. | + | |
- | < | + | |
- | sudo apt-get install python2.7 python-usb python-pygame python-qt4 | + | |
- | </ | + | |
- | ===== Fix udev premissions on Linux ===== | + | cfclient |
- | In order to fix the permissions so it's possible to use the USB Radio without being root do the following steps. | + | |
- | < | + | |
- | sudo groupadd plugdev | + | |
- | sudo usermod | + | |
- | </ | + | |
- | Create a file named / | + | optional arguments: |
- | < | + | -h, --help |
- | SUBSYSTEM==" | + | --debug DEBUG, |
- | </ | + | set debug level [minimal, info, debug, debugfile] |
- | + | ||
- | Restart the computer and you are now able to access the USB radio dongle without being root. | + | |
- | ===== Installing on Windows XP/7 ===== | + | |
- | '' | + | |
- | + | ||
- | The following has to be downloaded/ | + | |
- | | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | + | ||
- | For the graphical userinterface to work the following is also needed: | + | |
- | * [[http:// | + | |
- | + | ||
- | ====== Graphical User Interface ====== | + | |
- | A userguide for the GUI application can be found [[projects: | + | |
- | + | ||
- | ====== Command line tools ====== | + | |
- | + | ||
- | ===== Install instructions ===== | + | |
- | Besides the common bindings nothing has to be installed. | + | |
- | + | ||
- | ===== Link driver model ===== | + | |
- | All command line tools used the same link diver model. The link driver to use in order to communicate with the copter is chosen with the '' | + | |
- | < | + | |
- | crazyclient$ python gamepadCtrl.py -h | + | |
- | CRTP Driver loader options: | + | |
- | --------------------------- | + | |
- | -l < | + | |
- | | + | |
- | + | ||
- | Unless otherwise specified the URI " | + | |
- | </ | + | |
- | + | ||
- | The available drivers are: | + | |
- | + | ||
- | * **%%radio:// | + | |
- | * **%%radio:// | + | |
- | * **%%radio:// | + | |
- | * **%%radio:// | + | |
- | | + | |
- | ==== gamepadCtrl.py ==== | + | |
- | + | ||
- | // | + | |
- | < | + | |
- | crazyclient$ python gamepadCtrl.py | + | |
- | </ | + | |
- | {{: | + | |
- | + | ||
- | The gamepad mapping is as follow: | + | |
- | ^ Control ^ Gamepad Key/axis ^ | + | |
- | | Pitch | LY | | + | |
- | | Roll | LX | | + | |
- | | Thrust | + | |
- | | Yaw rate| RX | | + | |
- | | Emergency stop | Ps button | | + | |
- | + | ||
- | + | ||
- | ===== crazyload.py ===== | + | |
- | + | ||
- | // | + | |
- | + | ||
- | To program a copter with a firmware compile in bootloader mode (see build environment documentation): | + | |
- | < | + | |
- | $ python crazyload.py -c flash cflie.bin | + | |
- | </ | + | |
- | Here // | + | |
- | + | ||
- | The bootloader is normally able to automatically reset the copter in bootloader and firmware mode. This functionality requires to know the CPU-ID of the copter (which can be recovered with the command line tool // | + | |
- | < | + | |
- | $ python crazyload.py -i 32: | + | |
</ | </ | ||
- | This command is an example that would work if the copter is currently running a crazyflie firmware with radio configured to channel 77. | ||
- | ===== getinfo.py | + | ===== Crazyflie headless client |
+ | The Crazyflie headless client is intended to be run on the Raspberry Pi (see [[misc: | ||
- | // | ||
< | < | ||
- | crazyclient$ sudo python getinfo.py -l radio://0/77 | + | usage: cfheadless [-h] [-u URI] [-i INPUT] [-d] [-c CONTROLLER] |
- | Detected CrazyRadio dongle version 0.32 | + | |
- | Channel 77 | + | |
- | Data rate 2M | + | |
- | CPU ID: 52: | + | optional arguments: |
- | Battery voltage: 3.764599V | + | -h, --help |
- | CrazyCopter version: 0.9.0 | + | -u URI, --uri URI URI to use for connection to the Crazyradio dongle, |
- | Copter class name: CrazyFlie | + | defaults to radio://0/10/250K |
- | CPU ID: 52: | + | -i INPUT, --input INPUT |
- | crazyclient$ | + | Input mapping to use for the controller, defaults to |
+ | | ||
+ | -d, --debug | ||
+ | -c CONTROLLER, --controller CONTROLLER | ||
+ | Use controller with specified id, id defaults to 0 | ||
+ | | ||
</ | </ |