Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • RTIS Network RTIS Network
  • Project information
    • Project information
    • Activity
    • Members
  • Wiki
    • Wiki
  • Activity
Collapse sidebar
  • RTIS Software
  • RTIS NetworkRTIS Network
  • Wiki
  • Home

Home · Changes

Page history
Create home authored Jul 17, 2021 by Wouter Jansen's avatar Wouter Jansen
Hide whitespace changes
Inline Side-by-side
home.md 0 → 100644
View page @ 582cc23d
# RTIS Network General Usage
### A. Configuration
All configuration is done on the RTIS Server side. There are two configuration file types:
- [serversettings.json](Config/serversettings.json)
- [DSP Config folders](Config/DSPFiles)
The [serversettings.json](Config/serversettings.json) contains all the main settings for the Network. It must always have that name and be located in the *Config* folder.
Here is a more detailed explanation of each parameter:
```json
{
"serverIp" : "127.0.0.1", [string, The IP of the RTIS Server on which to host it]
"applicationIP": "127.0.0.1", [string, The IP of the application on which to connect to it]
"log" : 2, [integer, Disable or configure log files. 0=off, 1=only warnings and errors, 2=includes info, 3=includes debug]
"debug": 0, [integer, Disable or configure debug mode where RTIS Sync is simulated.. 0=off, 1=on]
"ntpEnable" : 1, [integer, Disable or enable the NTP Server. Best turned off if internet is available on the network. 0=off, 1=on]
"ntpPort": 65450, [integer, Port on which to host the NTP Server.]
"syncPort" : "/dev/ttyUSB0", [string, Port on which to connect to the RTIS Sync device.]
"syncFrequency": 12, [integer, The default frequency RTIS Sync should use. Can by overwritten by RTIS Control at any time.]
"limitSyncFrequency": 1, [integer, Toggle the optional limiter of measurement frequency based on measurement length of RTIS Clients. 0=off, 1=on]
"syncActivePorts": [1, 1, 1, 1, 1, 1], [list of integers, The default active connectors RTIS Sync should use left to right. Can by overwritten by RTIS Control at any time.]
"serverProcessingName" : "server", [string, Name of the processingSettings option for the RTIS Server DSP pipeline.]
"clientSettings" : { [Seperate list of RTIS Client settings. One is always necessary called default. Then you can create custom ones for specific RTIS devices by using their unique identifier.]
"default" : {
"processingName" : "clientDefault", [string, Name of the processingSettings option for this RTIS Client´s DSP pipeline.]
"x": 0, [float, The forward facing axis position value in meters of this RTIS Client.]
"y": 0, [float, The left facing axis position value in meters of this RTIS Client.]
"z": 0, [float, The upwards facing axis position value in meters of this RTIS Client.]
"pitch": 0, [float, The rotation value around the Y-axis in degrees of this RTIS Client.]
"yaw": 0, [float, The rotation value around the Z-axis in degrees of this RTIS Client.]
"roll": 0 [float, The rotation value around the X-axis in degreesof this RTIS Client.]
},
"eRTIS001" : { [string, Use the RTIS Device´s unique identifier to define custom settings.]
...
},
...
},
"processingSettings" : { [Seperate list of all processingSettings to which the previous settings are linked to.]
"server": { [string, unique identifier to identify the processingSettings with which is used by serverProcessingName and clientSettings.]
"workers": 3, [integer, The amount of RTIS CUDA GPU workers that should be used for the DSP pipeline.]
"pdm" : 0, [integer, Disable or enable the binary data unpacking and PDM filtering part of the DSP pipeline. 0=off, 1=on]
"matchedFilter" : 0, [integer, Disable or enable the matched filter part of the DSP pipeline. 0=off, 1=on]
"beamforming" : 1, [integer, Disable or enable beamforming part of the DSP pipeline. 0=off, 1=on]
"enveloppe" : 1, [integer, Disable or enable enveloppe creation part of the DSP pipeline. 0=off, 1=on]
"clean" : 1, [integer, Disable or enable cleaning of the Energyscape part of the DSP pipeline. 0=off, 1=on]
"DSPFolderName" : "2D_90_debug" [string, unique identifier to identify the DSPFiles foldername to use.]
},
"clientDefault" : {
...
},
...
}
}
```
The [DSP Config folders](Config/DSPFiles) contain additional settings to define the RTIS Client device settings and to generate the DSP pipeline files.
The most important file in each folder (which each should have a unique name) is the `config.json`. This defines the RTIS Client device settings as well as other settings
that will be used by the automated generation of the `.csv` files used by the DSP pipeline.
Here is a more detailed explanation of the `config.json` file:
```json
{
{
"microphoneLayout" : "eRTIS_V3.14159265", [string, The name of the microphone array layout. The available ones can be found in the Config/DSPFiles/MicrophoneLayouts folder.]
"microphoneSamples" : 163840, [integer, The amount of microphone sames the RTIS Client device should use. Must be dividable by 32768.]
"microphoneSampleFrequency" : 4500000, [integer, The microphone sample frequency used by the DSP pipeline.]
"dacSampleFrequency" : 450000, [integer, The DAC (emitter) sample frequency used by the RTIS Client device. Must by larger then 160KHz and smaller then 2MHz.]
"pdmSampleFrequency": 4500000, [integer, The ADC sample frequency used by the RTIS Client device. Must be 4.5MHz for ultrasonic measurements or 1.125MHz for audible measurements.]
"minRange" : 0.5, [float, The minimum distance of the Energyscape used by the DSP pipeline.]
"maxRange" : 5, [float, The maximum distance of the Energyscape used by the DSP pipeline.]
"pdmSubsampleFactor" : 10, [integer, The subsampling factor used by the PDM filtering used by the RTIS DSP pipeline.]
"energyscapeSubsampleFactor" : 10, [integer, The subsampling factor used on the Energyscape used by the RTIS DSP pipeline.]
"beamformingDrop" : 512, [integer, The dropped samples used for making the Enveloppe creation efficient. Used by the RTIS DSP pipeline.]
"callDuration" : 2.5, [float, The call duration used for generating the DAC pulse used by the RTIS Client device.]
"callMinimumFrequency" : 25000, [integer, The minimum frequency of the call used for generating the DAC pulse used by the RTIS Client device.]
"callMaximumFrequency" : 50000, [integer, The maximum frequency of the call used for generating the DAC pulse used by the RTIS Client device.]
"initialDirections": 91, [integer, The amount of directions that are spatially equally distanced for creating the Energyscape. Defines your spatial resolution but scales with performance of the DSP pipeline.]
"2D": 1 [integer, Toggle on or off if the Energyscape should be 2D or 3D. 0==3D, 1=2D]
}
```
As long as you create a new unique folder name and add this `config.json` file the server will generate all other necessary files.
### B. Control
Currently the RTIS Network can be controlled through a single CLI interface. This is defined by the [RTISControl.py](Python/RTISControl.py) script.
As described in the Installation steps, this could be binded to a CLI command such as `rtiscontrol`, which we will use throughout this description of the RTIS Control script.
The CLI control uses different types of launch arguments. Note the difference in using `--` in front of the arguments and where it isn't used. Here is a list of all available:
**Standard**: These can be used in combination with all other commands.
- `--log`: Disable or configure log files. 0=off , 1=only warnings and errors, 2(default)=includes info, 3=includes debug
- `--status`: Enable showing RTIS network status with `--status on` (default=off)
**Configuration**: these can not be mixed together.
- `reload`: Reload the _serversettings.json_ and _DSPFiles_ and make Server and Client use (new) settings.
- `idle`: Disable GPU workers and measurement listener.
- `prepare`: Start GPU workers and measurement listener.
- `start`: Start Sonar measurements with SYNC.
- `--measurements`: Choose amount of measurements (infinite by default).
- `--frequency`: Choose custom frequency that overrides the default in the _serversettings.json_ file.
- `--active`: Choose which connections on RTIS Sync device should be activated that overrides the default in the serversettings.json file. Format: "X,X,X,X,X,X" where X is 1(active) or 0(inactive).
- `stop`: Stop Sonar measurements with SYNC.
- `passive`: Set the connected RTIS devices to use passive behaviour.
- `active`: Set the connected RTIS devices to use active behaviour.
- `counter`: By default resets all RTIS device measurement counters to 0 unless `--index` argument is given.
- `--index`: Integer that sets custom device measurement counter.
so for example you can use in your terminal:
```bash
rtiscontrol reload
rtiscontrol active
rtiscontrol counter --index 420
rtiscontrol prepare
rtiscontrol start --measurements 250 --frequency 5 --active 1,0,0,1,0,0
rtiscontrol --status on --log 3
```
If no arguments are given or `--status on` is used, it will print out the status of the RTIS Network in a continuous print.
This will show information on the Client and Server such as their configuration, state and buffer counters.
The state can be:
- _Booting_: The device has just booted up and is still trying to connect to the RTIS Server and get started.
- _Started_ The device has successfully booted up and is connected to the RTIS Network.
- _Configuring_: The device has received its configuration files and settings and is configuring itself.
- _Ready_: The device has been successfully configured and is now in the idle state.
- _Preparing_: The device is starting it's GPU workers and preparing to deal with measurements.
- _Online_: The device is fully prepared and ready for starting measurements.
When in this status mode of the CLI interface, keyboard shortcuts are also available and listed on the screen to quickly perform certain commands.
### B. Web Interface
Currently a simple web interface is available on the RTIS Network LAN. It can be reached from any webbrowser on `serverIp:5000`.
It offers the same functionality as RTIS Control CLI currently but is more user friendly.
Here is a list of all available functions on the **Home page**:
- `Idle mode`: Disable GPU workers and measurement listener.
- `Prepare workers`: Start GPU workers and measurement listener.
- `Reload settings`: Reload the _serversettings.json_ and _DSPFiles_ and make Server and Client use (new) settings.
- `Set behaviour`: Set the connected RTIS devices behaviour using the checkbox toggle.
- `Set counter index`: By default resets all RTIS device measurement counters to 0 unless `index` argument is set differently.
- `Index`: Integer that sets custom device measurement counter.
- `Stop`: Stop Sonar measurements with SYNC.
- `Start`: Start Sonar measurements with SYNC.
- `Measurements`: Choose amount of measurements (infinite by default).
- `Frequency`: Choose custom frequency that overrides the default in the _serversettings.json_ file.
- `-Customize active connectors`: Choose which connections on RTIS Sync device should be activated that overrides the default in the serversettings.json file. Where marking is active.
It will also show the status of the Server and all connected Clients such as their configuration, state and buffer counters.
The state can be:
- _Booting_: The device has just booted up and is still trying to connect to the RTIS Server and get started.
- _Started_ The device has successfully booted up and is connected to the RTIS Network.
- _Configuring_: The device has received its configuration files and settings and is configuring itself.
- _Ready_: The device has been successfully configured and is now in the idle state.
- _Preparing_: The device is starting it's GPU workers and preparing to deal with measurements.
- _Online_: The device is fully prepared and ready for starting measurements.
Furthermore, on the **Configuration page** one can safely configure the [serversettings.json](Config/serversettings.json) file from this web interface.
Lastly, on the **DSP Settings* page the [DSP Config folders](Config/DSPFiles) can be managed and generated easily as well.
\ No newline at end of file
Clone repository
  • Home