Robotic Total Station (Leica TS16)

This page will go into detail about to get started with the TS16 Total Station, manufactured by Leica Geosystems. This information is likely helpful for other robotic total station integration, but is has not been tested.

How does it work?

Total stations have an extended heritage in civil engineering, where they have been used to precisely survey worksites since the 1970s. The total station sends beams of light directly to a glass reflective prism, and uses the time-of-flight properties of the beam to measure distances. The robotic total station tracks it’s calibration orientaiton to high precision, such that the measured distance can be converted into a high-precision 3D position mesaurement. Total stations, depending on the prism type and other factors, can accurate track with in millimeter range at up to 3.5km Leica-Geosystems.

Example usage of a Total Station in the Field Source

Best Use Cases & Expected Quality

There are various companies that make robotic total stations including Leica and Trimble. While there is a wide variety of abilities between different models, there are certain key characteristics that matter when used as a real-time positioning system:

  • Range (How far does this need to work at?)
  • Angular tracking ability (Can the total station track objects moving closeby?)
  • Frequency (How often does it provide measurements?)

Accuracy is the bottom line for robotic total stations. If the system is able to maintain line-of-sight with the total station, it is reasonable to expect <2cm accuracy in positioning, even over rather large distances (unknown exactly). This is especially valuable since it can provide an accurate positioning in XYZ, rather than just XY like many alternatives.


The key limitation of the total station is that it requires constant line-of-sight with the reflector prism it is tracking. Unlike other methods such as UltrawideBand or Ultrasonic positioing, recovery is not trivial.

While certain companies like Caterpillar have official partnerships with total station manufacturers to allow for seemless integration with their vehicles source, this technology is not currently available in such a robust manner to all. For that reason, “hacking” a total station to provide real-time sensory information made result in a unknowable latency with difficult to characterize dropout at times. While this did not become a detriment while the author was working on it, it’s important to note.

Additionally, it’s possible for the total station to lose it’s track of the reflective prism, meaning that it ceases to provide valuable data. In a more robust system, there could be an automatic search process to return to a tracked state, but it is not explored in this wiki.


In order to setup a total station tracking system, it’s important to have all of the hardware:


This method has been tested on a TS16, but it would likely work on a TS15 or other Leica products. Most total stations use a GEOCOM communication standard, which means that it’s very likely that a similar serial interface could be adapted for most total station hardware. Leica hardware is particularly expensive, so a brand new total station with the best tracking specifications will run approximately $30k.

The other side of the total station is the reflector, which is used to get the high precision ranging. This is an important piece of hardware, especially in this use case. Since the prism will be moving, having high quality glass will reduce the imperfections that could cause the reflected beam to be off-center, resulting in a higher likelihood of losing tracking of the prism. A high quality prism from Leica will cost more than $1k.

Leica GRZ122 360 Prism Source

In order to connect the total station to a compute platform, it’s possble to use wired or wireless methods. This wiki only explores the usage of USB connections using Leica’s custom (and expensive) cable.


In order to calibrate the total station, there are various ways to do it, all outlined in various videos online.

The simplest way to calibrate the total station in a repeatable fashion is to use the “Orientate to Line” method. The context for the following instructions is to create fixed locations (fixtures) that allow a repeatably placed reflector location at both sites. By default, the line created by these reflectors would now become the X-axis of the local coordinate frame (which can be transformed into any other desired frame at a later point).

  1. Prepare reflector
  2. Attach reflector to fixture-1
  3. Change the Target settings of total station to REFLECTOR_TYPE (Settings -> TS Instrument -> Measure & Target)
  4. Go to Home -> Setup
  5. Choose the “Orientate to Line” method
  6. Measure two points that define an axis.
  7. Use default settings (no changes required)
  8. The first measured point becomes (0,0)
  9. The second line determines the vector of the axis
  10. Derive setup height from “Manually enter”. Leave 0.0 as the value
  11. Place the reflector in Location A (see Figure 1) via S-hook attachment
  12. Ensure the reflector is being tracked via the top bar options (“Target tracking on”)
  13. Press “Measure” to measure the first location
  14. Move reflector to fixture-2
  15. Press “Measure” to measure the second location
  16. Press “set” to finish calibration

At this point, any measurement that comes out of the total station will be with respect to the two measured points, which can be repeated for consistent testing and application.

Publicly Available ROS/ROS2 Nodes

In order to setup the TS16 node into a ROS/ROS2 environment, follow the instructions in the repositories below: