|-- Blinking_window.py |-- Main.py |-- Tello3.py |-- fbcca.py |-- test_cca.py (only for testing) |-- sample.mat [input] |-- itr.py |-- fbcca.py |-- filterbank.py |-- y1_from_matlab.mat [test data] |-- y2_from_matlab.mat [test data] |-- ReceiveData.py (Under construction)
- Create a window that shows the blinking indicators
- Some core parameters:
- frequency : Control the frequency of the indicators
- POINTS : Control the position of the indicators
- FrameRate : The frame rate of your monitor (higher might be better)
- Conduct Filter Bank CCA
- Main function : fbcca_realtime, slightly different version since we don't conduct the fbcca in real-time.
- Core parameters:
- THRESHOLD : Define different threshold of different subjects, since different people might have a different response to the stimulus
- Reference Github: https://github.com/mnakanishi/TRCA-SSVEP
- interface to the Drone
- just use it!
- API Reference : Reference/Tello SDK Documentation.pdf
- Main function of the application
- Core parameters:
- Threshold : The threshold that controls how many time a certain command should accumulate before send out to the drone
- BUFFER_SIZE : Size of the buffers
- Filter : You can design your own filters
- power_line_frequency : target of the notch filter
- Now we receive the data from LSL protocol. But we might get it directly from the USB port through Cygnus_Kernel they build. However, the function is still under construction.
- Kernel Reference: Reference/API_V0.10.8.pdf
- Install
pip install -r requirement.txt
- Connect to the TELLO Wifi
- Open LSL data stream
- Open Blinking Window in one command window
python Blinking_window.py
- Open another CMD window and start main program
- CHECK!!!
- The Wifi of the TELLO will close once there's no any command in around 15 seconds, so check which wifi currently connected
- Make sure you receive ok as a response from the drone to ensure the drone is connected.
- Ctrl+C to end the program and the drone will land
- Ignore the error(200)
- All shown as below:
- Chen, Xiaogang, et al. "A high-itr ssvep-based bci speller." Brain-Computer Interfaces 1.3-4 (2014): 181-191.
- Chen, Xiaogang, et al. "High-speed spelling with a noninvasive brain–computer interface." Proceedings of the national academy of sciences 112.44 (2015): E6058-E6067.
- Nakanishi, Masaki, et al. "An approximation approach for rendering visual flickers in SSVEP-based BCI using monitor refresh rate." 2013 35th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC). IEEE, 2013.