Sensor Configuration


Web interface overview

To configure the Vision Navigator and visualize the current trajectory, the user can access the web interface through a browser using the IP 10.0.1.1 with a direct Wi-Fi connection or 10.0.2.1 with a direct Ethernet connection. Note that these IP addresses only apply when the sensor is configured as the DHCP server or using the access point directly. The figure below presents an overview of the web interface content. In the Wi-Fi case, the SSID is the UID of the Vision Navigator, and the default password is “1234567890”.

 

Web interface structure overview

 

The home page of the web interface is the 'Fusion Status' page, which is shown in the figure below. The user can access the different configuration options through the navigation bar at the top of the screen, which also contains status indicators to monitor the sensor. Refer to Fusion Status Dashboard for more information about the status indicators.

 

Home page of the web interface


Besides the status indicators and badges, this page contains a map with the downsampled GNSS1/2 and Fusion position trajectories. The table at the bottom of the page shows the position, orientation, and velocity data in the second column, while in the last column, the respective covariances are given.

 

On the home page, the user can find buttons to start (not displayed in the figure above) or stop the Fusion engine. Stopping the Fusion engine is necessary for most configurations. Please note that most of the configuration can also be done via API.

 

Furthermore, upon pressing the ’Actions’ button, the user can restart the Fusion engine with the ’Reset’ button (see the figure below). Besides that, an initial pose can be saved or loaded in this menu. One can save and label 5 different positions on the device. It is important to note that saving is only possible once Fusion is fully initialized. For Loading, on the other hand, Fusion only needs to be started and a previously warmstarted IMU bias needs to be available. Upon loading a previously saved position, Fusion is locally initialized, which means initializing in GNSS-denied environments is possible.

 

Actions menu

 

 Saving a position on an empty slot and adding a label

 

 

Sensor fusion configuration

The user can configure the sensor fusion engine by accessing the web interface and navigating to the "Configuration → Fusion" panel. In this section, the following configuration options are available:

 

Fusion engine configuration on the web interface

 

Network configuration

To access the network configuration page in the web interface, the user must press "Configuration" on the navigation bar and select "Network". As shown in the figure below, this page presents the configuration for the Wi-Fi interface, client, and access point, as well as the Ethernet connection configuration.

 

Networking configuration page in the web interface

 

Network specifications

To connect to a Wi-Fi network and access the Internet, the user must specify the configuration of the Wi-Fi interface, which includes the desired Wi-Fi band and whether the access point of the sensor is enabled. Currently, the sensor supports the 2.4 and 5.0 GHz bands or disabling the Wi-Fi module altogether (see the figure below). After updating the configuration of the Wi-Fi interface, it is necessary to reboot the sensor to apply them.

 

Currently, we only support one band at a time, meaning the access point and the hotspot should operate at the same frequency.

 

WiFi interface configuration options

 

The table below summarizes all available network configurations for the Vision Navigator:

 

Network configuration details

Network

Sensor IP

Netmask

Client IP

Configuration

Wi-Fi client

Dynamic

Dynamic

n/a

Web interface

Wi-Fi access point

10.0.1.1

255.255.255.0

10.0.1.10–254

Enabled by default

Ethernet DHCP server

10.0.2.1

255.255.255.0

10.0.2.10–254

Enabled by default

Ethernet DHCP client

Dynamic

Dynamic

n/a

Web interface

Ethernet static

Variable

Variable

n/a

Web interface

USB 10.0.3.1 255.255.255.0 10.0.3.10-254 For recovery only

 

 

Some details, recommendations, and known limitations to take into consideration:

 

Default route

The default route defines the path network packets take if no specific route is determined. Typically, it relates to the Internet access route, for example, when connected to a Wi-Fi hotspot or plugged into the cable modem/router at home. The table below provides the default route in different configurations and states as the interface over which any network packet going outside will travel. For example, the NTRIP client connection request to an NTRIP caster on the Internet would go over the presented interface.

 

Note that this table shows that when both the Wi-Fi client and Ethernet (DHCP client or static IP with gateway) have Internet access, the Ethernet route is preferred (i.e., in this context, it means used exclusively). There is no such thing as an automatic retry via another route.

 

Network data ports: Default route

#

Wi-Fi Client

Ethernet

Default route

1

 

Not configured or not connected

Not configured or not connected

None

2

Configured and connected

Not configured or not connected

Wi-Fi client

3

Configured and connected

Configured (DHCP client) and connected

Ethernet

4

Configured and connected

Configured (DHCP server) and connected

Wi-Fi client

5

Configured and connected

Configured (static IP w/o gateway) and connected

Wi-Fi client

6

Configured and connected

Configured (static IP with gateway) and connected

Ethernet

7 Not configured or not connected Configured (DHCP client) and connected Ethernet
8 Not configured or not connected Configured (DHCP server) and connected None
9 Not configured or not connected Configured (static IP w/o gateway) and connected None
10 Not configured or not connected Configured (static IP with gateway) and connected Ethernet

 

This table is valid under the assumption that the external DHPC server (Wi-Fi hotspot or Ethernet router) does provide a default route (i.e., has Internet access). The user can choose not to do that, allowing for various network setup variations.

 

In this context, "Connected" means the network link is up. It does not mean "Internet" is available (i.e., it does not imply that the upstream connection is good). For example, you can be connected to a Wi-Fi hotspot on your phone even though it is disconnected from the cellular network. In this situation, and with the configuration 1, 4, or 5, it would mean that the device would no longer access the Internet.

 

Besides the default route, each interface (Wi-Fi client, Wi-Fi access point, Ethernet) has a specific route for that network. Therefore, connections to an address in that network always go via that interface independent of any default route.

 

The "Configuration → Network" page of the Web Interface shows the current default route as shown in the figure below, where we can see that the Ethernet connection is preferred over the Wi-Fi client.

 

Default route example

 

Network data ports

The following network data ports are available over Ethernet and Wi-Fi:

 

Network data ports: Functions

Port

Protocol

Clients

Function

21000-21004

Raw TCP/IP socket

Multiple

XVN data output (for example, $FP_messages) and input (wheelspeed, RTCM3)

21010–21011 Raw UDP/IP Multiple XVN data input (wheelspeed, RTCM3)

23010

Raw TCP/IP socket

Multiple

Correction data stream (for example, RTCM3 messsages from the NTRIP caster)

80

HTTP

Multiple

Web interface (including firmware update)

n/a ICMP n/a ICMP traffic (ping, etc.)

53

TCP/UDP

Multiple

Domain (DNS) service, for internet sharing

5353 UDP Multiple Multicast DNS

67

TCP/UDP

Multiple

DHCP/Bootstrap Protocol Server

123 UDP Multiple NTP time server (Network Time Protocol)
319 UDP Multiple PTP Event message
320 UDP Multiple PTP General message
21100 HTTP Single Network recording

 

 

 

Outbound connections

The Vision Navigator makes outbound connections to the Internet to the following servers:

While the web interface is open in a client browser:

While the remote support functionality is enabled:

The web interface (i.e., the client browser, not the Vision Navigator itself) connects to:

 

USB recovery network

When connected to a PC, the USB port on the Vision Navigator acts as a "USB Ethernet gadget." The PC sees a network interface similar to a USB-to-ethernet dongle.

 

The PC should automatically detect the network interface and configure it. This way, the user can access the web interface via http://10.0.3.1 to change the configuration. The configured password does not protect this access mode to the web interface as with other interfaces (Ethernet and Wi-Fi).

 

The user cannot configure this network access mode as it is only for recovery (e.g., misconfigured Ethernet and Wi-Fi) and should not use it for data transfer.

 

The USB network interface should automatically work on Linux (e.g., Ubuntu 22.04). Windows should recognize the sensor as a "USB Ethernet/RNDIS Gadget," not as a (nonfunctional) COM port.

 

Wi-Fi access point

To change the configuration of the Wi-Fi access point, press the ’Edit connection’ button on the Wi-Fi access point section. As shown in the figure below, the web interface will display a configuration panel where the user can modify the following fields:

 

Wi-Fi access point configuration on the web interface

 

Static IP

To set up a static IP for connecting to the Vision Navigator over Ethernet, press the 'Edit connection' button on the static IP field of the Ethernet section. As shown in the figure below, the web interface will display a configuration panel where the user can modify the following fields:

Press the 'Apply' button to apply the selected changes. At this point, the Vision Navigator is not yet using the static IP. Once configured, the user must press the 'Connect' button.

 

 

Static IP configuration on the web interface

 

Time synchronization

To visualize which time source the Vision Navigator is employing, head to the "System → Info" page of the web interface and check the ’Time synchronization’ field. An example is shown in the figure below, where the Vision Navigator is synchronixed to the time information provided by the GNSS receivers.

 

Time information displayed on the Input/Output Dashboard


The time information can come from one of the following sources:

On initialization, the time information provided by the XVN is based on its internal clock. If an Internet connection is provided, the sensor will attempt to communicate with an NTP server to synchronize its clock, see Outbound connections. Once the GNSS1 receiver reads signals, it will synchronize with the GNSS time, which has the highest accuracy. That way, the internal clock of the XVN will be corrected by synchronizing with the GNSS1 receiver. Note that the XVN has an internal battery to keep its internal clock running without the sensor's power source connected.

 

In reality, the time kept by clocks in different network devices can drift from each other. In time-sensitive applications, this drift is mitigated by using time synchronization. Having time synchronized between any two clocks means that the difference in time between them has an upper bound. This can be achieved by periodically synchronizing the time between the clocks before the time difference gets too large. There are three options to synchronize another system with the very accurate clock of the Vision Navigator: Network Time Protocol (NTP), Pulse Per Second (PPS) signal, and Precise Time Protocol (PTP).

 

The XVN operates as an NTP master by default.

 

Network Time Protocol (NTP)

If a time synchronization precision of a few milliseconds is sufficient, the user can employ the Vision Navigator's built-in NTP server (port 123).

 

 

Precise Time Synchronization (PTP)

If the required time synchronization precision must be in the range of a few microseconds, the user can use the Vision Navigator’s PTP capabilities. The Ethernet MAC with IEEE 1588 of the Vision Navigator integrates a standard IEEE 802.3 Ethernet MAC with a time-stamping module. The IEEE 1588 standard provides accurate clock synchronization for distributed control nodes (e.g., industrial automation applications). Since firmware 2.81.x, the sensor can be a Precision Time Protocol (PTP) Grand Master (GM). The sensor provides a very precise time (sub-microseconds), which can be used by other devices if required.

 

 

The PTP functionality can be (de)activated in the Web Interface on the "Configuration → Time" page (see figure below). The following three PTP profiles are supported and can be selected in the Profile drop down menu:

 

Precise Time Protocol

 

Tests have shown that the precision of the time synchronization with the Vision Navigator using PTP is sub-microsecond. The time accuracy is based on the time provided by the GNSS receiver and is approximately 3us on the sensor with good GNSS reception. During periods of operation when there is no or only degraded GNSS reception, the time provided by PTP will naturally start to drift to the same extent as the time from the GNSS receiver and accuracy may suffer. In other words, under these conditions, PTP will continue to provide the system time and synchronize all connected slaves relative to each other and precision stays the same. However, the time provided may deviate from the global time and accuracy suffers. Note that measurement inaccuracies cannot be precluded. For more precise results, the measurements would have to be carried out again with a more accurate measurement setup.

For examples on how to use the PTP, please refer to How to Enable Precision Time Protocol(PTP) for XVN.

 

Pulse Per Second (PPS)

Using PPS with the corresponding timing message from the GNSS receiver provides the maximum accuracy. However, setting up this method is the most complex. The XVN outputs the PPS signal from the GNSS1 receiver.

 

An illustration of time pulse function

 

Time pulse:

 

Input/output system overview

Input/output system overview

 

The Vision Navigator provides multiple input and output data stream options. This section provides an overview of the I/O system. Note the distinction between:

The network interfaces of the sensor comprise Ethernet, Wi-Fi station (client), Wi-Fi access point, and USB network. See the previous section for more details on network configuration.

 

Connector, Interface, Port overview

Port

Interface

Connector

Description

UART1

UART1

I/O

(Asynchronous) serial port for speed up to 1 Mbit/s, via a UART1 interface

UART2

UART2

AUX

(Asynchronous) serial port for speed up to 1 Mbit/s, via a UART2 interface

TCP0

Network

Eth, Wi-Fi, USB

TCP/IP raw socket server on port number 21000, can handle multiple clients

TCP1

Network

Eth, Wi-Fi, USB

TCP/IP raw socket server on port number 21001, can handle multiple clients

TCP2

Network

Eth, Wi-Fi, USB

TCP/IP raw socket server on port number 21002, can handle multiple clients

TCP3

Network

Eth, Wi-Fi, USB

TCP/IP raw socket server on port number 21003, can handle multiple clients

TCP4 Network Eth, Wi-Fi, USB TCP/IP raw socket server on port number 21004, can handle multiple clients
UDP0 Network Eth, Wi-Fi, USB UDP/IP raw socket server on port number 21010 for input, user-configurable output to ip address and port
UDP1 Network Eth, Wi-Fi, USB UDP/IP raw socket server on port number 21011 for input, user-configurable output to ip address and port
CANSTR CAN I/O CAN "streaming" port. Broadcasts output messages and listens to incoming messages.

 

The user must not input wheelspeed data and GNSS corrections on the same port simultaneously. The input to a port must be guaranteed (by the user) to be message-by-message. If multiple inputs to the same port are provided (e.g., GNSS corrections and wheelspeed), then the user must ensure that the messages are not interleaved on the byte level (which would corrupt the message frames). Alternatively, the user can use two ports independently: input GNSS corrections on one port (e.g., TCP0) and wheelspeed measurements on another (e.g., TCP1).

 

UART port configuration

The UART1 and UART2 ports correspond to the pins 7 (UART1_RX), 8 (UART1_TX), 4 (GND) in the I/O connector, and pins 2 (UART2_RX), 3 (UART_TX), and 4 (GND) in the AUX connector (see Hardware connections). The user can configure the baud rate of the UART ports inside the "Configuration -> I/O" panel of the web interface. The available options are 9’600, 19’200, 38’400, 57’600, 115’200, 230’400, 460’800, or 921’600. A baud rate of 115’200 or higher is recommended.

 

The user can input the wheelspeed sensor and RTCM3 correction data streams into the Vision Navigator via UART. The XVN can stream the output messages (e.g., FP_A-ODOMETRY) via UART.

 

UART baud rate configuration

 

UDP port configuration

The UDP0 and UDP1 ports are accessible via ethernet (recommended), WiFi or USB (see the table above for more information). The user can use the UDP ports for inputting data such as wheelspeed or RTCM3 correction data via the designated port numbers. For outputting data on UDP0 and/or UDP1, the user needs to select the 'Output' as 'Enabled', insert the respective IPv4 address, and add a chosen port number that lies within 1024 - 65530. Save the configuration changes and enable the desired output messages.

 

UDP port configuration

 

CAN streaming port configuration

All input and output ports are streams of bytes (uint8_t). The CANSTR port packs the output stream of bytes into as many CAN frames as necessary. Depending on the CANSTR configuration, this can be classical CAN frames with up to 8 bytes or CAN FD frames with up to 64 bytes of payload. The figure below shows the CANSTR message format generation. The CANSTR port corresponds to the pins 1 (CANH), 2 (CANL), and 4 (GND) of the I/O connector (see Hardware connections).

 

CANSTR message format

 

The user can configure the CAN interface inside the "Configuration -> I/O" panel of the web interface, as shown in the figure below. The following configuration options are available:

The user must reboot the sensor after updating the CAN interface configuration.

 

CAN interface configuration

 

The CANSTR module configuration can be modified in the CANSTR panel inside the "Configuration -> I/O" panel of the web interface, as shown in the figure below. The following configuration options are available:

 

Differences between CANSTR and CAN Interface

CANSTR is a specialized port built upon the standard CAN interface. It offers the flexibility to utilize the CAN protocol to stream input and output data, which the user can customize within the I/O configuration section of the web interface.
Additionally, the user can configure the CAN ID for these streams as required.

 

The main distinctions between CANSTR and the traditional CAN interface are:

 

A vital consideration when working with any CAN interface is the bitrate setting. Ensuring the correct bitrate is paramount for the seamless communication of all devices on the CAN bus.

 

 

CANSTR module configuration

 

Output generator

The user can configure the Fusion output at the Output generators module inside the "Configuration -> I/O" panel of the web interface, as shown in the figure below. The following configuration options are available:

Output generators configuration

 

  1. ENU output: By default the ENU output is set to 'Automatic'.
  2. User defined ENU: If the ENU output is configured as 'User defined', you can manually insert ECEF coordinates of the reference system here.

 

ENU Output configuration

 

 

With High-Precision enabled, the output is no longer NMEA compliant. See the comparison of the two modes in the table below. If you are currently parsing standard NMEA formatted messages, you must update your parser to support the added digits for the "High-Precision" NMEA output provided.

 

Strict (standard) and High-precision NMEA format comparison

Field

Strict NMEA

High-precision

Notes

Latitude, Longitude (degrees)

ddmm.mmmmm [∼ 20 mm]

ddmm.mmmmmmm [∼ 0.2 mm]

Approximate, worst case (at the equator)

Height, Altitude (meters)

float(.1) [100 mm]

float(.4) [0.1 mm]

 

Time (seconds)

ss.ss [10 ms]

ss.ssss [0.1 ms]

 

Speed (knots)

float(.1) [∼ 100 mm/s]

float(.5) [∼ 0.1 mm/s]

 

Heading, Course (degrees)

float(.1) [0.1 deg]

float(.4) [0.0001 deg]

 

Number of satellites

00. . . 12

00. . . 99

 

 

Point of interest configuration

The default reference frame of the XVN is located at the X shape on the sensor housing (see Mechanical Specifications). If the user requires the odometry output in a different reference frame, the “Output translation" meaning "Translation from the sensor to output represented by x-y-z Cartesian coordinates" and "Output rotation" meaning "Rotation from the sensor to output represented by Roll-Pitch-Yaw (RPY) in the Cartesian coordinates" fields in the Output generator module of the web interface can be used.

 

The XYZ displacements from the center of the XVN's reference frame to the desired point are expressed in meters. In contrast, the rotation from the sensor’s frame to the output’s body frame is expressed in degrees using Yaw-Pitch-Roll (YPR) rotations, also known as Euler Angles. For reference, the arrow on the web interface’s map page points towards the output frame’s positive X direction.

 

