Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. VOXL Compute & Autopilot
  3. VOXL 2
  4. GPS Not OK with VOXL2 PX4

GPS Not OK with VOXL2 PX4

Scheduled Pinned Locked Moved VOXL 2
18 Posts 5 Posters 3.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • kp ngK kp ng

    unnamed.jpg |

    Eric KatzfeyE Offline
    Eric KatzfeyE Offline
    Eric Katzfey
    ModalAI Team
    wrote on last edited by
    #6

    @kp-ng Okay, thanks for that. Looks pretty much like the standard setup for GPS / Mag / LED. Is the magnetometer working correctly? And the LED on the top of the unit?

    kp ngK 1 Reply Last reply
    0
    • kp ngK kp ng

      unnamed.jpg |

      VinnyV Offline
      VinnyV Offline
      Vinny
      ModalAI Team
      wrote on last edited by
      #7

      Hi @kp-ng
      Eric has you covered with all SW.
      A small tip: From what I see in your picture, please understand that if you have WiFi and GPS antennas next to that very large power supply and no space between them, your radio link performance will be terrible.
      There is a good chance you will not pick up any satellites, and your WiFi link will disconnect often.
      For optimal performance, try to mimic the spatial separation that you would expect to see on one of our drone platforms.
      Thanks!

      kp ngK J 2 Replies Last reply
      0
      • VinnyV Vinny

        Hi @kp-ng
        Eric has you covered with all SW.
        A small tip: From what I see in your picture, please understand that if you have WiFi and GPS antennas next to that very large power supply and no space between them, your radio link performance will be terrible.
        There is a good chance you will not pick up any satellites, and your WiFi link will disconnect often.
        For optimal performance, try to mimic the spatial separation that you would expect to see on one of our drone platforms.
        Thanks!

        kp ngK Offline
        kp ngK Offline
        kp ng
        Contributor
        wrote on last edited by
        #8

        Thanks. I doubt it is the hardware that is not working. The GPS fix indicator on the module is blinking blue.

        How do I check that the VOXL2 is talking to the GPS module correctly?
        Is there a command to see the GPS location readings on VOXL2?

        1 Reply Last reply
        0
        • Eric KatzfeyE Eric Katzfey

          @kp-ng Okay, thanks for that. Looks pretty much like the standard setup for GPS / Mag / LED. Is the magnetometer working correctly? And the LED on the top of the unit?

          kp ngK Offline
          kp ngK Offline
          kp ng
          Contributor
          wrote on last edited by
          #9

          @Eric-Katzfey Yes. The magnetometer is working correctly. QGC display indicator suggests so.
          The LED also blinking GPS lock

          kp ngK 1 Reply Last reply
          0
          • kp ngK kp ng

            @Eric-Katzfey Yes. The magnetometer is working correctly. QGC display indicator suggests so.
            The LED also blinking GPS lock

            kp ngK Offline
            kp ngK Offline
            kp ng
            Contributor
            wrote on last edited by
            #10

            I get an error message
            "[muorb] SLPI: UBX CFG-GNSS message ACK failed".

            Eric KatzfeyE 1 Reply Last reply
            0
            • kp ngK kp ng

              I get an error message
              "[muorb] SLPI: UBX CFG-GNSS message ACK failed".

              Eric KatzfeyE Offline
              Eric KatzfeyE Offline
              Eric Katzfey
              ModalAI Team
              wrote on last edited by
              #11

              @kp-ng That's interesting. That indicates that the driver was able to successfully send a few configuration messages to the GPS unit and receive valid acknowledgements in return. Does it always print that exact same message or is it sometimes different? My guess is that the cable or connector has a defect of some sort and that makes the serial communication link over the UART unreliable. That same cable has the i2c bus used for the LED and magnetometer drivers and that appears to be working okay. Can you jiggle the cable or try to press it in with your hand while starting px4 and see if that changes the behavior? Regardless, it seems like we will need to send you a replacement GPS (Hoping, of course, that it is a problem with the GPS unit and not the connector).

              Eric KatzfeyE kp ngK 2 Replies Last reply
              0
              • Eric KatzfeyE Eric Katzfey

                @kp-ng That's interesting. That indicates that the driver was able to successfully send a few configuration messages to the GPS unit and receive valid acknowledgements in return. Does it always print that exact same message or is it sometimes different? My guess is that the cable or connector has a defect of some sort and that makes the serial communication link over the UART unreliable. That same cable has the i2c bus used for the LED and magnetometer drivers and that appears to be working okay. Can you jiggle the cable or try to press it in with your hand while starting px4 and see if that changes the behavior? Regardless, it seems like we will need to send you a replacement GPS (Hoping, of course, that it is a problem with the GPS unit and not the connector).

                Eric KatzfeyE Offline
                Eric KatzfeyE Offline
                Eric Katzfey
                ModalAI Team
                wrote on last edited by
                #12

                @Eric-Katzfey I would also try Vinnies suggestion and spread all of the components out just to make sure that there isn't some interference that is causing the errors on the serial lines.

                1 Reply Last reply
                0
                • Eric KatzfeyE Eric Katzfey

                  @kp-ng That's interesting. That indicates that the driver was able to successfully send a few configuration messages to the GPS unit and receive valid acknowledgements in return. Does it always print that exact same message or is it sometimes different? My guess is that the cable or connector has a defect of some sort and that makes the serial communication link over the UART unreliable. That same cable has the i2c bus used for the LED and magnetometer drivers and that appears to be working okay. Can you jiggle the cable or try to press it in with your hand while starting px4 and see if that changes the behavior? Regardless, it seems like we will need to send you a replacement GPS (Hoping, of course, that it is a problem with the GPS unit and not the connector).

                  kp ngK Offline
                  kp ngK Offline
                  kp ng
                  Contributor
                  wrote on last edited by
                  #13

                  @Eric-Katzfey Thanks Eric, Vinn.

                  Here are the detailed debug info.

                  Send cmd: 'gps start'
                  cannot reset all parameters on client side
                  px4io read failed
                  px4io io_reg_get(0,0,1): data error -5
                  IO not installed
                  Detection attempt failed
                  ...
                  Failed to execute command px4io detect
                  command failed

                  Eric KatzfeyE 1 Reply Last reply
                  0
                  • kp ngK kp ng

                    @Eric-Katzfey Thanks Eric, Vinn.

                    Here are the detailed debug info.

                    Send cmd: 'gps start'
                    cannot reset all parameters on client side
                    px4io read failed
                    px4io io_reg_get(0,0,1): data error -5
                    IO not installed
                    Detection attempt failed
                    ...
                    Failed to execute command px4io detect
                    command failed

                    Eric KatzfeyE Offline
                    Eric KatzfeyE Offline
                    Eric Katzfey
                    ModalAI Team
                    wrote on last edited by
                    #14

                    @kp-ng That is not a full listing of all of the output. And what about the error message you had posted previously. I asked if you saw the same error every time. Do you? Or does it change to different ones? Did you do the other things suggested?

                    kp ngK 1 Reply Last reply
                    0
                    • Eric KatzfeyE Eric Katzfey

                      @kp-ng That is not a full listing of all of the output. And what about the error message you had posted previously. I asked if you saw the same error every time. Do you? Or does it change to different ones? Did you do the other things suggested?

                      kp ngK Offline
                      kp ngK Offline
                      kp ng
                      Contributor
                      wrote on last edited by
                      #15

                      @Eric-Katzfey
                      Hi Eric.
                      Yes the same error messages occur each time.
                      Have tried pressing on the connector as well. Doesn't help.
                      Have spaced the power supply, wifi, gps antenna apart also.

                      Below are the logs

                      voxl2:/$ voxl-px4
                      Found DSP signature file
                      INFO [px4] mlockall() enabled. PX4's virtual address space is locked into RAM.
                      INFO [px4] assuming working directory is rootfs, no symlinks needed.


                      | ___ \ \ \ / / / |
                      | |/ / \ V / / /| |
                      | __/ / \ / /
                      | |
                      | | / /^\ \ ___ |
                      _| / / |_/

                      px4 starting.

                      INFO [px4] Calling startup script: /bin/sh /etc/modalai/voxl-px4.config 0
                      Running on M0054
                      INFO [muorb] SLPI: Creating qurt thread hpwork

                      INFO [muorb] SLPI: Successfully created px4 task PX4_hpwork with tid 82
                      INFO [muorb] SLPI: Creating qurt thread lpwork

                      INFO [muorb] SLPI: Successfully created px4 task PX4_lpwork with tid 81
                      INFO [muorb] SLPI: Creating qurt thread wkr_hrt

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wkr_hrt with tid 80
                      INFO [muorb] SLPI: Creating qurt thread client_sync_thread

                      INFO [muorb] SLPI: Successfully created px4 task PX4_client_sync_thread with tid 79
                      INFO [muorb] SLPI: Creating qurt thread wq_manager

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_manager with tid 78
                      INFO [muorb] SLPI: Creating qurt thread qshell

                      INFO [muorb] SLPI: Successfully created px4 task PX4_qshell with tid 77
                      INFO [qshell] Send cmd: 'icm42688p start -s'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: icm42688p start -s
                      INFO [muorb] SLPI: Creating qurt thread wq_SPI1

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_SPI1 with tid 76
                      INFO [muorb] SLPI: *** SPI Device ID 0x26000a 2490378
                      INFO [uorb] Advertising remote topic sensor_accel
                      INFO [uorb] Marking DeviceNode(parameter_server_set_used_request) as advertised in process_remote_topic
                      INFO [muorb] SLPI: Marking DeviceNode(parameter_server_set_used_response) as advertised in process_remote_to
                      INFO [uorb] Advertising remote topic sensor_gyro
                      INFO [uorb] Advertising remote topic imu_server
                      INFO [muorb] SLPI: on SPI bus 1
                      INFO [muorb] SLPI: icm42688p #0 on SPI bus 1 (devid=0x0)
                      INFO [muorb] SLPI:

                      INFO [muorb] SLPI: Ok executing command: icm42688p start -s
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 41957598, current timestamp 41957599
                      INFO [uorb] Advertising remote topic qshell_retval
                      INFO [qshell] qshell return value timestamp: 41957598, local time: 41959528
                      INFO [muorb] SLPI: Marking DeviceNode(parameter_client_reset_request) as advertised in process_remote_topic
                      ERROR [muorb] SLPI: Cannot reset all parameters on client side
                      INFO [uorb] Marking DeviceNode(parameter_client_reset_response) as advertised in process_remote_topic
                      INFO [muorb] SLPI: Advertising remote topic parameter_update
                      INFO [muorb] SLPI: Marking DeviceNode(parameter_client_set_value_request) as advertised in process_remote_to
                      INFO [uorb] Marking DeviceNode(parameter_client_set_value_response) as advertised in process_remote_topic
                      INFO [logger] logger started (mode=all)
                      Starting Holybro magnetometer
                      INFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
                      INFO [muorb] SLPI: Creating qurt thread wq_I2C1

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C1 with tid 75
                      INFO [muorb] SLPI: *** I2C Device ID 0x60e09 396809
                      INFO [muorb] SLPI: ist8310 #0 on I2C bus 1 (external)

                      INFO [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44022129, current timestamp 44022130
                      INFO [qshell] qshell return value timestamp: 44022129, local time: 44028451
                      Starting Holybro LED driver
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
                      INFO [muorb] SLPI: qshell gotten: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
                      INFO [muorb] SLPI: *** I2C Device ID 0x7b3809 8075273
                      INFO [muorb] SLPI: rgbled_ncp5623c #0 on I2C bus 1 (external)

                      INFO [muorb] SLPI: Ok executing command: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44071605, current timestamp 44071606
                      INFO [qshell] qshell return value timestamp: 44071605, local time: 44073373
                      INFO [qshell] Send cmd: 'icp10100 start -I -b 5'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: icp10100 start -I -b 5
                      INFO [muorb] SLPI: Creating qurt thread wq_I2C5

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C5 with tid 74
                      INFO [muorb] SLPI: *** I2C Device ID 0x9c6329 10249001
                      INFO [muorb] SLPI: probe probe succeeded. data = 0x1 0x48
                      INFO [muorb] SLPI: icp10100 #0 on I2C bus 5

                      INFO [muorb] SLPI: Ok executing command: icp10100 start -I -b 5
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44119538, current timestamp 44119540
                      INFO [qshell] qshell return value timestamp: 44119538, local time: 44120763
                      INFO [uorb] Advertising remote topic sensor_mag
                      INFO [qshell] Send cmd: 'modalai_esc start'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: modalai_esc start
                      INFO [muorb] SLPI: Creating qurt thread wq_hp_default

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_hp_default with tid 73
                      INFO [uorb] Advertising remote topic test_motor
                      INFO [uorb] Advertising remote topic sensor_baro
                      INFO [muorb] SLPI: Ok executing command: modalai_esc start
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44170549, current timestamp 44170550
                      INFO [muorb] SLPI: Opened UART ESC device
                      INFO [qshell] qshell return value timestamp: 44170549, local time: 44172188
                      INFO [qshell] Send cmd: 'mixer load /dev/uart_esc quad_x.main.mix'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: mixer load /dev/uart_esc quad_x.main.mix
                      INFO [muorb] SLPI: Creating qurt thread wq_rate_ctrl

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_rate_ctrl with tid 71
                      INFO [muorb] SLPI: Ok executing command: mixer load /dev/uart_esc quad_x.main.mix
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44239985, current timestamp 44239986
                      INFO [qshell] qshell return value timestamp: 44239985, local time: 44241616
                      INFO [uorb] Advertising remote topic actuator_outputs
                      INFO [uorb] Advertising remote topic multirotor_motor_limits
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [qshell] Send cmd: 'voxlpm start -X -b 2'
                      INFO [muorb] SLPI: qshell gotten: voxlpm start -X -b 2
                      INFO [muorb] SLPI: Creating qurt thread wq_I2C2

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C2 with tid 4169
                      INFO [muorb] SLPI: *** I2C Device ID 0x784411 7881745
                      INFO [uorb] Advertising remote topic battery_status
                      INFO [muorb] SLPI: voxlpm #0 on I2C bus 2 (external)

                      INFO [muorb] SLPI: Ok executing command: voxlpm start -X -b 2
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44301919, current timestamp 44301920
                      INFO [qshell] qshell return value timestamp: 44301919, local time: 44302736
                      INFO [uorb] Advertising remote topic power_monitor
                      Starting Holybro GPS
                      INFO [qshell] Send cmd: 'gps start'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: gps start
                      INFO [muorb] SLPI: Creating qurt thread gps

                      INFO [muorb] SLPI: Successfully created px4 task PX4_gps with tid 70
                      INFO [muorb] SLPI: Ok executing command: gps start
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44356373, current timestamp 44356374
                      INFO [qshell] qshell return value timestamp: 44356373, local time: 44357420
                      INFO [uorb] Advertising remote topic gps_dump
                      INFO [qshell] Send cmd: 'px4io detect'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: px4io detect
                      INFO [muorb] SLPI: serial port fd 2
                      ERROR [muorb] SLPI: px4io read failed
                      ERROR [muorb] SLPI: px4io io_reg_get(0,0,1): data error -5
                      ERROR [muorb] SLPI: IO not installed
                      ERROR [muorb] SLPI: Detection attempt 2 failed
                      ERROR [muorb] SLPI: Detection attempt 1 failed
                      ERROR [muorb] SLPI: Detection attempt 0 failed
                      ERROR [muorb] SLPI: Failed to execute command: px4io detect
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44408878, current timestamp 44408879
                      INFO [qshell] cmd returned with: -17
                      INFO [qshell] qshell return value timestamp: 44408878, local time: 44416905
                      ERROR [qshell] Command failed
                      M0065 not detected, starting Spektrum RC driver
                      INFO [qshell] Send cmd: 'spektrum_rc start -d 8'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: spektrum_rc start -d 8
                      INFO [muorb] SLPI: Creating qurt thread spektrum_rc_main

                      INFO [muorb] SLPI: Successfully created px4 task PX4_spektrum_rc_main with tid 67
                      INFO [muorb] SLPI: Ok executing command: spektrum_rc start -d 8
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 44459706, current timestamp 44459708
                      INFO [qshell] qshell return value timestamp: 44459706, local time: 44463848
                      INFO [qshell] Send cmd: 'sensors start'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: sensors start
                      INFO [muorb] SLPI: Creating qurt thread wq_nav_and_controllers

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_nav_and_controllers with tid 66
                      INFO [muorb] SLPI: Ok executing command: sensors start
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 45536132, current timestamp 45536133
                      INFO [uorb] Advertising remote topic vehicle_angular_acceleration
                      INFO [qshell] qshell return value timestamp: 45536132, local time: 45537985
                      INFO [uorb] Advertising remote topic vehicle_angular_velocity
                      INFO [muorb] SLPI: Creating qurt thread wq_INS0

                      INFO [muorb] SLPI: Successfully created px4 task PX4_wq_INS0 with tid 65
                      INFO [uorb] Advertising remote topic vehicle_imu
                      INFO [uorb] Advertising remote topic vehicle_imu_status
                      INFO [uorb] Advertising remote topic sensors_status_imu
                      INFO [uorb] Advertising remote topic vehicle_acceleration
                      INFO [uorb] Advertising remote topic vehicle_air_data
                      INFO [qshell] Send cmd: 'ekf2 start'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: ekf2 start
                      INFO [uorb] Advertising remote topic vehicle_magnetometer
                      INFO [uorb] Advertising remote topic sensor_preflight_mag
                      INFO [uorb] Advertising remote topic sensor_selection
                      INFO [uorb] Advertising remote topic sensor_combined
                      ERROR [muorb] SLPI: Timeout waiting for parameter_server_set_used_response for EKF2_ASP_DELAY
                      INFO [muorb] SLPI: Ok executing command: ekf2 start
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 45782283, current timestamp 45782283
                      INFO [qshell] qshell return value timestamp: 45782283, local time: 45784731
                      ERROR [muorb] SLPI: 0 - vehicle_magnetometer lost, generation 0 -> 8
                      INFO [uorb] Advertising remote topic ekf2_timestamps
                      INFO [qshell] Send cmd: 'mc_pos_control start'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: mc_pos_control start
                      INFO [muorb] SLPI: Ok executing command: mc_pos_control start
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 45833887, current timestamp 45833888
                      INFO [qshell] qshell return value timestamp: 45833887, local time: 45834370
                      INFO [qshell] Send cmd: 'mc_att_control start'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: mc_att_control start
                      INFO [muorb] SLPI: Ok executing command: mc_att_control start
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 45897359, current timestamp 45897360
                      INFO [qshell] qshell return value timestamp: 45897359, local time: 45898791
                      INFO [qshell] Send cmd: 'mc_rate_control start'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: mc_rate_control start
                      INFO [muorb] SLPI: Ok executing command: mc_rate_control start
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 45969574, current timestamp 45969574
                      INFO [qshell] qshell return value timestamp: 45969574, local time: 45971046
                      INFO [qshell] Send cmd: 'mc_hover_thrust_estimator start'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: mc_hover_thrust_estimator start
                      INFO [muorb] SLPI: Ok executing command: mc_hover_thrust_estimator start
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 46028199, current timestamp 46028200
                      INFO [qshell] qshell return value timestamp: 46028199, local time: 46028634
                      INFO [qshell] Send cmd: 'land_detector start multicopter'
                      INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                      INFO [muorb] SLPI: qshell gotten: land_detector start multicopter
                      INFO [muorb] SLPI: Ok executing command: land_detector start multicopter
                      INFO [muorb] SLPI: Sending qshell retval with timestamp 46072642, current timestamp 46072643
                      INFO [qshell] qshell return value timestamp: 46072642, local time: 46073625
                      INFO [uorb] Advertising remote topic vehicle_land_detected
                      INFO [muorb] SLPI: 46371633: reset position to last known position
                      INFO [muorb] SLPI: 46371633: reset velocity to zero
                      INFO [uorb] Advertising remote topic vehicle_local_position
                      INFO [uorb] Advertising remote topic vehicle_odometry
                      INFO [uorb] Advertising remote topic estimator_states
                      INFO [uorb] Advertising remote topic estimator_status
                      INFO [uorb] Advertising remote topic estimator_status_flags
                      INFO [uorb] Advertising remote topic estimator_innovations
                      INFO [uorb] Advertising remote topic estimator_innovation_test_ratios
                      INFO [uorb] Advertising remote topic estimator_innovation_variances
                      INFO [dataman] Unknown restart, data manager file '/data/px4/dataman' size is 11798680 bytes
                      INFO [uorb] Advertising remote topic estimator_sensor_bias
                      INFO [muorb] SLPI: Advertising remote topic position_setpoint_triplet
                      INFO [muorb] SLPI: Advertising remote topic mission
                      INFO [commander] LED: open /dev/led0 failed (22)
                      INFO [muorb] SLPI: Advertising remote topic led_control
                      INFO [muorb] SLPI: Advertising remote topic tune_control
                      INFO [PreFlightCheck] Failed EKF health preflight check while waiting for filter to settle
                      INFO [muorb] SLPI: Advertising remote topic vehicle_control_mode
                      INFO [muorb] SLPI: Advertising remote topic vehicle_status
                      INFO [muorb] SLPI: Advertising remote topic actuator_armed
                      INFO [muorb] SLPI: Advertising remote topic commander_state
                      INFO [uorb] Advertising remote topic rate_ctrl_status
                      INFO [uorb] Advertising remote topic actuator_controls_0
                      INFO [muorb] SLPI: Advertising remote topic vehicle_status_flags
                      INFO [muorb] SLPI: Advertising remote topic vehicle_command
                      INFO [commander] Handling Commander command 176
                      INFO [muorb] SLPI: Advertising remote topic vehicle_command_ack
                      INFO [mavlink] mode: Onboard, data rate: 100000 B/s on udp port 14556 remote port 14557
                      INFO [muorb] SLPI: Marking DeviceNode(vehicle_command) as advertised in process_remote_topic
                      ERROR [muorb] SLPI: UBX CFG-GNSS message ACK failed
                      INFO [muorb] SLPI: Advertising remote topic telemetry_status

                      Eric KatzfeyE 1 Reply Last reply
                      0
                      • kp ngK kp ng

                        @Eric-Katzfey
                        Hi Eric.
                        Yes the same error messages occur each time.
                        Have tried pressing on the connector as well. Doesn't help.
                        Have spaced the power supply, wifi, gps antenna apart also.

                        Below are the logs

                        voxl2:/$ voxl-px4
                        Found DSP signature file
                        INFO [px4] mlockall() enabled. PX4's virtual address space is locked into RAM.
                        INFO [px4] assuming working directory is rootfs, no symlinks needed.


                        | ___ \ \ \ / / / |
                        | |/ / \ V / / /| |
                        | __/ / \ / /
                        | |
                        | | / /^\ \ ___ |
                        _| / / |_/

                        px4 starting.

                        INFO [px4] Calling startup script: /bin/sh /etc/modalai/voxl-px4.config 0
                        Running on M0054
                        INFO [muorb] SLPI: Creating qurt thread hpwork

                        INFO [muorb] SLPI: Successfully created px4 task PX4_hpwork with tid 82
                        INFO [muorb] SLPI: Creating qurt thread lpwork

                        INFO [muorb] SLPI: Successfully created px4 task PX4_lpwork with tid 81
                        INFO [muorb] SLPI: Creating qurt thread wkr_hrt

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wkr_hrt with tid 80
                        INFO [muorb] SLPI: Creating qurt thread client_sync_thread

                        INFO [muorb] SLPI: Successfully created px4 task PX4_client_sync_thread with tid 79
                        INFO [muorb] SLPI: Creating qurt thread wq_manager

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_manager with tid 78
                        INFO [muorb] SLPI: Creating qurt thread qshell

                        INFO [muorb] SLPI: Successfully created px4 task PX4_qshell with tid 77
                        INFO [qshell] Send cmd: 'icm42688p start -s'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: icm42688p start -s
                        INFO [muorb] SLPI: Creating qurt thread wq_SPI1

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_SPI1 with tid 76
                        INFO [muorb] SLPI: *** SPI Device ID 0x26000a 2490378
                        INFO [uorb] Advertising remote topic sensor_accel
                        INFO [uorb] Marking DeviceNode(parameter_server_set_used_request) as advertised in process_remote_topic
                        INFO [muorb] SLPI: Marking DeviceNode(parameter_server_set_used_response) as advertised in process_remote_to
                        INFO [uorb] Advertising remote topic sensor_gyro
                        INFO [uorb] Advertising remote topic imu_server
                        INFO [muorb] SLPI: on SPI bus 1
                        INFO [muorb] SLPI: icm42688p #0 on SPI bus 1 (devid=0x0)
                        INFO [muorb] SLPI:

                        INFO [muorb] SLPI: Ok executing command: icm42688p start -s
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 41957598, current timestamp 41957599
                        INFO [uorb] Advertising remote topic qshell_retval
                        INFO [qshell] qshell return value timestamp: 41957598, local time: 41959528
                        INFO [muorb] SLPI: Marking DeviceNode(parameter_client_reset_request) as advertised in process_remote_topic
                        ERROR [muorb] SLPI: Cannot reset all parameters on client side
                        INFO [uorb] Marking DeviceNode(parameter_client_reset_response) as advertised in process_remote_topic
                        INFO [muorb] SLPI: Advertising remote topic parameter_update
                        INFO [muorb] SLPI: Marking DeviceNode(parameter_client_set_value_request) as advertised in process_remote_to
                        INFO [uorb] Marking DeviceNode(parameter_client_set_value_response) as advertised in process_remote_topic
                        INFO [logger] logger started (mode=all)
                        Starting Holybro magnetometer
                        INFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
                        INFO [muorb] SLPI: Creating qurt thread wq_I2C1

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C1 with tid 75
                        INFO [muorb] SLPI: *** I2C Device ID 0x60e09 396809
                        INFO [muorb] SLPI: ist8310 #0 on I2C bus 1 (external)

                        INFO [muorb] SLPI: Ok executing command: ist8310 start -R 10 -X -b 1
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44022129, current timestamp 44022130
                        INFO [qshell] qshell return value timestamp: 44022129, local time: 44028451
                        Starting Holybro LED driver
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
                        INFO [muorb] SLPI: qshell gotten: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
                        INFO [muorb] SLPI: *** I2C Device ID 0x7b3809 8075273
                        INFO [muorb] SLPI: rgbled_ncp5623c #0 on I2C bus 1 (external)

                        INFO [muorb] SLPI: Ok executing command: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44071605, current timestamp 44071606
                        INFO [qshell] qshell return value timestamp: 44071605, local time: 44073373
                        INFO [qshell] Send cmd: 'icp10100 start -I -b 5'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: icp10100 start -I -b 5
                        INFO [muorb] SLPI: Creating qurt thread wq_I2C5

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C5 with tid 74
                        INFO [muorb] SLPI: *** I2C Device ID 0x9c6329 10249001
                        INFO [muorb] SLPI: probe probe succeeded. data = 0x1 0x48
                        INFO [muorb] SLPI: icp10100 #0 on I2C bus 5

                        INFO [muorb] SLPI: Ok executing command: icp10100 start -I -b 5
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44119538, current timestamp 44119540
                        INFO [qshell] qshell return value timestamp: 44119538, local time: 44120763
                        INFO [uorb] Advertising remote topic sensor_mag
                        INFO [qshell] Send cmd: 'modalai_esc start'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: modalai_esc start
                        INFO [muorb] SLPI: Creating qurt thread wq_hp_default

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_hp_default with tid 73
                        INFO [uorb] Advertising remote topic test_motor
                        INFO [uorb] Advertising remote topic sensor_baro
                        INFO [muorb] SLPI: Ok executing command: modalai_esc start
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44170549, current timestamp 44170550
                        INFO [muorb] SLPI: Opened UART ESC device
                        INFO [qshell] qshell return value timestamp: 44170549, local time: 44172188
                        INFO [qshell] Send cmd: 'mixer load /dev/uart_esc quad_x.main.mix'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: mixer load /dev/uart_esc quad_x.main.mix
                        INFO [muorb] SLPI: Creating qurt thread wq_rate_ctrl

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_rate_ctrl with tid 71
                        INFO [muorb] SLPI: Ok executing command: mixer load /dev/uart_esc quad_x.main.mix
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44239985, current timestamp 44239986
                        INFO [qshell] qshell return value timestamp: 44239985, local time: 44241616
                        INFO [uorb] Advertising remote topic actuator_outputs
                        INFO [uorb] Advertising remote topic multirotor_motor_limits
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [qshell] Send cmd: 'voxlpm start -X -b 2'
                        INFO [muorb] SLPI: qshell gotten: voxlpm start -X -b 2
                        INFO [muorb] SLPI: Creating qurt thread wq_I2C2

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_I2C2 with tid 4169
                        INFO [muorb] SLPI: *** I2C Device ID 0x784411 7881745
                        INFO [uorb] Advertising remote topic battery_status
                        INFO [muorb] SLPI: voxlpm #0 on I2C bus 2 (external)

                        INFO [muorb] SLPI: Ok executing command: voxlpm start -X -b 2
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44301919, current timestamp 44301920
                        INFO [qshell] qshell return value timestamp: 44301919, local time: 44302736
                        INFO [uorb] Advertising remote topic power_monitor
                        Starting Holybro GPS
                        INFO [qshell] Send cmd: 'gps start'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: gps start
                        INFO [muorb] SLPI: Creating qurt thread gps

                        INFO [muorb] SLPI: Successfully created px4 task PX4_gps with tid 70
                        INFO [muorb] SLPI: Ok executing command: gps start
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44356373, current timestamp 44356374
                        INFO [qshell] qshell return value timestamp: 44356373, local time: 44357420
                        INFO [uorb] Advertising remote topic gps_dump
                        INFO [qshell] Send cmd: 'px4io detect'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: px4io detect
                        INFO [muorb] SLPI: serial port fd 2
                        ERROR [muorb] SLPI: px4io read failed
                        ERROR [muorb] SLPI: px4io io_reg_get(0,0,1): data error -5
                        ERROR [muorb] SLPI: IO not installed
                        ERROR [muorb] SLPI: Detection attempt 2 failed
                        ERROR [muorb] SLPI: Detection attempt 1 failed
                        ERROR [muorb] SLPI: Detection attempt 0 failed
                        ERROR [muorb] SLPI: Failed to execute command: px4io detect
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44408878, current timestamp 44408879
                        INFO [qshell] cmd returned with: -17
                        INFO [qshell] qshell return value timestamp: 44408878, local time: 44416905
                        ERROR [qshell] Command failed
                        M0065 not detected, starting Spektrum RC driver
                        INFO [qshell] Send cmd: 'spektrum_rc start -d 8'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: spektrum_rc start -d 8
                        INFO [muorb] SLPI: Creating qurt thread spektrum_rc_main

                        INFO [muorb] SLPI: Successfully created px4 task PX4_spektrum_rc_main with tid 67
                        INFO [muorb] SLPI: Ok executing command: spektrum_rc start -d 8
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 44459706, current timestamp 44459708
                        INFO [qshell] qshell return value timestamp: 44459706, local time: 44463848
                        INFO [qshell] Send cmd: 'sensors start'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: sensors start
                        INFO [muorb] SLPI: Creating qurt thread wq_nav_and_controllers

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_nav_and_controllers with tid 66
                        INFO [muorb] SLPI: Ok executing command: sensors start
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 45536132, current timestamp 45536133
                        INFO [uorb] Advertising remote topic vehicle_angular_acceleration
                        INFO [qshell] qshell return value timestamp: 45536132, local time: 45537985
                        INFO [uorb] Advertising remote topic vehicle_angular_velocity
                        INFO [muorb] SLPI: Creating qurt thread wq_INS0

                        INFO [muorb] SLPI: Successfully created px4 task PX4_wq_INS0 with tid 65
                        INFO [uorb] Advertising remote topic vehicle_imu
                        INFO [uorb] Advertising remote topic vehicle_imu_status
                        INFO [uorb] Advertising remote topic sensors_status_imu
                        INFO [uorb] Advertising remote topic vehicle_acceleration
                        INFO [uorb] Advertising remote topic vehicle_air_data
                        INFO [qshell] Send cmd: 'ekf2 start'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: ekf2 start
                        INFO [uorb] Advertising remote topic vehicle_magnetometer
                        INFO [uorb] Advertising remote topic sensor_preflight_mag
                        INFO [uorb] Advertising remote topic sensor_selection
                        INFO [uorb] Advertising remote topic sensor_combined
                        ERROR [muorb] SLPI: Timeout waiting for parameter_server_set_used_response for EKF2_ASP_DELAY
                        INFO [muorb] SLPI: Ok executing command: ekf2 start
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 45782283, current timestamp 45782283
                        INFO [qshell] qshell return value timestamp: 45782283, local time: 45784731
                        ERROR [muorb] SLPI: 0 - vehicle_magnetometer lost, generation 0 -> 8
                        INFO [uorb] Advertising remote topic ekf2_timestamps
                        INFO [qshell] Send cmd: 'mc_pos_control start'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: mc_pos_control start
                        INFO [muorb] SLPI: Ok executing command: mc_pos_control start
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 45833887, current timestamp 45833888
                        INFO [qshell] qshell return value timestamp: 45833887, local time: 45834370
                        INFO [qshell] Send cmd: 'mc_att_control start'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: mc_att_control start
                        INFO [muorb] SLPI: Ok executing command: mc_att_control start
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 45897359, current timestamp 45897360
                        INFO [qshell] qshell return value timestamp: 45897359, local time: 45898791
                        INFO [qshell] Send cmd: 'mc_rate_control start'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: mc_rate_control start
                        INFO [muorb] SLPI: Ok executing command: mc_rate_control start
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 45969574, current timestamp 45969574
                        INFO [qshell] qshell return value timestamp: 45969574, local time: 45971046
                        INFO [qshell] Send cmd: 'mc_hover_thrust_estimator start'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: mc_hover_thrust_estimator start
                        INFO [muorb] SLPI: Ok executing command: mc_hover_thrust_estimator start
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 46028199, current timestamp 46028200
                        INFO [qshell] qshell return value timestamp: 46028199, local time: 46028634
                        INFO [qshell] Send cmd: 'land_detector start multicopter'
                        INFO [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
                        INFO [muorb] SLPI: qshell gotten: land_detector start multicopter
                        INFO [muorb] SLPI: Ok executing command: land_detector start multicopter
                        INFO [muorb] SLPI: Sending qshell retval with timestamp 46072642, current timestamp 46072643
                        INFO [qshell] qshell return value timestamp: 46072642, local time: 46073625
                        INFO [uorb] Advertising remote topic vehicle_land_detected
                        INFO [muorb] SLPI: 46371633: reset position to last known position
                        INFO [muorb] SLPI: 46371633: reset velocity to zero
                        INFO [uorb] Advertising remote topic vehicle_local_position
                        INFO [uorb] Advertising remote topic vehicle_odometry
                        INFO [uorb] Advertising remote topic estimator_states
                        INFO [uorb] Advertising remote topic estimator_status
                        INFO [uorb] Advertising remote topic estimator_status_flags
                        INFO [uorb] Advertising remote topic estimator_innovations
                        INFO [uorb] Advertising remote topic estimator_innovation_test_ratios
                        INFO [uorb] Advertising remote topic estimator_innovation_variances
                        INFO [dataman] Unknown restart, data manager file '/data/px4/dataman' size is 11798680 bytes
                        INFO [uorb] Advertising remote topic estimator_sensor_bias
                        INFO [muorb] SLPI: Advertising remote topic position_setpoint_triplet
                        INFO [muorb] SLPI: Advertising remote topic mission
                        INFO [commander] LED: open /dev/led0 failed (22)
                        INFO [muorb] SLPI: Advertising remote topic led_control
                        INFO [muorb] SLPI: Advertising remote topic tune_control
                        INFO [PreFlightCheck] Failed EKF health preflight check while waiting for filter to settle
                        INFO [muorb] SLPI: Advertising remote topic vehicle_control_mode
                        INFO [muorb] SLPI: Advertising remote topic vehicle_status
                        INFO [muorb] SLPI: Advertising remote topic actuator_armed
                        INFO [muorb] SLPI: Advertising remote topic commander_state
                        INFO [uorb] Advertising remote topic rate_ctrl_status
                        INFO [uorb] Advertising remote topic actuator_controls_0
                        INFO [muorb] SLPI: Advertising remote topic vehicle_status_flags
                        INFO [muorb] SLPI: Advertising remote topic vehicle_command
                        INFO [commander] Handling Commander command 176
                        INFO [muorb] SLPI: Advertising remote topic vehicle_command_ack
                        INFO [mavlink] mode: Onboard, data rate: 100000 B/s on udp port 14556 remote port 14557
                        INFO [muorb] SLPI: Marking DeviceNode(vehicle_command) as advertised in process_remote_topic
                        ERROR [muorb] SLPI: UBX CFG-GNSS message ACK failed
                        INFO [muorb] SLPI: Advertising remote topic telemetry_status

                        Eric KatzfeyE Offline
                        Eric KatzfeyE Offline
                        Eric Katzfey
                        ModalAI Team
                        wrote on last edited by
                        #16

                        @kp-ng Okay, we have never encountered this situation before. My best guess is that the GPS unit, or cable, is somehow flawed and so we will send you a new one.

                        1 Reply Last reply
                        0
                        • Adrian HidalgoA Offline
                          Adrian HidalgoA Offline
                          Adrian Hidalgo
                          ModalAI Team
                          wrote on last edited by Adrian Hidalgo
                          #17

                          @kp-ng if you would please reach out to: contact@modalai.com and we would be happy to help you out regarding replacement of the gps unit.

                          1 Reply Last reply
                          0
                          • Benjamin RuksB Benjamin Ruks referenced this topic on
                          • VinnyV Vinny

                            Hi @kp-ng
                            Eric has you covered with all SW.
                            A small tip: From what I see in your picture, please understand that if you have WiFi and GPS antennas next to that very large power supply and no space between them, your radio link performance will be terrible.
                            There is a good chance you will not pick up any satellites, and your WiFi link will disconnect often.
                            For optimal performance, try to mimic the spatial separation that you would expect to see on one of our drone platforms.
                            Thanks!

                            J Offline
                            J Offline
                            jmltt
                            Regular
                            wrote on last edited by
                            #18

                            @Vinny

                            @Vinny said in GPS Not OK with VOXL2 PX4:

                            Hi @kp-ng
                            Eric has you covered with all SW.
                            A small tip: From what I see in your picture, please understand that if you have WiFi and GPS antennas next to that very large power supply and no space between them, your radio link performance will be terrible.
                            There is a good chance you will not pick up any satellites, and your WiFi link will disconnect often.
                            For optimal performance, try to mimic the spatial separation that you would expect to see on one of our drone platforms.
                            Thanks!

                            ^Can you provide an example what the ideal routing for wifi antennae would be on the sentinel drone platform (specifically with the microhard modem carrier add-on)? I came across this post while trying to troubleshoot my own issues and realized that the way I have the antennae routed coming out the back of the flight deck puts one of them right next to the gps module because of how the modem is oriented.

                            1 Reply Last reply
                            0
                            • M majjam referenced this topic on
                            • Chase RileyC Chase Riley referenced this topic on

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            ModalAI
                            Categories Recent Tags ModalAI.com Docs
                            © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups