0% found this document useful (0 votes)
174 views27 pages

User Manual For Teraranger Tower Evo: Hardware Revision 1.0 Firmware Revision 1.1.1

Uploaded by

Victor Cuadra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
174 views27 pages

User Manual For Teraranger Tower Evo: Hardware Revision 1.0 Firmware Revision 1.1.1

Uploaded by

Victor Cuadra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

User Manual for 

 
TeraRanger Tower Evo 
 

 
Hardware revision 1.0 
Firmware revision 1.1.1 
 
 
 
 
 
 
Technical support: ​[email protected]
S​a​l​e​s​ ​a​nd
​ ​ ​c​o​m​me
​ ​r​c​i​a​l​ ​s​u​p​p​o​r​t​:​ ​[email protected]
Table of contents: 
 
1​ Introduction 3

​2​ Mechanical Integration 3


​2.1​ Mechanical Design 3
2.2 Compatibility with TeraRanger Evo distance sensors 4
2.3 Electrical characteristics 5

3 USB interface 6
3.1 Graphical User Interface 6
3.1.1​ Basic Operation 6
​3.1.2​ Firmware Upgrade 8
3.2 Connecting the TeraRanger Tower Evo to a Host Computer 8
​3.2.1​ Prerequisites 9
3.2.2 Terminal Emulation Software (H-Term) 9
3.3 LEDs 10

4 UART interface 11
4.1 Pinout information 11
​4.2 UART protocol information 13
4.3 Interface for visual signalization 14

5 Communication and Modes 15


5.1 Enable / Disable Tower Evo communication 17
5.2 Printout modes 17
5.2.1 Commands 17
5.2.2 Output format 18
5.3 Operating modes 19
5.3.1 Commands 20
5.4 Output-rate modes 20
5.4.1 Commands 21
5.5 Visual signalization 21
5.6 Internal Measurement Unit (IMU) options 21
5.6.1 Euler mode 22
5.6.2 Quaternion mode 23
5.6.3 Quaternions and linear acceleration 23
5.6.4 Commands 23
5.6.5 Output format 24
5.7 Command validation 26

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

2/27
1​ Introduction  
The purpose of this document is to give guidelines for use and integration of the TeraRanger
Tower Evo using USB and UART communication interfaces.

​2​ Mechanical Integration 
​2.1​ Mechanical Design 

Figure 1. TeraRanger Tower Evo external dimensions

TeraRanger Tower Evo external dimensions are illustrated in Figure 1. The frame provides
four mounting holes on the bottom side, all designed for M3 screws. The straight distance
between mounting holes is 49.8mm.

When choosing a place for mounting, please consider the following recommendations:

● Choose a place which is in accordance with the optical constraints listed below
● Mounting close to sources of heat or strong electromagnetic fields can decrease the
sensing performance

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

3/27
● Do not mount anything directly in front of the sensors or in a cone of approximately
+/-15° around the central optical axis of the sensor
● Within the first meter from the sensors, during operation avoid objects with high
surface reflectivity in a cone of approximately +/-45° around the central optical axis of
the sensor
● It is better to avoid having other sources of Continuous Wave or modulated IR light
close to the sensor
● Please consider that dust, dirt and condensation can affect the sensor performance
● It is not advised to add an additional cover in front of the sensors
● Drone rotor blades, or other environments with flickering (‘chopped’) ambient light in
the field of view can affect sensors’ readings

For drone use​. If you are mounting the Tower Evo on a drone, please see our ​Pixhawk
Connection Instructions document which contains important information about the orientation
of the Tower.

2.2 Compatibility with TeraRanger Evo distance sensors 

Kindly note that TeraRanger Tower Evo uses the Hub Evo board to provide compatibility
with single point Evo distance sensors. The following table sums up Tower Evo compatibility
with TeraRanger Evo distance sensors.

Name Visual

TeraRanger Evo 60m

TeraRanger Evo 600Hz

TeraRanger Evo 600Hz offers high speed distance data acquisition for more effective
collision avoidance, whereas TeraRanger Evo 60m provides longer range measurements
with increased accuracy for a broader range of applications, including mapping and
navigation tasks. Also, please be aware that Tower Evo is sold in versions with 4 or 8
TeraRanger Evo distance sensors.

Please note that we ​do not recommend disassembly of the Evo sensors from the
Tower frame ​for use in configurations other than the Tower. If you wish to build custom

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