For reference, the figure below shows an example of a transformation between the XVN’s body frame and the output’s body frame using the previously described convention. In this example, the point of interest (POI) is located at an arbitrary point inside the vehicle. Therefore, the user must calculate the XYZ translations from the sensor’s frame of reference to the POI and then rotate the frame using YPR angles.

 

Transform from the XVN's body to the output reference frame

 

Output messages configuration

A segment of the possible output message configuration

 

The user can select which messages are assigned to each port at the Output messages module inside the "Configuration -> I/O" panel of the web interface, as shown in the figure above.

 

Fusion output: The output frequency of these messages is the same as the Fusion output frequency configured in the output generator. By default, the output frequency is 10 Hz, but the user can configure it to the range of 1-100 Hz. For a detailed list of all available messages, their formats, and examples, please refer to Input/Output messages.

 

Available Fusion messages:

* This message is also available with talker ID "GP" but it uses information from all GNSS constellations (GN), not GPS only (GP).
∗∗ The smooth odometry output aims to provide a smooth trajectory without jumps, allowing users to use the XVN for control applications (e.g., motor feedback).

 

IMU output: All IMU output is generated at the IMU frequency of approximately 200 Hz. Note that the IMU output requires a lot of output bandwidth. For example, on a serial port, the baud rate must be set high enough for the necessary bandwidth. The exact number depends on what messages are enabled for the port.

 

Available IMU messages:

 

TF output: The output frequency of these messages is 1 Hz. See exceptions below.

 

Available TF messages:

∗ The output frequency of this message is the same as the configured Fusion frequency.
∗∗ The output frequency of this message is 200Hz

 

Text output: Irregular output of text messages (strings). There are four levels:

 

For example, the sensor outputs a "boot screen" on boot. While it does output it to any port where the FP_A-TEXT_INFO message is enabled, it is only practical to observe this output on UART and CANSTR ports. It is not possible to connect to the TCP ports in time to observe this output.

 

The boot screen is as follows:

$FP , TEXT ,1 , INFO , Fixposition AG - www . fixposition . com *09 r n
$FP , TEXT ,1 , INFO , SW = fp_release_vr2_2 .61.0 _191 *78 rn
$FP , TEXT ,1 , INFO , HW = nav - vr2 1.2 a 6 d9d18 *3 E r n

 

Available text messages:

 

GNSS output: All GNSS output is generated by default at the GNSS frequency of approximately 5 Hz. In addition, some GNSS output messages cannot be distinguished between GNSS receivers; ensure you use different ports to avoid confusion.

 

Available GNSS messages:

∗ This message is also available with talker ID "GP" but it uses information from all GNSS constellations (GN), not GPS only (GP).

 

Measurements input: For more information, see Input/Output Messages. Available measurement message:

 

Advanced view

Toggler to activate the advanced view for the output messages

 

In the advanced view, each available message shows its output rate. Zero (0) means the message is disabled and is not output. One (1) means the message is enabled, and its output frequency is 1 Hz. Values greater than one indicate that one of every n-th message is output (e.g., Five (5) means only one of every five messages is output).

 

While values other than 0 or 1 may not make sense for most messages or scenarios, there are use cases for these values. For example, we can configure the Fusion output to 50 Hz and enable the FP_A-ODOMETRY output on TCP0. Enabling this message implies a rate of 1 by default; thus, its output is also at 50 Hz. This high output rate would not be possible on a low-bandwidth port, such as UART. However, the user can select a rate of 10, meaning the sensor would output only every tenth message (i.e., 5 Hz), for which the bandwidth is sufficient.

 

Note that there is no guarantee for output rates greater than one to be aligned to the top of the second. For example, for a message generated at 10 Hz, with a rate of 5, the sensor cannot guarantee the time stamps to end in x.0 and x.5, as a slight delay could change the timings to x.1 and x.6 or x.4 and x.9.

 

In the figure below, the output rate is 10 for the FP_A-ODOMETRY message on the UART1 port. If the desired output frequency is 100 Hz, the actual output frequency is equal to or smaller than 10 Hz.

 

real output frequency theoretical output frequency = Fusion output frequency output rate

 

 

An example of setting up the output rate

 

Velocity Measurement input options

