Outdoor navigation problem
-
@Amin-Bassiri Looks like lots of GPS accuracy checks failing. Can you set EKF2_GPS_CHECK to 1 and see how that works?
-
@Eric-Katzfey I changed, but it seems the problem is the GPS device, because when we change the GPS drone can go to position mode, but we still have a problem with MAG, we have to turn off the MAG, The drone can not go to position mode, and also we have too much drift.
when we set EKF2_GPS_CHECK to 1:
rb5:~$ journalctl -b --no-pager -u voxl-px4
-- Logs begin at Thu 2023-03-02 12:58:05 UTC, end at Mon 2024-05-27 13:54:15 UTC. --
May 27 13:54:15 m0052 voxl-px4[1896]: ta rate: 100000 B/s on udp port 14556 remote port 14557
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Advertising remote topic telemetry_status
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [mavlink] partner IP: 127.0.0.1
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Advertising remote topic obstacle_distance
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Advertising remote topic vehicle_visual_odometry
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Advertising remote topic timesync_status
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic actuator_controls_status_0
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_aid_src_ev_hgt
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_aid_src_ev_pos
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_aid_src_ev_vel
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_aid_src_ev_yaw
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [mavlink] mode: Normal, data rate: 100000 B/s on udp port 14558 remote port 14559
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Marking DeviceNode(telemetry_status) as advertised in process_remote_topic
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [px4] Startup script returned successfully
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [gps] Sending initial CFG_VALSET. Attempt: 2
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Marking DeviceNode(vehicle_command_ack) as advertised in process_remote_topic
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: Found 0 compass (required: 1)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [gps] Sending initial CFG_VALSET. Attempt: 3
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic vehicle_rates_setpoint
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: Found 0 compass (required: 1)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [gps] u-blox firmware version: SPG 3.01
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [gps] u-blox protocol version: 18.00
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [gps] u-blox module: NEO-M8N-0
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [mavlink] partner IP: 127.0.0.1
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Marking DeviceNode(sensor_gps) as advertised in process_remote_topic
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic home_position
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_gps_status
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_aid_src_gnss_hgt
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_aid_src_gnss_pos
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_aid_src_gnss_vel
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Advertising remote topic mission_result
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: Found 0 compass (required: 1)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Advertising remote topic ping
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic vehicle_global_position
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_baro_bias
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: Found 0 compass (required: 1)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: horizontal velocity unstable
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: Found 0 compass (required: 1)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: horizontal velocity unstable
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: Found 0 compass (required: 1)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic estimator_ev_pos_bias
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: height estimate not stable
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: Found 0 compass (required: 1)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Preflight Fail: height estimate not stable
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Marking DeviceNode(mavlink_log) as advertised in process_remote_topic
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Armed by RC
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [logger] Start file log (type: full)
May 27 13:54:15 m0052 voxl-px4[1896]: WARN [uORB] orb_advertise_multi: failed to set queue size
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [logger] [logger] /data/px4/log/2024-05-27/13_52_37.ulg
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [logger] Opened full log file: /data/px4/log/2024-05-27/13_52_37.ulg
May 27 13:54:15 m0052 voxl-px4[1896]: WARN [mavlink] Event dropped (80, 65526)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Advertising remote topic logger_status
May 27 13:54:15 m0052 voxl-px4[1896]: WARN [mavlink] Dropped 65446 events (seq=65526)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Takeoff detected
May 27 13:54:15 m0052 voxl-px4[1896]: WARN [mavlink] Event dropped (65527, 80)
May 27 13:54:15 m0052 voxl-px4[1896]: WARN [mavlink] Dropped 71 events (seq=80)
May 27 13:54:15 m0052 voxl-px4[1896]: WARN [mavlink] Event dropped (65527, 80)
May 27 13:54:15 m0052 voxl-px4[1896]: WARN [mavlink] Dropped 71 events (seq=80)
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic yaw_estimator_status
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Advertising remote topic hover_thrust_estimate
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Landing detected
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Disarmed by RC
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [uORB] Marking DeviceNode(parameter_server_set_value_request) as advertised in process_remote_topic
May 27 13:54:15 m0052 voxl-px4[1896]: INFO [muorb] SLPI: Marking DeviceNode(parameter_server_set_value_response) as advertised in process_remote_topic -
@Amin-Bassiri For some reason the journalctl output doesn't have all of the output from voxl-px4 startup. It should show the attempts to find the magnetometer that seem to be failing. The command in the startup script is
qshell ist8310 start -R 10 -X -b 1
. If you run that command from the px4 console you can see the output. Or from Linux shellpx4-qshell ist8310 start -R 10 -X -b 1
. -
@Eric-Katzfey i got this error
rb5:~$ px4-qshell ist8310 start -R 10 -X -b 1
INFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
INFO [qshell] cmd returned with: -1
INFO [qshell] qshell return value timestamp: 670686689, local time: 670688462
ERROR [qshell] Command failed
rb5:~$ px4-qshell ist8310 startalso qshell ist8310 start -R 10 -X -b 1. same error
-
@Amin-Bassiri Shoot. With
px4-qshell ist8310 start
we don't see all of the output. That command needs to be run in the px4 shell to see the output (i.e.qshell ist8310 start -R 10 -X -b 1
). When I have no magnetometer attached to my VOXL 2 and I run the command I can see that the probe fails. For example:INFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1' INFO [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1 INFO [muorb] SLPI: arg0 = 'ist8310' INFO [muorb] SLPI: arg1 = 'start' INFO [muorb] SLPI: arg2 = '-R' INFO [muorb] SLPI: arg3 = '10' INFO [muorb] SLPI: arg4 = '-X' INFO [muorb] SLPI: arg5 = '-b' INFO [muorb] SLPI: arg6 = '1' INFO [muorb] SLPI: *** I2C Device ID 0x60e09 396809 ERROR [muorb] SLPI: i2c probe failed INFO [muorb] SLPI: PX4_qshell: no instance started (no device on bus?) ERROR [muorb] SLPI: Failed to execute command: ist8310 start -R 10 -X -b 1 INFO [qshell] cmd returned with: -1 INFO [qshell] qshell return value timestamp: 2382015392, local time: 2382017339 ERROR [qshell] Command failed Command 'qshell' failed, returned -1.
-
@Amin-Bassiri Regardless, based on your earlier log file it seems like the magnetometer is being detected and is providing data. But you are still seeing the
No valid data from Compass
error. The log you provided does show the error_count incrementing which indicates failed i2c transfers from the magnetometer. So I am also suspecting hardware failure of some sort. Let me discuss internally to figure out next steps. -
@Eric-Katzfey We can test a couple of GPS / Mag units with RB5 and send known working units to you and see if you can also replicate that success. If so, we can send you 5 more.
-
@Eric-Katzfey Can you send a picture with both the GPS unit and cable? Just want to double check what unit(s) you have. I am currently testing with the mRo GPS / Mag unit on my RB5 running SDK 1.1.2 and it is working fine. I have 2 of them that seem to be fine so we can send those to you to try out on your drone(s).
-
-
-
@Amin-Bassiri Really sorry that you guys are having so much trouble with the GPS units! We are now shipping with M10 GPS units so we can send you those and hopefully that will improve the situation.
-
@Eric-Katzfey ok, Thanks, we tested GPS M10 and the problem solved.
-
-