4/27
sensor arrays, please purchase the ​TeraRanger Hub Evo board separately, along with
suitable ​TeraRanger Evo distance sensors​.
 
2.3 Electrical characteristics  
 
DC electrical characteristics

TeraRanger Tower Evo is powered by an external power source, and can not be directly
powered by USB. The following table describes the current and voltage requirements to
make the TeraRanger Tower Evo work correctly. Unless otherwise specified, typical data as
listed in the table below, is based on an ambient temperature value of 25°C TA = 25 °C, and
supply voltage of 12V.

Please note that in rare cases (for example where the Evo sensors are pointing out to
"infinity" with nothing in range) a 30 to 40 second delay in start-up can occur. No
performance or functionality is affected by this, but for a faster start-up please ensure that
each sensor has a target surface within its field of view.

Symbol Ratings Minimum Typical Maximum Unit

V​in External main supply


12 - 24
voltage
V
V​out Output voltage on LED
4.75 5 5.25
connector

Total current on Vin TR


170​(*) - 650​(**)
Tower Evo 60m, 4 sensors

Total current on Vin TR


230​(*) - 1100​(**)
Tower Evo 60m, 8 sensors

I​Vin typical Total current on Vin TR


Tower Evo 600Hz, 4 170​(*) - 480​(**)
mA
sensors

Total current on Vin TR


Tower Evo 600Hz, 8 230​(*) - 840​(**)
sensors

I​Vout Total current on Vin ​Visual


4 68 200
signalization module

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

5/27
**Maximum current consumption with eight TeraRanger Evo sensors connected and looking at
long-range/low reflectivity targets or infinity in simultaneous mode. Drops significantly in sequential
mode and varies with target reflectivity and distance​.
* Standby values (The sensor is not actively emitting light).

Stresses above the absolute maximum ratings may cause permanent damage to the device.
Exposure to maximum​ ​rating conditions for extended periods may affect product reliability.

 
3 USB interface 
3.1 Graphical User Interface 
A free graphical user interface is available for Windows, providing an easy way to visualize
the data from TeraRanger Tower Evo. This is useful for demonstration, testing purposes and
setting some of the basic parameters of the sensors, including operating and update rate
modes. It also provides a way to easily upgrade the firmware running on the device, should it
be required.

Please note that the same GUI is used for both TeraRanger Tower Evo and Hub Evo
products. The GUI is available for download from the TeraRanger Tower Evo page
(Downloads section) of the Terabee website. Please ensure you are using GUI version 1.0.5
or later.
 
3.1.1 ​ Basic Operation 

Connect the TeraRanger Tower Evo to a USB port on your computer and to a suitable power
supply. Select File > Connect. You should immediately see distance readings of TeraRanger
Evo sensors displayed on the main chart. See example in Figure 2. The following table
summarizes functionality of the graphical user interface.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

6/27
Figure 2. Graphical user interface

# Display Description

1 Measurement Provides 4 or 8 distance values in millimeters. Sensors are


numbered as per the Hub Evo board. Example: TR Evo 4 will
stream distance data connected to connector Nr 4 on Hub Evo.

In case “-1” value is received, no sensor is connected or not able


to measure.
In case “+Inf” is received, the measurement is out of range.
In case “-Inf” is received, the measurement is below minimum
range.