The Vision Navigator offers multiple methods for streaming wheelspeed data. This section provides a detailed overview of the available options.

  1. I/O streaming: Wheel odometry data can be transmitted through I/O using the UART, TCP, UDP or CANSTR protocols, adhering to the FP_B-MEASUREMENTS format (see Input/Output messages). Users must populate the payload according to established guidelines and their specific needs.
  2. CAN message streaming: Users can directly transmit the Fixposition-defined CAN message via the CAN interface (refer to Appendix B). This process is independent of CANSTR. Users do not need to configure CANSTR for this functionality. It is important to note that CANSTR operates at a higher application layer. The distinctions between CANSTR and the CAN interface are elaborated here.
  3. ROS speed topic streaming: A dedicated ROS topic, ‘/fixposition/speed‘, can be populated with speed data, adhering to the ROS message format specified at this repo. Upon receiving this data, the ROS network forwards it to the Fixposition driver. The driver then recognizes the data package and delivers the corresponding NOV-B_RAWDMI message to the Fusion engine.

 

Ensuring adequate configurations for seamless data integration and optimal system performance is imperative. The user can input wheelspeed measurements over any port (see Input/output system overview) based on the wheelspeed measurement configuration employed (see Measurement sensor configuration). The corresponding messages must be input at regular intervals, and the input rate must be at most 50 Hz. The latency (from measuring the wheelspeed to inputting it on the selected port) must be as low as possible. Increased, and in particular, irregular latency degrades the Vision Navigator's performance.

 

Correction service configuration

The Vision Navigator requires RTCM3 data to provide real-time corrections for accurate localization. The user can configure the correction service in the "Configuration -> GNSS" panel of the web interface. The correction service configuration must fulfill the following specifications:

The user must select the desired method to input the correction service data in the "Source" parameter (see figure below for reference). The following methods are available:

For the NTRIP and TCP methods, one can choose if and how to send the sensor’s location to the caster:

The "Enter path" button can be used to easily configure a client using a string in one of the following forms:

The "Restart client" button force-restarts the built-in NTRIP client. Note that the client automatically keeps trying to connect to the configured caster until it succeeds. If the sensor receives no data for 10 seconds, it automatically tries to reconnect.

 

 

 

RTK configuration page in the web interface

 

In addition, you can visualize the NTRIP caster source table by pressing the "Sourcetable button". Here you can find more information regarding the NTRIP caster (e.g., host, port, ID, location), available networks (e.g., ID, operator, web data), and corresponding streams (e.g., mountpoint, format, RTCM3 message types, GNSS constellations).

 

NTRIP caster sourcetable

 

Many casters do not provide a complete or accurate source table, and some do not provide one at all.

 

Supported RTCM3 messages

Besides meeting the general requirements for correction service data, the Vision Navigator requires that the latency (age) of the data should be kept as low as possible (ideally better than 1 second) and at least the following RTCM3 messages for proper operation:

 

List of required RTCM3 input messages

Type

Message

Reference station position

  • Update rate: every 10 s or less

One of the following:

  • RTCM type 1005 (Stationary RTK reference station ARP)
  • RTCM type 1006 (Stationary RTK reference station ARP with antenna height)

GPS observables

  • Update rate: 1Hz

One of the following:

  • RTCM type 1074 (GPS MSM4)
  • RTCM type 1075 (GPS MSM5)
  • RTCM type 1077 (GPS MSM7)

Galileo observables

  • Update rate: 1Hz

One of the following:

  • RTCM type 1094 (Galileo MSM4)
  • RTCM type 1095 (Galileo MSM5)
  • RTCM type 1097 (Galileo MSM7)

BeiDou observables

  • Update rate: 1Hz

One of the following:

  • RTCM type 1124 (BeiDou MSM4)
  • RTCM type 1125 (BeiDou MSM5)
  • RTCM type 1127 (BeiDou MSM7)

GLONASS observables

  • Update rate: 1Hz

One of the following:

  • RTCM type 1084 (GLONASS MSM4)
  • RTCM type 1085 (GLONASS MSM5)
  • RTCM type 1087 (GLONASS MSM7)

GLONASS code-phase biases

  • Update rate: every 5 s or less
  • RTCM type 1230

 

 

RTKLIB/str2str

RTKLIB’s str2str application has the capacity to divide an incoming data stream into several streams, each with different formats. Users interested in leveraging this functionality on a host system to connect to the NTRIP service, retrieve RTCM3 data, and subsequently relay this correction information to the Vision Navigator via I/O (UART/TCP/UDP), can follow the steps below. These guidelines will cover RTKLIB installation, establishing a connection with the NTRIP service, and streaming data to a designated IP address and port.

  1. Update the system packages:
sudo apt - get update
  1. Install necessary tools for building RTKLIB: sudo apt - get install build - essential gcc g ++ git
sudo apt-get install build-essential gcc g++ git
  1. Clone the RTKLIB repository: git clone git@github . com : rinex20 / RTKLIB - demo5 . git
git clone [email protected]:rinex20/RTKLIB-demo5.git
  1. Navigate to the RTKLIB build directory:
cd RTKLIB-demo5/app/consapp/str2str/gcc
  1. Compile RTKLIB
make

 

