Skip to content

Commit 85c9e51

Browse files
committed
wip
1 parent 1bc7c88 commit 85c9e51

1 file changed

Lines changed: 26 additions & 6 deletions

File tree

README.md

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The python scripts are :
66
- [Send_angle_params](#send_angle_params)
77
- [Visualization](#visualization)
88
- [Validate](#validate)
9-
9+
1010
## Installation
1111
Prerequisites:
1212

@@ -21,12 +21,23 @@ Follow this flow chart in order to find which script to run depending on your ne
2121
This script enables the user to extract the raw DW1000 data from the HiveBoard/BeeBoards assembly. The test-bench will turn by a chosen stepping angle and acquire the desired amount of raw data per step.
2222
#### Hardware setup
2323
- Place a BeeBoards assembly in the middle of the test-bench. The 0deg axis of the assembly needs to point in a parallel fashion to the mounted laser pointer.
24+
- The **assembly** is described as :
25+
- The BeeBoard mount
26+
- The 3 wings boards
27+
- The 3 USC-C cables
28+
- The HiveBoard
29+
- The channel used for each BeeBoard.
2430
- The BeeBoards have to be connected to a HiveBoard mounted to the test-bench using the same cable and ports as labeled on the assembly. If the cables and assembly are not indicated be sure to note which BeeBoards are used, plugged with which cables and in which channel on which HiveBoard. **The calibration will only be valid for this configuration and has to be completly re-performed if any of this component is changed or plugged differently.**
31+
- The BeeBoard assembly should be mounted as follow:
32+
2533
- Connect power and communication interface to the HiveBoard.
34+
- Ensure the HiveBoard has the latest version of the [HiveMind](https://github.com/SwarmUS/HiveMind)
2635
- Connect a usb cable to the Arduino.
2736
- Connect power to the drive submodule (red = 12 V, white = ground)
2837
- To align the receiver with the emmiter, use the laser pointer. Each laser should point to the alignment target of the other laser assembly. This position ensures a 0 degree relative orientation between the two radio setup.
29-
- The laser mount should be calibrated periodicly to ensure its position and accuracy,
38+
- The laser mount should be calibrated periodicly to ensure its position and accuracy.
39+
- Press button 0 on the emmiter to enable the continuous sending mode.
40+
- Ensure that nothing is between the emmiter and the BeeBoard assembly (ensure line of sight).
3041
#### Runnning the script
3142
The script can be run from `/src/extractRawData`.<br />
3243
Requires the [TestBench-Arduino](https://swarmus.github.io/SwarmUS-doc/) code to be installed on the test-bench's Arduino in order to be interfaced.
@@ -56,13 +67,15 @@ Parses and presents the PDOA values from the previously acquired raw data (from
5667
The script can be run from `src/parser`.
5768
#### Adjustable parameters
5869
`dataFolderPath` : folder path where the extracted raw data CSV produced by [ExtractRawData](#pxtractRawData) has been saved.<br />
59-
`dataName` : name of the file to parse the data from.<br />
60-
`usedPairs` : the antenna pairs to be used. Encoded as follow :<br />
70+
`dataName` : name of the file to parse the data from, without the extension.<br />
71+
`usedPairs` : the antenna pairs to be used. Use 0,1 and 5 for default operation. Encoded as follow :<br />
6172
<pre><code> pair 0 = antenna 0 - antenna 1<br />
6273
pair 1 = antenna 0 - antenna 2<br />
6374
pair 2 = antenna 1 - antenna 0<br />
64-
....<br />
75+
pair 3 = antenna 1 - antenna 2<br />
76+
pair 4 = antenna 2 - antenna 0<br />
6577
pair 5 = antenna 2 - antenna 1<br /></code></pre>
78+
Refer to the [angle documentation](https://swarmus.github.io/SwarmUS-doc/sections/reference/Interloc/how_it_works/angle/) for a better understanding of the antenna pairs and their selection.
6679
`EXPORT_PDOA` : `True` will prompt the second set of plots (slopes extraction) and save the calibration result in a **pickle** format.
6780
#### Behavioral descriptionand user interaction
6881
Upon runnning the script, the first plot to appear will ask the user to select points from which to offset the whole dataset. Theoretically, the plot should represent a **sin** wave, the offset in this section will prevent the signal from wrapping over 2&pi;and under 0. If the **sin** is not wrapping, no points need to be selected, as no offset needs to be applied, simply close the plot.The points selected should then be the very bottom of a **sin** *parabola* section. Also, to obtain a better estimation of the offset needed, it is possible to select the very bottom of the *parabola*, and a top of this *parabola* that has wrapped over. Many points can be selected, the mean of the *y axis* will be used as the offset. This process has to be repeted for the number of `usedPairs` selected. Here is an exemple of the process.<br />
@@ -147,4 +160,11 @@ Similarly to [ExtractRawData](#extractRawData), the *TurningStation* will turn b
147160
analyze_validation("../data/validation_hb6.csv")
148161
```
149162
#### Note
150-
Communication with the HiveBoard is done using the [Pheromones submodule](https://github.com/SwarmUS/Pheromones). If communication problems occur, ensure that the version used by the script is the same as on the HiveBoard.
163+
Communication with the HiveBoard is done using the [Pheromones submodule](https://github.com/SwarmUS/Pheromones). If communication problems occur, ensure that the version used by the script is the same as on the HiveBoard.
164+
165+
166+
167+
168+
# TODO
169+
image pour le mount dans quelle orientation
170+

0 commit comments

Comments
 (0)