2 Zoom Modify scale of the main chart (#3) by dragging the cursor to the
left or right. The zoom range is [2.00m ; 60.0m].

3 Main chart Provides real-time preview of distance measurements streamed


from connected Evo sensors. The distance reading is visually
represented on the chart by a small segment.

4 Measurement Switch between, Simultaneous, Sequential and Tower mode


mode (learn more about operating modes in section 5).

5 Update rate Select between six options of sensor measurement update rates
from a drop-down menu. Choose between Fixed (F) 50Hz, F
100Hz, F 250Hz, F 500Hz, F 600Hz or ASAP (As Soon As

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

7/27
Possible).

6 IMU Enable or disable the option for Inertial Measurement Unit


readings. Three IMU modes are available for preview:
Euler mode, Quaternion mode, Quaternion and Linear
Acceleration mode.

7 LED Adjust between three levels of visual signalization provided to


thresholds discriminate three different ranges. These values can span from
0.5m to 8m with a granularity of 0.1m. Please see section 4.3 for
details.

 
​3.1.2 ​ Firmware Upgrade 

The current firmware version on your TeraRanger Tower Evo can be found by selecting ​Help
> About in the GUI. It is possible to upgrade the firmware running on your device if a new
firmware version is made available by Terabee. ​Only update your firmware if a new firmware
version has been provided!

Please note the Upgrade Firmware feature is only supported on Windows 7, 8 and 10.
Please follow ​carefully​ the steps outlined below to ​avoid permanently disabling your device​.

● Select ​File > Upgrade​ ​Firmware


● You will be presented with a dialog window asking you to confirm your choice
Beyond this point, if you press ‘Yes’ it will not be possible to revert to the
firmware currently running on your TeraRanger Tower Evo! Press ‘No’ to cancel
and keep the current firmware or ‘Yes’ to continue. ​Only continue if you have an
updated firmware file to install!
● Read the instructions in the dialog window that opens
● Press ‘Select FW’ and select the new firmware file with Windows File Explorer
● Press ‘Upgrade’ and wait until the operation finishes
● Close the Upgrade dialog window

 
3.2 Connecting the TeraRanger Tower Evo to a Host Computer 

TeraRanger Tower Evo can be easily connected to a Host Computer via a micro USB cable.
The TeraRanger Tower Evo can interact as a virtual COM port, and data can be streamed
directly to terminal emulation software (Terabee advises to use HTerm for Windows and
CoolTerm for MacOS).

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

8/27
​3.2.1 ​ Prerequisites 

For usage on Windows (7, 8) operating system, please download the Virtual COM Port
driver from ​http://www.st.com/en/development-tools/stsw-stm32102.html and ​follow the
​”ReadMe file” instructions given by the installer​​. After successful installation, unplug the
interface for a few seconds, and plug it back in. The virtual COM port should now be
available on your PC. Users of Windows 10 do not need to download this driver as the built
in Windows driver is recommended.

3.2.2 Terminal Emulation Software (H-Term) 

In Windows you can also use any terminal emulation software of your choosing, however we
suggest you use HTerm (​http://www.der-hammer.info/terminal/​). Extract the downloaded zip
file to the folder of your choice, open it and double click on the “HTerm.exe” document.

Connect the TeraRanger Tower Evo to your computer via a micro USB cable and select the
corresponding USB port (click “R” button to refresh the port list). Select values for the
following fields:

● Baud rate: 115200;


● Data Bits: 8;
● Parity: None;
● Stop Bits: 1.

For easier readings, select the “LF” option for “Newline at” tab. See Figure 3 for visual
instructions.

Figure 3. H-Term parameters

Once you have selected the USB port and required values, click on the “Connect” button.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

9/27
Figure 4. Distance data stream using H-Term

To communicate with the distance sensors connected to Tower Evo via the terminal
emulation software, you need to send a command in hexadecimal via the “Type” box. For
this, select the “HEX” Type as illustrated in the figure above. Figure 4 shows an example of
the command which allows data to be shown in TEXT mode. All commands are detailed in
section 5.

3.3 LEDs 
In total, four LEDs are mounted on TeraRanger Hub Evo to give visual feedback on the
sensor performance. The following table lists the functionality of each LED.

LED color Description Hub Evo Visual

PWR LED continuously on whenever


(orange) connected to a power supply.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

10/27
LED 0 (blue) One blink for each TeraRanger Evo
sensor detected by the Hub Evo.

Example: if 8 sensors are connected, the


blue LED will blink 8 times before sending
distance data.

LED 1 Continuous blinking indicates that


(green) distance values are being sent. The blink
rates will be slower or faster, depending
on the output rate selected. See section
5.4 for details.

LED 2 (red) Continuous blinking indicates an error.

 
4 UART interface 
4.1 Pinout information 
The TeraRanger Tower Evo can be controlled through UART interface. This is possible
thanks to a “UART for Hub Evo” board - an accessory already installed on the Tower Evo
(Figure 5). We strongly advise not to disassemble the Tower Evo product, including the
UART for Hub Evo board, as it might result in damaging the system due to inappropriate
handling.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

11/27
Figure 5. UART for Hub Evo board

The UART for Hub Evo board uses a single 6 pin Hirose DF13 connector for interfacing to
the host system. The mating connector is a Hirose DF13-6S-1.25C with crimping contacts
DF13-2630SCF (tin) or DF13-2630SCFA (gold). Please consider the mechanical stability of
the mated connectors and avoid any kind of excess force on the connector (during
installation and once integrated) and follow the recommendations in the Hirose DF13 series
datasheet (available here: ​https://www.hirose.com/product/en/products/DF13​) to ensure a
reliable connection.

The table below provides an overview of the pin out for the DF13 connector:

Pin out and description (According to DF13 datasheet)


Pin Designator Description

1 NC Not Connected

2 Rx(in) UART receive input. 3.3V logic

3 Tx(out) UART transmit output. 3.3V logic

4 NC Not Connected

5 NC Not Connected

6 GND Interface ground

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

12/27
Figure 6. Pinout layout for UART

​4.2 UART protocol information  


The UART communication for the TeraRanger Tower Evo uses a simple Modbus-like
protocol. The communication parameters are:

Baud Rate​: 921600 baud


Data Bits​: 8
Stop Bit(s)​: 1
Parity​: None
HW Flow Control​: None

 
   

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

13/27
4.3 Interface for visual signalization 

Tower Evo provides an interface to control an intelligent LED light source compatible with
WS2812B serial communication protocol. It allows you to drive up to four RGB LEDs through
a single wire provided that the LEDs sink current is kept within the power budget indicated
in the manual (ref. Section 2.3).

Three levels of signalization are provided to discriminate three different ranges (set with a
default value during manufacturing) as shown in the table below:

Detection Distance Color

No obstacle in range Out of range None

Obstacle detected in the range >4m Green

Obstacle detected in the range 2m to 4m Orange

Close obstacle 0.5 to 2m Red

New values can be programmed through the UART interface, offering the possibility of
customizing the LED triggering thresholds within the valid range of the Tower. These values
can span from 0.5m to 8m in 0.1m increments. The upper value of the threshold range
cannot be higher than the lower value of the adjacent threshold range. Overlaps between
threshold ranges are checked by the Tower and, if found, the Tower responds with a ‘Nack’
(Not acknowledged) signal. Once the thresholds system is operating, if all sensors are
detecting “out of range”, then all LEDs will be off. Whenever a threshold is reached by one of
the sensors, the LEDs will switch to the appropriate color and stay continuously ‘on’ until a
different threshold is activated.

Important Note: The LED signalization feature only provides an indicative proximity status
based on the Tower Evo sensor closest to an obstacle or hazard and is provided as a useful
aid rather than a guaranteed fail-safe solution. ​You use this feature at your own risk.

Below 1 meter, some target surfaces (transparent or with low light reflectivity) can potentially
introduce false readings which could mean that the LED signalization is not based on the
closest sensor to an obstacle. However, this will only affect the LED signalization and not the
distance sensing capability.

Connector type and name:


Copyright ​© ​Terabee 2020 
Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

14/27
Pin Designator Description

1 5V +5V supply output

2 RFU Do not connect, reserved for future use

3 DOUT Control data output to drive four WS2812B Leds

4 GND Power supply and interface ground

 
Figure 7. ​WS2812B serial communication, ​pinout layout

 
5 Communication and Modes 
The current Tower Evo firmware (1.1.1) provides four parameters for optimization of Tower
Evo performance. The following parameters can be configured:

1. Printout modes
2. Operating modes
3. Update rate modes
4. IMU modes

Figure 8 illustrates the logic of available parameters on Tower Evo. Please note all
commands to be sent via terminal emulation software are in hexadecimal format.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

15/27
Figure 8. TeraRanger Tower Evo modes

For each command sent, a response is generated to inform the user whether the command
has been validated. Command responses consist of four bytes and is a hexadecimal value.
Please note that it is crucial to receive an answer to a command, before communicating the
next one. For more information on response values, please reference section 5.6.

   

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

16/27
5.1 Enable / Disable Tower Evo communication

In order to enable communication with Tower Evo and send commands to modify system
performance, first please make sure streaming is enabled.

5.1.1 Commands

Action Type Mode name Hex Command

Enable/disable Activate streaming 00 52 02 01 DF


communication
Deactivate streaming 00 52 02 00 D8

5.2 Printout modes  

The current Hub Evo firmware supports two display modes, available via terminal emulation
software: (1) Text and (2) Binary.

5.2.1 Commands 

Action Type Mode name Hex Command

Modify printout TEXT (only available via USB) 00 11 01 45


mode
BINARY (default) 00 11 02 4C

 
   

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

17/27
5.2.2 Output format 

Text Data output:


mode
TH​\t​xxxx​\t​xxxx​\t​xxxx​\t​xxxx​\t​xxxx​\t​xxxx\​t​xxxx​\t​xxxx​\r​\n

- Header (two characters): T (​84 decimal / 0x54 hex​) and H (​72 decimal /
0x48 hex​)
- Tabulation: \t ​(9 decimal / 0x09 hex)
- Distance reading in millimeters** (maximum 5 bytes per sensor): xxxx
- Carriage return character: \r ​(13 decimal / 0x0D hex)
- New line character: \n (10 decimal / 0x0A hex)

**if a sensor is not connected or the TeraRanger Hub Evo is unable to obtain the
distance measurement from the TeraRanger Evo sensor, the associated distance
value is replaced by the hexadecimal value “-1”.

If the target is too close to the TeraRanger Evo sensor (below the minimum
distance), the associated distance value is replaced by “-Inf”.

If the target is too far from the TeraRanger Evo sensor (above the maximum
distance), the associated distance value is replaced by “+Inf”.

Binary Data output (20 bytes message):


mode
TH ​XXXXXXXXXXXXXXXX​ ​M​ ​CRC8

- Header (two characters): T (​84 decimal / 0x54 hex​) and H (​72 decimal /
0x48 hex​)
- Distance reading in millimeters** (2 bytes per sensor): XX
- Mask (1 byte) Each bit of this byte correspond to one sensor connected to
the hub.It gives an indication if the distance corresponding to the sensor is
new (bit at 1) or old (bit at 0):M
- Checksum (1 byte) of previous 19 bytes: CRC8

**if a sensor is not connected or the TeraRanger Hub Evo is unable to obtain the
distance measurement from the TeraRanger Evo sensor, the associated distance
value is replaced by the hexadecimal value 0x0001.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

18/27
If the target is too close the TeraRanger Evo sensor (below the minimum
distance), the associated distance value is replaced by the hexadecimal value
0x0000.

If the target is too far from the TeraRanger Evo sensor (above the maximum
distance), the associated distance value is replaced by the hexadecimal value
0xFFFF.

5.3 Operating modes 

The current Tower Evo firmware provides three operating modes: ​(1) Simultaneous mode,
(2) Sequential mode and (3) Tower mode​. The following table provides a description of the
functionality for each.

Operating Description Visual illustration


mode

Tower mode Enables crosstalk avoidance between sensors.


Especially well suited for the circular
configuration of Tower Evo. In Tower mode
sensors connected to Hub Evo simultaneously
measure distances from 4 sensors with a 90
degree angle between each. When Tower Evo,
4 sensors is used the highest possible update
rates are achieved.

Sequential Ensures that sensors connected to Hub Evo are


mode synchronized in a sequential manner
(default) (1-2-3-4-5-6-7-8), receiving a single distance
measurement at a time. This helps to avoid any
cross-talk between sensors. Sequential mode
provides more freedom for the physical
placement of sensors but can result in a
decrease in overall measurement repetition
rates.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

19/27
Simultaneous Supports simultaneous sensor operation,
mode enabling the highest possible sampling rates.
Please note that using Tower Evo with 8
distance sensors in simultaneous mode can
result in sensor crosstalk. When using a Tower
Evo with 4 sensors and a 90 degree angle
between each, crosstalk is highly unlikely to
occur.cross-talk.

5.3.1 Commands 

Action Type Mode name Hex Command

Tower mode 00 31 03 E5
Modify operating
modes Sequential mode (default) 00 31 02 E2

Simultaneous mode 00 31 01 EB

IMPORTANT: ​Sequential mode is set as the default mode. When powering and
connecting Tower Evo to a host computer for the first time, please activate Tower
mode by sending a corresponding command (00 31 03 E5) via terminal emulation
software​.

Tower Evo firmware saves the last operating mode used and auto-selects that mode the
next time the system is powered up. Therefore there is no need change the operating mode,
until a different mode is required.

5.4 Output-rate modes 

Tower Evo provides the option to modify the measurement sampling rates of the connected
sensors. Users can select between six output-rate modes. ASAP, meaning ‘as soon as
possible’ is, by definition, a variable rate and is dependent on how quickly the Hub receives
an update from the last sensor in the chain. The other rates are fixed at 50Hz, 100Hz,
250Hz, 500Hz, 600Hz.

The output rates can be selected using the following Hex commands:

   

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

20/27
5.4.1 Commands 

Action Type Update rate Hex Command

Modify update rate ASAP (default) 00 52 03 01 CA

50 Hz 00 52 03 02 C3

100 Hz 00 52 03 03 C4

250 Hz 00 52 03 04 D1

500 Hz 00 52 03 05 D6

600 Hz 00 52 03 06 DF
 
 
5.5 Visual signalization 
 
The Tower Evo is shipped with default pre-programed thresholds, but you can set your own
by using the command below:

Action Type Hex Command

Set visual signalization 00 53 01 UU LL CRC8


threshold

The command is a six byte command. UU is the byte that represents the upper threshold in
decimeter and LL the lower one. The range of the threshold is 5 to 80 decimeter and the
value of the upper one should not be less than the value of the lower one. The CRC need to
be calculated using the five first bytes of the command.

5.6 Internal Measurement Unit (IMU) options 

TeraRanger Hub Evo provides an onboard IMU, supporting users with spatial orientation
data. By default the IMU is disabled. Three modes are available:

1. Euler mode,
2. Quaternion mode,
3. Quaternion and Linear Acceleration mode.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

21/27
Magnetic fields and vibration can disrupt IMU calibration. In order to force a self-calibration
of the IMU, move the TeraRanger Hub Evo in ways that use the full range of each axis.

Here is a non-exhaustive list of motions that help with calibration:

1. For magnetometer and gyroscope: (1) draw a figure of eight into the air, (2) make a
full turn in the two directions of each axis (6 rotations in total).
2. For accelerometer: Hold the Hub Evo for a few seconds in each of the following
positions; left side, right side, front side, back side, up side, down side.

For further explanation about the IMU orientation calibration, please refer to the following
link: ​https://www.youtube.com/watch?v=Bw0WuAyGsnY

5.6.1 Euler mode 

Euler mode provides three classic Euler angles: heading (aka yaw), roll and pitch. Please
see figure 9 for heading, roll and pitch directions on your Hub Evo.

Figure 9. Roll, pitch, heading (aka yaw)

When enabling Euler mode, the displayed values are in degrees. Please see below the
corresponding scaling for each of the axes:

1. Heading angle (around Z axis) goes from 0° to 360°, 0° meaning North


2. Pitch rotates from -180° to +180° around x axis
3. Roll values are in the interval [-90°;+90° around y axis] and will loop twice.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

22/27
Please note that 0° for pitch and roll angle means that the TeraRanger Tower Evo is
horizontal.
5.6.2 Quaternion mode 

To deal with matrix rotation in space, the quaternion approach simplifies the heavy math
related to trigonometry and reduces the processing power requirements and optimizes the
speed of operations. The Hub Evo can provide this kind of information through internal
pre-processing and data fusion. For further explanation about the quaternion and the spatial
rotation matrix, please refer to the following link:
https://en.wikipedia.org/wiki/Rotation_matrix#Quaternion

5.6.3 Quaternions and linear acceleration 

Quaternions and linear acceleration mode displays the same coefficient as the quaternion
mode, however it also gives the linear acceleration of the IMU in milli-g. Please refer to
figure 9.

● x acceleration refers to the x axis


● y acceleration refers to the y axis
● z acceleration refers to the z axis

Note: To convert those values to m.s-2 the conversion factor is ​0.00980665

It is important to know that there might be a constant offset (this can be visualized when the
TeraRanger Hub Evo is not moving) on the acceleration values, that can be corrected by
calibrating the IMU (see section 4.5).

5.6.4 Commands 

Action Type Mode name Hex Command

Modify IMU Activate Quaternion mode 00 41 02 40


mode
Activate Euler mode 00 41 03 47

Activate Quaternion & Linear acceleration mode 00 41 04 52

Deactivate IMU (default) 00 41 01 49

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

23/27
5.6.5 Output format 

Printout IMU mode Description


mode

Binary Quaternion Data output (12 bytes message):

IM ​0x01​ ​WW XX YY ZZ​ ​CRC8

- Header (two characters): I (​73 decimal / 0x49 hex​) and


M (​77 decimal / 0x4D hex​)
- Mode (1 byte) This byte indicate in which IMU mode you
are. For quaternion this byte is equal to 0x01
- Orientation data in quaternion format (2 bytes per
coordinate), each two bytes represent a signed 16 bit
value. You need to divide those four values by 2^14.
- Checksum (1 byte) of previous 11 bytes: CRC8

Euler Data output (10 bytes message):

IM ​0x02​ ​HH RR PP​ ​CRC8

- Header (two characters): I (​73 decimal / 0x49 hex​) and


M (​77 decimal / 0x4D hex​)
- Mode (1 byte) This byte indicate in which IMU mode you
are. For euler this byte is equal to 0x02
- Euler angles (2 bytes per angle), each two bytes
represent a signed 16 bit value. You need to divide those
three values by 16 to convert them in degree.
- Checksum (1 byte) of previous 9 bytes: CRC8

Quaternion Data output (18 bytes message):


and
Linear IM ​0x03​ ​WW XX YY ZZ​ ​XX YY ZZ​ ​CRC8
acceleration
- Header (two characters): I (​73 decimal / 0x49 hex​) and
M (​77 decimal / 0x4D hex​)
- Mode (1 byte) This byte indicates in which IMU mode
you are. For quaternion and linear acceleration this byte
is equal to 0x03

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

24/27
- Orientation data in quaternion format (2 bytes per
coordinate), each two bytes represent a signed 16 bit
value. You need to divide those four values by 2^14.
- Linear acceleration (2 bytes per axis), each two bytes
represent a signed 16 bit value. Those value are
expressed in mg.
- Checksum (1 byte) of previous 17 bytes: CRC8

Printout IMU mode Description


mode

Text Euler Data output:

IM​\t​ ​hhh​\t​rrr​\t​ppp​\r​\n

- Header (two characters): I (​73 decimal / 0x49 hex​) and


M (​77 decimal / 0x4D hex​)
- Tabulation: \t ​(9 decimal / 0x09 hex)
- Euler angles. You need to divide those three values by
16 to convert them in degree.
- Carriage return character: \r ​(13 decimal / 0x0D hex)
- New line character: \n (10 decimal / 0x0A hex)

Quaternion Data output:

IM​\t​ ​www​\t​xxx​\t​yyy​\t​zzz​\r​\n

- Header (two characters): I (​73 decimal / 0x49 hex​) and


M (​77 decimal / 0x4D hex​)
- Tabulation: \t ​(9 decimal / 0x09 hex)
- Orientation data in quaternion format.You need to divide
those four values by 2^14.
- Carriage return character: \r ​(13 decimal / 0x0D hex)
- New line character: \n (10 decimal / 0x0A hex)

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

25/27
Quaternion Data output:
and
Linear IM​\t​ ​www​\t​xxx​\t​yyy​\t​zzz​\t​xxx​\t​yyy​\t​zzz​\r​\n
acceleration
- Header (two characters): I (​73 decimal / 0x49 hex​) and
M (​77 decimal / 0x4D hex​)
- Tabulation: \t ​(9 decimal / 0x09 hex)
- Orientation data in quaternion format.You need to divide
those four values by 2^14.
- Linear acceleration. Those value are expressed in mg.
- Carriage return character: \r ​(13 decimal / 0x0D hex)
- New line character: \n (10 decimal / 0x0A hex)

5.7 Command validation 

For each command sent, a response is generated to inform the user whether the command
has been validated. It is important to receive a response value before proceeding with the
next command. Sending commands too early may discard the one still processing.
Response commands consist of four bytes and are a hexadecimal value. They contain (in
order):
- a header (0x30)
- the CMD code which corresponds to the first four most significant bits of the second
byte of the send command (for example for the command 0x00110145 it will be
0x01)
- an ACK (0x00) or a NACK (0xFF)
- a CRC-8 checksum of the message contents

Example:
Hex Command: ​00 11 01 45
Hex Answer: ​ 30 01 00 F4

To calculate the CRC-8 checksum byte, we advise you to use an online CRC-8 calculator.
Here is one: ​http://www.sunshine2k.de/coding/javascript/crc/crc_js.html

The following table sums-up the expected responses to all the commands described in the
document.

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

26/27
Action Type Valid responses

Enable/disable communication 30 05 00 A0

Modify printout mode 30 01 00 F4

Modify operating modes 30 03 00 DE

Modify update rate 30 05 00 A0

Modify IMU mode 30 04 00 B5

Modify LED threshold 30 05 00 A0

Copyright ​© ​Terabee 2020 


Terabee, 90 Rue Henri Fabre 
01630, St Genis-Pouilly, France (next to CERN) 

27/27

You might also like