This process will generate an executable named str2str in the RTKLIB build directory.

 

Within the Vision Navigator web interface, users can navigate to "Configuration → GNSS", then select the "I/O port" option. This will enable users to stream RTCM3 data to any accessible TCP/UART/UDP port on the Vision Navigator device.

 

Some NTRIP services (including certain VRS services) require receivers to reciprocate with NMEA-GN-GGA_GNSS data. This enables the service provider to assign the user a nearby real or virtual base station. Given these circumstances, users also need to configure Vision Navigator to output the NMEA-GN-GGA_GNSS data. For instance, a TCP port (like TCP4) can be set to exclusively output NMEA-GN-GGA_GNSS data at a rate of 10 or less, as depicted in the figure below.

 

The setup of the output of NMEA-GP-GGA_GNSS in the I/O section

 

To establish a connection with the NTRIP service and stream data to a preferred IP address and port, the following command can be implemented:

str2str -in ntrip://<username>:<password>@<ntrip_service_url>:<port>/<mountpoint> -out tcpcli ://<IP_address>:<port> -b 1


In this command:

 

This command initiates data streaming. To halt the stream, press Ctrl+C in the terminal running str2str. Depending on your requirements, these steps may need adjustments. For instance, if you desire the stream to initiate automatically at system startup, consider creating a systemd service.

 

The str2str utility has the capability to multiplex a single RTK correction source to multiple clients. The correction source can be either a serial port, a raw TCP/IP/UDP connection, or an NTRIP client. The str2str caster is designed to handle multiple clients efficiently. However, it is important to note that a VRS-type correction source is only compatible with this version here: https://github.com/rinex20/RTKLIB-demo5. Other forks or the str2str installed from Ubuntu’s apt-get might not work with VRS correction.

Note: It is also possible to stream the RTCM3 data by using our ROS Driver. For more

For additional information, refer to https://rtkexplorer.com/pdfs/manual_demo5.pdf.

 

Camera configuration

The user can visualize the camera stream in the "Configuration -> Camera" panel of the web interface. A distorted and downsampled (both in resolution and frame rate) stream of the camera is presented here. As mentioned in Installation guidelines, no static parts or featureless scenes must be present in the image view, as these would affect the sensor’s performance. The user can use the cropping tools on the page to eliminate these featureless areas.

 

Camera configuration page in the web interface

 

The auto-exposure calibration of the camera is affected by the cropped area. Thus, cropping this section will help with exposure if there is a bright object at all times in the camera view. The figure below presents an example of how to crop these undesired features from the camera view.

 

An example of the image view's cutout

 

Camera streaming

The camera image streaming implementation on the Vision Navigator employs the Realtime Transport Protocol (RTP), which is a well-established network protocol for delivering video over IP networks. It runs over the User Datagram Protocol (UDP). RTP is designed for end-to-end, real-time transfer of streaming media. The protocol provides facilities for jitter compensation and detection of packet loss and out-of-order delivery, which are common, especially during UDP transmissions on an IP network. RTP allows data transfer to multiple destinations through IP multicast.

 

The camera stream is not enabled by default. To enable it, head to the "Configuration → Camera" page and change the "Enable stream" status. Two different encodings can be selected in the Encoding setting: H264 or H265. Depending on the streaming method used, different UDP destinations can be chosen: Multicast or Unicast.

 

Camera stream configuration

 

Some notes and warnings:

For examples on how to enable and read the camera stream, please refer to the Base article Camera Image Streaming with Xsens Vision Navigator.

 

Measurement sensor configuration

The user can configure the measurement sensor input by accessing the "Configuration → Measurement" panel of the web interface. The measurement sensor, e.g., wheelspeed encoder, data can be coming from any of the UART, TCP, UDP, or CAN ports. However, before setting up the measurement sensor, the corresponding ports should be configured according to Input/output system overview.

 

Measurement sensor configuration on the web interface

 

The measurement configuration supports up to five external sensors (up to ten by enabling the advanced features). Each sensor requires a specific definition to be an input to the sensor fusion engine.

 

The user can use one of our presets to configure the sensor (see the figure below). The order of the wheelspeed sensor definition does not matter. The low-level sensor configuration required by any of the ports involves the following fields:

