System integration ================== This chapter provides an overview of the systems that can be integrated into |Navigation Software name|, along with their respective settings. .. hint:: :ref:`Specific use cases ` are presented at the end of the chapter. Supported sensors ----------------- .. rubric:: IMU * Applanix POSAV * Applanix AP+ * all GNSS sending NMEA * iXBlue AIRINS / ATLANS .. rubric:: Imaging sensors * ITRES * Nasa CWIS-II DCS * Phase One * Simplex * UltraCam .. rubric:: LiDAR * Riegl .. rubric:: Integrated systems * :doc:`TOPOFLIGHT universal protocol <./../Protocol/index>` .. rubric:: Sensor mount platforms * SOMAG Version 1 * SOMAG Version 2 * Aerostab3 * SteadyTrack Setting up a list of SensorHandler integrated sensors ----------------------------------------------------- This chapter is intended for the system integrator only. The SensorHandler sensor list ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Each button on the left of the SensorHandler panel represents a device being used. Right click on a button to add or remove a device from the list of devices. .. |ico1| image:: ../../pics/navigator/settings/NG_settings_number1.png :width: 22 .. |ico2| image:: ../../pics/navigator/settings/NG_settings_number2.png :width: 22 .. |ico3| image:: ../../pics/navigator/settings/NG_settings_number3.png :width: 22 .. |ico4| image:: ../../pics/navigator/settings/NG_settings_number4.png :width: 22 .. |ico5| image:: ../../pics/navigator/settings/NG_settings_number5.png :width: 22 .. |ico6| image:: ../../pics/navigator/settings/NG_settings_number6.png :width: 20 .. list-table:: :class: unbordered-table :widths: 35 65 :header-rows: 0 * - .. image:: ../../pics/navigator/systemintegration/NG_sensor_handler_list.png - | | | |ico1| SensorHandler will communicate with Applanix to receive position information and to control the SOMAG platform and, optionally, to take an image. | | |ico2| SensorHandler will communicate to RiACQUIRE to start and stop scanning | | |ico3| In the settings the following information is stored: - location of the log files - location of the settings files | | |ico4| Definition of COM ports (not needed in Riegl configuration) | | |ico5| Definition of Ethernet ports used SensorHandler Ethernet settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In the Ethernet settings dialog, set the IP address and port of each of the devices: .. image:: ../../pics/navigator/systemintegration/NG_ethernet.png .. _settings_PhaseOne_camera: Setting up a PhaseOne camera ---------------------------- By default, PhaseOne and iXCapture both run on the same computer (usually on an iXController). The operator thus can see the images taken (with iXCapture) while also seeing the navigation window of the flight. This default installation implicates that SensorHandler runs on the same machine. Some special installations are required to run iXCapture on a different machine than that of the navigation program. In this case, |Navigation Software name| and SensorHandler run on one machine and iXCapture on another. .. topic:: Adding PhaseOne to SensorHandler: The PhaseOne handler needs to be visible in the sensor list. Right-click on a free button and select PhaseOne sensor to populate the free button: .. image:: ../../pics/navigator/systemintegration/NG_phase_one.png :width: 200 .. topic:: Configuring the Ethernet settings: Set the IP to the local address ``127.0.0.1`` and the port to ``9569``. This allows SensorHandler and iXCapture to exchange information on the images taken and on correct file names including the line and the image number. .. image:: ../../pics/navigator/systemintegration/NG_phase_one_ethernet.png :width: 600 .. topic:: Settings in the Phase One dialog: #. | Click on the PhaseOne button in SensorHandler's main list of connected sensors to open the dialog box. Normally, this dialog does not need to be opened. However, it is useful for verifying correct system behavior. .. image:: ../../pics/navigator/systemintegration/NG_phase_one_dialog.png | |ico1| The symbol is colored green as soon as the camera is connected correctly and running. It sends the *system ready* message to SensorHandler. The symbol is colored red when there is no connection to the camera. | |ico2| The instant the camera takes an image, the red box around the lens changes to green for 0.4 seconds. Then it turns back to red. | |ico3| Click this button to ask if the system is ready. It shows system ready on the bar at the bottom of the dialog. | |ico4| In the default setting, an image will be released the instance the airplane passes the position where the image is to be taken. Optionally, images can be released at regular time intervals between the start and end of the line of flight (no images will be taken if the airplane is outside of the line of flight). | |ico5| This button can be pressed to manually release an image. This is often used to verify that the system is working correctly or to define the correct values for aperture and exposure time. | |ico6| Click on this button for more settings. | #. | **Use standard communication with iXCapture** This is the default option. It is used in standard installations where |Navigation Software name|, SensorHandler and iXCapture are installed on the same machine. | **Use TCP/IP bridge to remote iXCapture** This option is selected when |Navigation Software name|/SensorHandler are installed on a different computer than iXCapture. In this case, use the IP address of the remote computer on which IXCapture and iXBridge are running. .. image:: ../../pics/navigator/systemintegration/NG_standard.png Setting up a universal camera ------------------------------ By using an external trigger cable it is possible to control any kind of camera. Requirements: * external trigger cable (camera specific) * optional: hot shoe adapter (incl. cable) * the cables are connected to the flight computer via COM port .. topic:: Configuring a universal camera: #. Open the camera dialog window. .. image:: ../../pics/navigator/systemintegration/NG_universal_camera.png #. Click on **Settings**. #. Adjust the parameters according to your setup. * Trigger signal: * RTS or DTR * high or low * Camera Reply (via hot shoe adapter) * RTS or DTR * high or low .. image:: ../../pics/navigator/systemintegration/NG_universal_camera_settings.png .. _settings_Riegl_RiACQUIRE: Setting up Riegl RiACQUIRE -------------------------- .. topic:: Adding Riegl RiACQUIRE to SensorHandler: The Riegl RiACQUIRE handler needs to be visible in the sensor list. Right-click on a free button and select *LiDAR Riegl RiACQUIRE* to populate the free button: .. image:: ../../pics/navigator/systemintegration/NG_RiAquire_button.png :width: 200 .. topic:: Configuring the Ethernet settings: Set the IP to the address ``192.168.0.138`` and the port to ``20005``. This allows SensorHandler and Riegl RiACQUIRE to exchange information. .. image:: ../../pics/navigator/systemintegration/NG_RiAquire_ethernet.png :width: 600 .. topic:: Settings in the Riegl RiACQUIRE dialog: .. image:: ../../pics/navigator/systemintegration/NG_RiAquire_new.png :width: 600 - | **Initialize/Working/Logging:** This mode stops scanning at the end of a line of flight by setting the scanner to initialized mode. It starts scanning again at the beginning of the line the scanner is set to logging mode. | **Working/Logging:** This mode switches between working and logging only. This option is recommended for larger Riegl scanners and the following scanners: VQ-1560II, CVQ-1560I, LMS-Q1560, VQ-780i, VQ-780II, LMS-Q780 (all 1560 and 780 models). | **Manual mode:** In this mode the scanner won't stop logging at the end of the line. In fact, it continuously keeps scanning after the first start of logging on the first line. It can be started and stopped manually with RiACQUIRE. - | If the airplane leaves the defined corridor the scanner will normally stop scanning by changing from logging to working mode. If the option *If outside corridor do not stop scanning and taking images!* is set, then the scanner will keep scanning even outside of the corridor and images will be taken even if the airplane is outside of the horizontal tolerance (corridor). .. topic:: Advanced settings in RiACQUIRE: .. image:: ../../pics/navigator/systemintegration/NG_RiAquire0.png .. rubric:: Select scanners and cameras | The button **Get devices from RiACQUIRE** can be clicked as soon as the scanner has been connected. Both lists (scanners and cameras) will automatically be filled with the existing scanners and cameras. | By default, the scanner(s) and camera(s) are switched on, meaning that SensorHandler controls the devices. If a camera or scanner does not need to capture images or scan, disable it by checking the box next to the device name. | Each scanner and each camera can be activated or deactivated during the flight without having to reset the software. **Two typical use cases:** - A Riegl system includes two cameras: one for RGB images and another for IR images. In certain projects, only RGB images are required, making the IR camera unnecessary. - A Riegl system includes two cameras. When carrying out night flights the camera is not required to take images. .. rubric:: Automatic connection and disconnection Set time limits for: - Switching the scanner to working mode before the start of the flight line. - Changing to working-logging mode before the start of the flight line. - Transitioning to initialized mode after the flight line ends. | Enable *Add segment number to RiACQUIRE record* to add the segment number of the flight line to the line number [default: disabled]. | **Example:** When *Add line number to the record number* and *Add segment number* are enabled the resulting record number for line 52 segment 2 will be *52-2*. .. hint:: Details on the flight line numbering scheme are explained :ref:`here`. .. rubric:: Triggering images box | The camera can be released either by using RiACQUIRE or by the IMU. | Further details can be found in our :ref:`use cases`. **Images triggered by RiACQUIRE:** #. Enable the option *Release camera at predefined positions using RiACQUIRE*. #. In the IMU dialog (for instance in POSAV/AP+ settings) **disable** the option to release images through the IMU. **Images triggered by the IMU:** #. Enable the option *Release camera through IMU*. #. In the IMU dialog (for instance in POSAV/AP+ settings) only the port of the event needs to be defined and the option to release images through the IMU must be **disabled**. #. It is no longer necessary to select *Camera is controlled by Applanix!* The option is only required for specific integrations where the IMU must detect when an image should be triggered. | The sketch below illustrates two methods for triggering the camera to capture an image. .. image:: ../../pics/navigator/systemintegration/NG_CAMtrigger_paths.png In the :ref:`standard method (A)`, the image capture settings are configured in the SensorHandler RiACQUIRE menu. These settings are then transferred to RiACQUIRE, which communicates directly with the camera to trigger the image. In the :ref:`alternative method (B)`, the settings are configured in the SensorHandler POSAV menu. These settings are passed directly to the IMU, which in turn triggers the camera. .. _CAM_standard_method: .. topic:: Standard image takings method (A) using RiACQUIRE: SensorHandler takes images through RiACQUIRE and **not** through Applanix POSAV/AP+: .. list-table:: :class: unbordered-table :widths: 40 60 :header-rows: 0 * - .. image:: ../../pics/navigator/systemintegration/NG_IT_RiAquire1.png - The picture shows the default settings in the RiACQUIRE dialog. If the release camera is enabled SensorHandler will release the camera using RiACQUIRE. * - .. image:: ../../pics/navigator/systemintegration/NG_IT_RiAquire2.png - In the Applanix dialog, disable the option to take images through Applanix. * - .. image:: ../../pics/navigator/systemintegration/NG_IT_AM_RiAquire3_box.png - In RiACQUIRE, set trigger mode to *Manual Remote Control*. .. _CAM_alternative_method: .. topic:: Alternative image takings method (B) using Applanix POSAV/AP+: SensorHandler takes images through Applanix POSAV/AP+ and **not** through RiACQUIRE: .. list-table:: :class: unbordered-table :widths: 40 60 :header-rows: 0 * - .. image:: ../../pics/navigator/systemintegration/NG_IT_AM_RiAquire1.png - If the release camera is disabled SensorHandler will NOT release the camera using RiACQUIRE. * - .. image:: ../../pics/navigator/systemintegration/NG_IT_RiAquire2.png - In the Applanix dialog, disable the option to take images through Applanix as the command to trigger images is sent directly from SensorHandler RiACQUIRE. * - .. image:: ../../pics/navigator/systemintegration/NG_IT_AM_RiAquire4_box.png - In RiACQUIRE, set trigger mode to *External High*. .. _Applanix-setup: Setting up Applanix AP+ ----------------------- .. important:: Configure the GSOF as described in the chapter :ref:`Setting up Applanix in AVX210`. SensorHandler needs two ports to communicate with Applanix AP+: * TCP/IP to get navigation data (it is usually defined as port ``28001``) * TCP/IP to get event information (it is usually defined as port ``28002``) Definition in web interface of Applanix AP+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ports ``28001`` and ``28002`` are used. These are the default ports but other port numbers can also be used. .. image:: ../../pics/navigator/systemintegration/NG_Applanix_1.png .. rubric:: Definitions for navigation data (port 28001): .. image:: ../../pics/navigator/systemintegration/NG_Applanix_2.png .. rubric:: Definitions for event (port 28002): .. image:: ../../pics/navigator/systemintegration/NG_Applanix_3.png :width: 800 Settings in SensorHandler ^^^^^^^^^^^^^^^^^^^^^^^^^ .. topic:: Adding Applanix AP+ to SensorHandler: The Applanix AP+ handler needs to be visible in the sensor list. Right-click on a free button and select *Applanix AP+* to populate the free button: .. image:: ../../pics/navigator/systemintegration/NG_Applanix_SH1.png :width: 200 .. topic:: Configuring the Ethernet settings: Enter the IP address of AP+. In this example it is ``10.8.121.90``. Then set the port for receiving the navigation data. This allows SensorHandler and Applanix AP+ to exchange information. .. image:: ../../pics/navigator/systemintegration/NG_ethernet_button.png :width: 200 .. topic:: Integrating Applanix AP+ in SensorHandler: #. Click on the Applanix AP+ button: .. image:: ../../pics/navigator/systemintegration/NG_Applanix_SH4.png #. Tick the option to trigger images if Applanix is to trigger the images and enter the port number through which the event numbers will be received. .. image:: ../../pics/navigator/systemintegration/NG_Applanix_SH5.png :width: 600 #. Set the option Mount is controlled by Applanix if the mount is connected to Applanix AP+. In this case, do NOT define a special mount button in SensorHandler: .. image:: ../../pics/navigator/systemintegration/NG_Applanix_SH6.png .. important:: | **Note for conducting Riegl scanners** | If the images will be released through the RiACQUIRE interface, then do **NOT** enable the Trigger images option: .. image:: ../../pics/navigator/systemintegration/NG_Applanix_SH7.png :width: 250 Enable it in the RiACQUIRE dialog instead: .. image:: ../../pics/navigator/systemintegration/NG_Applanix_SH8.png :width: 500 Remarks for controlling a gyro mount ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ../../pics/navigator/systemintegration/NG_gyromount1.png | If the system is leveled using a mount, the corresponding option must be set. | The figure shows that the mount is switched to STAB mode 30 seconds before the start of the line. .. important:: The mount will only switch to STAB mode (unfreeze) when the aircraft is inside the corridor. | .. image:: ../../pics/navigator/systemintegration/NG_gyromount2.png The green box signifies that the mount is in MAN mode (freeze). The aircraft is outside the corridor, so the two buttons (set manually *ON*, set manually *OFF*) can be activated. .. image:: ../../pics/navigator/systemintegration/NG_gyromount3.png The green box signifies that the mount is in STAB mode (unfreeze). The aircraft is inside the corridor. Therefore, the two buttons (Set manually *ON*, set manually *OFF*) cannot be activated. .. list-table:: :class: unbordered-table :widths: 30 70 :header-rows: 0 * - .. image:: ../../pics/navigator/systemintegration/NG_gyromount4.png - A prompt indication of whether the mount is in stabilization mode is provided through the icon displayed in the main window of the |Navigation Software name| program, see :ref:`Status of MNT - SOMAG Mount `. .. _Applanix-POSAV-setup: Setting up Applanix POSAV ------------------------- .. topic:: Adding Applanix POSAV to SensorHandler: The Applanix POSAV handler needs to be visible in the sensor list. Right-click on a free button and select *Applanix POS AV* to populate the free button: .. image:: ../../pics/navigator/systemintegration/NG_POSAV_button.png :width: 200 .. topic:: Configuring the Ethernet settings: Set the IP to the address ``192.168.0.124`` and the port to ``5600``. This allows SensorHandler and Applanix POSAV to exchange information. .. image:: ../../pics/navigator/systemintegration/NG_POSV_ethernet.png :width: 600 .. topic:: Settings in the Applanix dialog: .. image:: ../../pics/navigator/systemintegration/NG_Applanix_POSAV.png :width: 500 | .. list-table:: :class: unbordered-table :widths: 10 90 :header-rows: 0 * - .. image:: ../../pics/navigator/settings/NG_settings_number1.png :width: 22 - | Set the Display Port, TCP Control Port, TCP Real Time Port | Ports ``5605`` and ``5606`` can only be used if the Applanix FMS option is installed * - .. image:: ../../pics/navigator/settings/NG_settings_number2.png :width: 22 - | Use GPS and IMU Data for navigation. Position, speed and altitude will be read and sent to |Company name| |Navigation Software name|. | For special applications, the other options can be selected. * - .. image:: ../../pics/navigator/settings/NG_settings_number3.png :width: 22 - Switch this option to *ON* if you need to release images through Applanix. For UltraCam and Riegl scanners these options are usually not activated. * - .. image:: ../../pics/navigator/settings/NG_settings_number4.png :width: 22 - | If *ON*, the mount will be controlled through Applanix. **Default:** ON. | Follow mean track: the mount will be steered to match the ground track. | Follow desired heading: the mount will be steered on the planned angle of the flight line. * - .. image:: ../../pics/navigator/settings/NG_settings_number5.png :width: 22 - Switching *ON* this option will correct the received GPS ellipsoidal altitudes to get orthometric heights (heights on the geoid). **Default:** ON. Settings in Applanix POSView program ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Applanix program POSView controls the IMU settings. Make sure the following settings are made in POSView Ethernet Real-Time Port 2: .. image:: ../../pics/navigator/systemintegration/NG_POSView.png :width: 550 Enable the following groups: * 1: Navigation solution * 3: Primary GNSS Data * 5: Event 1 * 200: Gimbal Encoder Data * 203: Gimbal Yaw Drift Correction Data * 222: Reference frame Navigation solution, only if you use direct control of the mount with the special handler for somag mount V2 (by default group 222 is not activated). .. image:: ../../pics/navigator/systemintegration/NG_somag.png :width: 200 | Store the settings in PosView: .. image:: ../../pics/navigator/systemintegration/NG_POSView1.png :width: 400 .. _GSOF-in-AVX210: Setting up Applanix in AVX210 ----------------------------- .. topic:: Adding Applanix GSOF to SensorHandler: GSOF is deprecated and only backwards compatible. Therefore, it no longer can not be selected in the SensorHandler sensor list. .. topic:: Configuring the Ethernet settings: Set the IP to the address ``192.168.53.100`` and the port to ``5017``. This allows SensorHandler and Applanix AVX210 to exchange information. .. image:: ../../pics/navigator/systemintegration/NG_GSOF1.png :width: 600 .. topic:: Settings for GSOF in SensorHandler: #. Open the GSOF dialog by clicking on the **IMU Applanix GSOF** button in SensorHandler. #. Then click the **Settings** button. .. image:: ../../pics/navigator/systemintegration/NG_GSOF2.png :width: 400 #. Adjust the settings: .. image:: ../../pics/navigator/systemintegration/NG_GSOF3.png :width: 400 |ico1| In the standard case navigation data from this IMU is used for navigation. So, for default settings, select the first option. |ico2| The port ``5018`` is the default port through which the event ID arrives as soon as an image has been taken. The event id is recorded in the log files and submitted to iXCapture to tag the file names correctly. |ico3| The EGM96 option is switched on, by default. This means that the altitudes are referenced to the EGM96 geoid. If this option is switched off, displayed altitudes will be referenced to the WGS84 ellipsoid. Settings for GSOF in AVX210 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ../../pics/navigator/systemintegration/NG_GSOF4.png The following GSOF messages need to be transmitted: .. image:: ../../pics/navigator/systemintegration/NG_GSOF5.png The following NMEA message needs to be transmitted: .. image:: ../../pics/navigator/systemintegration/NG_GSOF6.png .. hint:: **Background information:** NMEA altitudes are referenced to the EGM96 geoid. Most often, the planned altitudes for the lines of flight are also referenced to the EGM96. GSOF Message 9, however, is referenced to the WGS84 ellipsoid. In most cases, the flight has to be done on EGM96 altitudes. Therefore, NMEA GGA needs to know the difference between EGM96 and WGS84 altitudes. .. image:: ../../pics/navigator/systemintegration/NG_GSOF7.png :width: 500 | .. image:: ../../pics/navigator/systemintegration/NG_GSOF8.png :width: 500 | .. image:: ../../pics/navigator/systemintegration/NG_GSOF9.png :width: 500 Setting up Novatel using NMEA ------------------------------ .. topic:: Configuring Novatel using the Novatel APP: SensorHandler requires one port to communicate with Novatel. The most convenient way to define an Ethernet log is through the Novatel App. #. Define a new log (device) in the Novatel App. #. It is recommended to use the terminal of the application for setting up the parameters used by |Navigation Software name|. Alternatively, you can use an external terminal to manually set logs. This option has the advantage that the logs can be kept in a script, allowing you to send it over the terminal in text mode, with each log entry on a separate line ending with an end of line character. #. Synchronize the PhaseOne image line and image ID with the image names by logging MARKTIME sentences: ``MARKTIME ICOM1 0 66.5 FINESTEERING 2137 131289.096 02004000 292e1599017.999999999 VALID`` This allows SensorHandler and iXCapture to synchronize the event id, line id and image id. The image file name then can also contain the line and image id. #. Any port of the Novatel device can be used. Here is an example using ICOM5 (Ethernet port ``3005``): Enter each of the following lines one after the other into the terminal of the Novatel App. ``Unlogall ICOM5 TRUE`` ``log ICOM5 gpgga ontime 0.1 HOLD`` ``log ICOM5 gpvtg ontime 0.1 HOLD`` ``log ICOM5 pashr ontime 0.5 HOLD`` ``log ICOM5 mark1timea onnew HOLD`` The integration into SensorHandler follows the same approach as outlined :ref:`here for NMEA `. The Novatel Ethernet and port settings may appear as shown in this example (``192.168.53.100`` and ``3005``): .. image:: ../../pics/navigator/systemintegration/NG_config_NMEA_2.png :width: 400 Setting up NMEA --------------- Any device capable of sending NMEA sentences is compatible with |Navigation Software name|. For navigation, only the following sentences are needed: * GPGGA * GPVTG Settings up NMEA GPS in SensorHandler ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. topic:: Defining the button to connect to GPS NMEA: #. In the main sensor list, right click on the button where you want to place the GPS NMEA connection. .. image:: ../../pics/navigator/systemintegration/NG_NMEA_settings.png :width: 400 #. Select GPS / NMEA Serial or UDP. #. The button is now connected with GPS NMEA. .. image:: ../../pics/navigator/systemintegration/NG_NMEA_settings1.png :width: 200 .. hint:: Remember to define the port (COM or TCP) through which the device can be reached. .. _NMEA-setup-SH: Settings for NMEA in SensorHandler for TCP/IP or UDP ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. topic:: Adding NMEA to SensorHandler: The NMEA handler needs to be visible in the sensor list. Right-click on a free button and select *GPS NMEA* to populate the free button: .. image:: ../../pics/navigator/systemintegration/NG_NMEA_SHsettings1.png :width: 200 .. topic:: Configuring the Ethernet settings: Enter the IP address of NMEA. In this example it is ``192.168.53.100``. Then set the port for receiving the navigation data (port ``5018`` in this example). This allows SensorHandler and NMEA to exchange information. .. image:: ../../pics/navigator/systemintegration/NG_NMEA_SHsettings2.png :width: 500 .. topic:: NMEA settings in SensorHandler for TCP/IP or UDP: #. Open the NMEA dialog by clicking on the **GPS NMEA serial or UDP** button in SensorHandler. #. Then click **Settings** button. .. image:: ../../pics/navigator/systemintegration/NG_settings.png :width: 150 #. | |ico1| By default, navigation data enters via TCP/IP. In this case, select the first option. | If data enters via UDP, then select the second option. | If data enters through a serial port, then the settings will be disregarded by the software. .. image:: ../../pics/navigator/systemintegration/NG_NMEA_SHsettings3.png :width: 500 |ico2| The standard case is that navigation data from this IMU is used for navigation. So, by default, select the first option. Settings for NMEA in AVX210 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ If NMEA is the protocol, then use the settings shown below: .. image:: ../../pics/navigator/systemintegration/NG_NMEA_protocol.png :width: 500 | .. image:: ../../pics/navigator/systemintegration/NG_NMEA_protocol1.png :width: 500 Using the SOMAG mount handler ----------------------------- The two main configurations ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. important:: | To control the SOMAG mount this question must be answered: which device controls the mount? | Is it a) the Flight Management system or b) the INSS? | If using POS AV, then a) and b) can both be applied. | If using Novatel, then only a) is possible. .. image:: ../../pics/navigator/systemintegration/NG_mount_control.png .. list-table:: :class: unbordered-table :widths: 45 10 45 :header-rows: 0 * - .. image:: ../../pics/navigator/systemintegration/NG_mount_control1.png - - .. image:: ../../pics/navigator/systemintegration/NG_mount_control2.png * - **1** POS AV or any other INSS sends position data to the FMS. This is usually done by Ethernet but it can also be done by serial communication. - - **1** POS AV sends position data to the FMS. The FMS sends freeze / unfreeze to POS AV * - **2** The FMS is connected to the mount by a serial port. The FMS does the whole control of the mount: * Changing to STAB and MAN before and after the line * Sending pitch, roll and yaw corrections to the mount * Reading the mount angles - - **2** POS AV is connected to the mount. POS AV fully controls the mount: * Changing to STAB and MAN before and after the line * Sending pitch, roll and yaw corrections to the mount * Reading the mount angles * - No mount angles are logged. - - The mount angles can be logged on POS AV. .. topic:: Configuration 1: Settings for the mount controlled by FMS #. One of the buttons needs to be populated with the INSS being used (select one of those): .. image:: ../../pics/navigator/systemintegration/NG_config1_1.png :width: 200 #. In SensorHandler, select the SOMAG_V2 on one of the buttons: .. image:: ../../pics/navigator/systemintegration/NG_config1_2.png :width: 200 #. In SensorHandler, click on COM ports to define the com port the mount is connected to: .. image:: ../../pics/navigator/systemintegration/NG_config1_3.png :width: 200 #. In the list, select the SOMAG_V2. #. Then select the com port and baud 4 by clicking the button on the left. .. image:: ../../pics/navigator/systemintegration/NG_config1_4.png #. Set Baud rate to 115'200 .. topic:: Configuration 2: Settings for the mount controlled by POS AV #. Since the mount is controlled by POS AV, only the POS AV is required on a button (no SOMAG driver has to be selected): .. image:: ../../pics/navigator/systemintegration/NG_config2_1.png :width: 200 #. In SensorHandler, click on the Ethernet button: .. image:: ../../pics/navigator/systemintegration/NG_ethernet_button.png :width: 200 #. In one of the lists, select Applanix POS AV. Set the IP Address and display port: .. image:: ../../pics/navigator/systemintegration/NG_config2_2.png :width: 600 #. Click on the Applanix POS AV button .. image:: ../../pics/navigator/systemintegration/NG_config2_3.png :width: 200 and then on the Settings button .. image:: ../../pics/navigator/systemintegration/NG_settings.png :width: 150 #. Enter the following settings: .. image:: ../../pics/navigator/systemintegration/NG_config2_4.png :width: 300 Basic modes of operation ^^^^^^^^^^^^^^^^^^^^^^^^ This handler is used to control all the gyro mounts of the SOMAG AG Jena, running Protocol Version 2.0 . .. image:: ../../pics/navigator/systemintegration/NG_basicmode.png | In standard mode, the mount will be set to STAB mode before the line of flight starts and will be set to MAN mode after the line has been finished or when the line is left. The following angles need to be known to drive the mount accurately to the needed position: * pitch, roll, heading angles coming from the IMU * ground track heading coming from the GPS * actual yaw angle of the mount * the desired heading angle the mount should to be driven to. This heading angle can either be the heading of the planned line of flight or of the ground track. For special cases (like testing the mount), the automatic control of the mount can be switched off: .. image:: ../../pics/navigator/systemintegration/NG_basicmode.png After switching off the automatic mode, the mount won't switch between MAN and STAB mode automatically. This mode is mostly used for testing system components like communication and behavior of the mount. Pre-flight settings ^^^^^^^^^^^^^^^^^^^ .. image:: ../../pics/navigator/systemintegration/NG_preflight.png .. list-table:: :class: unbordered-table :widths: 10 90 :header-rows: 0 * - .. image:: ../../pics/navigator/settings/NG_settings_number1.png :width: 22 - | By default, heading corrections are switched ON. This means that the IMU yaw angle will be corrected in accordance with the received IMU angles. SensorHandler requires the actual yaw of the gimbal in order to calculate the amount of correction for accurate yaw positioning of the mount. Here, you set the time intervals in which actual gimbal angles are sent to SensorHandler. Normally, a value of 100 milliseconds is used. | | Select the method for heading correction: * Heading correction in STAB mode: this is the default. The mount is set to STAB mode at the start of the line and to MAN mode after having left the line. * Heading correction in MAN mode: in this mode, the mount's heading correction is carried out only by SensorHandler. No correction will be performed by the mount. This mode can be useful for ground tracks with short and intense changes in the heading (e.g. flying along a river or road by helicopter). * Set drift to Planned Heading: this is the default. |Company name| |Navigation Software name| sends the line's heading to SensorHandler. SensorHandler then sends small corrections to the mount to accurately align it with the line's heading. * Set drift to Ground Track: the yaw angle of the mount will be directed towards the ground track. The following sketch illustrates the distinction between the modes *Set Drift to Ground Track* (on the left) and *Set Drift to Planned Heading* (right): .. image:: ../../pics/navigator/systemintegration/NG_driftsketch.png * - .. image:: ../../pics/navigator/settings/NG_settings_number2.png :width: 22 - The default position is switched ON. This means that roll and pitch angles coming from the IMU are used to increase the accuracy of the mount's stabilization process during flight. * - .. image:: ../../pics/navigator/settings/NG_settings_number3.png :width: 22 - In the edit fields, you define how many seconds before the start of the line of flight the mount will go into STAB mode and how many seconds after the end of the line of flight the mount will switch back to MAN mode. Automatic transition between STAB and MAN mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ../../pics/navigator/systemintegration/NG_stabmanmode1.png | .. list-table:: :class: unbordered-table :widths: 60 40 :header-rows: 0 * - .. image:: ../../pics/navigator/systemintegration/NG_stabmanmode2.png - While on the line of flight the mount is automatically set to STAB mode * - .. image:: ../../pics/navigator/systemintegration/NG_stabmanmode3.png - After having left the line of flight the mount is automatically switched back to MAN mode Manual transition between STAB and MAN mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ../../pics/navigator/systemintegration/NG_stabmanmode4.png | .. list-table:: :class: unbordered-table :widths: 25 75 :header-rows: 0 * - .. image:: ../../pics/navigator/systemintegration/NG_stabmanbutton1.png - switches back to automatic mode * - .. image:: ../../pics/navigator/systemintegration/NG_stabmanbutton2.png - sets the STAB mode for all axes (roll, pitch, yaw) * - .. image:: ../../pics/navigator/systemintegration/NG_stabmanbutton3.png - STAB mode is switched off and MAN mode is activated * - .. image:: ../../pics/navigator/systemintegration/NG_stabmanbutton4.png - * When the FMS control is switched OFF the mount can only be manually driven with using the SOMAG app. In this case, no commands from SensorHandler will be received. * When the FMS control is switched ON the mount is driven only by SensorHandler. No commands from the SOMAG app will be received. For system integrators: COM port settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The SOMAG mount and SensorHandler communicate through serial communication, requiring accurate configuration of the corresponding COM port settings. .. topic:: COM port configuration: #. Right click on a free button and add *Platform SOMAG_V2* to the sensor list. #. Click on COM ports button: .. image:: ../../pics/navigator/systemintegration/NG_COMportsettings1.png #. In the COM ports dialog select a combo box and the SOMAG_V2 driver. #. Select the correct COM port. .. image:: ../../pics/navigator/systemintegration/NG_COMportsettings2.png #. These are the correct settings: .. image:: ../../pics/navigator/systemintegration/NG_COMportsettings3.png .. rubric:: Tip for system Integrators .. important:: Read the section below on how to verify the proper functionality of SensorHandler in conjunction with the SOMAG mount! Often, when integrating a system, you have the mount on the table but do not yet have an IMU available. Switch the mount without a connected IMU to STAB mode. You will notice that the mount moves slightly to the end stops (it does not really stabilize). But you can check if SensorHandler and mount behave correctly. You can perform this system check by forcing SensorHandler to send the mount gimbal angles back to the mount as simulated IMU values. Then the mount will be stabilized on the table. Do the following: .. topic:: Verifying proper functionality of SensorHandler and SOMAG mount: #. In SensorHandler click Settings / Advanced Options. .. image:: ../../pics/navigator/systemintegration/NG_SH_somag1.png #. On the top some tabs appear: .. image:: ../../pics/navigator/systemintegration/NG_SH_somag2.png #. Select the tab *Test2*. .. image:: ../../pics/navigator/systemintegration/NG_SH_somag3.png #. Enable the option to send the gimbal values back to the gimbal as IMU values. .. image:: ../../pics/navigator/systemintegration/NG_SH_somag4.png #. Fly a line in simulation mode. The mount should be stabilized now, confirming the accurate communication between the mount and SensorHandler. Setting up ITRES sensor handling -------------------------------- .. topic:: Adding ITRES to SensorHandler: The ITRES handler needs to be visible in the sensor list. Right-click on a free button and select *ITRES* to populate the free button: .. image:: ../../pics/navigator/systemintegration/NG_Itres2.png :width: 300 .. image:: ../../pics/navigator/systemintegration/NG_Itres6.png :width: 200 .. topic:: Configuring the Ethernet settings: Set the IP to the address ``192.168.0.138`` and the port to ``1234``. This allows SensorHandler and ITRES to exchange information. .. image:: ../../pics/navigator/systemintegration/NG_Itres5.png :width: 500 .. topic:: Settings in the ITRES sensor dialog: #. In ITRES window click on the **Settings** button. .. image:: ../../pics/navigator/systemintegration/NG_Itres7.png #. Define the following values: * how many seconds before the line of flight the sensor starts * how many seconds after the line of flight the sensor stops. .. image:: ../../pics/navigator/systemintegration/NG_Itres8.png #. | **Starting ITRES sensor for production** | At system start up click on the red button on the right side. After successfully connecting, all lights turn green. .. image:: ../../pics/navigator/systemintegration/NG_Itres9.png :width: 200 Setting up |Company name| universal sensor handling ---------------------------------------------------------------- .. hint:: Go to the chapter :doc:`TOPOFLIGHT universal protocol <./../Protocol/index>` for a detailed description of the :doc:`socket usage <./../Protocol/Socket_usage>`, the :doc:`TCP message structure <./../Protocol/TCP_message_structure>`, the :doc:`states and state switches <./../Protocol/States_switches>` as well as the :doc:`usage of the TOPOFLIGHT universal protocol<./../Protocol/TF_uni_protocol_usage>`. .. image:: ../../pics/navigator/systemintegration/NG_TF_uni_prot.png .. list-table:: :class: unbordered-table :widths: 10 90 :header-rows: 0 * - .. image:: ../../pics/navigator/settings/NG_settings_number1.png :width: 22 - As the airplane is aligned to the flight line and passed the defined time, an *Acquire dark frame* command is sent to the system. * - .. image:: ../../pics/navigator/settings/NG_settings_number2.png :width: 22 - As the airplane passes this time marker, |Navigation Software name| will be informed that the airplane approaches the first point. This command is not used right now. * - .. image:: ../../pics/navigator/settings/NG_settings_number3.png :width: 22 - As the airplane passes this time marker, the start logging command will be sent to the system. * - .. image:: ../../pics/navigator/settings/NG_settings_number4.png :width: 22 - As the airplane passes this time marker, an *Acquire dark frame* command will be sent to the system followed by a *stop logging* command. * - .. image:: ../../pics/navigator/settings/NG_settings_number5.png :width: 22 - When the airplane leaves the corridor (before it reached the end of the line) and does not enter within the defined time then a *stop logging* command will be sent to the system. .. _system_integration_use_cases: Use cases --------- Riegl/PhaseOne/POSAV ^^^^^^^^^^^^^^^^^^^^^^^^^ .. rubric:: Toolset * **Sensor:** :ref:`Riegl ` scanner with built-in PhaseOne camera * **IMU:** :ref:`Applanix POSAV ` .. rubric:: Settings .. topic:: Triggering images using RiACQUIRE: #. In the left sidebar of the SensorHandler dialog window, click on *LiDAR Riegl RiACQUIRE*. #. Click on *Advanced settings*. #. Select the cameras and/or scanners for your project by checking the boxes accordingly. #. In the section *Triggering images*, select *Release camera at predefined positions using RiACQUIRE* so that the system triggers the images using RiACQUIRE (manual remote control). #. In the left sidebar of the SensorHandler dialog window, select *IMU APPLANIX POSAV*. #. Click on *Settings* and **disable** the option *Camera is controlled by Applanix*. .. topic:: Triggering images using the IMU: #. In the left sidebar of the SensorHandler dialog window, click on *LiDAR Riegl RiACQUIRE*. #. Click on *Advanced settings*. #. Select the cameras and/or scanners for your project by checking the boxes accordingly. #. In the section *Triggering images*, select *Release camera through IMU* so that the system sends the trigger command to the IMU. #. In Riegl-RiACQUIRE, set the configuration to *external high*. #. In the left sidebar of the SensorHandler dialog window, select *IMU APPLANIX POSAV*. #. Click on *Settings* and **disable** the option *Camera is controlled by Applanix*. Riegl/PhaseOne/AP+ ^^^^^^^^^^^^^^^^^^^^^^^ .. rubric:: Toolset * **Sensor:** :ref:`Riegl ` scanner with built-in PhaseOne camera * **IMU:** :ref:`Applanix AP+ ` .. rubric:: Settings .. topic:: Triggering images using RiACQUIRE: #. In the left sidebar of the SensorHandler dialog window, click on *LiDAR Riegl RiACQUIRE*. #. Click on *Advanced settings*. #. Select the cameras and/or scanners for your project by checking the boxes accordingly. #. In the section *Triggering images*, select *Release camera at predefined positions using RiACQUIRE* so that the system triggers the images using RiACQUIRE (manual remote control). #. In the left sidebar of the SensorHandler dialog window, select *IMU APPLANIX AP+*. #. Click *Settings* and make sure the box *For events use port* is **enabled** and set to the port **your system** uses (see system manufacturer recommendation). .. topic:: Triggering images using the IMU #. In the left sidebar of the SensorHandler dialog window, click on *LiDAR Riegl RiACQUIRE*. #. Click on *Advanced settings*. #. Select the cameras and/or scanners for your project by checking the boxes accordingly. #. In the section *Triggering images*, select *Release camera through IMU*. #. In the left sidebar of the SensorHandler dialog window, select *IMU APPLANIX AP+*. #. Click *Settings* and make sure the box *For events use port* is **enabled** and set to the port **your system** uses (see system manufacturer recommendation). .. UltraCam ^^^^^^^^^^^^^^^^^^^^ UltraCam Helicopter flights ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ When using |Navigation Software name| in a helicopter, we recommend to apply :ref:`helicopter specific settings ` to enhance navigation and reduce pilot workload. LiDAR without images ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There are two common scenarios for using LiDAR without images: #. During flights planned for both LiDAR and camera use, all cameras can be disabled to operate only the scanner (for instance, when transitioning from a daytime to a nighttime flight). #. A flight plan may be specifically designed for LiDAR operation without capturing images. We recommend the following settings: .. topic:: 1. Switching OFF all cameras: #. In the SensorHandler dialog window, click on *LiDAR Riegl RiACQUIRE* and **disable** all cameras. The option *Use image positions as pseudo images* appears. #. **Enable** the option *Use image positions as pseudo images*. As a result, image locations are colored green, just as they would be if the cameras were activated. In the ``imagetakings.txt`` file, the pseudo image is recorded in the same format as a real image, with “pseudo image” appended at the end of the line. .. image:: ../../pics/navigator/systemintegration/NG_pseudo_images.png :width: 450 .. topic:: 2. Flights planned without images: #. In the SensorHandler dialog window, click on LiDAR Riegl RiACQUIRE. #. Click on *Advanced settings*. #. **Enable** *Use image positions as pseudo images*. | As a result, each line will be colored green when the airplane passes the start and the end point. | Lines will be colored orange if the airplane passes only the start or the end point. | Flight lines that have not been flown (neither start nor end point were passed) are colored red. .. image:: ../../pics/navigator/systemintegration/NG_lidar_flightlines.png :width: 300