This repository is for hosting the Biotac SP sensors sofware released under the lgpl3.0 license. This repo is originally duplicated and modified from this repo
- 3x Biotac SP sensors
- Biotac Board
- micro-USB power cable for connecting the Biotac board
- Cheetah SPI host
- USB-B cable.
- Host pc
- Ubuntu Linux 18.04 LTS
- ROS Melodic installed and configured
Figure 1 shows the configuration setup
Figure 1: Biotac setup
$ sudo apt update & sudo apt upgrade -y & sudo apt dist-upgrade -y & sudo apt autoremove -y & sudo apt autoclean -y
$ sudo apt install build-essential git terminator
$ cd ~/catkin_ws/src
$ git clone https://github.com/RuihanGao/BioTacSP_setup
$ cd ~/Desktop/BioTacSP_ws/src/BioTacSP_setup
$ ./installCheetahDriver.sh
$ cd ~/Desktop/BioTacSP_ws
$ catkin_make
$ source devel/setup.sh
Run terminator (in slayer conda environment, which is installed with empy, rospkg, and opencv-python)
$ roslaunch biotac_sp_ros biotac.launch
4x data frames are colected per second. Each frame is composed follows the recommended Dafault sampling sequence.
Figure 2 shows the Default Sampling Sequence
Figure 2: Default sampling sequence
Table 1: Bandwidth and Sampling rate for Default Sampling Sequence at 4.4kHz
Figure 3 shows the Biotac SP electrodes distribution
Figure 3 Biotac SP electrodes distribution
The output is a vector of 163 columns where:
[time, E1_s01, PAC_s01, E2_s01, PAC_s01,...,E24_s01, PAC_s01, PDC_s01, PAC_s01, PAC_s01, TAC_s01, PAC_s01, TDC_s01, PAC_s01, E1_s02, PAC_s02, E2_s02, PAC_s02,...,E24_s02, PAC_s02, PDC_s02, PAC_s02, PAC_s02, TAC_s02, PAC_s02, TDC_s02, PAC_s02, E1_s03, PAC_s03, E2_s03, PAC_s03,...,E24_s03, PAC_s03, PDC_s03, PAC_s03, PAC_s03, TAC_s03, PAC_s03, TDC_s03, PAC_s03]
where:
s01 - sensor 1
s02 - sensor 2
s03 - sensor 3
With exception of the time, each of the values is the average of the individual values of the 4x frames collected during 1 sec.
Computational Neurosciences and Cognitive Robotics Group at the Nottingham Trent University.
Pedro Machado pedro.baptistamachado@ntu.ac.uk
Martin McGinnity martin.mcginnity@ntu.ac.uk
-
Connect BioTacSP & Cheetah
-
roscore
to enable rosnodes -
rosrun biotac_sp_ros biotac_sp_ros_single
to convert SPI data to rostopics -
rosrun biotac_sp_ros BioTacSP_calibrate.py
which waits for "calibrate" signal to compute DC offsets -
use
rostopic pub -1 /trigger_biotac_sp_calib std_msgs/String "calibrate"
to trigger caibration. The calibrated data are published in "/biotac_sp_pub_calib" -
In
slayer
conda environment, you can run:rosrun biotac_sp_ros BioTacSP_viz.py
, which displays the data in a pop-up windowrosrun biotac_sp_ros BioTacSP_viz_realtime.py
to see a real-time plot for pdc data. Currently limited to 1000 timesteps and one plot.rosrun biotac_sp_ros BioTacSP_viz_realtime_grid.py
TODO multiple plots for pac, pdc, ele, temperature + moving time window
-
Tips for setting up BioTac Labview visualizer on Windows,
- Use NI Package Manager to check the versions installed on computer. Don't just delete the files in folders
- Install LabView 2010 (32-bit), not 64-bit. The bit version depends on the computer that built the application (which is BioTac side), not the one that runs the application/program (which is your computer).
- Currently available software on SynTouch's website is only for BioTac (19 electrode), not BioTacSP (24 electrodes)