Once you have selected a measurement source, you will be able to configure the sensor in more detail (see the figure below). When using one of the predefined wheelspeed sensors, some configurations are blocked. 1

  1. Use – Enables the wheelspeed sensor. If unchecked, the XVN will not use any other parameters. It can be left unchecked to keep the configuration saved.
  2. Trust – Selects how much trust is placed on the measurement based on its reliability and expected slippage. The default value will map to one of the other trust levels depending on the chosen tuning mode. Car, slow and lawnmower will map to the High setting, whereas generic will map to the Very low. This value should be mostly left as default unless the user is experiencing serious wheel slippage, in which case one can experiment lower trusts to see if the impact on the performance is positive.
  3. Values sign – When Signed is enabled, the positive and negative values are read. If Unsigned is enabled, all measurements are read as absolute values.
  4. Quantization – The expected quantization of the measurements, in the same unit as the measurement values.
    Example: suppose wheelspeed values are being sent via FP_B-MEASUREMENTS in mm/s, while the original source of measurements might be OBD2, where the resolution is km/h. In this case, even though data is sent in mm/s, it is expected that there are gaps in the values corresponding to 1 km/h converted to mm/s, which would correspond to 278 mm/s. In this case, the quantization value to fill is 278.
  5. Translation – Translation from the center of the XVN's frame to the center of the wheelspeed sensor axis, expressed in the XVN’s frame in meters.
  6. Rotation – Euler angle rotation to move the unit vectors from the XVN's frame to the wheelspeed frame in degrees.
  7. Dimension – Enable the use of the wheelspeed measurements for the given axis.

 

Preset list of the CAN and I/O wheelspeed configurations

 

Once the wheelspeed configuration is saved, the status of the data input is displayed on the System → Info page.

 

CAN wheelspeed sensor

The CAN message must be formatted as described in Appendix B for a generic speed input. The user should send the corresponding CAN frames at regular intervals, where the input rate must be at most 50 Hz. The message latency, measured from computing the wheelspeed to broadcasting it over the CAN bus, must be as low as possible. Increased and, in particular, irregular latency degrades the Vision Navigator's performance. The low-level sensor parameters are automatically filled in when one of the preset settings is selected. For example, the figure below presents the configuration when the "Fixposition CAN message (vehicle speed, CAN)" preset is selected.

 

Example of CAN message (vehicle speed) preset configuration

 

Based on the CAN frame structure, when the Rear Centre (RC) wheelspeed sensor is selected, the corresponding vehicle wheelspeed value will be written in the Front Right (FR) data field. Thus, the CAN message will be structured as follows:

Else, if two or more wheelspeed sensors are selected, the message structure will be:

The CAN message can support wheelspeed measurements from one or four wheels. However, if two or more wheels are used, the user can combine their vectors and input them as a single rear center wheelspeed measurement. All available presets have been listed in the configuration panel of the wheelspeed module in the web interface (see the figure above). For customizing the CAN message interface of the Vision Navigator, please contact us at [email protected].

 

Verifying CAN message configuration

For proper operation using the CAN message, the user must verify the following four components:

  1. A host machine equipped with a CAN interface should transmit the CAN messages per the specifications detailed in Appendix B. The message adheres to the Classic CAN protocol with CAN ID 0x147 and 0x148 (from 2.102.2). For a single speed input, populate bytes 0-1 with RC. For multiple wheelspeed inputs, assign the payload as follows: FR for bytes 0-1, FL for bytes 2-3, RR for bytes 4-5, and RL for bytes 6-7.
  2. Wheelspeed settings in the web interface must align with the composition of the CAN message. For instance, if the user transmits data for four wheelspeed measurements, the user must configure all four data sources in the web interface. Conversely, if only two wheelspeeds (e.g., RR and RL) are used, FR and FL should be left blank in the CAN message. In the web interface, disable sensors 1 and 2 and set sensors 3 and 4 to RR and RL, respectively.
  3. Activate the CAN interface on the Vision Navigator system. It is crucial to ensure that the bitrate matches that of the host machine, facilitating seamless communication among all devices on the CAN bus.
  4. Note that for this configuration to work, the CAN bus must be connected to CANL (CAN low), CANH (CAN high), and GND (Ground) in the I/O connector.

 

I/O wheelspeed sensor

For streaming the wheelspeed values via the UART, TCP, or UDP ports, the user must employ the FP_B-MEASUREMENTS message detailed in Output messages. The binary message must be input on a UART/TCP port at a regular interval with a maximum input rate of 50 Hz. The message latency, measured from computing the wheelspeed to broadcasting it over the I/O port, must be as low as possible. The low-level sensor parameters are automatically filled in when one of the preset settings is selected. For example, the figure below presents the configuration when the "Fixposition I/O message (vehicle speed, I/O port)" preset is selected.

 

Example of I/O message preset configuration

 

If your system employs ROS1 or ROS2, you can use this ROS Driver to stream the wheelspeed measurements.

 

If you have a ROS topic available with the wheelspeed information, you can use the "Fixposition Odometry Converter" node, which you can find in this repo. Currently, messages of the type "geometry_msgs/Twist", "geometry_msgs/TwistWithCov", and "nav_msgs/Odometry" are supported.

 

Create your own Knowledge Base