Setting up a BeaKon system
The BeaKon system is a UltraWide Band (UWB) localization system, which is composed of a set of anchors and Tags. The anchors are fixed around the tracking zone and the Tags are attached to the persons or object that need to be tracked.
As the UWB localization technology is less precise than the vision technology used in the K SYSTEM, the BeaKon system is to be considered as an add-on to the K SYSTEM that provides a stable and durable identity of the person tracked. Thanks to the BeaKon system, the identity of the persons tracked is persistent even if the persons go out of the field of view of the Kapta, allowing for a fully automated tracking of the performers during a whole show. We recommend to not used the BeaKon system alone, but in addition to the vision-based system, to get a more reliable system.
Hardware setup
If you want to lean more about the hardware setup of the tags and anchors, please follow the corresponding tutorials :
please follow them with great care before continuing with the software configuration.
System functionality overview
The system works like this :
- When setting up the system, you associate each Tag you want to use to a Tracker and a Target.
- Associating a Tag to a Tracker locks the use of this Tracker to the Tag’s position. This means that the IA will :
- Assign the detected person that is the closest to the Tag's position to the associated Tracker.
- If nobody is detected near the Tag (2 meters circle around the Tag’s position), spawn the associated Tracker to the Tag's position only and not to the position of a detected person.
- You will still have to manually patch your Targets to the desired Trackers associated to the Tags the first time. The system works like this to allow you to :
- Patch multiple Targets to a single Tag if needed.
- Change the Target associated to the Tag whenever you want, without having to change the config file.
- If you want to use a Tag to track an object, associate the Tag with the Tracker "0" :
track_uid: 0
. This will prevent the IA to assign a detected person to a Tracker that you can use otherwise. You can then enable the "BeaKon positioning" option of this Target in the Target tab of the Show explorer view. This will allow you to use the Tag's position to determine the position of the object, without relying on vision.
- Associating a Tag to a Target allows you to use the "BeaKon positioning" option for the position of a Target (without relying on vision). This option can be enabled in the Target tab of the Show explorer view. We recommend to use this option for object only, as the vision-based tracking is more precise for people.
Write the config file
At the moment, you have to write a config file and then import it in Kratos to setup the BeaKon system. This file is a .yaml
file and should look like this:
tags:
- serial: 0x001211
avatarPath: "qrc:/Kratos/Avatar/001-man.svg"
color: "#f44336"
kit: "A"
- serial: 0x001056
avatarPath: "qrc:/Kratos/Avatar/001-man.svg"
color: "#9c27b0"
kit: "B"
- serial: 0x0017AC
avatarPath: "qrc:/Kratos/Avatar/007-boy-1.svg"
color: "#4caf50"
kit: "A"
- serial: 0x0010E8
avatarPath: "qrc:/Kratos/Avatar/007-boy-1.svg"
color: "#2196f3"
kit: "B"
- serial: 0x0017AD
avatarPath: "qrc:/Kratos/Avatar/021-girl-3.svg"
kit: ""
targets:
- name: "ARTHUR"
tags: [0x001211, 0x001056]
track_uid: 1
- name: "GEORGES"
tags: [0x0017AC, 0x0010E8]
track_uid: 2
- name : "CAR"
tags: [0x0017AD]
track_uid: 3
The writing of the file is done in two steps:
- Declare every Tag of your system
- Link the Tags to Targets and Trackers.
Declare a Tag
For each Tag, you have to declare :
- The serial number of the Tag, written on the front and back of the Tag.
- Its avatar : You can add an image for each Tag. Theses images will be shown in the BeaKon view. In this example, the images used are the Target's avatars, but you can choose any image you want by choosing the appropriate path. This parameter is optional, the Tag will not have any image by default.
- Its color that will be used to display its position in the 3D Stage view. This parameter is optional, the Tag will be black by default.
- Its kit : You can have two kits of Tags, A and B. This option can be used if you have two sets of costumes for example and need to switch from one kit to the other quickly between representations. You can select which kit to use in the BeaKon view or in the BeaKon tab of the Show explorer view. You can also not select any kit to make the Tag activated at all time (whether you choose the kit A, B, or no kit in Kratos) by writing
kit: ""
.
A Tag that is not assigned to a kit will be displayed in the two kits windows in the BeaKon view.
In the previous file example, you can see that :
- The Tags
0x001211
and0x0017AC
, are in the kit A. - The Tags
0x001056
and0x0010E8
are in the kit B. - The Tag
0x0017AD
is not in any kit. - the Tag
0x0017AD
has no color property and will be black in the 3D Stage view.
Declare a Target
The "targets" part of the configuration file allows you to link each Tag to a Target and a Tracker.
For each Target, you have to declare :
- The Target's name that have to be the same in Kratos, in the config file and in Eliko dashboard.
- The associated Tag(s) of the Target. You can have one or more Tags associated to a Target, from the same kit or not :
tags: [0x001211, 0x001056]
- The associated Tracker Id, as a Tag will always represent the same person, it must be assigned to a Tracker that will always corresponds to this person.
Associating a Target and a Tag is only useful in the case where you want to use the "BeaKon positioning" option for a Target (use Tag's position only to determine the Target's position). This option can be enabled in the Target tab of the Show explorer view. Even if you don't use this option (which we recommend, it should only be used to track objects), you still need to associate a Target to a Tag for the system to work. The most important step of this declaration is to associate each Tag with a Tracker, that way the Tracker will always keep the identity of the Tag and you can patch the corresponding Target to it in the target patcher view.
It is not possible to associate a Target with multiple Tags of the same kit.
For now, you can only give one Tag to each person you want to preserve the identity. You can use multiples Tags of the same kit for a object if you use the "BeaKon positioning" option. The position of the Tags will be averaged.
In the previous file example, you can see that :
- The Tracker
1
is associated to the Tags0x001211
and0x001056
that are from different kits (A and B) and to the TargetARTHUR
. In this case it is because Arthur has two costumes, with one Tag in each, one for the first act and one for the second act. In Kratos, the TargetARTHUR
is patched to the Tracker1
. - Same goes for the Tracker
2
with the Tags0x0017AC
and0x0010E8
and the TargetGEORGES
. - The Tracker
3
is associated to the Tag0x0017AD
that is not in any kit and the TargetCAR
. In this case it is because the car is an object so the TargetCAR
uses the only Tag position option and is present in both acts, so its Tag has to be without kit to be activated at all time.
Be careful to have named your Targets in the config file with the same name as in Kratos, otherwise the link between the Targets and the Tags will not work.
Configure the system in Kratos
After writing the config file, you have to setup the system in Kratos. To do so, go to the BeaKon tab of the Show explorer view and check the following parameters :
- Import the config file by clicking on the "IMPORT CONFIG" button and selecting the file you just wrote.
- Enable the connection to the BeaKon server by enabling the "Enable BeaKon".
- Check that the IP address of the BeaKon main server is
127.0.0.1
and that the "Use BeaKon Main Server" switch is enabled.
The use of a BeaKon spare server is obsolete.
This function was usable when the BeaKon server was a separate product. Now the Beakon server software is directly imbedded in the Kore.
Be sure to have set up the proper IP address in the Kore's NaoNet network interface card.
In addition to a 192.168.12.xxx
address to comunicate with the Kaptas, this card should also have the following address : 10.8.4.1
with the netmask 255.255.252.0
.
- Choose a BeaKon kit if needed (let the textfield blank if you don't have multiple BeaKon kit).
- Make also sure that the "BeaKon Tag" toggle is enabled in the Kore tab of the Show explorer view.
- If you have an object to track, go the the corresponding Target in the target tab of the Show explorer view and enable the "BeaKon positioning" option.
Vision based tracking is more precise than the BeaKon system for positioning people.
We recommend to use the BeaKon positioning option for objects only.
Configure the system in the Eliko dashboard
Before using a BeaKon system, one need to set up parameters on the Eliko Dashboard :
- The position of the anchors have to be filled in.
- The tags have to be named according to their corresponding Target and configured.
On a Kore, this dashboard can be accessed in any web browser at the address 127.0.0.1:8080
.
Once the BeaKon system is setup (anchors connected to the Kore and tags turned on), the following steps have to be performed for the system to work properly.
Anchor setup
Each anchors coordinates need to be inputed in the Eliko Dashboard. To do so :
- Go to the "Anchor" page.
- For each anchors, input the X, Y and Z coordinates that you have previously measured.
Anchor calibration is a crutial step for the good operation of the BeaKon system.
Calibration of the anchors is as important as the Kapta's calibration and needs to be performed with great care. Please see the different methods you can use to measure the position of the anchors here.
Tag setup
- Go to the "Tag" page.
- For each Tag, enter the name of the corresponding Target in the "Name" field.
Be careful to name your Targets in the Eliko dashboard with the same name as in Kratos.
Otherwise the Tags will not appear in the BeaKon view.
installation overview
You can check that everything looks good in the "Overview" page :
- Check if the anchors positions look correct.
- Check if you see the tags moving correctly when you move them.
Monitor the system
To monitor the Tags status, you can use the BeaKon view.
you can also monitor the position of the Tags in the 3D Stage view.