# Trainer Utility
By default, TE v2.5 comes installed with pattern profiles for each of our supported touch table models, eliminating the need to train tangibles for every application that uses Tangible Engine. The Tangible Engine Trainer is a tool for users who are using tangibles that do not belong to the standard set, be they custom-printed tangibles, or from projects built in older versions of Tangible Engine.
The Trainer provides users with the ability to train new tangible profiles and exposes a number of different custimizable settings to optimize recognition on both a global level as well as on a per tangible basis.
When a profile is saved, the trainer automatically writes that profile into the directory that the Tangible Engine Service looks at when searching for custom tangibles.
# Trainer Window
The Tangible Engine window has several components, as seen below:
- Tangible Placement: This is where you place a tangible to train it, or attempt recognition.
- Tangible Visualization: This is where touch points are displayed, both when training, and after a tangible has been trained.
- Add Tangible Button: When at least three touch points that do not belong to an existing tangible are found, this button will appear. When pressed, it will train the points into a tangible pattern.
- Profile Properties: These are configurable options that control profile-wide settings.
- Tangible List: This is a list of all of the tangible patterns currently trained in the profile.
- Tangible Properties: These are configurable options that control settings for specific patterns.
# Profile Properties
The profile properties allow you to configure settings across the entire profile, which affects the recognition of every tangible.
- Name: Profile name
- Recovery Timeout: The number of milliseconds the engine will store a lost tangible while it attempts to recover it. (0 - 1000, default is 200)
- Recovery Distance: The number of pixels the engine will look for lost tangibles or lost points. (0.0 to 1000.0, default is 50.0)
- Smoothing: The number of frames the engine averages over. (1 - 25, default is 1)
- Conflict Delay: This is a special field when there are 3-point tangibles whose patterns are a subset of other 4-point tangibles. Creates a delay in milliseconds before recognizing a 3-point tangible to allow for a 4th point to come down. (0 - 1000, suggested value is 200 for 4-point tangibles)
- Sensitivity: Amount of error allowed for a set of points to be recognized as a pattern. (1.0 - 100.0, default is 1.0)
# Tangible Properties
The tangible properties allow you to configure settings on a per tangible basis.
- ID: Unique ID of a tangible
- Name: Name of a tangible
- X Offset: Distance from the centroid of the points to the center of the physical tangible on x axis.
- Y Offset: Distance from the centroid of the points to the center of the physical tangible on y axis.
- Radius: Radius of the physical tangible.
- Status: Whether or not the tangible is currently recognized on the screen.
- X Position: Position of the tangible centroid on the x axis.
- Y Position: Position of the tangible centroid on the y axis.
- Rotation: Current rotation of the tangible.
- RMS (Root Mean Square): Error differential between a recognized tangible and the pattern it corresponds to. Must be smaller than the Profile Property, Sensitivity in order to be recognized.
# Training a Tangible
To add a new tangible pattern to the profile, follow these steps.
- Place the tangible in the Place Tangible circle and hold it until all points are visible inside the smaller tangible visualization circle.
- Press the Add Tangible button.
- A new entry will be added to the tangible list and the Tangible Properties menu will appear.
- Name your tangible and adjust its settings as needed.
- Place the tangible down in the placement circle several times to ensure recognition is consistent.
# Setting a Custom Profile in the Service
Once a profile has been created and saved, it is placed in the same directory that the Tangible Engine Service looks in for custom profiles. To set your new profile as the active one, open the Service interface by left-clicking the TE 2.0 system tray icon on the right-hand side of the Windows taskbar, click on the Table Profile toggle, and a file dialog will open. Your profile should be visible. Select it and press Open. The Table Profile toggle will shift to "Using Custom" and the name of your profile will be displayed in the box.
# Troubleshooting Custom-Printed Tangibles
When custom-printing tangibles, keep in mind that 3-point tangibles work the best. Only add more points once the 3-point patterns have been exhausted.
4 or more point tangibles can use 3-point pattern subsets, so when training those, increase the Conflict Delay variable to allow the engine time to look for the 4th point. Other variable values can also be edited to allow for a better result.
We recommend weighting the tangibles as well as using our conductive felt pads on the feet of the tangibles to allow for better contact with the table and better overall recognition. The felt pads allow the tangibles to easily glide across the touch table which reduces skipping and the possibility of a lost tangible.
If you have any questions or encount any problems with the Tangible Engine Trainer, please submit a ticket at our support site.